From 60e4b332cb23330e87124ae97b0ee0960cbee60c Mon Sep 17 00:00:00 2001 From: chfei Date: Thu, 20 Aug 2026 15:45:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E8=AE=A2=E5=8D=95=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=B8=80=E4=BA=9B=E4=BB=A3=E7=A0=81=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=A4=9A=E5=BA=97=E9=93=BA=E5=90=8C=E6=AD=A5=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E8=BF=94=E5=9B=9E=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 29WxOrderWpf/Converters/OrderTaskStatusConverter.cs | 2 ++ .../Ctrls/OrderCtrls/OrderTaskDialogView.xaml | 3 +++ .../Ctrls/OrderCtrls/OrderTaskDialogView.xaml.cs | 2 +- 29WxOrderWpf/Services/PullWXOrderService.cs | 13 ++++++++++++- Work/ERP.API/Orders/PullWXOrderServiceApi.cs | 7 +++---- Work/ERP.API/TaskStatus.cs | 4 +++- 6 files changed, 24 insertions(+), 7 deletions(-) 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 } }