林豪 左 3 lat temu
rodzic
commit
0b35ea7337

+ 8 - 3
Projects/永冠OPP/WCS.Service/Extensions/TaskExtension.cs

@@ -22,9 +22,14 @@ namespace WCS.Service.Extensions
         /// <returns></returns>
         public static List<WCS_TASK> GetOutTask(this List<WCS_TASK> tasks)
         {
-            var taskids = tasks.Select(v => Create<Task>(v)).OrderBy(v => v.Line).ThenBy(v => v.Col).ThenBy(v => v.Layer).Take(2).Select(v => v.ID);
-            var taskList = tasks.Where(v => taskids.Contains(v.ID)).ToList();
-            return taskList;
+            var taskids = tasks.Select(v => Create<Task>(v))
+                               .OrderBy(v => v.Line)
+                               .ThenBy(v => v.Layer)
+                               .ThenBy(v => v.Col)
+                               .Take(2)
+                               .DistinctBy(v => v.Col)
+                               .Select(v => v.ID);
+            return tasks.Where(v => taskids.Contains(v.ID)).DistinctBy(v => v.SRMSTATION).ToList();
         }
     }
 

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

@@ -362,7 +362,9 @@ namespace WCS.Service.Works.SRM
                     var devs = Device.Find($"{tasks.OrderBy(v => v.ADDRTO).FirstOrDefault().ADDRTO}").Create<StationDeviceGroup>().Items.OrderByDescending(v => v.Entity.CODE).ToArray();
                     var dev1 = devs[0];
                     var dev2 = devs[1];
+                    if (obj.Data2.Mode_1 != SCMode.远程) return;
 
+                    if (obj.Data2.Status_1 != SCRunStatus.空闲) return;
                     foreach (var task in tasks)
                     {
                         //判断当前任务为二工位还是一工位