林豪 左 3 жил өмнө
parent
commit
b5897531f8

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

@@ -141,7 +141,8 @@ namespace WCS.Service.Extensions
         public bool IsPickUp(RGVDevice rgvDevice)
         {
             if (Entity.CODE is "G2" or "G3") return true;
-            var dCount = Device.Where(v => v.CODE is "G1" or "G1340" or "G1337").Select(v => v.Create<StationDeviceGroup>()).Count(v => v.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.运行状态位) && !v.Data2.Status.HasFlag(IstationStatus.光电状态) && v.Data2.Tasknum < 10000
+            var dCount = Device.Where(v => v.CODE is "G1" or "G1340" or "G1337").Select(v => v.Create<StationDeviceGroup>())
+                .Count(v => v.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.运行状态位) && !v.Data2.Status.HasFlag(IstationStatus.光电状态) && v.Data2.Tasknum < 10000
                 && v.Data3.Status.HasFlag(StationStatus.自动)));
             var rCount = rgvDevice.RGVList.Count(v => v.Data.DestPosition_1 == 1);
             return rCount < dCount;

+ 4 - 1
Projects/永冠OPP/WCS.Service/Works/SRM/SRMWork.cs

@@ -74,7 +74,7 @@ namespace WCS.Service.Works.SRM
                         v.ID == srmDevice.Data.TaskID_2 && v.STATUS == TaskStatus.堆垛机执行).ToList();
                     var itemList = taksLsit.Select(v => v.Create<Task>()).OrderBy(v => v.Col).ToArray();
 
-                    if (taksLsit.Any()) 
+                    if (!taksLsit.Any()) return;
                     {
                         for (var i = 0; i < itemList.Length; i++)
                         {
@@ -289,6 +289,8 @@ namespace WCS.Service.Works.SRM
                     srmDevice.Entity.Set("LastOutFloor", floor);
                     if (enterPriority != null && outPriority != null && enterPriority.Priority > outPriority.Priority) return;
 
+                    if (obj.Data.TaskID_1 != 0 || obj.Data.TaskID_2 != 0) return;
+
                     //获取当前堆垛机所有的放货点
                     var list = srmDevice.GetDeliveryPoint();
 
@@ -345,6 +347,7 @@ namespace WCS.Service.Works.SRM
 
                     //堆垛机设备
                     var srm = srmDevice.Entity.CODE;
+
                     DB.Do(db =>
                     {
                         //堆垛机当前是否有正在执行的任务