|
@@ -219,6 +219,62 @@ namespace WCS.WorkEngineering.WebApi.Controllers
|
|
|
db.Default.Updateable(task).ExecuteCommand();
|
|
|
task.CompleteOrCancelTasks(db);
|
|
|
}
|
|
|
+ else if (task.Type == TaskType.EnterDepot)
|
|
|
+ {
|
|
|
+ SRes res = HandleTaskVerify(response, item, 99);
|
|
|
+ if (res == null) continue;
|
|
|
+
|
|
|
+ switch (task.Type)
|
|
|
+ {
|
|
|
+ case TaskType.EnterDepot:
|
|
|
+ if (task.Status >= Entity.TaskStatus.Finish)
|
|
|
+ {
|
|
|
+ response.ResDataList.Add(new HandleTaskResponse()
|
|
|
+ {
|
|
|
+ IsSuccess = false,
|
|
|
+ TaskNo = item,
|
|
|
+ Message = $"只能完成未完成状态的任务",
|
|
|
+ });
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (task.AddrTo.Length < 6)
|
|
|
+ {
|
|
|
+ response.ResDataList.Add(new HandleTaskResponse()
|
|
|
+ {
|
|
|
+ IsSuccess = false,
|
|
|
+ TaskNo = item,
|
|
|
+ Message = $"只能完成已分配货位的任务",
|
|
|
+ });
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ SRes cancelRes = CarryTaskInfo(response, item, 99);
|
|
|
+ if (cancelRes == null) continue;
|
|
|
+
|
|
|
+ //找到对应的AGV任务
|
|
|
+ var agv = db.Default.Queryable<WCS_AgvTaskInfo>().Where(v => v.ID == task.AgvTaskID && v.AgvStatus < AGVTaskStatus.MissionCompleted).SplitTable(v => v.Take(2)).First();
|
|
|
+ if (agv != null)
|
|
|
+ {
|
|
|
+ //if (!agv.AgvID.IsNullOrEmpty())
|
|
|
+ //{
|
|
|
+ // var cancelTaskUpdateRes = CancelAgvTask(response, item, agv.AgvID);
|
|
|
+ // if (cancelTaskUpdateRes == null) continue;
|
|
|
+ //}
|
|
|
+ agv.Status = AGVTaskStatus.MissionCompleted;
|
|
|
+ agv.AgvStatus = AGVTaskStatus.MissionCompleted;
|
|
|
+ db.Default.Updateable(agv).SplitTable().ExecuteCommand();
|
|
|
+ }
|
|
|
+ //更新任务状态
|
|
|
+ task.Status = Entity.TaskStatus.Finish;
|
|
|
+ task.EedTime = DateTime.Now;
|
|
|
+ task.EditWho = req.User;
|
|
|
+ task.ManualRemarks = req.ManualRemarks;
|
|
|
+ task.AddWCS_TASK_DTL(db, "未知", "任务完成");
|
|
|
+ db.Default.Updateable(task).ExecuteCommand();
|
|
|
+ task.CompleteOrCancelTasks(db);
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
response.ResDataList.Add(new HandleTaskResponse()
|