|
@@ -47,13 +47,14 @@ namespace WCS.WorkEngineering.Systems
|
|
|
foreach (var agv in agvTaks)
|
|
|
{
|
|
|
//取货点安全交互
|
|
|
- if (agv.AgvStatus == AGVTaskStatus.RequestOrPermission2)
|
|
|
+ if (agv.AgvStatus == AGVTaskStatus.RequestOrPermission2 && agv.Status != AGVTaskStatus.Complete2)
|
|
|
{
|
|
|
agv.Status = AGVTaskStatus.Complete2;
|
|
|
db.Default.Updateable(agv).SplitTable().ExecuteCommand();
|
|
|
AgvApi.ContinueTask(agv.AgvID, agv.Station);
|
|
|
}
|
|
|
- if (agv.AgvStatus == AGVTaskStatus.MissionCompleted)
|
|
|
+ //完成任务
|
|
|
+ if (agv.AgvStatus == AGVTaskStatus.MissionCompleted && agv.Status != AGVTaskStatus.MissionCompleted)
|
|
|
{
|
|
|
if (agv.TaskType is AGVTaskType.CallForMaterial or AGVTaskType.ForkliftFilling)
|
|
|
{
|
|
@@ -107,7 +108,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
#region 开始跟据AGV状态做出处理
|
|
|
|
|
|
//巷道分配
|
|
|
- if (agv.AgvStatus == AGVTaskStatus.RequestOrPermission1)
|
|
|
+ if (agv.AgvStatus == AGVTaskStatus.RequestOrPermission1 && agv.Status != AGVTaskStatus.Complete1)
|
|
|
{
|
|
|
//向WMS获取巷道优先级
|
|
|
var res = WmsApi.GetTunnelPriorityList(task.ID);
|
|
@@ -158,7 +159,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
AgvApi.ContinueTask(agv.AgvID, nextPos.Entity.Code);
|
|
|
}
|
|
|
//放货站点安全交互
|
|
|
- else if (agv.AgvStatus == AGVTaskStatus.RequestOrPermission2)
|
|
|
+ else if (agv.AgvStatus == AGVTaskStatus.RequestOrPermission2 && agv.Status != AGVTaskStatus.Complete2)
|
|
|
{
|
|
|
var dev = devs.Find(v => v.Entity.Code == agv.Position);
|
|
|
if (dev.Data.VoucherNo != dev.Data2.VoucherNo)
|
|
@@ -192,7 +193,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
AgvApi.ContinueTask(agv.AgvID, dev.Entity.Code);
|
|
|
}
|
|
|
//完成任务
|
|
|
- else if (agv.AgvStatus == AGVTaskStatus.MissionCompleted)
|
|
|
+ else if (agv.AgvStatus == AGVTaskStatus.MissionCompleted && agv.Status != AGVTaskStatus.MissionCompleted)
|
|
|
{
|
|
|
agv.Status = AGVTaskStatus.MissionCompleted;
|
|
|
db.Default.Updateable(agv).SplitTable().ExecuteCommand();
|