|
|
@ -248,7 +248,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
public ObservableCollection<OverTimeTaskResponse> OverTimeTaskList { get => overTimeTaskList; set { Set(ref overTimeTaskList, value); } } |
|
|
|
|
|
|
|
private ObservableCollection<OverTimeTaskType> overTimeTaskTypeList = new ObservableCollection<OverTimeTaskType> { |
|
|
|
OverTimeTaskType.全部, OverTimeTaskType.待验收, OverTimeTaskType.待排单, OverTimeTaskType.待打包, OverTimeTaskType.待封箱, OverTimeTaskType.待落仓, OverTimeTaskType.待转运 |
|
|
|
OverTimeTaskType.全部, OverTimeTaskType.待验收, OverTimeTaskType.待排单, OverTimeTaskType.待打包, OverTimeTaskType.待封箱, OverTimeTaskType.待同步采购单, OverTimeTaskType.待转运, OverTimeTaskType.待贴单 |
|
|
|
}; |
|
|
|
/// <summary>
|
|
|
|
///超时任务类型
|
|
|
@ -813,7 +813,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
/// </summary>
|
|
|
|
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) |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
@ -958,6 +958,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
|
|
|
|
PrintShelvesCommand = new RelayCommand<PackTaskModel>(PrintShelves); |
|
|
|
LoadSplitDatas(); |
|
|
|
this.packTaskOverTimeDetailService = packTaskOverTimeDetailService; |
|
|
|
} |
|
|
|
|
|
|
|
private void LoadSplitDatas() |
|
|
@ -1431,6 +1432,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
PackTaskOverTimeDetailService packTaskOverTimeDetailService; |
|
|
|
private void SubmitOverTimeMarkMsg(object param) |
|
|
|
{ |
|
|
|
|
|
|
@ -1439,30 +1441,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(); |
|
|
|
} |
|
|
|
|
|
|
@ -2058,7 +2060,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
PageSize = 20; |
|
|
|
OverTimeTaskList = new ObservableCollection<OverTimeTaskResponse>(); |
|
|
|
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; |
|
|
@ -2113,8 +2115,9 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
foreach (var item in sealboxTasks) |
|
|
|
{ |
|
|
|
var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
// var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now);
|
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.TransportOverTime.Value); |
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
item.IsWaitTransportOverTime = false; |
|
|
|
item.WaitTransportRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
@ -2178,11 +2181,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 |
|
|
|
{ |
|
|
@ -2233,8 +2282,10 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
foreach (var item in sealboxTasks) |
|
|
|
{ |
|
|
|
var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
//var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now);
|
|
|
|
|
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.SealBoxPackOverTime.Value); |
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
item.IsSealBoxOverTime = false; |
|
|
|
item.SealBoxRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
@ -2387,6 +2438,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.QualityCompletionOverTime != null && p.TaskAbortTime == null).ToList(); |
|
|
|
if (packtasks.Count() > 0) |
|
|
|
{ |
|
|
|
Thread.Sleep(1000); |
|
|
|
IsStartThread = true; |
|
|
|
while (IsStartThread) |
|
|
|
{ |
|
|
@ -2394,13 +2446,26 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
foreach (var item in packtasks) |
|
|
|
{ |
|
|
|
TimeSpan datetime; |
|
|
|
if (item.SendToSetSkuConfigureTime != null) |
|
|
|
datetime = item.QualityCompletionOverTime.Value.Subtract(item.SendToSetSkuConfigureTime.Value); |
|
|
|
else |
|
|
|
datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now); |
|
|
|
//TimeSpan datetime;
|
|
|
|
//if (item.SendToSetSkuConfigureTime != null)
|
|
|
|
// datetime = item.QualityCompletionOverTime.Value.Subtract(item.SendToSetSkuConfigureTime.Value);
|
|
|
|
//else
|
|
|
|
// datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now);
|
|
|
|
//item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime);
|
|
|
|
//if (datetime.TotalMilliseconds >= 0)
|
|
|
|
//{
|
|
|
|
// item.IsQualityOverTime = false;
|
|
|
|
|
|
|
|
//}
|
|
|
|
//else
|
|
|
|
//{
|
|
|
|
// item.IsQualityOverTime = true;
|
|
|
|
//}
|
|
|
|
|
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.QualityCompletionOverTime.Value); |
|
|
|
|
|
|
|
item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
item.IsQualityOverTime = false; |
|
|
|
|
|
|
@ -2435,10 +2500,11 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
foreach (var item in packtasks) |
|
|
|
{ |
|
|
|
TimeSpan datetime; |
|
|
|
datetime = item.QualityCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value); |
|
|
|
|
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(item.TaskAbortTime.Value, item.QualityCompletionOverTime.Value); |
|
|
|
//datetime = item.QualityCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value);
|
|
|
|
item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
item.IsQualityOverTime = false; |
|
|
|
|
|
|
@ -2499,7 +2565,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
|
|
|
|
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
|
|
|
|
var datas = packagingTaskService.SearchPackagingTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.PackagingTaskExceptionState, SearchShopName, |
|
|
|
var datas = packagingTaskService.SearchPackagingTaskListV2(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.PackagingTaskExceptionState, SearchShopName, |
|
|
|
PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, SearchPackUserName); |
|
|
|
|
|
|
|
if (datas != null && datas.Data != null && datas.Success) |
|
|
@ -2512,8 +2578,6 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
|
|
|
|
var data = JsonConvert.DeserializeObject<PackTaskModel>(JsonConvert.SerializeObject(item)); |
|
|
|
|
|
|
|
|
|
|
|
data.ItemList = new List<SkuMessage>() { new SkuMessage |
|
|
|
{ BrandName = item.BrandName, |
|
|
|
Logo= item.Logo, |
|
|
@ -2546,6 +2610,8 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
data.PackUser = string.Join("\r\n", item.PackUserName); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
App.Current.Dispatcher.Invoke(new Action(() => |
|
|
|
{ |
|
|
|
PackTaskList.Add(data); |
|
|
@ -2561,6 +2627,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
|
|
|
|
packOverTimeThread = new Thread(() => |
|
|
|
{ |
|
|
|
Thread.Sleep(1000); |
|
|
|
IsStartThread = true; |
|
|
|
while (IsStartThread) |
|
|
|
{ |
|
|
@ -2568,8 +2635,10 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
foreach (var item in packCompletedTasks) |
|
|
|
{ |
|
|
|
var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
//var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
|
|
|
|
|
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.PackCompletionOverTime.Value); |
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
item.IsPackOverTime = false; |
|
|
|
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
@ -2578,6 +2647,21 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
item.IsPackOverTime = true; |
|
|
|
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|
|
|
|
|
//获取 datetime 的小时数 的绝对值
|
|
|
|
var hours = Math.Abs(datetime.TotalHours); |
|
|
|
|
|
|
|
var packagingStile = globalContext.PackagingStileList.SingleOrDefault(p => p.MinNumber < hours && p.MaxNumber >= hours);//获取折扣系数
|
|
|
|
var discount = packagingStile?.DisCount ?? 0; |
|
|
|
|
|
|
|
//赔付费用
|
|
|
|
var compensationFee = Math.Round(item.PackageFees * discount, 2); |
|
|
|
|
|
|
|
item.CompensationFee = $"{Math.Round(item.PackageFees, 2)}*{discount}={compensationFee}"; |
|
|
|
|
|
|
|
//实际收益
|
|
|
|
item.ActualIncome = item.PackageFees - compensationFee; |
|
|
|
item.PackTotalFees = item.ActualIncome + item.ConsumableFees; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
@ -2604,10 +2688,11 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
foreach (var item in packtasks) |
|
|
|
{ |
|
|
|
TimeSpan datetime; |
|
|
|
datetime = item.PackCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value); |
|
|
|
//TimeSpan datetime = item.PackCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value);
|
|
|
|
|
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(item.TaskAbortTime.Value, item.PackCompletionOverTime.Value); |
|
|
|
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
item.IsPackOverTime = false; |
|
|
|
|
|
|
@ -2615,6 +2700,20 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
else |
|
|
|
{ |
|
|
|
item.IsPackOverTime = true; |
|
|
|
//获取 datetime 的小时数 的绝对值
|
|
|
|
var hours = Math.Abs(datetime.TotalHours); |
|
|
|
|
|
|
|
var packagingStile = globalContext.PackagingStileList.SingleOrDefault(p => p.MinNumber < hours && p.MaxNumber >= hours);//获取折扣系数
|
|
|
|
var discount = packagingStile?.DisCount ?? 0; |
|
|
|
|
|
|
|
//赔付费用
|
|
|
|
var compensationFee = Math.Round(item.PackageFees * discount, 2); |
|
|
|
|
|
|
|
item.CompensationFee = $"{Math.Round(item.PackageFees, 2)}*{discount}={compensationFee}"; |
|
|
|
|
|
|
|
//实际收益
|
|
|
|
item.ActualIncome = item.PackageFees - compensationFee; |
|
|
|
item.PackTotalFees = item.ActualIncome + item.ConsumableFees; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
@ -2667,7 +2766,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
else |
|
|
|
{ |
|
|
|
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
|
|
|
|
var datas = packTaskService.SearchTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, SearchShopName, |
|
|
|
var datas = packTaskService.SearchTaskListV2(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, SearchShopName, |
|
|
|
PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, SearchPackUserName); |
|
|
|
|
|
|
|
if (datas != null && datas.Data != null && datas.Success) |
|
|
@ -2731,94 +2830,6 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
})); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
if (TaskState == Models.TaskState.待验收) |
|
|
|
{ |
|
|
|
qualityOverTimeThread = new Thread(() => |
|
|
|
{ |
|
|
|
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.QualityCompletionOverTime != null).ToList(); |
|
|
|
if (packtasks.Count() > 0) |
|
|
|
{ |
|
|
|
IsStartThread = true; |
|
|
|
while (IsStartThread) |
|
|
|
{ |
|
|
|
App.Current.Dispatcher.BeginInvoke(new Action(() => |
|
|
|
{ |
|
|
|
foreach (var item in packtasks) |
|
|
|
{ |
|
|
|
TimeSpan datetime; |
|
|
|
if (item.SendToSetSkuConfigureTime != null) |
|
|
|
datetime = item.QualityCompletionOverTime.Value.Subtract(item.SendToSetSkuConfigureTime.Value); |
|
|
|
else |
|
|
|
datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now); |
|
|
|
item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
{ |
|
|
|
item.IsQualityOverTime = false; |
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
item.IsQualityOverTime = true; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
})); |
|
|
|
Thread.Sleep(1000); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
//任务倒计时数据
|
|
|
|
qualityOverTimeThread.IsBackground = true; |
|
|
|
qualityOverTimeThread.Start(); |
|
|
|
//任务状态为待验收
|
|
|
|
|
|
|
|
} |
|
|
|
if (TaskState == Models.TaskState.待包装) |
|
|
|
{ |
|
|
|
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null).ToList(); |
|
|
|
if (packCompletedTasks.Count() > 0) |
|
|
|
{ |
|
|
|
|
|
|
|
packOverTimeThread = new Thread(() => |
|
|
|
{ |
|
|
|
IsStartThread = true; |
|
|
|
while (IsStartThread) |
|
|
|
{ |
|
|
|
App.Current.Dispatcher.BeginInvoke(new Action(() => |
|
|
|
{ |
|
|
|
foreach (var item in packCompletedTasks) |
|
|
|
{ |
|
|
|
var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
{ |
|
|
|
item.IsPackOverTime = false; |
|
|
|
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
item.IsPackOverTime = true; |
|
|
|
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
})); |
|
|
|
Thread.Sleep(1000); |
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
//任务倒计时数据
|
|
|
|
packOverTimeThread.IsBackground = true; |
|
|
|
packOverTimeThread.Start(); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
if (TaskState == Models.TaskState.待排单) |
|
|
|
{ |
|
|
@ -2827,6 +2838,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
scheduleOverTimeThread = new Thread(() => |
|
|
|
{ |
|
|
|
Thread.Sleep(1000); |
|
|
|
IsStartThread = true; |
|
|
|
while (IsStartThread) |
|
|
|
{ |
|
|
@ -2834,8 +2846,9 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
foreach (var item in packCompletedTasks) |
|
|
|
{ |
|
|
|
var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
//var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now);
|
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.ScheduleOverTime.Value); |
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
item.IsScheduleOverTime = false; |
|
|
|
item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|