林豪 左 3 tahun lalu
induk
melakukan
6129136bcf
1 mengubah file dengan 25 tambahan dan 29 penghapusan
  1. 25 29
      Projects/永冠OPP/WCS.Service/Works/SRM/SRMWork.cs

+ 25 - 29
Projects/永冠OPP/WCS.Service/Works/SRM/SRMWork.cs

@@ -65,8 +65,6 @@ namespace WCS.Service.Works.SRM
                 if (srmDevice.Data2.SRMMode != SCMode.远程) return;
                 if (srmDevice.Data2.SRMStatus != SCRunStatus.空闲) return;
 
-              
-
                 var isTransfer = new List<WCS_TASK>(); //是否有移库任务
                 WCS_TASK enterPriority = new(), outPriority = new(); //出入库优先级任务
                 //再检查是否有等待执行的货物
@@ -269,37 +267,35 @@ namespace WCS.Service.Works.SRM
                         else if (v.Data2.Status.HasFlag(IstationStatus.光电状态)) res = false;
                         else if (v.Data2.Request == IstationRequest.堆垛机放货完成请求目标地址) res = false;
                         else if (v.Data2.Tasknum > 10000) res = false;
-                        else if (v.Entity.Is(DF.SRM涂布放货)) //涂布分货,应为电控不会等到RGV取货点无货时,再让货物离开无动力站台,因此需要判断一次旋转台的状态
+                        if (!v.Entity.Is(DF.SRM涂布放货)) return res;
+                        var devise = new List<StationDevice>();
+                        switch (v.Entity.CODE)
                         {
-                            var devise = new List<StationDevice>();
-                            switch (v.Entity.CODE)
-                            {
-                                case "1283" or "1284":
-                                    devise = Device.Where(b => b.CODE is "1281" or "1282").Select(b => b.Create<StationDevice>()).ToList();
-                                    break;
+                            case "1283" or "1284":
+                                devise = Device.Where(b => b.CODE is "1281" or "1282").Select(b => b.Create<StationDevice>()).ToList();
+                                break;
 
-                                case "1290" or "1291" or "1292" or "1293":
-                                    devise = Device.Where(b => b.CODE is "1288" or "1289").Select(b => b.Create<StationDevice>()).ToList();
-                                    break;
+                            case "1290" or "1291" or "1292" or "1293":
+                                devise = Device.Where(b => b.CODE is "1288" or "1289").Select(b => b.Create<StationDevice>()).ToList();
+                                break;
 
-                                case "1299" or "1300" or "1301" or "1302":
-                                    devise = Device.Where(b => b.CODE is "1297" or "1298").Select(b => b.Create<StationDevice>()).ToList();
-                                    break;
+                            case "1299" or "1300" or "1301" or "1302":
+                                devise = Device.Where(b => b.CODE is "1297" or "1298").Select(b => b.Create<StationDevice>()).ToList();
+                                break;
 
-                                case "1308" or "1309" or "1310" or "1311":
-                                    devise = Device.Where(b => b.CODE is "1306" or "1307").Select(b => b.Create<StationDevice>()).ToList();
-                                    break;
-                            }
+                            case "1308" or "1309" or "1310" or "1311":
+                                devise = Device.Where(b => b.CODE is "1306" or "1307").Select(b => b.Create<StationDevice>()).ToList();
+                                break;
+                        }
 
-                            if (!devise.Any()) return res;
-                            foreach (var stationDevice in devise)
-                            {
-                                //放货点是否有货
-                                if (stationDevice.Data3.Status.HasFlag(StationStatus.运行状态位)) res = false;
-                                else if (stationDevice.Data2.Status.HasFlag(IstationStatus.光电状态)) res = false;
-                                else if (stationDevice.Data2.Request == IstationRequest.堆垛机放货完成请求目标地址) res = false;
-                                else if (stationDevice.Data2.Tasknum > 10000) res = false;
-                            }
+                        if (!devise.Any()) return res;
+                        foreach (var stationDevice in devise)
+                        {
+                            //放货点是否有货
+                            if (stationDevice.Data3.Status.HasFlag(StationStatus.运行状态位)) res = false;
+                            else if (stationDevice.Data2.Status.HasFlag(IstationStatus.光电状态)) res = false;
+                            else if (stationDevice.Data2.Request == IstationRequest.堆垛机放货完成请求目标地址) res = false;
+                            else if (stationDevice.Data2.Tasknum > 10000) res = false;
                         }
 
                         return res;
@@ -446,4 +442,4 @@ namespace WCS.Service.Works.SRM
             return dev.Is(DF.SRM);
         }
     }
-}
+}