林豪 左 3 år sedan
förälder
incheckning
c6639b606a
1 ändrade filer med 8 tillägg och 6 borttagningar
  1. 8 6
      Projects/永冠OPP/WCS.Service/Works/Station/涂布入库.cs

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

@@ -65,11 +65,13 @@ namespace WCS.Service.Works.Station
                             }
 
                             var qty = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.入库 && v.Status > AGVTaskStatus.新建 && v.Status < AGVTaskStatus.完成);
-                            if (qty.Count(v => v.Station == stationDeviceGroup.Entity.CODE) > qty.Count(v => v.Station != stationDeviceGroup.Entity.CODE && !string.IsNullOrEmpty(v.Station)))
-                            {
-                                InfoLog.INFO_INFO($"{station}触发均分");
-                                continue;
-                            }
+                            if (qty.Count(v => v.Station == stationDeviceGroup.Entity.CODE) >= 1) throw new Exception($"已有到达{stationDeviceGroup.Entity.CODE}放货任务,暂停AGV站台分配");
+
+                            //if (qty.Count(v => v.Station == stationDeviceGroup.Entity.CODE) > qty.Count(v => v.Station != stationDeviceGroup.Entity.CODE && !string.IsNullOrEmpty(v.Station)))
+                            //{
+                            //    InfoLog.INFO_INFO($"{station}触发均分");
+                            //    continue;
+                            //}
 
                             tasking.Station = stationDeviceGroup.Entity.CODE;
                             tasking.Status = AGVTaskStatus.执行;
@@ -524,7 +526,7 @@ namespace WCS.Service.Works.Station
                             });
                         }
                         //筛选出优先级最高的可用巷道
-                        var tunnelInfo = tunnelInfos.Where(v => { try { return v.SRM.Data3.SCAlarm == 0 && v.SRM.Data2.SRMMode == SCMode.远程 && v.SRM.Data2.SRMStatus == SCRunStatus.空闲; } catch { return false; } }).MinBy(v => tunnelNo.IndexOf(v.Tunnel.CODE));
+                        var tunnelInfo = tunnelInfos.Where(v => { try { return v.SRM.Data3.SCAlarm == 0 && v.SRM.Data2.SRMMode == SCMode.远程; } catch { return false; } }).MinBy(v => tunnelNo.IndexOf(v.Tunnel.CODE));
                         if (tunnelInfo == null) throw new WarnException("无可用巷道");
 
                         //开始变更任务信息