|
|
@ -40,7 +40,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
public partial class TaskListViewModel : BaseVM, IDenpendency//注入服务
|
|
|
|
{ |
|
|
|
|
|
|
|
private QualityTaskExceptionState? qualityTaskExceptionState= Models.QualityTaskExceptionState.待验收; |
|
|
|
private QualityTaskExceptionState? qualityTaskExceptionState = Models.QualityTaskExceptionState.待验收; |
|
|
|
/// <summary>
|
|
|
|
/// 任务状态
|
|
|
|
/// </summary>
|
|
|
@ -309,7 +309,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
/// </summary>
|
|
|
|
public string QualityTaskCount { get => qualityTaskCount; set { Set(ref qualityTaskCount, value); } } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private PackagingTaskExceptionState? packagingTaskExceptionState; |
|
|
@ -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(); |
|
|
|
} |
|
|
|
|
|
|
@ -881,7 +883,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
public void SearchTaskList() |
|
|
|
{ |
|
|
|
IsStartThread = false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IsLoading = true; |
|
|
@ -890,7 +892,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
Task.Factory.StartNew(() => |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try |
|
|
@ -898,8 +900,8 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
if (TaskState == Models.TaskState.待验收) |
|
|
|
{ |
|
|
|
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
|
|
|
|
var datas = qualityTaskService.SearchQualityTaskList( skuId:SearchSkuId,taskId: SearchTaskId,spuId: SearchSpuId, orderSn: SearchOrderSn, QualityTaskExceptionState: this.QualityTaskExceptionState, shopId: globalContext.User.Shop.ShopId.ToString(), |
|
|
|
pageIndex: PageIndex,pageSize: PageSize); |
|
|
|
var datas = qualityTaskService.SearchQualityTaskList(skuId: SearchSkuId, taskId: SearchTaskId, spuId: SearchSpuId, orderSn: SearchOrderSn, QualityTaskExceptionState: this.QualityTaskExceptionState, shopId: globalContext.User.Shop.ShopId.ToString(), |
|
|
|
pageIndex: PageIndex, pageSize: PageSize); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -963,13 +965,16 @@ 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);
|
|
|
|
|
|
|
|
|
|
|
|
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; |
|
|
|
|
|
|
@ -1004,10 +1009,10 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
foreach (var item in packtasks) |
|
|
|
{ |
|
|
|
TimeSpan datetime; |
|
|
|
datetime = item.QualityCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value); |
|
|
|
//TimeSpan datetime = item.QualityCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value);
|
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(item.TaskAbortTime.Value, item.QualityCompletionOverTime.Value); |
|
|
|
item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
item.IsQualityOverTime = false; |
|
|
|
|
|
|
@ -1064,11 +1069,12 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
} |
|
|
|
} |
|
|
|
else if (TaskState == Models.TaskState.待包装) { |
|
|
|
else if (TaskState == Models.TaskState.待包装) |
|
|
|
{ |
|
|
|
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
|
|
|
|
var datas = packagingTaskService.SearchPackagingTaskList(skuId: SearchSkuId, taskId: SearchTaskId, spuId: SearchSpuId, orderSn: SearchOrderSn, PackagingTaskExceptionState: this.PackagingTaskExceptionState, shopId: globalContext.User.Shop.ShopId.ToString(), |
|
|
|
var datas = packagingTaskService.SearchPackagingTaskListV2(skuId: SearchSkuId, taskId: SearchTaskId, spuId: SearchSpuId, orderSn: SearchOrderSn, PackagingTaskExceptionState: this.PackagingTaskExceptionState, shopId: globalContext.User.Shop.ShopId.ToString(), |
|
|
|
pageIndex: PageIndex, pageSize: PageSize); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (datas != null && datas.Data != null && datas.Success) |
|
|
|
{ |
|
|
@ -1122,47 +1128,102 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (TaskState == Models.TaskState.待包装) |
|
|
|
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null && p.TaskAbortTime == null).ToList(); |
|
|
|
if (packCompletedTasks.Count() > 0) |
|
|
|
{ |
|
|
|
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null).ToList(); |
|
|
|
if (packCompletedTasks.Count() > 0) |
|
|
|
{ |
|
|
|
|
|
|
|
packOverTimeThread = new Thread(() => |
|
|
|
packOverTimeThread = new Thread(() => |
|
|
|
{ |
|
|
|
Thread.Sleep(1000); |
|
|
|
IsStartThread = true; |
|
|
|
while (IsStartThread) |
|
|
|
{ |
|
|
|
IsStartThread = true; |
|
|
|
while (IsStartThread) |
|
|
|
App.Current.Dispatcher.BeginInvoke(new Action(() => |
|
|
|
{ |
|
|
|
App.Current.Dispatcher.BeginInvoke(new Action(() => |
|
|
|
foreach (var item in packCompletedTasks) |
|
|
|
{ |
|
|
|
foreach (var item in packCompletedTasks) |
|
|
|
//var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
|
|
|
|
|
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.PackCompletionOverTime.Value); |
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
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); |
|
|
|
} |
|
|
|
item.IsPackOverTime = false; |
|
|
|
item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
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; |
|
|
|
} |
|
|
|
})); |
|
|
|
Thread.Sleep(1000); |
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
//任务倒计时数据
|
|
|
|
packOverTimeThread.IsBackground = true; |
|
|
|
packOverTimeThread.Start(); |
|
|
|
} |
|
|
|
})); |
|
|
|
Thread.Sleep(1000); |
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
//任务倒计时数据
|
|
|
|
packOverTimeThread.IsBackground = true; |
|
|
|
packOverTimeThread.Start(); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
//任务状态为待打包
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.TaskAbortTime != null).ToList(); |
|
|
|
App.Current.Dispatcher.BeginInvoke(new Action(() => |
|
|
|
{ |
|
|
|
foreach (var item in packtasks) |
|
|
|
{ |
|
|
|
//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) |
|
|
|
{ |
|
|
|
item.IsPackOverTime = false; |
|
|
|
|
|
|
|
} |
|
|
|
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; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
})); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1185,6 +1246,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
|
|
|
|
}); |
|
|
|
item.ExpressOrderList = expressData.Data; |
|
|
|
|
|
|
|
})); |
|
|
|
|
|
|
|
|
|
|
@ -1206,7 +1268,7 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
else |
|
|
|
{ |
|
|
|
PackTaskList = new ObservableCollection<PackTaskModel>();//初始化数据
|
|
|
|
var datas = packTaskService.SearchTaskList(SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, |
|
|
|
var datas = packTaskService.SearchTaskListV2(SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, |
|
|
|
PageIndex, PageSize); |
|
|
|
if (datas != null && datas.Data != null && datas.Success) |
|
|
|
{ |
|
|
@ -1228,18 +1290,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; |
|
|
@ -1278,62 +1342,17 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//任务状态为待验收
|
|
|
|
if (TaskState == Models.TaskState.待验收) |
|
|
|
if (TaskState == Models.TaskState.待排单) |
|
|
|
{ |
|
|
|
var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.QualityCompletionOverTime != null).ToList(); |
|
|
|
if (packtasks.Count() > 0) |
|
|
|
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待排单 && p.ScheduleOverTime != null).ToList(); |
|
|
|
if (packCompletedTasks.Count() > 0) |
|
|
|
{ |
|
|
|
//if (qualityOverTimeThread!=null)
|
|
|
|
//if (packOverTimeThread!=null)
|
|
|
|
//{
|
|
|
|
// qualityOverTimeThread.Abort();
|
|
|
|
// packOverTimeThread.Abort();
|
|
|
|
//}
|
|
|
|
|
|
|
|
qualityOverTimeThread = new Thread(() => |
|
|
|
{ |
|
|
|
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(() => |
|
|
|
scheduleOverTimeThread = new Thread(() => |
|
|
|
{ |
|
|
|
IsStartThread = true; |
|
|
|
while (IsStartThread) |
|
|
@ -1342,16 +1361,18 @@ 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.ScheduleOverTime.Value.Subtract(DateTime.Now);
|
|
|
|
|
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.ScheduleOverTime.Value); |
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
item.IsPackOverTime = false; |
|
|
|
item.PackRemainTime = $"{datetime.Days}天{datetime.Hours}小时{datetime.Minutes}分"; |
|
|
|
item.IsScheduleOverTime = false; |
|
|
|
item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
item.IsPackOverTime = true; |
|
|
|
item.PackRemainTime = $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分"; |
|
|
|
item.IsScheduleOverTime = true; |
|
|
|
item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
@ -1361,59 +1382,45 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
|
|
|
|
}); |
|
|
|
//任务倒计时数据
|
|
|
|
packOverTimeThread.IsBackground = true; |
|
|
|
packOverTimeThread.Start(); |
|
|
|
scheduleOverTimeThread.IsBackground = true; |
|
|
|
scheduleOverTimeThread.Start(); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (TaskState == Models.TaskState.待排单) |
|
|
|
Task.Factory.StartNew(() => |
|
|
|
{ |
|
|
|
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待排单 && p.ScheduleOverTime != null).ToList(); |
|
|
|
if (packCompletedTasks.Count() > 0) |
|
|
|
foreach (var item in PackTaskList) |
|
|
|
{ |
|
|
|
//if (packOverTimeThread!=null)
|
|
|
|
//{
|
|
|
|
// packOverTimeThread.Abort();
|
|
|
|
//}
|
|
|
|
|
|
|
|
scheduleOverTimeThread = new Thread(() => |
|
|
|
if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty()) |
|
|
|
{ |
|
|
|
IsStartThread = true; |
|
|
|
while (IsStartThread) |
|
|
|
var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); |
|
|
|
if (expressData != null && expressData.Success && expressData.Data != null) |
|
|
|
{ |
|
|
|
|
|
|
|
App.Current.Dispatcher.BeginInvoke(new Action(() => |
|
|
|
{ |
|
|
|
foreach (var item in packCompletedTasks) |
|
|
|
expressData.Data.ForEach(e => |
|
|
|
{ |
|
|
|
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); |
|
|
|
} |
|
|
|
e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
item.ExpressOrderList = expressData.Data; |
|
|
|
})); |
|
|
|
Thread.Sleep(1000); |
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
//任务倒计时数据
|
|
|
|
scheduleOverTimeThread.IsBackground = true; |
|
|
|
scheduleOverTimeThread.Start(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
@ -1508,8 +1515,9 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
foreach (var item in sealboxTasks) |
|
|
|
{ |
|
|
|
var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.SealBoxPackOverTime.Value); |
|
|
|
//var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now);
|
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
item.IsSealBoxOverTime = false; |
|
|
|
item.SealBoxRemainTime = $"{datetime.Hours}小时{datetime.Minutes}分"; |
|
|
@ -1595,8 +1603,9 @@ namespace BBWY.Client.ViewModels.PackTask |
|
|
|
{ |
|
|
|
foreach (var item in fallWareTasks) |
|
|
|
{ |
|
|
|
var datetime = item.SetPurchaseOrderOverTime.Value.Subtract(DateTime.Now); |
|
|
|
if (datetime.TotalMilliseconds > 0) |
|
|
|
//var datetime = item.SetPurchaseOrderOverTime.Value.Subtract(DateTime.Now);
|
|
|
|
TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.SetPurchaseOrderOverTime.Value); |
|
|
|
if (datetime.TotalMilliseconds >= 0) |
|
|
|
{ |
|
|
|
item.IsFallWareOverTime = false; |
|
|
|
item.FallWareRemainTime = $"{datetime.Hours}小时{datetime.Minutes}分"; |
|
|
@ -1758,8 +1767,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); |
|
|
|