Administrator 2 tahun lalu
induk
melakukan
8ece6d6a7f

+ 13 - 5
Projects/永冠OPP/WCS.Service/Works/RGV/RGVWorks.cs

@@ -342,7 +342,8 @@ namespace WCS.Service.Works.RGV
                             }
                         }
                         // 筛选出有任务号和起始及目标地址的设备
-                        var devs = pickStation.RGVGetTaskedDevice();
+                        var devs = pickStation.Items.Where(v => v.Data2.Status.HasFlag(IstationStatus.光电状态) && v.Data2.Tasknum > 10000).ToList();
+
                         //是否需要取货
                         if (devs != null && devs.Count() > 0)
                         {
@@ -373,11 +374,18 @@ namespace WCS.Service.Works.RGV
                             });
                             return;
                         }
-                        int needToMove = obj.RGVList.Count(v => v.Data2.TaskType_1 == RGVTaskType.放货 && v.Position > StationLocation.ALLlocations.FirstOrDefault(v => v.Station == "G19").Location && v.Position < StationLocation.ALLlocations.FirstOrDefault(v => v.Station == "G23").Location);
-                        if (pickStation.Entity.CODE == "G23" && needToMove >= 2)
+                        bool needToMove = obj.RGVList.Any(v => v.Data2.TaskType_1 == RGVTaskType.移动
+                                                              && (v.Data2.Status_1.HasFlag(WCS.Entity.Protocol.RGVStatus.光电) || v.Data2.Status_2.HasFlag(WCS.Entity.Protocol.RGVStatus.光电))
+                                                              && v.Position > StationLocation.ALLlocations.FirstOrDefault(v => v.Station == "G19").Location
+                                                              && v.Position < StationLocation.ALLlocations.FirstOrDefault(v => v.Station == "G23").Location);
+                        if (pickStation.Entity.CODE == "G23" && needToMove)
                         {
-                            obj.Move(Device.Find("G19").Create<StationDeviceGroup>());
-                            return;
+                            var devList = Device.Find("1155", "1154", "1163", "1162", "1152", "1153", "1157", "1158").Select(v => v.Create<StationDevice>());
+                            if (devList.Any(v => v.Data2.Status.HasFlag(IstationStatus.光电状态) || v.Data2.Tasknum > 10000))
+                            {
+                                obj.Move(Device.Find("G19").Create<StationDeviceGroup>());
+                                return;
+                            }
                         }
                         //计算当前RGV拦住小车的数量
                         var max = obj.RGVList.Count(v => v.Data2.WorkMode == RGVMode.自动 && v.Data2.SystemStatus != RGVRunStatus.空闲 && obj.StopedByMe(v));

+ 2 - 2
Projects/永冠OPP/WCS.Service/Works/Station/BOPP入库.cs

@@ -112,7 +112,7 @@ namespace WCS.Service.Works.Station
     /// <summary>
     /// BOPP巷道分配
     /// </summary>
-    [WorkTitle(typeof(BOPPHandler), "BOPP巷道分配")]
+    //[WorkTitle(typeof(BOPPHandler), "BOPP巷道分配")]
     public class Bopp巷道分配 : Work<StationDeviceGroup>
     {
         protected override void Do(StationDeviceGroup obj)
@@ -287,6 +287,6 @@ namespace WCS.Service.Works.Station
             return _devCodes.Contains(dev.CODE);
         }
 
-        private readonly List<string> _devCodes = new() { "G1190", "G1199", "G1208","G1225","G1217" };
+        private readonly List<string> _devCodes = new() { "G1190", "G1199", "G1208" };
     }
 }