diff --git a/29WxOrderWpf/Converters/OrderTaskStatusConverter.cs b/29WxOrderWpf/Converters/OrderTaskStatusConverter.cs index d852de0..cd86425 100644 --- a/29WxOrderWpf/Converters/OrderTaskStatusConverter.cs +++ b/29WxOrderWpf/Converters/OrderTaskStatusConverter.cs @@ -23,6 +23,8 @@ namespace _29WxOrderWpf.Converters return "已完成"; case TaskStatus.ManuallyInterrupted: return "已中断"; + case TaskStatus.Fail: + return "执行失败"; } } return value?.ToString() ?? string.Empty; diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTaskDialogView.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTaskDialogView.xaml index 309113b..c4ec8f5 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTaskDialogView.xaml +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTaskDialogView.xaml @@ -187,6 +187,9 @@ + + + diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTaskDialogView.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTaskDialogView.xaml.cs index d211e2a..b93fd23 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTaskDialogView.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTaskDialogView.xaml.cs @@ -109,7 +109,7 @@ public class OrderTaskDialogViewModel : BindableBaseEx, IDisposable if (IsShowAll == true) return true; - return task.Status == 1 || task.Status == 3; + return task.Status !=2; } /// 任务列表 diff --git a/29WxOrderWpf/Services/PullWXOrderService.cs b/29WxOrderWpf/Services/PullWXOrderService.cs index a69bae0..3ab2374 100644 --- a/29WxOrderWpf/Services/PullWXOrderService.cs +++ b/29WxOrderWpf/Services/PullWXOrderService.cs @@ -91,10 +91,21 @@ namespace _29WxOrderWpf.Services public async Task GetTaskStatus() { var tasks = await _kjdApi.GetWxTaskStatus(); + if (tasks != null) { Tasks.Clear(); - tasks.ForEach(a => Tasks.Add(a)); + tasks.ForEach(a => + { + if (!string.IsNullOrEmpty(a.TaskFailReason)) + { + if (a.TaskFailReason.Contains("任务执行异常")) + { + a.Status = 4; + } + } + Tasks.Add(a); + }); } } diff --git a/Work/ERP.API/Orders/PullWXOrderServiceApi.cs b/Work/ERP.API/Orders/PullWXOrderServiceApi.cs index cae7049..2eaa7a4 100644 --- a/Work/ERP.API/Orders/PullWXOrderServiceApi.cs +++ b/Work/ERP.API/Orders/PullWXOrderServiceApi.cs @@ -94,7 +94,7 @@ namespace Work.ERP.API.Orders startTime = startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime = endTime.ToString("yyyy-MM-dd HH:mm:ss"), clientUserName = BaseClass.UserName, - remark=$"同步 {startTime.ToString("yyyy-MM-dd")}/{endTime.ToString("dd")}" + remark = $"同步 {startTime.ToString("yyyy-MM-dd")}/{endTime.ToString("dd")}" }); var result = await PostAndGetTaskIdAsync("/prod-api/api/oms-api/client/sync/pull_order", data); @@ -104,7 +104,7 @@ namespace Work.ERP.API.Orders } else { - string msg = string.Join("\n", result.Data.Select(a => $"{a.shopName},{a.message}")); + string msg = string.Join("\n", result.Data.Select(a => $"{a.shopName},任务正在执行中")); throw new Exception(msg); } } @@ -136,7 +136,7 @@ namespace Work.ERP.API.Orders } else { - string msg = string.Join("\n", result.Data.Select(a => $"{a.shopName},{a.message}")); + string msg = string.Join("\n", result.Data.Select(a => $"{a.shopName},任务正在执行中")); throw new Exception(msg); } } @@ -179,7 +179,6 @@ namespace Work.ERP.API.Orders private async Task PostAndGetTaskIdAsync(string url, string data) { var result = await ERPHttp.e57PostResponseAsync(url, data); - if (result.Code != 200) throw new Exception(result.Msg); return result; } } diff --git a/Work/ERP.API/TaskStatus.cs b/Work/ERP.API/TaskStatus.cs index 73503ba..7f876d1 100644 --- a/Work/ERP.API/TaskStatus.cs +++ b/Work/ERP.API/TaskStatus.cs @@ -21,6 +21,8 @@ namespace Work.ERP.API /// 已人为中断 /// [Description("已人为中断")] - ManuallyInterrupted = 3 + ManuallyInterrupted = 3, + [Description("失败")] + Fail = 4 } }