|
@@ -72,7 +72,18 @@ namespace WCS.WorkEngineering.Systems
|
|
|
//根据DB521任务号获取对应任务
|
|
|
var task = db.Default.Queryable<WCS_TaskInfo>().First(v => v.ID == obj.Data2.TaskFinishiId) ?? throw new KnownException($"未找到任务{obj.Data2.TaskFinishiId}", LogLevelEnum.High);
|
|
|
if (task.Status != Entity.TaskStatus.StackerExecution)
|
|
|
- throw new KnownException($"任务{task.ID}状态是{task.Status.Description()}.堆垛机完成任务需要对应任务状态处于堆垛机执行中", LogLevelEnum.High);
|
|
|
+ {
|
|
|
+ if (task.Type == TaskType.EmptyInit && task.Status == TaskStatus.ConveyorExecution)
|
|
|
+ {
|
|
|
+ var taskDtl = db.Default.Queryable<WCS_TaskDtl>().Where(v => v.ParentTaskCode == task.ID && v.Desc == "任务下发堆垛机执行").SplitTable(v => v.Take(2)).ToList();
|
|
|
+ if (!taskDtl.Any()) throw new KnownException($"任务{task.ID}状态是{task.Status.Description()}.堆垛机完成任务需要对应任务状态处于堆垛机执行中", LogLevelEnum.High);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ throw new KnownException($"任务{task.ID}状态是{task.Status.Description()}.堆垛机完成任务需要对应任务状态处于堆垛机执行中", LogLevelEnum.High);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
//根据任务类型做不同的处理
|
|
|
switch (task.Type)
|
|
|
{
|
|
@@ -117,7 +128,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
case TaskType.EmptyInit:
|
|
|
task.Status = Entity.TaskStatus.Finish;
|
|
|
task.EedTime = DateTime.Now;
|
|
|
- task.AddWCS_TASK_DTL(db, task.AddrTo, "移库任务结束");
|
|
|
+ task.AddWCS_TASK_DTL(db, task.AddrTo, "空轮初始化任务结束");
|
|
|
break;
|
|
|
}
|
|
|
|
|
@@ -189,8 +200,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
task.Status = Entity.TaskStatus.StackerExecution;
|
|
|
task.StartTime = DateTime.Now;
|
|
|
task.AddWCS_TASK_DTL(db, task.AddrFrom, task.Device, $"堆垛机{obj.Entity.Code}开始执行任务");
|
|
|
- db.Default.Updateable(task).AddQueue();
|
|
|
- db.Default.SaveQueues();
|
|
|
+ db.Default.Updateable(task).ExecuteCommand();
|
|
|
taskInfo = task;
|
|
|
});
|
|
|
if (taskInfo == null) throw new KnownException("数据更新错误", LogLevelEnum.High);
|