From 739d83a6a256d9b39bec6522256a9185c99ef19d Mon Sep 17 00:00:00 2001
From: "506583276@qq.com" <506583276@qq.com>
Date: Fri, 1 Dec 2023 09:09:28 +0800
Subject: [PATCH] 1
---
BBWY.Client/Helpers/PackTaskTimerHelper.cs | 195 +++-------------
.../ViewModels/PackTask/TaskListViewModel.cs | 218 +++++++-----------
.../PackTask/WareHouseListViewModel.cs | 121 ++--------
3 files changed, 139 insertions(+), 395 deletions(-)
diff --git a/BBWY.Client/Helpers/PackTaskTimerHelper.cs b/BBWY.Client/Helpers/PackTaskTimerHelper.cs
index feacb6f9..dba5f870 100644
--- a/BBWY.Client/Helpers/PackTaskTimerHelper.cs
+++ b/BBWY.Client/Helpers/PackTaskTimerHelper.cs
@@ -20,63 +20,27 @@ namespace BBWY.Client.Helpers
return false;
}
- /*
- 中转仓各工序时效限制:
- 待验收:8个工作时
- 待排单:1个工作时
- 待包装:8个工作时
- 待封箱:5个工作时
- 待贴单:2个工作时
- 总时长:24个工作时
- */
-
- ///
- /// 待验收:8个工作时
- ///
- const int wait_inspection_task_time = 8;
- ///
- /// 待排单:1个工作时
- ///
- const int wait_schedule_task_time = 1;
- ///
- /// 待包装:8个工作时
- ///
- const int wait_package_task_time = 8;
///
- /// 待封箱:5个工作时
- ///
- const int wait_sealbox_task_time = 5;
- ///
- /// 待贴单:2个工作时
- ///
- const int wait_stickynote_task_time = 2;
- ///
- /// 总时长:24个工作时
- ///
- const int all_task_time = 24;
-
-
- ///
- /// 计算有效开始时间
+ /// 计算有效超时时间
///
///
///
- public static DateTime AccountEffectiveStartTime(DateTime startTime)
+ public static DateTime AccountEffectiveOverTime(DateTime overTime)
{
- var userStartTime = startTime;//有效开始时间
+ var userStartTime = overTime;//有效开始时间
- if (startTime.Hour < 9)
+ if (overTime.Hour < 9)
{
- userStartTime = startTime.Date.AddHours(9);//未到9店 按9点计时
+ userStartTime = overTime.Date.AddHours(9);//未到9店 按9点计时
}
- if (startTime.Hour >= 18)//从隔天9点开始计时
+ if (overTime.Hour >= 18)//从隔天9点开始计时
{
- userStartTime = startTime.Date.AddHours(18);//超过18点 按次日9点计时
+ userStartTime = overTime.Date.AddHours(18);//超过18点 按次日9点计时
}
- if (startTime.Hour == 12)
+ if (overTime.Hour == 12)
{
- userStartTime = startTime.Date.AddHours(13);//中午未到13点 按13点计时
+ userStartTime = overTime.Date.AddHours(13);//中午未到13点 按13点计时
}
if (userStartTime.DayOfWeek == DayOfWeek.Sunday)
@@ -88,25 +52,25 @@ namespace BBWY.Client.Helpers
}
///
- /// 计算有效完成时间
+ /// 计算有效当前时间
///
/// 完成时间
///
- public static DateTime AccountEffectiveCompletedTime(DateTime endTime)
+ public static DateTime AccountEffectiveNowTime(DateTime nowTime)
{
- var userEndTime = endTime;//有效开始时间
+ var userEndTime = nowTime;//有效开始时间
- if (endTime.Hour < 9)
+ if (nowTime.Hour < 9)
{
- userEndTime = endTime.Date.AddDays(-1).AddHours(18);//未到9店 按前一天 18点完成
+ userEndTime = nowTime.Date.AddDays(-1).AddHours(18);//未到9店 按前一天 18点完成
}
- if (endTime.Hour >= 18)
+ if (nowTime.Hour >= 18)
{
- userEndTime = endTime.Date.AddHours(18);//超过18点 按18点完成
+ userEndTime = nowTime.Date.AddHours(18);//超过18点 按18点完成
}
- if (endTime.Hour == 12)
+ if (nowTime.Hour == 12)
{
- userEndTime = endTime.Date.AddHours(12);//中午未到13点 按12点计时
+ userEndTime = nowTime.Date.AddHours(12);//中午未到13点 按12点计时
}
if (userEndTime.DayOfWeek == DayOfWeek.Sunday)
@@ -118,150 +82,68 @@ namespace BBWY.Client.Helpers
- //public static DateTime AccountOverTime(DateTime startTime, OverTimeType overTimeType)
- //{
- // double userTime = 0;
- // switch (overTimeType)
- // {
- // case OverTimeType.待验收:
- // userTime = wait_inspection_task_time;
- // break;
- // case OverTimeType.待包装:
- // userTime = wait_package_task_time;
- // break;
- // case OverTimeType.待封箱:
- // userTime = wait_sealbox_task_time;
- // break;
- // case OverTimeType.待贴单:
- // userTime = wait_stickynote_task_time;
- // break;
- // case OverTimeType.待排单:
- // userTime = wait_schedule_task_time;
- // break;
- // default:
- // break;
- // }
- // var userStartTime = AccountEffectiveStartTime(startTime);
-
-
- // return AccountOverTime(userStartTime, userTime);
-
- //}
-
-
-
-
///
- /// 计算任务超时截止时间
+ /// 计算有效剩余时长
///
- /// 有效任务开始时间
- /// 有效时长
+ /// 开始时间
+ /// 完成时间
///
- public static DateTime AccountOverTime(DateTime userStartTime, double useTime)
+ public static TimeSpan AccountEffectiveRemainDuration(DateTime nowTime, DateTime overTime)
{
- var overTime = userStartTime.AddHours(useTime);//17点 5
- if (userStartTime.Hour <= 12 && overTime.Hour > 12)//中午休息时间
- {
- overTime = overTime.AddHours(1);
- }
- if (overTime.Hour >= 18)
- {
- overTime = overTime.Date.AddDays(1).AddHours(9).Add((overTime - overTime.Date.AddHours(18)));
- }
- if (overTime.DayOfWeek == DayOfWeek.Sunday)
- {
- overTime = overTime.Date.AddDays(1);//周日算周一
- }
- return overTime;
+ var effectiveNowTime = AccountEffectiveNowTime(nowTime);
+ var effectiveOverTime = AccountEffectiveOverTime(overTime);
- }
-
- ///
- /// 释放挂起任务 增加超时时长
- ///
- /// 有效任务开始时间
- /// 有效挂起时长
- ///
- public static DateTime AccountOverTime(DateTime userStartTime, TimeSpan useTime)
- {
-
-
- var overTime = userStartTime.Add(useTime);//17点 5
-
- if (userStartTime.Hour <= 12 && overTime.Hour > 12)//中午休息时间
+ if (effectiveNowTime < effectiveOverTime)
{
- overTime = overTime.AddHours(1);
- }
+ return AccountEffectiveDuration(effectiveNowTime , effectiveOverTime);
- if (overTime.Hour >= 18)
- {
- overTime = overTime.Date.AddDays(1).AddHours(9).Add((overTime - overTime.Date.AddHours(18)));
}
+ return -AccountEffectiveDuration( effectiveOverTime, effectiveNowTime);
- if (overTime.DayOfWeek == DayOfWeek.Sunday)
- {
- overTime = overTime.Date.AddDays(1);//周日算周一
- }
- return overTime;
- }
- ///
- /// 有效任务时长()
- ///
- ///
- ///
- /// /// 有效挂起时长
- ///
- public static TimeSpan AccountEffectiveTaskDuration(DateTime startTime, DateTime CompletedTime, TimeSpan? EffectiveAbortTaskDuration)
- {
- //计算超时天数 如果时间里包含周日 则扣一天 1天按8小时计算
- return AccountEffectiveDuration(startTime, CompletedTime).Add(EffectiveAbortTaskDuration ?? TimeSpan.FromHours(0));
- }
+ }
///
- /// 计算有效时长(超时时长 任务耗时)
+ /// 计算有效时长(任务耗时)
///
/// 开始时间
/// 完成时间
///
- public static TimeSpan AccountEffectiveDuration(DateTime startTime, DateTime completedTime)
+ public static TimeSpan AccountEffectiveDuration(DateTime effectiveStartTime, DateTime effectiveCompletedTime)
{
- var effectiveStartTime = AccountEffectiveStartTime(startTime);
-
- var effectiveCompletedTime = AccountEffectiveCompletedTime(completedTime);
var timespan = effectiveCompletedTime - effectiveStartTime;
- int effectiveDays = timespan.Days - CountSundays(effectiveStartTime, effectiveCompletedTime);//有效相隔天数
+
- var hoursTimeSpan = timespan.Add(TimeSpan.FromDays(-effectiveDays));//计算小时差
+ var hoursTimeSpan = timespan.Add(TimeSpan.FromDays(-CountSundays(effectiveStartTime, effectiveCompletedTime)));//计算小时差
//1. 开始时间 12点 结束时间 10点
- if (effectiveStartTime.Millisecond > effectiveCompletedTime.Millisecond)
+ if (effectiveStartTime.TimeOfDay > effectiveCompletedTime.TimeOfDay)
{
if (effectiveStartTime.Hour <= 12)//-16小时
- return hoursTimeSpan.Add(TimeSpan.FromHours(-16)).Add(TimeSpan.FromDays(effectiveDays));
+ return hoursTimeSpan.Add(TimeSpan.FromHours(-16));
else
{
if (effectiveCompletedTime.Hour <= 12)
- return hoursTimeSpan.Add(TimeSpan.FromHours(-15)).Add(TimeSpan.FromDays(effectiveDays ));
+ return hoursTimeSpan.Add(TimeSpan.FromHours(-15));
else
- return hoursTimeSpan.Add(TimeSpan.FromHours(-16)).Add(TimeSpan.FromDays(effectiveDays));
+ return hoursTimeSpan.Add(TimeSpan.FromHours(-16));
}
}
@@ -269,14 +151,13 @@ namespace BBWY.Client.Helpers
{
if (effectiveCompletedTime.Hour > 12)
if (effectiveStartTime.Hour <= 12)
- return hoursTimeSpan.Add(TimeSpan.FromHours(-1)).Add(TimeSpan.FromDays(effectiveDays));
+ return hoursTimeSpan.Add(TimeSpan.FromHours(-1));
- return hoursTimeSpan.Add(TimeSpan.FromDays(effectiveDays));
+ return hoursTimeSpan;
}
}
-
///
/// 判断两个日期之间有多少个星期日
///
diff --git a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs
index 9aba16e5..6f9b520e 100644
--- a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs
+++ b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs
@@ -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.待验收;
///
/// 任务状态
///
@@ -309,7 +309,7 @@ namespace BBWY.Client.ViewModels.PackTask
///
public string QualityTaskCount { get => qualityTaskCount; set { Set(ref qualityTaskCount, value); } }
-
+
private PackagingTaskExceptionState? packagingTaskExceptionState;
@@ -881,7 +881,7 @@ namespace BBWY.Client.ViewModels.PackTask
public void SearchTaskList()
{
IsStartThread = false;
-
+
IsLoading = true;
@@ -890,7 +890,7 @@ namespace BBWY.Client.ViewModels.PackTask
Task.Factory.StartNew(() =>
{
-
+
try
@@ -898,8 +898,8 @@ namespace BBWY.Client.ViewModels.PackTask
if (TaskState == Models.TaskState.待验收)
{
PackTaskList = new ObservableCollection();//初始化数据
- 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,11 +963,14 @@ 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)
{
@@ -1004,8 +1007,8 @@ 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)
{
@@ -1064,11 +1067,12 @@ namespace BBWY.Client.ViewModels.PackTask
{
}
}
- else if (TaskState == Models.TaskState.待包装) {
+ else if (TaskState == Models.TaskState.待包装)
+ {
PackTaskList = new ObservableCollection();//初始化数据
var datas = packagingTaskService.SearchPackagingTaskList(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 +1126,74 @@ 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);
- if (datetime.TotalMilliseconds > 0)
- {
- item.IsPackOverTime = false;
- item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
- }
- else
- {
- item.IsPackOverTime = true;
- item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
- }
+ //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);
+ }
+ else
+ {
+ item.IsPackOverTime = true;
+ item.PackRemainTime = OverTimeHelper.GetTimeString(datetime);
}
- }));
- 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;
+ }
+
+ }
+ }));
@@ -1278,96 +1309,6 @@ namespace BBWY.Client.ViewModels.PackTask
}
-
- //任务状态为待验收
- if (TaskState == Models.TaskState.待验收)
- {
- var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.QualityCompletionOverTime != null).ToList();
- if (packtasks.Count() > 0)
- {
- //if (qualityOverTimeThread!=null)
- //{
- // qualityOverTimeThread.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(() =>
- {
- 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 = $"{datetime.Days}天{datetime.Hours}小时{datetime.Minutes}分";
- }
- else
- {
- item.IsPackOverTime = true;
- item.PackRemainTime = $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分";
- }
-
- }
- }));
- Thread.Sleep(1000);
- }
-
- });
- //任务倒计时数据
- packOverTimeThread.IsBackground = true;
- packOverTimeThread.Start();
-
-
- }
- }
-
if (TaskState == Models.TaskState.待排单)
{
var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待排单 && p.ScheduleOverTime != null).ToList();
@@ -1387,7 +1328,9 @@ namespace BBWY.Client.ViewModels.PackTask
{
foreach (var item in packCompletedTasks)
{
- var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now);
+ //var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now);
+
+ TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.ScheduleOverTime.Value);
if (datetime.TotalMilliseconds > 0)
{
item.IsScheduleOverTime = false;
@@ -1758,7 +1701,8 @@ namespace BBWY.Client.ViewModels.PackTask
{
foreach (var item in sealboxTasks)
{
- var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now);
+ // var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now);
+ TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.TransportOverTime.Value);
if (datetime.TotalMilliseconds > 0)
{
item.IsWaitTransportOverTime = false;
diff --git a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
index d5030e58..5d8ea8ab 100644
--- a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
+++ b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs
@@ -2097,7 +2097,8 @@ namespace BBWY.Client.ViewModels.PackTask
{
foreach (var item in sealboxTasks)
{
- var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now);
+ // var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now);
+ TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.TransportOverTime.Value);
if (datetime.TotalMilliseconds > 0)
{
item.IsWaitTransportOverTime = false;
@@ -2217,7 +2218,9 @@ namespace BBWY.Client.ViewModels.PackTask
{
foreach (var item in sealboxTasks)
{
- var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now);
+ //var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now);
+
+ TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.SealBoxPackOverTime.Value);
if (datetime.TotalMilliseconds > 0)
{
item.IsSealBoxOverTime = false;
@@ -2395,11 +2398,8 @@ namespace BBWY.Client.ViewModels.PackTask
// item.IsQualityOverTime = true;
//}
- TimeSpan datetime;
- if (item.QualityCompletionOverTime.Value > DateTime.Now)
- datetime = PackTaskTimerHelper.AccountEffectiveDuration(DateTime.Now, item.QualityCompletionOverTime.Value);
- else
- datetime = -PackTaskTimerHelper.AccountEffectiveDuration( item.QualityCompletionOverTime.Value, DateTime.Now);
+ TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.QualityCompletionOverTime.Value);
+
item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime);
if (datetime.TotalMilliseconds > 0)
{
@@ -2436,8 +2436,9 @@ 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)
{
@@ -2562,6 +2563,7 @@ namespace BBWY.Client.ViewModels.PackTask
packOverTimeThread = new Thread(() =>
{
+ Thread.Sleep(1000);
IsStartThread = true;
while (IsStartThread)
{
@@ -2569,7 +2571,9 @@ namespace BBWY.Client.ViewModels.PackTask
{
foreach (var item in packCompletedTasks)
{
- var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
+ //var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now);
+
+ TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.PackCompletionOverTime.Value);
if (datetime.TotalMilliseconds > 0)
{
item.IsPackOverTime = false;
@@ -2605,8 +2609,9 @@ 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)
{
@@ -2732,94 +2737,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.待排单)
{
@@ -2828,6 +2745,7 @@ namespace BBWY.Client.ViewModels.PackTask
{
scheduleOverTimeThread = new Thread(() =>
{
+ Thread.Sleep(1000);
IsStartThread = true;
while (IsStartThread)
{
@@ -2835,7 +2753,8 @@ namespace BBWY.Client.ViewModels.PackTask
{
foreach (var item in packCompletedTasks)
{
- var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now);
+ //var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now);
+ TimeSpan datetime = PackTaskTimerHelper.AccountEffectiveRemainDuration(DateTime.Now, item.ScheduleOverTime.Value);
if (datetime.TotalMilliseconds > 0)
{
item.IsScheduleOverTime = false;