Administrator il y a 2 ans
Parent
commit
d8bbd5eedf
1 fichiers modifiés avec 19 ajouts et 5 suppressions
  1. 19 5
      Projects/永冠OPP/WCS.Service/Works/Station/涂布入库.cs

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

@@ -63,10 +63,24 @@ namespace WCS.Service.Works.Station
                                 continue;
                             }
 
-                            var qty = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.入库 && v.Status > AGVTaskStatus.新建 && v.Status < AGVTaskStatus.完成);
-                            var maxqty = qty.Count(v => v.Station == stationDeviceGroup.Entity.CODE && v.Status > AGVTaskStatus.请求_允许 && v.Status <= AGVTaskStatus.完成)
-                                       + agvTasks.Count(v => v.Station == stationDeviceGroup.Entity.CODE && v.Status > AGVTaskStatus.请求_允许 && v.Status <= AGVTaskStatus.完成);
-                            if (maxqty >= 2)
+                            //var qty = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.入库 && v.Status > AGVTaskStatus.新建 && v.Status < AGVTaskStatus.完成);
+                            //if (qty.Any(v => v.Station == stationDeviceGroup.Entity.CODE) || agvTasks.Any(v => v.Station == stationDeviceGroup.Entity.CODE))
+                            //{
+                            //    continue;
+                            //}
+
+                            var agvTaskTemp = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.入库 && v.Status >= AGVTaskStatus.确认 && v.Status < AGVTaskStatus.完成 && v.Workshop == 205 && v.Station != null);
+
+                            var maxqty = agvTaskTemp.Count(v => v.Station == stationDeviceGroup.Entity.CODE && v.Status >= AGVTaskStatus.执行 && v.Status <= AGVTaskStatus.完成)
+                                       + agvTasks.Count(v => v.Station == stationDeviceGroup.Entity.CODE && v.Status <= AGVTaskStatus.完成);
+                            var qty1 = agvTaskTemp.Count(v => v.Station == stationDeviceGroup.Entity.CODE);
+                            var qty2 = agvTaskTemp.Count(v => v.Station != stationDeviceGroup.Entity.CODE);
+                            if (qty1 > qty2)
+                            {
+                                continue;
+                            }
+
+                            if (maxqty >= 3)
                             {
                                 InfoLog.INFO_WARN($"{stationDeviceGroup.Entity.CODE}放货任务已达上限,暂停AGV站台分配");
                                 continue;
@@ -589,4 +603,4 @@ namespace WCS.Service.Works.Station
             "G1429",
         };
     }
-}
+}