Эх сурвалжийг харах

Revert "fix"

This reverts commit f884ad95ce0d136250e89b73a97f7ae7a8c4b4cd.
林豪 左 2 жил өмнө
parent
commit
acc77adfe3

+ 45 - 2
Projects/永冠OPP/WCS.Service/Works/SRM/SRMWork.cs

@@ -433,7 +433,7 @@ namespace WCS.Service.Works.SRM
                 }
                 }
 
 
                 #endregion 移库
                 #endregion 移库
-
+                
 
 
                 else if (lastIsOut)
                 else if (lastIsOut)
                 {
                 {
@@ -566,7 +566,50 @@ namespace WCS.Service.Works.SRM
                     srmDevice.CheckOutTask();
                     srmDevice.CheckOutTask();
                     //获取当前堆垛机所有的放货点
                     //获取当前堆垛机所有的放货点
 
 
-                    var list = srmDevice.GetDeliveryPoint().Where(v => v.Data3.Status != 0).Select(v => v.Entity.CODE).ToList();
+                    var list = srmDevice.GetDeliveryPoint().Where(v =>
+                   {
+                       //true:满足条件  false:不满足条件
+                       //返回结果为无货的设备  默认无货
+                       var res = true;
+                       //放货点是否有货
+                       if (v.Data.VoucherNo != v.Data2.VoucherNo) res = false;
+                       else if (v.Data3.Status.HasFlag(StationStatus.运行状态位)) res = false;
+                       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;
+                       if (!v.Entity.Is(DF.SRM涂布放货)) return res;
+                       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 "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 "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;
+                       }
+
+                       return res;
+                   }).Select(v => v.Entity.CODE).ToList();
 
 
 
 
                     //没有可用货位
                     //没有可用货位