bug
This commit is contained in:
@@ -97,7 +97,41 @@ namespace Tnb.ProductionMgr
|
||||
// }).FirstAsync();
|
||||
|
||||
OrganizeEntity workline = await _organizeService.GetAnyParentByWorkstationId(station_id, DictConst.RegionCategoryWorklineCode);
|
||||
PrdMoTask prdMoTask = await db.Queryable<PrdMoTask>().Where(x => x.workline_id == workline.Id && x.worker_id == _userManager.UserId && x.mo_task_status==DictConst.InProgressEnCode)
|
||||
// PrdMoTask prdMoTask = await db.Queryable<PrdMoTask>().Where(x => x.workline_id == workline.Id && x.worker_id == _userManager.UserId && x.mo_task_status==DictConst.InProgressEnCode)
|
||||
// .FirstAsync();
|
||||
|
||||
string nowTime = DateTime.Now.ToString("HH:mm");
|
||||
BasFactoryConfig config = await db.Queryable<BasFactoryConfig>().FirstAsync(x => x.enabled == 1 && x.key == FactoryConfigConst.DAYNIGHTWORKTIME);
|
||||
Dictionary<string,string> dayNightWorkTime = JsonConvert.DeserializeObject<Dictionary<string, string>>(config.value);
|
||||
string dayStime = dayNightWorkTime["白班"].Split("-")[0];
|
||||
string dayEtime = dayNightWorkTime["白班"].Split("-")[1];
|
||||
string nightStime = dayNightWorkTime["夜班"].Split("-")[0];
|
||||
string nightEtime = dayNightWorkTime["夜班"].Split("-")[1];
|
||||
string dayBeforeStime = dayNightWorkTime["白班前"].Split("-")[0];
|
||||
string dayBeforeEtime = dayNightWorkTime["白班前"].Split("-")[1];
|
||||
string dayAfterStime = dayNightWorkTime["白班后"].Split("-")[0];
|
||||
string dayAfterEtime = dayNightWorkTime["白班后"].Split("-")[1];
|
||||
string nightBeforeStime = dayNightWorkTime["夜班前"].Split("-")[0];
|
||||
string nightBeforeEtime = dayNightWorkTime["夜班前"].Split("-")[1];
|
||||
string nightAfterStime = dayNightWorkTime["夜班后"].Split("-")[0];
|
||||
string nightAfterEtime = dayNightWorkTime["夜班后"].Split("-")[1];
|
||||
|
||||
bool twoDayFlag = string.Compare(nowTime, dayStime) >= 0 && string.Compare(nowTime, dayEtime) <= 0;
|
||||
bool twoNightFlag = string.Compare(nowTime,nightStime)>=0 && string.Compare(nowTime,nightEtime)<=0;
|
||||
bool fourDayBeforeFlag = (string.Compare(nowTime,dayBeforeStime)>=0 && string.Compare(nowTime,dayBeforeEtime)<=0) ;
|
||||
bool fourDayAfterFlag = (string.Compare(nowTime,dayAfterStime)>=0 && string.Compare(nowTime,dayAfterEtime)<=0) ;
|
||||
bool fourNightBeforeFlag = (string.Compare(nowTime,nightBeforeStime)>=0 && string.Compare(nowTime,nightBeforeEtime)<=0) ;
|
||||
bool fourNightAfterFlag = (string.Compare(nowTime,nightAfterStime)>=0 && string.Compare(nowTime,nightAfterEtime)<=0) ;
|
||||
|
||||
string userId = _userManager.UserId;
|
||||
PrdMoTask prdMoTask = await db.Queryable<PrdMoTask>().
|
||||
Where(x => x.workline_id == workline.Id && x.mo_task_status==DictConst.InProgressEnCode)
|
||||
.Where(x=>(x.scheduling_class_type=="1" && twoDayFlag && x.dayshift_worker_id==userId)
|
||||
|| (x.scheduling_class_type=="1" && twoNightFlag && x.nightshift_worker_id==userId)
|
||||
|| (x.scheduling_class_type=="2" && fourDayBeforeFlag && x.dayshift_worker_id==userId)
|
||||
|| (x.scheduling_class_type=="2" && fourDayAfterFlag && x.dayshiftafter_worker_id==userId)
|
||||
|| (x.scheduling_class_type=="2" && fourNightBeforeFlag && x.nightshift_worker_id==userId)
|
||||
|| (x.scheduling_class_type=="2" && fourNightAfterFlag && x.nightshiftafter_worker_id==userId))
|
||||
.FirstAsync();
|
||||
|
||||
if (prdMoTask == null)
|
||||
|
||||
@@ -1629,12 +1629,12 @@ namespace Tnb.ProductionMgr
|
||||
}
|
||||
}
|
||||
|
||||
if (prdTaskList.Where(p => p.mo_task_status == "Pause").Count() > 0 && behavior==PrdTaskBehavior.Start)
|
||||
if (list.Where(p => p.mo_task_status == "Pause").Count() > 0 && behavior==PrdTaskBehavior.Start)
|
||||
{
|
||||
TimerPoolHelper.GetInstance().StartTimer(TimeCallback,prdTaskList.Where(p => p.mo_task_status == "Pause").ToList(),TimeSpan.FromHours(1),Timeout.InfiniteTimeSpan);
|
||||
}else if (prdTaskList.Where(p => p.mo_task_status == "ToBeStarted").Count() > 0 && behavior == PrdTaskBehavior.Start)
|
||||
TimerPoolHelper.GetInstance().StartTimer(TimeCallback,list.Where(p => p.mo_task_status == "Pause").ToList(),TimeSpan.FromHours(1),Timeout.InfiniteTimeSpan);
|
||||
}else if (list.Where(p => p.mo_task_status == "ToBeStarted").Count() > 0 && behavior == PrdTaskBehavior.Start)
|
||||
{
|
||||
foreach (PrdMoTask? task in prdTaskList.Where(p => p.mo_task_status == "ToBeStarted").ToList())
|
||||
foreach (PrdMoTask? task in list.Where(p => p.mo_task_status == "ToBeStarted").ToList())
|
||||
{
|
||||
ToolMolds toolMolds = await _db.Queryable<ToolMolds>().SingleAsync(x=>x.id==task.mold_id);
|
||||
TriggerPlanEntity entity = new()
|
||||
@@ -1668,13 +1668,12 @@ namespace Tnb.ProductionMgr
|
||||
{
|
||||
int hour = int.Parse(qcCheckPlanAdds[0].content.Split(" ")[2].Split("/")[1]);
|
||||
int minute = int.Parse(qcCheckPlanAdds[0].content.Split(" ")[1].Split("/")[1]);
|
||||
if (hour > 0)
|
||||
if (minute > 0)
|
||||
{
|
||||
TimerPoolHelper.GetInstance().StartTimer(TimeCallback2,prdTaskList.Where(p => p.mo_task_status == "Pause" || p.mo_task_status == "ToBeStarted").ToList(),TimeSpan.FromHours(hour),Timeout.InfiniteTimeSpan,false);
|
||||
|
||||
}else if (minute > 0)
|
||||
TimerPoolHelper.GetInstance().StartTimer(TimeCallback2,list.Where(p => p.mo_task_status == "Pause" || p.mo_task_status == "ToBeStarted").ToList(),TimeSpan.FromMinutes(minute),TimeSpan.FromMinutes(minute),false);
|
||||
}else if (hour > 0)
|
||||
{
|
||||
TimerPoolHelper.GetInstance().StartTimer(TimeCallback2,prdTaskList.Where(p => p.mo_task_status == "Pause" || p.mo_task_status == "ToBeStarted").ToList(),TimeSpan.FromMinutes(minute),Timeout.InfiniteTimeSpan,false);
|
||||
TimerPoolHelper.GetInstance().StartTimer(TimeCallback2,list.Where(p => p.mo_task_status == "Pause" || p.mo_task_status == "ToBeStarted").ToList(),TimeSpan.FromHours(hour),TimeSpan.FromHours(hour),false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1682,7 +1681,7 @@ namespace Tnb.ProductionMgr
|
||||
|
||||
if (behavior == PrdTaskBehavior.Pause)
|
||||
{
|
||||
foreach (PrdMoTask? task in prdTaskList.Where(p => p.mo_task_status == "ToBeStarted").ToList())
|
||||
foreach (PrdMoTask? task in list.Where(p => p.mo_task_status == "InProgress").ToList())
|
||||
{
|
||||
TimerPoolHelper.GetInstance().DisposeTimer(new Dictionary<string,object>()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user