|
|
@@ -412,6 +412,7 @@ namespace WCS.Service.Works.SRM
|
|
|
|
|
|
//入库口设备信息 找一个有任务有光电且不在运行状态位的取货点 如果找不到代表任务还在输送途中
|
|
|
var station = arrIn.OrderBy(v => v.Data2.Tasknum > 0 && v.Data2.Status.HasFlag(IstationStatus.光电状态) && !v.Data3.Status.HasFlag(StationStatus.运行状态位) ? 0 : 1)
|
|
|
+ .ThenBy(v => v.Entity.Is(DF.SRM涂布取货) ? 0 : 1)
|
|
|
.ThenBy(v => v.UpdateTime)
|
|
|
.FirstOrDefault() ?? throw new WarnException($"[{deviceCode}]等待入库任务输送到位");
|
|
|
|
|
|
@@ -425,7 +426,7 @@ namespace WCS.Service.Works.SRM
|
|
|
.ToArray();
|
|
|
var finishTaskList = new List<FinishTaskList<int>>(); //成功分配货位的任务
|
|
|
//检测有效任务数与实际任务是是否相等
|
|
|
- var validDev = devise.Where(v => v.Data2.Tasknum > 10000 && v.Data2.Status.HasFlag(IstationStatus.光电状态) && !v.Data3.Status.HasFlag(StationStatus.运行状态位)).OrderBy(v => v.Entity.Is(DF.SRM涂布取货) ? 0 : 1).ToArray();
|
|
|
+ var validDev = devise.Where(v => v.Data2.Tasknum > 10000 && v.Data2.Status.HasFlag(IstationStatus.光电状态) && !v.Data3.Status.HasFlag(StationStatus.运行状态位));
|
|
|
var stationDevices = validDev as StationDevice[] ?? validDev.ToArray();
|
|
|
if (!stationDevices.Any()) throw new DoException("无有效入库任务");
|
|
|
DB.Do(db =>
|