From a8e7359ef48fdbae73e9f99fdc31c62258eba3be Mon Sep 17 00:00:00 2001 From: "506583276@qq.com" <506583276@qq.com> Date: Fri, 14 Jul 2023 17:46:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BE=85=E6=8E=92=E5=8D=95?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PackTask/ProductSkuCountsResponse.cs | 5 + .../PackTask/SearchTaskListResponse.cs | 9 ++ BBWY.Client/Models/Enums.cs | 17 +-- BBWY.Client/Models/PackTask/PackTaskModel.cs | 23 ++++ .../ViewModels/PackTask/TaskListViewModel.cs | 56 +++++++- .../PackTask/WareHouseListViewModel.cs | 120 ++++++++++-------- .../PackTask/ShopWaitPackageControl.xaml | 46 +++++-- BBWY.Client/Views/PackTask/TaskList.xaml | 6 +- .../Views/PackTask/WaitPackageControl.xaml | 93 ++++++++++---- BBWY.Client/Views/PackTask/WareHouseList.xaml | 6 +- .../Views/QualityTask/WaitQualityControl.xaml | 2 +- .../SubmitOverTimeMarkMsgWindow.xaml.cs | 4 +- 12 files changed, 281 insertions(+), 106 deletions(-) diff --git a/BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs b/BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs index 52fc3327..547e9ea4 100644 --- a/BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs @@ -52,5 +52,10 @@ namespace BBWY.Client.Models.APIModel.Response.PackTask /// 待转运 /// public int? WaitTransportCount { get; set; } + + /// + /// 待排单 + /// + public int? WaitScheduleCount { get; set; } } } diff --git a/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs b/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs index 3145ae00..e6a6ec24 100644 --- a/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs @@ -196,6 +196,15 @@ namespace BBWY.Client.Models.APIModel /// 采购方案 /// public string SkuPurchaseSchemeId { get; set; } + + /// + /// 排单超时备注信息 + /// + public string ScheduleOverTimeMarkMsg { get; set; } + /// + /// 排单超时时间 + /// + public DateTime? ScheduleOverTime { get; set; } } public class ExpressOrderResponse { diff --git a/BBWY.Client/Models/Enums.cs b/BBWY.Client/Models/Enums.cs index 24d5acd5..3a5c88dc 100644 --- a/BBWY.Client/Models/Enums.cs +++ b/BBWY.Client/Models/Enums.cs @@ -216,18 +216,7 @@ 未到货 = 2, } - /////// - /////// 快递到货情况 - /////// - //public enum TaskState - //{ - // 已到货 = 0, - // 部分到货 = 1, - // 未到货 = 2, - // 已完成 = 3, - // 全部 = 4, - // 加急 = 5 - //} + /// /// 仓库打包任务状态 /// @@ -245,7 +234,8 @@ //待完结 = 9, 商家自取 = 10, 待转运=11, - 已超时=12 + 已超时=12, + 待排单 =13, } @@ -528,6 +518,7 @@ 待封箱 = 4, 待落仓 = 8, 待转运 = 11, + 待排单=13, } /// diff --git a/BBWY.Client/Models/PackTask/PackTaskModel.cs b/BBWY.Client/Models/PackTask/PackTaskModel.cs index 06a8ea72..0ab16b04 100644 --- a/BBWY.Client/Models/PackTask/PackTaskModel.cs +++ b/BBWY.Client/Models/PackTask/PackTaskModel.cs @@ -396,6 +396,23 @@ namespace BBWY.Client.Models private bool isPackOverTime; public bool IsPackOverTime { get => isPackOverTime; set { Set(ref isPackOverTime, value); } } + + + private bool isScheduleOverTime; + public bool IsScheduleOverTime { get => isScheduleOverTime; set { Set(ref isScheduleOverTime, value); } } + + private string scheduleRemainTime; + /// + /// 打包剩余时间 + /// + public string ScheduleRemainTime { get => scheduleRemainTime; set { Set(ref scheduleRemainTime, value); } } + + /// + /// 排单超时备注信息 + /// + public string ScheduleOverTimeMarkMsg { get; set; } + + /// /// 物流信息 /// @@ -436,6 +453,12 @@ namespace BBWY.Client.Models /// public string SkuPurchaseSchemeId { get; set; } + + /// + /// 排单超时时间 + /// + public DateTime? ScheduleOverTime { get; set; } + } public class SkuMessage : NotifyObject diff --git a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs index d77f68ca..13a9a0f9 100644 --- a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs @@ -186,6 +186,13 @@ namespace BBWY.Client.ViewModels.PackTask public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } } + + + private string waitScheduleCount; + /// + /// 待排单任务数 + /// + public string WaitScheduleCount { get => waitScheduleCount; set { Set(ref waitScheduleCount, value); } } private string waitPackCount; /// /// 待打包任务数 @@ -412,6 +419,7 @@ namespace BBWY.Client.ViewModels.PackTask WaitSealBoxCount = packTaskResult.Data.WaitSealBox?.ToString(); WaitFallWareCount = packTaskResult.Data.WaitFallWareCount?.ToString(); WaitCompleted = packTaskResult.Data.WaitCompleted?.ToString(); + WaitScheduleCount = packTaskResult.Data.WaitScheduleCount?.ToString(); })); } } @@ -508,6 +516,7 @@ namespace BBWY.Client.ViewModels.PackTask private Thread packOverTimeThread = null; private Thread sealboxOverTimeThread = null; private Thread fallwareOverTimeThread = null; + private Thread scheduleOverTimeThread = null; /// /// 搜索任务列表 /// @@ -578,6 +587,8 @@ namespace BBWY.Client.ViewModels.PackTask PackCompletionOverTime = item.PackCompletionOverTime, ShopName = item.ShopName, SkuPurchaseSchemeId = item.SkuPurchaseSchemeId, + ScheduleOverTimeMarkMsg = item.ScheduleOverTimeMarkMsg, + ScheduleOverTime = item.ScheduleOverTime }; if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())//加载物流信息 @@ -719,8 +730,51 @@ namespace BBWY.Client.ViewModels.PackTask } } - + if (TaskState == Models.TaskState.待排单) + { + var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待排单 && p.ScheduleOverTime != null).ToList(); + if (packCompletedTasks.Count() > 0) + { + //if (packOverTimeThread!=null) + //{ + // packOverTimeThread.Abort(); + //} + + scheduleOverTimeThread = new Thread(() => + { + IsStartThread = true; + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in packCompletedTasks) + { + var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsScheduleOverTime = false; + item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); + } + else + { + item.IsScheduleOverTime = true; + item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); + } + + } + })); + Thread.Sleep(1000); + } + + }); + //任务倒计时数据 + scheduleOverTimeThread.IsBackground = true; + scheduleOverTimeThread.Start(); + + + } + } } diff --git a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs index c8d34beb..14ca7c70 100644 --- a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs @@ -199,7 +199,7 @@ namespace BBWY.Client.ViewModels.PackTask public ObservableCollection OverTimeTaskList { get => overTimeTaskList; set { Set(ref overTimeTaskList, value); } } private ObservableCollection overTimeTaskTypeList = new ObservableCollection { - OverTimeTaskType.全部, OverTimeTaskType.待验收, OverTimeTaskType.待打包, OverTimeTaskType.待封箱, OverTimeTaskType.待落仓, OverTimeTaskType.待转运 + OverTimeTaskType.全部, OverTimeTaskType.待验收, OverTimeTaskType.待排单, OverTimeTaskType.待打包, OverTimeTaskType.待封箱, OverTimeTaskType.待落仓, OverTimeTaskType.待转运 }; /// ///超时任务类型 @@ -406,9 +406,16 @@ namespace BBWY.Client.ViewModels.PackTask /// public string ArrivedCount { get => arrivedCount; set { Set(ref arrivedCount, value); } } + + private string waitScheduleCount; + /// + /// 待排单任务数 + /// + public string WaitScheduleCount { get => waitScheduleCount; set { Set(ref waitScheduleCount, value); } } + private string waitPackCount; /// /// 待打包任务数 @@ -582,6 +589,9 @@ namespace BBWY.Client.ViewModels.PackTask case Models.TaskState.待验收: overTimeTaskType = Models.OverTimeTaskType.待验收; break; + case Models.TaskState.待排单: + overTimeTaskType = Models.OverTimeTaskType.待排单; + break; case Models.TaskState.待打包: overTimeTaskType = Models.OverTimeTaskType.待打包; break; @@ -1133,6 +1143,7 @@ namespace BBWY.Client.ViewModels.PackTask private bool IsStartThread = false; private Thread qualityOverTimeThread = null; private Thread packOverTimeThread = null; + private Thread scheduleOverTimeThread = null; private Thread sealboxOverTimeThread = null; private Thread fallwareOverTimeThread = null; private Thread waitTransportOverTimeThread = null; @@ -1320,50 +1331,7 @@ namespace BBWY.Client.ViewModels.PackTask }); })); - } - - //var fallWareTasks = WaitFallWareList.Where(p => p.SetPurchaseOrderOverTime != null).ToList(); - //if (fallWareTasks.Count() > 0 && TaskState == Models.TaskState.待落仓 && SealBoxConfigureType == SealBoxConfigureType.待配置) - //{ - // //if (packOverTimeThread!=null) - // //{ - // // packOverTimeThread.Abort(); - // //} - - // fallwareOverTimeThread = new Thread(() => - // { - // IsStartThread = true; - // while (IsStartThread) - // { - // App.Current.Dispatcher.BeginInvoke(new Action(() => - // { - // foreach (var item in fallWareTasks) - // { - // var datetime = item.SetPurchaseOrderOverTime.Value.Subtract(DateTime.Now); - // if (datetime.TotalMilliseconds > 0) - // { - // item.IsFallWareOverTime = false; - // item.FallWareRemainTime = $"{datetime.Hours}小时{datetime.Minutes}分"; - // } - // else - // { - // item.IsFallWareOverTime = true; - // item.FallWareRemainTime = datetime.Days == 0 ? $"{-datetime.Hours}小时{-datetime.Minutes}分" : $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分"; - // } - - // } - // })); - // Thread.Sleep(1000); - // } - - // }); - // //任务倒计时数据 - // fallwareOverTimeThread.IsBackground = true; - // fallwareOverTimeThread.Start(); - - - //} } else { @@ -1377,8 +1345,7 @@ namespace BBWY.Client.ViewModels.PackTask else if (TaskState == Models.TaskState.待封箱) Task.Factory.StartNew(() => { - //var randNum = new Random().Next(81, 90); - var randNum = 90; + if (SealBoxConfigureType == SealBoxConfigureType.已配置) { @@ -1401,7 +1368,7 @@ namespace BBWY.Client.ViewModels.PackTask SealBoxSkus = item.SealBoxSkus.Select(s => { - s.Logo = s.Logo.Replace("80x80", $"{randNum}x{randNum}"); + s.Logo = s.Logo; return s; }).ToList(), ShopId = item.ShopId, @@ -1480,7 +1447,7 @@ namespace BBWY.Client.ViewModels.PackTask DepartmentName = item.DepartmentName, SealBoxSkus = item.SealBoxSkus.Select(s => { - s.Logo = s.Logo.Replace("80x80", $"{randNum}x{randNum}"); + s.Logo = s.Logo; return s; }).ToList(), ShopId = item.ShopId, @@ -1547,7 +1514,9 @@ namespace BBWY.Client.ViewModels.PackTask QualityOverTimeMarkMsg = item.QualityOverTimeMarkMsg, PackOverTimeMarkMsg = item.PackOverTimeMarkMsg, ShowMarkMessage = item.ShowMarkMessage, - SkuPurchaseSchemeId = item.SkuPurchaseSchemeId + SkuPurchaseSchemeId = item.SkuPurchaseSchemeId, + ScheduleOverTimeMarkMsg = item.ScheduleOverTimeMarkMsg, + ScheduleOverTime = item.ScheduleOverTime }; @@ -1663,11 +1632,7 @@ namespace BBWY.Client.ViewModels.PackTask var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待打包 && p.PackCompletionOverTime != null).ToList(); if (packCompletedTasks.Count() > 0) { - //if (packOverTimeThread!=null) - //{ - // packOverTimeThread.Abort(); - //} - + packOverTimeThread = new Thread(() => { IsStartThread = true; @@ -1704,6 +1669,52 @@ namespace BBWY.Client.ViewModels.PackTask } + if (TaskState == Models.TaskState.待排单) + { + var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待排单 && p.ScheduleOverTime != null).ToList(); + if (packCompletedTasks.Count() > 0) + { + //if (packOverTimeThread!=null) + //{ + // packOverTimeThread.Abort(); + //} + + scheduleOverTimeThread = new Thread(() => + { + IsStartThread = true; + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in packCompletedTasks) + { + var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsScheduleOverTime = false; + item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); + } + else + { + item.IsScheduleOverTime = true; + item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); + } + + } + })); + Thread.Sleep(1000); + } + + }); + //任务倒计时数据 + scheduleOverTimeThread.IsBackground = true; + scheduleOverTimeThread.Start(); + + + } + } + + //任务状态为待打包 } @@ -1767,6 +1778,7 @@ namespace BBWY.Client.ViewModels.PackTask WaitFallWareCount = packTaskResult.Data.WaitFallWareCount?.ToString(); WaitCompleted = packTaskResult.Data.WaitCompleted?.ToString(); WaitTransportCount = packTaskResult.Data.WaitTransportCount?.ToString(); + WaitScheduleCount = packTaskResult.Data.WaitScheduleCount?.ToString(); })); } } diff --git a/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml b/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml index d0238fc5..11890a9f 100644 --- a/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml +++ b/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml @@ -349,22 +349,52 @@ - + - - - + + + + + + + + + - + + + - - + + + + + + + + + + + + + diff --git a/BBWY.Client/Views/PackTask/TaskList.xaml b/BBWY.Client/Views/PackTask/TaskList.xaml index 6b74ef48..dbc73916 100644 --- a/BBWY.Client/Views/PackTask/TaskList.xaml +++ b/BBWY.Client/Views/PackTask/TaskList.xaml @@ -93,6 +93,9 @@ IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:True:False}" /> + @@ -184,7 +187,7 @@ @@ -194,6 +197,7 @@ + diff --git a/BBWY.Client/Views/PackTask/WaitPackageControl.xaml b/BBWY.Client/Views/PackTask/WaitPackageControl.xaml index 573b718c..4272e003 100644 --- a/BBWY.Client/Views/PackTask/WaitPackageControl.xaml +++ b/BBWY.Client/Views/PackTask/WaitPackageControl.xaml @@ -528,40 +528,81 @@ - + - - - - - + + + - - - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -577,7 +618,7 @@ diff --git a/BBWY.Client/Views/PackTask/WareHouseList.xaml b/BBWY.Client/Views/PackTask/WareHouseList.xaml index d8b70073..da1f6280 100644 --- a/BBWY.Client/Views/PackTask/WareHouseList.xaml +++ b/BBWY.Client/Views/PackTask/WareHouseList.xaml @@ -99,6 +99,9 @@ IsChecked="{Binding TaskState,Converter={StaticResource objConverter},ConverterParameter=待验收:True:False}" /> + @@ -143,9 +146,10 @@ - + + diff --git a/BBWY.Client/Views/QualityTask/WaitQualityControl.xaml b/BBWY.Client/Views/QualityTask/WaitQualityControl.xaml index b3a8873b..4a991135 100644 --- a/BBWY.Client/Views/QualityTask/WaitQualityControl.xaml +++ b/BBWY.Client/Views/QualityTask/WaitQualityControl.xaml @@ -628,7 +628,7 @@ diff --git a/BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml.cs b/BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml.cs index fffc7131..2cb54b57 100644 --- a/BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml.cs +++ b/BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml.cs @@ -68,7 +68,9 @@ namespace BBWY.Client.Views.TaskOverTime return; } if (reflashWindow != null) reflashWindow(); - this.Close(); + + App.Current.Dispatcher.Invoke(new Action(() => { this.Close(); })); + } } }