Forráskód Böngészése

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

zuolinhao 3 éve
szülő
commit
26db5626f3
1 módosított fájl, 5 hozzáadás és 5 törlés
  1. 5 5
      Projects/永冠OPP/WCS.Service/Works/RGV/RGVWorks.cs

+ 5 - 5
Projects/永冠OPP/WCS.Service/Works/RGV/RGVWorks.cs

@@ -145,7 +145,7 @@ namespace WCS.Service.Works.RGV
                                 var tasks = db.Default.Set<WCS_TASK>().Where(p => taskids.Contains(p.ID));
                                 if (tasks.GroupBy(p => p.TaskGroupKey).Count() > 1)
                                     throw new WarnException("任务组ID不一致");
-                                if (!tasks.GroupBy(p => p.TaskGroupKey).Any()) 
+                                if (!tasks.GroupBy(p => p.TaskGroupKey).Any())
                                     throw new WarnException("无任务组ID");
                                 var gw1 = pickStation.Items.ToArray()[0];
                                 var gw2 = pickStation.Items.ToArray()[1];
@@ -174,7 +174,7 @@ namespace WCS.Service.Works.RGV
                             return;
                         }
 
-                        if (rgvDevice.RGVList.Count != 6)//有小车进入维修站时启用该逻辑,避免在正常使用时影响效率
+                        if (rgvDevice.RGVList.Count + 1 != 6)//有小车进入维修站时启用该逻辑,避免在正常使用时影响效率,RGVList把自身排除在外了所以需要+1
                         {
                             //var stationList = rgvDevice.LocationList.Where(v => v.Entity.Is(DF.涂布RGV取货设备组)).Where(v => v.RGVGetTaskedDevice().Any())
                             //    .Where(v =>
@@ -215,7 +215,7 @@ namespace WCS.Service.Works.RGV
                             {
                                 case "G2":
                                     {
-                                        if (rgvDevice.RGVList.Count != 6) break;
+                                        if (rgvDevice.RGVList.Count + 1 != 6) break;
                                         //此站台因需要进行排队,因此是否需要赶车取决于是否拦住了两个小车的任务
                                         var afterRgv1 = afterRgv.After();
                                         //如果是空闲或者没有拦住他,就不执行赶车
@@ -224,7 +224,7 @@ namespace WCS.Service.Works.RGV
                                     }
                                 case "G3":
                                     {
-                                        if (rgvDevice.RGVList.Count != 6) break;
+                                        if (rgvDevice.RGVList.Count + 1 != 6) break;
                                         //为了减少空跑,需要被阻拦的小车后面的小车任务类型为移动并且位置值要大于618500小于被阻拦小车的位置值
                                         var afterRgv1 = afterRgv.After();
                                         if (afterRgv1.Data2.WorkMode == RGVMode.自动 && afterRgv.Data2.TaskType_1 != RGVTaskType.移动 && !(afterRgv1.Position < afterRgv.Position && afterRgv1.Position > 618500)) return;
@@ -409,4 +409,4 @@ namespace WCS.Service.Works.RGV
             return dev.Is(DF.BOPPRGV);
         }
     }
-}
+}