提报bug 巡检

This commit is contained in:
2024-08-27 10:15:51 +08:00
parent f90318a50d
commit a989fc13c5
3 changed files with 34 additions and 7 deletions

View File

@@ -1552,7 +1552,7 @@ namespace Tnb.ProductionMgr
if (prdTaskList.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.FromMinutes(1),Timeout.InfiniteTimeSpan);
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)
{
foreach (PrdMoTask? task in prdTaskList.Where(p => p.mo_task_status == "ToBeStarted").ToList())
@@ -1574,14 +1574,30 @@ namespace Tnb.ProductionMgr
if (behavior == PrdTaskBehavior.Start)
{
TimerPoolHelper.GetInstance().StartTimer(TimeCallback2,prdTaskList.Where(p => p.mo_task_status == "Pause" || p.mo_task_status == "ToBeStarted").ToList(),TimeSpan.FromMinutes(1),Timeout.InfiniteTimeSpan,false);
List<QcCheckPlanAdd> qcCheckPlanAdds = await _db.Queryable<QcCheckPlanH, QcCheckPlanAdd, QcCheckPlanMaterial, QcCheckPlanProcess, QcCheckPlanWork>
((a, b, c, d, e) => new object[]
{
JoinType.Inner, a.id == b.mainid,
JoinType.Left, a.id == c.planid && c.materialid == prdTaskList[0].material_id,
JoinType.Left, a.id == d.planid && d.processid == prdTaskList[0].process_id,
JoinType.Left, a.id == e.planid && e.workid == prdTaskList[0].workstation_id,
}).Where((a, b, c, d, e) => b.triggertype == "2" && a.checktype == WmsWareHouseConst.XUNJIAN_ID)
.Where((a, b, c, d, e) => !SqlFunc.IsNullOrEmpty(c.id) || !SqlFunc.IsNullOrEmpty(d.id) || !SqlFunc.IsNullOrEmpty(e.id))
.Select((a, b) => b).ToListAsync();
if (qcCheckPlanAdds.Count == 1)
{
int hour = int.Parse(qcCheckPlanAdds[0].content.Split(" ")[2].Split("/")[1]);
TimerPoolHelper.GetInstance().StartTimer(TimeCallback2,prdTaskList.Where(p => p.mo_task_status == "Pause" || p.mo_task_status == "ToBeStarted").ToList(),TimeSpan.FromHours(hour),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>()
TimerPoolHelper.GetInstance().DisposeTimer(new Dictionary<string,object>()
{
["key"] = task.timer_key
});
@@ -1624,7 +1640,8 @@ namespace Tnb.ProductionMgr
triggerevent = EnumTriggerEvent.,
mo_task_code = task.mo_task_code,
newpronum = toolMolds?.mold_cavity,
plan_check_type = WmsWareHouseConst.XUNJIAN_ID
plan_check_type = WmsWareHouseConst.XUNJIAN_ID,
triggertype = "2"
// check_type = WmsWareHouseConst.FULLREVIEW_CODE
};
await _qcCheckPlanService.CreateTask(entity);
@@ -1661,7 +1678,8 @@ namespace Tnb.ProductionMgr
triggerevent = EnumTriggerEvent.,
mo_task_code = task.mo_task_code,
newpronum = toolMolds?.mold_cavity,
plan_check_type = WmsWareHouseConst.XUNJIAN_ID
plan_check_type = WmsWareHouseConst.XUNJIAN_ID,
triggertype = "2"
// check_type = WmsWareHouseConst.FULLREVIEW_CODE
};
await _qcCheckPlanService.CreateTask(entity);
@@ -1924,7 +1942,7 @@ namespace Tnb.ProductionMgr
.Where(x => x.id == prdMoTask.id)
.ExecuteCommandAsync();
TimerPoolHelper.GetInstance().DisposeTimer(new Dictionary<string,string>()
TimerPoolHelper.GetInstance().DisposeTimer(new Dictionary<string,object>()
{
["key"] = prdMoTask.timer_key
});

View File

@@ -56,6 +56,7 @@ namespace Tnb.QcMgr.Entities
public string check_type { get; set; }
public string plan_check_type { get; set; }
public string batch { get; set; }
public string triggertype { get; set; } = "3";
}

View File

@@ -504,7 +504,15 @@ namespace Tnb.QcMgr
RemarkAttribute remark = RemarkAttribute.GetRemark(enumTriggerEvent);
string type = DictionaryData.Where(p => p.FullName == remark.CheckType).First().Id;
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == type && p.name == remark.CheckContent).First();
Query = Query.Where((a, b, c, d, e) => b.triggertype == "3" && b.content!.Contains(TriggerEvent.id) && a.checktype==entity.plan_check_type);
if (entity.triggertype == "3")
{
Query = Query.Where((a, b, c, d, e) => b.triggertype ==entity.triggertype && b.content!.Contains(TriggerEvent.id) && a.checktype==entity.plan_check_type);
}
else
{
Query = Query.Where((a, b, c, d, e) => b.triggertype ==entity.triggertype && a.checktype==entity.plan_check_type);
}
Query = Query.Where((a,b,c,d,e)=>!SqlFunc.IsNullOrEmpty(c.id) || !SqlFunc.IsNullOrEmpty(d.id) || !SqlFunc.IsNullOrEmpty(e.id));
}
private void Filter(List<QcCheckPlanH> QcCheckPlanHs, TriggerPlanEntity entity)
{