|
@@ -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);
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+}
|