|
@@ -5,7 +5,6 @@ using System.ComponentModel;
|
|
|
using WCS.Core;
|
|
|
using WCS.Entity;
|
|
|
using WCS.Entity.Protocol.BCR;
|
|
|
-using WCS.Entity.Protocol.Protocol.Robot;
|
|
|
using WCS.Entity.Protocol.RGV;
|
|
|
using WCS.Entity.Protocol.Robot;
|
|
|
using WCS.Entity.Protocol.Station;
|
|
@@ -210,19 +209,22 @@ namespace WCS.WorkEngineering.Systems
|
|
|
.Select(x => new Device<IStation520, IStation521, IStation523>(x, World))
|
|
|
.Where(x => !x.Data3.Status.HasFlag(StationStatus.PH_Status))
|
|
|
.Select(x => x.Entity.Code.ToShort());
|
|
|
- var dev = devs.OrderBy(x => x.Entity.Code).FirstOrDefault(x => putDev.Contains(x.Data.GoodsEnd));
|
|
|
- if (dev == null) return;
|
|
|
- //区分任务是拆盘机到码垛工位,还是码垛工位到拆盘机
|
|
|
- if (dev.Entity.HasFlag(DeviceFlags.拆盘机09, DeviceFlags.拆盘机非09))
|
|
|
- {
|
|
|
- obj.Data.TaskNumber = dev.Data.TaskNumber;
|
|
|
- obj.Data.CmdType = RGVCmdType.PickGoods;
|
|
|
- obj.Data.StartPosition = dev.Entity.Code.ToShort();
|
|
|
- obj.Data.DestPosition = dev.Data.GoodsEnd;
|
|
|
- obj.Data.VoucherNo++;
|
|
|
- }
|
|
|
- else //非拆盘机起始任务
|
|
|
+ var devList = devs.OrderBy(x => x.Entity.Code).Where(x => putDev.Contains(x.Data.GoodsEnd));
|
|
|
+
|
|
|
+ foreach (var dev in devList)
|
|
|
{
|
|
|
+ //区分任务是拆盘机到码垛工位,还是码垛工位到拆盘机
|
|
|
+ if (dev.Entity.HasFlag(DeviceFlags.拆盘机09, DeviceFlags.拆盘机非09))
|
|
|
+ {
|
|
|
+ obj.Data.TaskNumber = dev.Data.TaskNumber;
|
|
|
+ obj.Data.CmdType = RGVCmdType.PickGoods;
|
|
|
+ obj.Data.StartPosition = dev.Entity.Code.ToShort();
|
|
|
+ obj.Data.DestPosition = dev.Data.GoodsEnd;
|
|
|
+ obj.Data.VoucherNo++;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ //非拆盘机起始任务
|
|
|
//站台中的任务号
|
|
|
WCS_TaskInfo task = null;
|
|
|
SqlSugarHelper.Do(_db =>
|
|
@@ -238,12 +240,13 @@ namespace WCS.WorkEngineering.Systems
|
|
|
taskInfo.AddWCS_TASK_DTL(db, dev.Entity.Code, obj.Entity.Code, $"任务分配至{obj.Entity.Code}");
|
|
|
task = taskInfo;
|
|
|
});
|
|
|
- if (task == null) return;
|
|
|
+ if (task == null) continue;
|
|
|
obj.Data.TaskNumber = task.ID;
|
|
|
obj.Data.CmdType = RGVCmdType.PickPutGoods;
|
|
|
obj.Data.StartPosition = dev.Entity.Code.ToShort();
|
|
|
obj.Data.DestPosition = dev.Data.GoodsEnd;
|
|
|
obj.Data.VoucherNo++;
|
|
|
+ return;
|
|
|
}
|
|
|
}
|
|
|
|