Explorar o código

Merge branch 'master' of zuolinhao/YG-OPP-WCS into AGV

zuolinhao %!s(int64=3) %!d(string=hai) anos
pai
achega
d7fcfc5ae5

+ 3 - 1
Projects/永冠OPP/WCS.Service/Extensions/DeviceExtension.cs

@@ -568,7 +568,8 @@ namespace WCS.Service.Extensions
         /// <param name="addr">目标地址</param>
         public void Move(StationDeviceGroup addr)
         {
-            InfoLog.INFO_RGVINFO($"[{Entity.CODE}]--写入RGV移动任务-开始:{Data.TaskID_1},{Data.TaskType_1},{Data.DestPosition_1},{Data.Trigger_1}");
+            
+            if (Data.TaskType_1 == RGVTaskType.取货) throw new WarnException($"当前有{Data.TaskType_1}任务,无法执行移动任务");
             if (Data2.WorkMode != RGVMode.自动) throw new WarnException($"RGV状态{Data2.WorkMode},无法执行移动任务");
             if (Data2.SystemStatus != RGVRunStatus.空闲) throw new WarnException($"rgv状态为{Data2.SystemStatus},无法执行移动任务");
             if (Data2.Status_1.HasFlag(WCS.Entity.Protocol.RGVStatus.光电)) throw new WarnException("RGV有光电,无法执行移动任务");
@@ -577,6 +578,7 @@ namespace WCS.Service.Extensions
                 InfoLog.INFO_RGVINFO($"{Entity.CODE}]--已有目标地址相同的移动任务");
                 return;
             }
+            InfoLog.INFO_RGVINFO($"[{Entity.CODE}]--写入RGV移动任务-开始:{Data.TaskID_1},{Data.TaskType_1},{Data.DestPosition_1},{Data.Trigger_1}");
 
             Data.TaskID_1 = addr.Entity.CODE.GetShortCode();
             Data.TaskType_1 = RGVTaskType.移动;

+ 3 - 1
Projects/永冠OPP/WCS.Service/Works/Station/涂布出库.cs

@@ -129,6 +129,8 @@ namespace WCS.Service.Works.Station
                             }
                             devise.Add(new FinishTaskList<string>(dev.Entity.CODE, dev.Entity.Create<StationDevice>()));
                         }
+                        //验证总数
+                        if (db.Default.Set<WCS_TASK>().Count(v => v.STATUS < TaskStatus.已完成 && v.ADDRNEXT == "G1") >= 3) throw new WarnException("总数已达3,流量管控");
 
                         foreach (var dev in devise)
                         {
@@ -366,7 +368,7 @@ namespace WCS.Service.Works.Station
                     }
 
                     if (!devise.Any()) return;//无可执行任务
-                                              //验证可执行任务数与有效任务数是否一致
+                    //验证可执行任务数与有效任务数是否一致
                     var taskIds = devise.Select(dev => dev.Station.Data2.Tasknum).ToList();
                     var taskList = db.Default.Set<WCS_TASK>().Where(v => taskIds.Contains(v.ID)).ToList();
                     var taskCount = db.Default.Set<WCS_TASK>().Count(v => v.TaskGroupKey == taskList.FirstOrDefault().TaskGroupKey && v.TYPE == TaskType.出库);