|
@@ -88,7 +88,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
db.Default.Updateable(agv).SplitTable(x => x.Take(2)).ExecuteCommand();
|
|
|
//更新WCS任务状态
|
|
|
taskInfo.Status = Entity.TaskStatus.Finish;
|
|
|
- taskInfo.EedTime = DateTime.Now;
|
|
|
+ taskInfo.EndTime = DateTime.Now;
|
|
|
db.Default.Updateable(taskInfo).ExecuteCommand();
|
|
|
taskInfo.AddWCS_TASK_DTL(db.Default, "agv", "任务完成");
|
|
|
taskInfos.Add(taskInfo);
|
|
@@ -151,6 +151,46 @@ namespace WCS.WorkEngineering.Systems
|
|
|
//巷道分配
|
|
|
case AGVTaskStatus.RequestOrPermission1 when agv.Status != AGVTaskStatus.Complete1:
|
|
|
{
|
|
|
+ var task = db.Default.Queryable<WCS_TaskOld>().Where(x => x.Id == agv.TaskId).SplitTable(x => x.Take(2)).First();
|
|
|
+ if (task == null)
|
|
|
+ {
|
|
|
+ World.Log($"未找到对应的WCS任务{agv.TaskId}");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取当前任务可以去的目标地址
|
|
|
+ var positionList = new List<string>();
|
|
|
+ switch (task.WarehouseCode)
|
|
|
+ {
|
|
|
+ case "1N":
|
|
|
+ positionList.AddRange(new List<string>() { "2501", "2505", "2509"/*, "2513"*/ });
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "1S":
|
|
|
+ positionList.AddRange(new List<string>() { "2701", "2705", "2709", "2713" });
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "2N":
|
|
|
+ positionList.AddRange(new List<string>() { "2901", "2905", "2909", "2913" });
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "2S":
|
|
|
+ positionList.AddRange(new List<string>() { "3101", "3105", "3109", "3113" });
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "3N":
|
|
|
+ positionList.AddRange(new List<string>() { "3301", "3305", "3309", "3313" });
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "3S":
|
|
|
+ positionList.AddRange(new List<string>() { "3501", "3505", "3509", "3513" });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ //没有放货执行中的任务
|
|
|
+
|
|
|
+ //获取对应的WCS任务
|
|
|
+
|
|
|
agv.Status = AGVTaskStatus.Complete1;
|
|
|
agv.Position = "2501";
|
|
|
db.Default.Updateable(agv).SplitTable(x => x.Take(2)).ExecuteCommand();
|
|
@@ -174,7 +214,6 @@ namespace WCS.WorkEngineering.Systems
|
|
|
}
|
|
|
case AGVTaskStatus.LeavePut when agv.Status != AGVTaskStatus.LeavePut:
|
|
|
|
|
|
-
|
|
|
break;
|
|
|
//完成任务
|
|
|
case AGVTaskStatus.MissionCompleted when agv.Status != AGVTaskStatus.MissionCompleted:
|
|
@@ -207,8 +246,3 @@ namespace WCS.WorkEngineering.Systems
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|