This commit is contained in:
2024-08-26 18:46:15 +08:00
parent 956fccaf6b
commit be00d09fac
6 changed files with 127 additions and 8 deletions

View File

@@ -1247,6 +1247,23 @@ namespace Tnb.ProductionMgr
await _qcCheckPlanService.CreateTask(entity);
}
}
if (behavior == PrdTaskBehavior.Start)
{
TimerPoolHelper.GetInstance().StartTimer(TimeCallback2,prdTaskList.Where(p => p.mo_task_status == "Pause" || p.mo_task_status == "ToBeStarted").ToList(),TimeSpan.FromHours(2),Timeout.InfiniteTimeSpan,false);
}
if (behavior == PrdTaskBehavior.Pause)
{
foreach (PrdMoTask? task in prdTaskList.Where(p => p.mo_task_status == "ToBeStarted").ToList())
{
TimerPoolHelper.GetInstance().DisposeTimer(new Dictionary<string,string>()
{
["key"] = task.timer_key
});
}
}
#endregion
foreach (PrdMoTask item in prdTaskList)
@@ -1589,8 +1606,14 @@ namespace Tnb.ProductionMgr
{
Dictionary<string, object> dic = (Dictionary<string, object>)args;
List<PrdMoTask> prdTaskList = (List<PrdMoTask>)(dic["value"]);
await _db.Ado.BeginTranAsync();
foreach (PrdMoTask? task in prdTaskList)
{
ToolMolds toolMolds = await _db.Queryable<ToolMolds>().SingleAsync(x=>x.id==task.mold_id);
await _db.Updateable<PrdMoTask>()
.SetColumns(x => x.timer_key == dic["key"])
.Where(x => x.id == task.id)
.ExecuteCommandAsync();
TriggerPlanEntity entity = new()
{
materialid = task.material_id,
@@ -1598,7 +1621,44 @@ namespace Tnb.ProductionMgr
workid = task.workstation_id,
triggerevent = EnumTriggerEvent.,
mo_task_code = task.mo_task_code,
check_type = WmsWareHouseConst.FULLREVIEW_CODE
newpronum = toolMolds?.mold_cavity
// check_type = WmsWareHouseConst.FULLREVIEW_CODE
};
await _qcCheckPlanService.CreateTask(entity);
}
await _db.Ado.CommitTranAsync();
Console.WriteLine("质检任务生成成功");
}
catch (Exception e)
{
await _db.Ado.RollbackTranAsync();
Log.Error("质检任务生成失败:"+e.Message,e);
}
}
public async void TimeCallback2(object args)
{
try
{
Dictionary<string, object> dic = (Dictionary<string, object>)args;
List<PrdMoTask> prdTaskList = (List<PrdMoTask>)(dic["value"]);
foreach (PrdMoTask? task in prdTaskList)
{
ToolMolds toolMolds = await _db.Queryable<ToolMolds>().SingleAsync(x=>x.id==task.mold_id);
await _db.Updateable<PrdMoTask>()
.SetColumns(x => x.timer_key == dic["key"])
.Where(x => x.id == task.id)
.ExecuteCommandAsync();
TriggerPlanEntity entity = new()
{
materialid = task.material_id,
processid = task.process_id,
workid = task.workstation_id,
triggerevent = EnumTriggerEvent.,
mo_task_code = task.mo_task_code,
newpronum = toolMolds?.mold_cavity
// check_type = WmsWareHouseConst.FULLREVIEW_CODE
};
await _qcCheckPlanService.CreateTask(entity);
}
@@ -1860,6 +1920,11 @@ namespace Tnb.ProductionMgr
.Where(x => x.id == prdMoTask.id)
.ExecuteCommandAsync();
TimerPoolHelper.GetInstance().DisposeTimer(new Dictionary<string,string>()
{
["key"] = prdMoTask.timer_key
});
ToolMolds toolMolds = await db.Queryable<ToolMolds>().SingleAsync(x=>x.id==prdMoTask.mold_id);
TriggerPlanEntity entity = new()
{
materialid = prdMoTask.material_id,
@@ -1871,6 +1936,7 @@ namespace Tnb.ProductionMgr
report_id = report.id,
batch = report.batch,
plan_check_type = WmsWareHouseConst.MOJIAN_ID,
newpronum = toolMolds?.mold_cavity,
};
await _qcCheckPlanService.CreateTask(entity);
}