Ver código fonte

优化AGV return 节点

林豪 左 2 anos atrás
pai
commit
66bbb07330

+ 7 - 8
Projects/永冠OPP/WCS.Service/Works/Station/涂布入库.cs

@@ -50,13 +50,12 @@ namespace WCS.Service.Works.Station
                             tasking.UpdateTime = DateTime.Now;
                             db.Default.SaveChanges();
                             tasking.AGVStatusChange(AGVTaskStatus.执行, "确认执行");
-                            return;
                         }
                         //agv到达指定位置给确认后分配站台
                         else if (tasking.Status == AGVTaskStatus.执行 && tasking.AGVStatus == AGVTaskStatus.确认 && string.IsNullOrEmpty(tasking.Station))
                         {
                             //判断提升机是否被禁用
-                            if (!stationDeviceGroup.BcrStationIsForbid()) return;
+                            if (!stationDeviceGroup.BcrStationIsForbid()) continue;
 
                             if (stationDeviceGroup.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.自动)))
                             {
@@ -82,7 +81,6 @@ namespace WCS.Service.Works.Station
                             tasking.UpdateTime = DateTime.Now;
                             db.Default.SaveChanges();
                             tasking.AGVStatusChange(AGVTaskStatus.执行, "分配放货点");
-                            return;
                         }
                         else if (tasking.Status < tasking.AGVStatus)
                         {
@@ -163,7 +161,6 @@ namespace WCS.Service.Works.Station
                                 tasking.UpdateTime = DateTime.Now;
                                 db.Default.SaveChanges();
                                 tasking.AGVStatusChange(tasking.AGVStatus, "允许放货");
-                                return;
                             }
                             else if (tasking.AGVStatus == AGVTaskStatus.取放完成)
                             {
@@ -183,12 +180,16 @@ namespace WCS.Service.Works.Station
                                 db.Default.SaveChanges();
                                 foreach (var dev in stationDeviceGroup.Items)
                                 {
-                                    if (!dev.Data2.Status.HasFlag(IstationStatus.光电状态)) continue;
+                                    if (!dev.Data2.Status.HasFlag(IstationStatus.光电状态))
+                                    {
+                                        InfoLog.INFO_WarnDb($"AGV请求放货,但设备{dev.Entity.CODE}无光电", stationDeviceGroup.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常);
+                                        continue;
+                                    }
+
                                     dev.Data.Goodsnum = (short)tasking.Goodsnum;
                                     dev.Data.Istation521Status = IstationStatus.AGV放货完成信号;
                                 }
                                 tasking.AGVStatusChange(tasking.AGVStatus, "允许设备顶升下降");
-                                return;
                             }
                             else if (Ltc.Do(tasking, v => v.AGVStatus == AGVTaskStatus.完成))
                             {
@@ -201,7 +202,6 @@ namespace WCS.Service.Works.Station
                                     dev.Data.Goodscode = tasking.ID;
                                 }
                                 tasking.AGVStatusChange(tasking.AGVStatus, "完成任务");
-                                return;
                             }
                             else if (Ltc.Do(tasking, v => v.AGVStatus == AGVTaskStatus.取消))
                             {
@@ -209,7 +209,6 @@ namespace WCS.Service.Works.Station
                                 tasking.UpdateTime = DateTime.Now;
                                 db.Default.SaveChanges();
                                 tasking.AGVStatusChange(tasking.AGVStatus, "取消任务");
-                                return;
                             }
                         }
                     }

+ 0 - 1
Projects/永冠OPP/WCS.Service/Works/Station/涂布出库.cs

@@ -511,7 +511,6 @@ namespace WCS.Service.Works.Station
                                  db.Default.SaveChanges();
                                  tasking.AGVStatusChange(AGVTaskStatus.确认, "获取出库任务");
                              });
-                             return;
                          }
                          else if (tasking.AGVStatus == AGVTaskStatus.完成)
                          {