From d3af990dc6641a119b798a7bc8b440f041a709e7 Mon Sep 17 00:00:00 2001 From: "506583276@qq.com" <506583276@qq.com> Date: Wed, 27 Dec 2023 16:25:24 +0800 Subject: [PATCH] 1 --- .../QiKu/PackTaskOverTimeDetailService.cs | 86 +++++++++++++++++++ .../APIServices/QiKu/PackTaskService.cs | 37 +++----- BBWY.Client/BBWYAppSettings.json | 4 +- .../PackTask/SearchWaitFallWareResponse.cs | 21 +++++ BBWY.Client/Models/Enums.cs | 18 +++- BBWY.Client/Models/PackTask/ShopTotal.cs | 11 ++- .../PackTask/PackTaskTotalViewModel.cs | 2 +- .../ViewModels/PackTask/TaskListViewModel.cs | 71 +++++++++++---- .../PackTask/WareHouseListViewModel.cs | 76 ++++++++++++---- .../PackerTask/PackerTaskViewModel.cs | 14 ++- .../Views/FallWare/WaitFallWareControl.xaml | 73 +++++++++++++--- .../FallWare/WareFallWareListControl.xaml | 2 +- .../ShopWaitPackingTaskControl.xaml | 4 +- .../PackagingTask/WaitPackingTaskControl.xaml | 10 +-- .../SubmitOverTimeMarkMsgWindow.xaml.cs | 28 +++--- 15 files changed, 354 insertions(+), 103 deletions(-) create mode 100644 BBWY.Client/APIServices/QiKu/PackTaskOverTimeDetailService.cs diff --git a/BBWY.Client/APIServices/QiKu/PackTaskOverTimeDetailService.cs b/BBWY.Client/APIServices/QiKu/PackTaskOverTimeDetailService.cs new file mode 100644 index 00000000..a67dfb37 --- /dev/null +++ b/BBWY.Client/APIServices/QiKu/PackTaskOverTimeDetailService.cs @@ -0,0 +1,86 @@ +using BBWY.Client.Models; +using BBWY.Client.Models.APIModel; +using BBWY.Common.Http; +using BBWY.Common.Models; +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; + +namespace BBWY.Client.APIServices.QiKu +{ + public class PackTaskOverTimeDetailService : BaseApiService, IDenpendency + { + public PackTaskOverTimeDetailService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext) + { + + + + } + public ApiResponse SearchTaskList(string skuId = null, string taskId = null + , string spuId = null, string orderSn = null, + TaskState? TaskState = null, + int pageIndex = 1, + int pageSize = 10 + + ) + { + + + return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new + { + + orderSn, + spuId, + skuId, + taskId, + TaskState, + pageIndex, + pageSize, + ShopId = globalContext.User.Shop.ShopId.ToString(), + + }, null, HttpMethod.Post); + } + + + + /// + /// 查询超时任务列表 + /// + /// + /// + public ApiResponse SearchOverTimeTaskList(string ShopId, DateTime? StartTime, DateTime? EndTime, OverTimeTaskState? overTimeTaskState, OverTimeTaskType? OverTimeType, int? PageIndex, int? PageSize = 20) + { + return SendRequest(globalContext.QKApiHost, $"api/PackTaskOverTimeDetail/SearchOverTimeTaskList", new + { + ShopId, + StartTime, + EndTime, + OverTimeType= OverTimeType==0?null: OverTimeType, + PageIndex, + PageSize, + OverTimeTaskState= (overTimeTaskState == OverTimeTaskState.全部) ? null : overTimeTaskState, + }, null, HttpMethod.Post); + } + + + // + /// 任务超时提交备注(解释超时原因) + /// + /// + /// + public ApiResponse SubmitOverTimeMarkMsg(TaskMessageType TaskType, long OverTimeTaskId, OverTimeType OverTimeType, string OverTimeRemarkMsg) + { + return SendRequest(globalContext.QKApiHost, "api/PackTaskOverTimeDetail/SubmitOverTimeMarkMsg", new + { + TaskType, + OverTimeTaskId, + OverTimeType, + OverTimeRemarkMsg, + UserName=globalContext.User.Name, + + }, null, HttpMethod.Post); + } + + } +} diff --git a/BBWY.Client/APIServices/QiKu/PackTaskService.cs b/BBWY.Client/APIServices/QiKu/PackTaskService.cs index 1c48f40a..88efe033 100644 --- a/BBWY.Client/APIServices/QiKu/PackTaskService.cs +++ b/BBWY.Client/APIServices/QiKu/PackTaskService.cs @@ -332,34 +332,17 @@ namespace BBWY.Client.APIServices return SendRequest("http://bbwyb.qiyue666.com", $"api/purchaseorder/batchmanualsign", new { wayBillNoList }, null, HttpMethod.Post); } - /// - /// 查询超时任务列表 - /// - /// - /// - public ApiResponse SearchOverTimeTaskList(string ShopId, DateTime? StartTime, DateTime? EndTime, OverTimeTaskState overTimeTaskState, OverTimeTaskType? OverTimeTaskType, int? PageIndex, int? PageSize = 20) - { - return SendRequest(globalContext.QKApiHost, $"api/PackTask/SearchOverTimeTaskList", new - { - ShopId, - StartTime, - EndTime, - OverTimeTaskType, - PageIndex, - PageSize, - overTimeTaskState - }, null, HttpMethod.Post); - } + - public ApiResponse SubmitOverTimeMarkMsg(OverTimeTaskType OverTimeTaskType, long Id, string MarkMsg) - { - return SendRequest(globalContext.QKApiHost, $"api/PackTask/SubmitOverTimeMarkMsg", new - { - OverTimeTaskType, - Id, - MarkMsg, - }, null, HttpMethod.Post); - } + //public ApiResponse SubmitOverTimeMarkMsg(OverTimeTaskType OverTimeTaskType, long Id, string MarkMsg) + //{ + // return SendRequest(globalContext.QKApiHost, $"api/PackTask/SubmitOverTimeMarkMsg", new + // { + // OverTimeTaskType, + // Id, + // MarkMsg, + // }, null, HttpMethod.Post); + //} public ApiResponse SendToSetSkuConfigure(long taskId) { diff --git a/BBWY.Client/BBWYAppSettings.json b/BBWY.Client/BBWYAppSettings.json index 197f2c55..b8c053dc 100644 --- a/BBWY.Client/BBWYAppSettings.json +++ b/BBWY.Client/BBWYAppSettings.json @@ -4,6 +4,6 @@ "MDSApiHost": "http://mdsapi.qiyue666.com", "JOSApiHost": "", "1688ApiHost": "", - //"QKApiHost": "http://localhost:8080" - "QKApiHost": "http://qiku.qiyue666.com" + "QKApiHost": "http://localhost:8080" + // "QKApiHost": "http://qiku.qiyue666.com" } \ No newline at end of file diff --git a/BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs b/BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs index fe8800a4..ec4934b0 100644 --- a/BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs @@ -78,6 +78,11 @@ namespace BBWY.Client.Models.APIModel /// 提交采购单过期时间 /// public DateTime? SetPurchaseOrderOverTime { get; set; } + public DateTime? SetWaybillNoOverTime { get; set; } + /// + /// 贴单超时时间备注 + /// + public string SetWaybillNoOverTimeMsg { get; set; } } public class WaitFallWareModel:NotifyObject @@ -154,6 +159,22 @@ namespace BBWY.Client.Models.APIModel public bool IsFallWareOverTime { get => isFallWareOverTime; set { Set(ref isFallWareOverTime, value); } } + /// + /// 贴单过期时间 + /// + public DateTime? SetWaybillNoOverTime { get; set; } + + /// + /// 贴单超时时间备注 + /// + public string SetWaybillNoOverTimeMsg { get; set; } + + private string setWaybillNoRemainTime; + public string SetWaybillNoRemainTime { get => setWaybillNoRemainTime; set { Set(ref setWaybillNoRemainTime, value); } } + + private bool isSetWaybillNoOverTime; + public bool IsSetWaybillNoOverTime { get => isSetWaybillNoOverTime; set { Set(ref isSetWaybillNoOverTime, value); } } + } public class BoxConfigureData { diff --git a/BBWY.Client/Models/Enums.cs b/BBWY.Client/Models/Enums.cs index fcfc0c3c..eb7b2995 100644 --- a/BBWY.Client/Models/Enums.cs +++ b/BBWY.Client/Models/Enums.cs @@ -519,9 +519,25 @@ 待验收 = 2,//已到货 待打包 = 3, 待封箱 = 4, - 待落仓 = 8, + 待同步采购单 = 8, 待转运 = 11, 待排单=13, + 待贴单 = 15, + } + + /// + /// 超时任务类型 (待验收 = 2, 待包装 = 3,待封箱 = 4,待设置采购单 = 8,待转运 = 11,待排单 = 13,待贴单 = 15) + /// + public enum OverTimeType + { + 全部 = 0, + 待验收 = 2, + 待包装 = 3, + 待封箱 = 4, + 待设置采购单 = 8, + 待转运 = 11, + 待排单 = 13, + 待贴单 = 15, } /// diff --git a/BBWY.Client/Models/PackTask/ShopTotal.cs b/BBWY.Client/Models/PackTask/ShopTotal.cs index 30114d12..1eccbfaf 100644 --- a/BBWY.Client/Models/PackTask/ShopTotal.cs +++ b/BBWY.Client/Models/PackTask/ShopTotal.cs @@ -2,18 +2,19 @@ using BBWY.Client.ViewModels; using System; using System.Collections.Generic; +using System.Linq; using System.Text; namespace BBWY.Client.Models.PackTask { - public class ShopTotal :NotifyObject + public class ShopTotal : NotifyObject { private FeesItemResponse feesItemResponse; public FeesItemResponse FeesItemResponse { get => feesItemResponse; set { Set(ref feesItemResponse, value); } } - + private long id; public long Id { get => id; set { Set(ref id, value); } } @@ -106,8 +107,12 @@ namespace BBWY.Client.Models.PackTask // string title = "任务ID,日期,是否结清,所属部门,所属店铺,包装数量,收货数量,耗材总价,工序类型,工序套餐,工序单价,打包原价,打包折扣系数,打包折扣价,总收费"; public override string ToString() { + string ConsumableStr = string.Empty; + if (ConsumableList != null && ConsumableList.Count > 0) + ConsumableStr = string.Join(",", ConsumableList.Select(x => $"{x.ItemName} {x.ItemPrice}*{x.ItemCount}")); + return $"{TaskId},{CreateTime?.ToString("MM-dd")},{IsSettle},{DepartmentName},{ShopName}" + - $",{SkuCount},{ArrivalQuantity},{ConsumableFees},{ProcessTypeName},{ProcessComboName},{ProcessComboPrice},{PackFees},{DiscountFactor},{PackDisCountFees},{AllFees}"; + $",{SkuCount},{ArrivalQuantity},\"{ConsumableStr}\" ,{ConsumableFees},{ProcessTypeName},{ProcessComboName},{ProcessComboPrice},{PackFees},{DiscountFactor},{PackDisCountFees},{AllFees}"; } } diff --git a/BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs b/BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs index a4a53ef8..01298dae 100644 --- a/BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs @@ -148,7 +148,7 @@ namespace BBWY.Client.ViewModels.PackTask if (res.Success) { //string title = "任务ID,日期,是否结清,部门,店铺,对接人,sku名称,sku数量,增值服务,打包服务,耗材服务,原价,促销折扣,结算价格,对接备注"; - string title = "任务ID,日期,是否结清,所属部门,所属店铺,包装数量,收货数量,耗材总价,工序类型,工序套餐,工序单价,包装原价,包装折扣系数,包装折扣价,总收费"; + string title = "任务ID,日期,是否结清,所属部门,所属店铺,包装数量,收货数量,耗材明细,耗材总价,工序类型,工序套餐,工序单价,包装原价,包装折扣系数,包装折扣价,总收费"; var excelList = res.Data.ShopTotals.Select(x => x.ToString()).ToList(); excelList.Insert(0, title); System.IO.File.WriteAllLines(fileName, excelList, Encoding.UTF8); diff --git a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs index 6f9b520e..1d082b61 100644 --- a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs @@ -406,7 +406,7 @@ namespace BBWY.Client.ViewModels.PackTask - public TaskListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, ProductService productService, MarkMessageService markMessageService, PackagingTaskService packagingTaskService, QualityTaskService qualityTaskService) + public TaskListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, ProductService productService, MarkMessageService markMessageService, PackagingTaskService packagingTaskService, QualityTaskService qualityTaskService, PackTaskOverTimeDetailService packTaskOverTimeDetailService) { this.globalContext = globalContext; this.markMessageService = markMessageService; @@ -494,6 +494,7 @@ namespace BBWY.Client.ViewModels.PackTask else PageIndex = 1; }); + this.packTaskOverTimeDetailService = packTaskOverTimeDetailService; } MarkMessageService markMessageService; @@ -684,12 +685,13 @@ namespace BBWY.Client.ViewModels.PackTask addProductWindow.ShowDialog(); } + PackTaskOverTimeDetailService packTaskOverTimeDetailService; private void SubmitOverTimeMarkMsg(object param) { var paramList = (object[])param; var id = (long)paramList[0]; - var markMsg = paramList[1].ToString(); - SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow = new SubmitOverTimeMarkMsgWindow(OverTimeTaskType.待落仓, id, markMsg, packTaskService, ReflashTask); + var markMsg = paramList[1]?.ToString(); + SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow = new SubmitOverTimeMarkMsgWindow(packTaskOverTimeDetailService , id, markMsg, TaskMessageType.封箱ID, OverTimeType.待设置采购单, ReflashTask); submitOverTimeMarkMsgWindow.ShowDialog(); } @@ -1259,18 +1261,20 @@ namespace BBWY.Client.ViewModels.PackTask data.SkuTitle = item.SkuGoodsTitle; data.AcceptName = item.UserName; - if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())//加载物流信息 - { - var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); - if (expressData != null && expressData.Success && expressData.Data != null) - { - expressData.Data.ForEach(e => - { - e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); - }); - data.ExpressOrderList = expressData.Data; - } - } + //if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())//加载物流信息 + //{ + + + // var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); + // if (expressData != null && expressData.Success && expressData.Data != null) + // { + // expressData.Data.ForEach(e => + // { + // e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); + // }); + // data.ExpressOrderList = expressData.Data; + // } + //} if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0) { data.BarCodeModel = item.BarCodeDTO; @@ -1355,8 +1359,39 @@ namespace BBWY.Client.ViewModels.PackTask } } + Task.Factory.StartNew(() => + { + foreach (var item in PackTaskList) + { + if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty()) + { + var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); + if (expressData != null && expressData.Success && expressData.Data != null) + { + + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + expressData.Data.ForEach(e => + { + e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); + + + }); + item.ExpressOrderList = expressData.Data; + })); + + + } + } + } + + + + + }); + } else { @@ -1451,7 +1486,8 @@ namespace BBWY.Client.ViewModels.PackTask { foreach (var item in sealboxTasks) { - var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now); + TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.SealBoxPackOverTime.Value); + //var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now); if (datetime.TotalMilliseconds > 0) { item.IsSealBoxOverTime = false; @@ -1538,7 +1574,8 @@ namespace BBWY.Client.ViewModels.PackTask { foreach (var item in fallWareTasks) { - var datetime = item.SetPurchaseOrderOverTime.Value.Subtract(DateTime.Now); + //var datetime = item.SetPurchaseOrderOverTime.Value.Subtract(DateTime.Now); + TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.SetPurchaseOrderOverTime.Value); if (datetime.TotalMilliseconds > 0) { item.IsFallWareOverTime = false; diff --git a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs index 5d8ea8ab..04ec58b9 100644 --- a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs @@ -247,7 +247,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.待同步采购单, OverTimeTaskType.待转运, OverTimeTaskType.待贴单 }; /// ///超时任务类型 @@ -812,7 +812,7 @@ namespace BBWY.Client.ViewModels.PackTask /// public ICommand PrintShelvesCommand { get; set; } - public WareHouseListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, PackUserService packUserService, MarkMessageService markMessageService, QualityTaskService qualityTaskService, PackagingTaskService packagingTaskService, PackTaskAbortService packTaskAbortService) + public WareHouseListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, PackUserService packUserService, MarkMessageService markMessageService, QualityTaskService qualityTaskService, PackagingTaskService packagingTaskService, PackTaskAbortService packTaskAbortService, PackTaskOverTimeDetailService packTaskOverTimeDetailService) { @@ -957,6 +957,7 @@ namespace BBWY.Client.ViewModels.PackTask PrintShelvesCommand = new RelayCommand(PrintShelves); LoadSplitDatas(); + this.packTaskOverTimeDetailService = packTaskOverTimeDetailService; } private void LoadSplitDatas() @@ -1430,6 +1431,7 @@ namespace BBWY.Client.ViewModels.PackTask } } + PackTaskOverTimeDetailService packTaskOverTimeDetailService; private void SubmitOverTimeMarkMsg(object param) { @@ -1438,30 +1440,30 @@ namespace BBWY.Client.ViewModels.PackTask var markMsg = paramList[1]?.ToString(); - OverTimeTaskType overTimeTaskType = OverTimeTaskType.待验收; + OverTimeType overTimeType = OverTimeType.待验收; + TaskMessageType taskMessageType = TaskMessageType.任务ID; switch (TaskState.Value) { case Models.TaskState.待验收: - overTimeTaskType = Models.OverTimeTaskType.待验收; + overTimeType = Models.OverTimeType.待验收; taskMessageType = TaskMessageType.任务ID; break; case Models.TaskState.待排单: - overTimeTaskType = Models.OverTimeTaskType.待排单; + overTimeType = Models.OverTimeType.待排单; taskMessageType = TaskMessageType.任务ID; break; case Models.TaskState.待包装: - overTimeTaskType = Models.OverTimeTaskType.待打包; + overTimeType = Models.OverTimeType.待包装; taskMessageType = TaskMessageType.任务ID; break; case Models.TaskState.待封箱: - overTimeTaskType = Models.OverTimeTaskType.待封箱; + overTimeType = Models.OverTimeType.待封箱; taskMessageType = TaskMessageType.封箱ID; break; case Models.TaskState.待落仓: - overTimeTaskType = Models.OverTimeTaskType.待落仓; + overTimeType = Models.OverTimeType.待贴单; taskMessageType = TaskMessageType.封箱ID; break; case Models.TaskState.待转运: - overTimeTaskType = Models.OverTimeTaskType.待转运; + overTimeType = Models.OverTimeType.待转运; taskMessageType = TaskMessageType.封箱ID; break; } - - SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow = new SubmitOverTimeMarkMsgWindow(overTimeTaskType, id, markMsg, packTaskService, ReflashTask); + SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow =new SubmitOverTimeMarkMsgWindow(packTaskOverTimeDetailService, id, markMsg, taskMessageType, overTimeType, ReflashTask); submitOverTimeMarkMsgWindow.ShowDialog(); } @@ -2042,7 +2044,7 @@ namespace BBWY.Client.ViewModels.PackTask { PageSize = 20; OverTimeTaskList = new ObservableCollection(); - var datas = packTaskService.SearchOverTimeTaskList(null, StartTime, EndTime, OverTimeTaskState, OverTimeTaskType, PageIndex, PageSize); + var datas = packTaskOverTimeDetailService.SearchOverTimeTaskList(null, StartTime, EndTime, OverTimeTaskState, OverTimeTaskType, PageIndex, PageSize); if (datas != null && datas.Data != null && datas.Success) { var dataModel = datas.Data; @@ -2163,11 +2165,57 @@ namespace BBWY.Client.ViewModels.PackTask BoxConfigureData = item.BoxConfigureData, ProductCount = item.ProductCount, WareType = item.WareType, - SetPurchaseOrderOverTime = item.SetPurchaseOrderOverTime + SetPurchaseOrderOverTime = item.SetPurchaseOrderOverTime, + SetWaybillNoOverTime=item.SetWaybillNoOverTime, + SetWaybillNoOverTimeMsg=item.SetWaybillNoOverTimeMsg, }); })); } + if (PositionState== PositionState.已配置待落仓) + { + var sealboxTasks = WaitFallWareList.Where(p => p.SetWaybillNoOverTime != null).ToList(); + if (sealboxTasks.Count() > 0 && TaskState == Models.TaskState.待落仓) + { + + + fallwareOverTimeThread = new Thread(() => + { + IsStartThread = true; + Thread.Sleep(1000); + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in sealboxTasks) + { + // var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now); + TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.SetWaybillNoOverTime.Value); + if (datetime.TotalMilliseconds > 0) + { + item.IsSetWaybillNoOverTime = false; + item.SetWaybillNoRemainTime = OverTimeHelper.GetTimeString(datetime); + } + else + { + item.IsSetWaybillNoOverTime = true; + item.SetWaybillNoRemainTime = OverTimeHelper.GetTimeString(datetime); + } + + } + })); + Thread.Sleep(1000); + } + + }); + //任务倒计时数据 + fallwareOverTimeThread.IsBackground = true; + fallwareOverTimeThread.Start(); + + + } + } + } else { @@ -2514,8 +2562,6 @@ namespace BBWY.Client.ViewModels.PackTask { var data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(item)); - - data.ItemList = new List() { new SkuMessage { BrandName = item.BrandName, Logo= item.Logo, diff --git a/BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs b/BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs index 5f1d43c9..b5511c08 100644 --- a/BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs +++ b/BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs @@ -408,7 +408,7 @@ namespace BBWY.Client.ViewModels.PackerTask /// /// 构造函数 /// - public PackerTaskViewModel(PackUserService packUserService, PackTaskService packTaskService, MarkMessageService markMessageService, GlobalContext globalContext, QualityTaskService qualityTaskService) + public PackerTaskViewModel(PackUserService packUserService, PackTaskService packTaskService, MarkMessageService markMessageService, GlobalContext globalContext, QualityTaskService qualityTaskService, PackTaskOverTimeDetailService packTaskOverTimeDetailService) { this.packUserService = packUserService; @@ -460,9 +460,7 @@ namespace BBWY.Client.ViewModels.PackerTask PackagingTaskExceptionCommand = new RelayCommand(PackagingTaskException); this.qualityTaskService = qualityTaskService; - - - + this.packTaskOverTimeDetailService = packTaskOverTimeDetailService; } QualityTaskService qualityTaskService; private void PackagingTaskException(long taskId) @@ -791,7 +789,7 @@ namespace BBWY.Client.ViewModels.PackerTask } } - + PackTaskOverTimeDetailService packTaskOverTimeDetailService; private void SubmitOverTimeMarkMsg(object param) { @@ -799,10 +797,10 @@ namespace BBWY.Client.ViewModels.PackerTask var id = (long)paramList[0]; var markMsg = paramList[1]?.ToString(); - var overTimeTaskType = Models.OverTimeTaskType.待打包; - + var overTimeTaskType = Models.OverTimeType.待包装; + var taskMessageType = TaskMessageType.任务ID; - SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow = new SubmitOverTimeMarkMsgWindow(overTimeTaskType, id, markMsg, packTaskService, ReflashTask); + SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow = new SubmitOverTimeMarkMsgWindow(packTaskOverTimeDetailService, id, markMsg, taskMessageType, overTimeTaskType, ReflashTask); submitOverTimeMarkMsgWindow.ShowDialog(); } public void ReflashTask()//刷新界面 diff --git a/BBWY.Client/Views/FallWare/WaitFallWareControl.xaml b/BBWY.Client/Views/FallWare/WaitFallWareControl.xaml index 0a20efed..8de5c7ea 100644 --- a/BBWY.Client/Views/FallWare/WaitFallWareControl.xaml +++ b/BBWY.Client/Views/FallWare/WaitFallWareControl.xaml @@ -36,7 +36,7 @@ - + @@ -118,6 +118,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -315,25 +351,42 @@ - + diff --git a/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml b/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml index 95a2e6b6..c20dce96 100644 --- a/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml +++ b/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml @@ -114,7 +114,7 @@ Background="{StaticResource Button.Selected.Background}" BorderThickness="0" Foreground="White"/> - + - @@ -281,7 +281,7 @@ - + --> diff --git a/BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml b/BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml index 26c920fa..4f1e87e5 100644 --- a/BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml +++ b/BBWY.Client/Views/PackagingTask/WaitPackingTaskControl.xaml @@ -273,7 +273,7 @@ - @@ -281,7 +281,7 @@ - + @@ -557,15 +557,15 @@ Foreground="{StaticResource Text.Color}"> - + - + diff --git a/BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml.cs b/BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml.cs index 2cb54b57..6c5021a9 100644 --- a/BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml.cs +++ b/BBWY.Client/Views/TaskOverTime/SubmitOverTimeMarkMsgWindow.xaml.cs @@ -1,4 +1,5 @@ using BBWY.Client.APIServices; +using BBWY.Client.APIServices.QiKu; using BBWY.Client.Models; using BBWY.Controls; using System; @@ -22,27 +23,32 @@ namespace BBWY.Client.Views.TaskOverTime /// public partial class SubmitOverTimeMarkMsgWindow : BWindow { - public SubmitOverTimeMarkMsgWindow(OverTimeTaskType overTimeTaskType, long id, string msg, PackTaskService packTaskService, Action reflashWindow) + public SubmitOverTimeMarkMsgWindow(PackTaskOverTimeDetailService packTaskOverTimeDetailService, long id, string msg, TaskMessageType taskMessageType, OverTimeType overTimeType, Action reflashWindow) { InitializeComponent(); - this.OverTimeTaskType = overTimeTaskType; + this.Id = id; MarkMsg = msg; this.reflashWindow = reflashWindow; - this.packTaskService = packTaskService; + this.DataContext = this; + this.packTaskOverTimeDetailService = packTaskOverTimeDetailService; + TaskMessageType = taskMessageType; + OverTimeType = overTimeType; } Action reflashWindow; - PackTaskService packTaskService { get; set; } - /// - /// 超时任务类型(待验收 = 2,待打包 = 3,待封箱 = 4, 待落仓 = 8,待转运 = 11,) - /// - public OverTimeTaskType OverTimeTaskType { get; set; } + PackTaskOverTimeDetailService packTaskOverTimeDetailService { get; set; } /// - /// 任务id 或者 封箱id + /// 超时任务类型 /// - public long Id { get; set; } + public TaskMessageType TaskMessageType { get; set; } + + public OverTimeType OverTimeType{ get; set; } + /// + /// 任务id 或者 封箱id + /// + public long Id { get; set; } /// /// 备注信息 /// @@ -56,7 +62,7 @@ namespace BBWY.Client.Views.TaskOverTime return; } - var res = packTaskService.SubmitOverTimeMarkMsg(OverTimeTaskType, Id, MarkMsg); + var res = packTaskOverTimeDetailService.SubmitOverTimeMarkMsg(TaskMessageType, Id, OverTimeType, MarkMsg); if (res == null) { MessageBox.Show("网络异常");