|
@@ -335,7 +335,7 @@ namespace WCS.Service.Works.RGV
|
|
|
if (pickStation.Entity.CODE == "G19")
|
|
|
{
|
|
|
var pickStations = Device.Find("G23").Create<StationDeviceGroup>().RGVGetTaskedDevice();
|
|
|
- if (pickStations.Any())
|
|
|
+ if (pickStations != null && pickStations.Any() && !obj.RGVList.Any(v => v.Data2.SystemStatus != RGVRunStatus.空闲 && v.Data2.DestPosition_1 == 23))
|
|
|
{
|
|
|
obj.Move(Device.Find("G23").Create<StationDeviceGroup>());
|
|
|
return;
|
|
@@ -373,7 +373,12 @@ namespace WCS.Service.Works.RGV
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+ int needToMove = obj.RGVList.Count(v => v.Data2.TaskType_1 == RGVTaskType.放货 && v.Position > StationLocation.ALLlocations.FirstOrDefault(v => v.Station == "G19").Location && v.Position < StationLocation.ALLlocations.FirstOrDefault(v => v.Station == "G23").Location);
|
|
|
+ if (pickStation.Entity.CODE == "G23" && needToMove >= 2)
|
|
|
+ {
|
|
|
+ obj.Move(Device.Find("G19").Create<StationDeviceGroup>());
|
|
|
+ return;
|
|
|
+ }
|
|
|
//计算当前RGV拦住小车的数量
|
|
|
var max = obj.RGVList.Count(v => v.Data2.WorkMode == RGVMode.自动 && v.Data2.SystemStatus != RGVRunStatus.空闲 && obj.StopedByMe(v));
|
|
|
if (pickStation.Entity.CODE == "G19" && max >= 2)
|