|
@@ -434,7 +434,7 @@ namespace WCS.Service.Works.SRM
|
|
|
}
|
|
|
|
|
|
#endregion 移库
|
|
|
-
|
|
|
+
|
|
|
|
|
|
else if (lastIsOut)
|
|
|
{
|
|
@@ -564,53 +564,9 @@ namespace WCS.Service.Works.SRM
|
|
|
srmDevice.Entity.Set("LastOutFloor", floor);
|
|
|
if (enterPriority != null && outPriority != null && enterPriority.Priority > outPriority.Priority) return;
|
|
|
|
|
|
- srmDevice.CheckOutTask();
|
|
|
//获取当前堆垛机所有的放货点
|
|
|
|
|
|
- var list = srmDevice.GetDeliveryPoint().Where(v =>
|
|
|
- {
|
|
|
- //true:满足条件 false:不满足条件
|
|
|
- //返回结果为无货的设备 默认无货
|
|
|
- var res = true;
|
|
|
- //放货点是否有货
|
|
|
- if (v.Data.VoucherNo != v.Data2.VoucherNo) res = false;
|
|
|
- else if (v.Data3.Status.HasFlag(StationStatus.运行状态位)) res = false;
|
|
|
- else if (v.Data2.Status.HasFlag(IstationStatus.光电状态)) res = false;
|
|
|
- else if (v.Data2.Request == IstationRequest.堆垛机放货完成请求目标地址) res = false;
|
|
|
- else if (v.Data2.Tasknum > 10000) res = false;
|
|
|
- if (!v.Entity.Is(DF.SRM涂布放货)) return res;
|
|
|
- var devise = new List<StationDevice>();
|
|
|
- switch (v.Entity.CODE)
|
|
|
- {
|
|
|
- case "1283" or "1284":
|
|
|
- devise = Device.Where(b => b.CODE is "1281" or "1282").Select(b => b.Create<StationDevice>()).ToList();
|
|
|
- break;
|
|
|
-
|
|
|
- case "1290" or "1291" or "1292" or "1293":
|
|
|
- devise = Device.Where(b => b.CODE is "1288" or "1289").Select(b => b.Create<StationDevice>()).ToList();
|
|
|
- break;
|
|
|
-
|
|
|
- case "1299" or "1300" or "1301" or "1302":
|
|
|
- devise = Device.Where(b => b.CODE is "1297" or "1298").Select(b => b.Create<StationDevice>()).ToList();
|
|
|
- break;
|
|
|
-
|
|
|
- case "1308" or "1309" or "1310" or "1311":
|
|
|
- devise = Device.Where(b => b.CODE is "1306" or "1307").Select(b => b.Create<StationDevice>()).ToList();
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- if (!devise.Any()) return res;
|
|
|
- foreach (var stationDevice in devise)
|
|
|
- {
|
|
|
- //放货点是否有货
|
|
|
- if (stationDevice.Data3.Status.HasFlag(StationStatus.运行状态位)) res = false;
|
|
|
- else if (stationDevice.Data2.Status.HasFlag(IstationStatus.光电状态)) res = false;
|
|
|
- else if (stationDevice.Data2.Request == IstationRequest.堆垛机放货完成请求目标地址) res = false;
|
|
|
- else if (stationDevice.Data2.Tasknum > 10000) res = false;
|
|
|
- }
|
|
|
-
|
|
|
- return res;
|
|
|
- }).Select(v => v.Entity.CODE).ToList();
|
|
|
+ var list = srmDevice.GetDeliveryPoint().Where(v => v.Data3.Status != 0).Select(v => v.Entity.CODE).ToList();
|
|
|
|
|
|
//没有可用货位
|
|
|
if (!list.Any()) return;
|