|
@@ -304,15 +304,21 @@ namespace WCS.Service.Works.SRM
|
|
|
//同时对结果进行排序,分组
|
|
|
var maxnum = ProtocolProxy.YGWMS150Redis.Get("SaleTaskGroupCount").ToInt();
|
|
|
//所有 有优先级任务的出货口
|
|
|
- var priorityADDRTO = db.Default.Set<WCS_TASK>().Where(v => v.Priority > 0 && v.STATUS == TaskStatus.新建 && v.DEVICE != obj.Entity.CODE).ToList()
|
|
|
- .GroupBy(v => v.ADDRTO).Select(v => new { v.Key, List = v.Select(p => p.DEVICE).Distinct().ToList() })
|
|
|
- .Where(v => v.List.Where(p =>
|
|
|
- {
|
|
|
- var dev = Device.Find(p).Create<SRMDevice>();
|
|
|
- return dev.Data2.SRMMode == SCMode.远程 && dev.Data2.SRMStatus == SCRunStatus.空闲;
|
|
|
- }).Any())
|
|
|
- .Select(v => v.Key)
|
|
|
- .ToList();
|
|
|
+ List<string> priorityADDRTO = new List<string>();
|
|
|
+
|
|
|
+ var t = db.Default.Set<WCS_TASK>().Where(v => v.Priority > 0 && v.STATUS == TaskStatus.新建 && v.DEVICE != obj.Entity.CODE).ToList()
|
|
|
+ .GroupBy(v => v.ADDRTO);
|
|
|
+ if (t.Any()) //用于避免t为空时报错
|
|
|
+ {
|
|
|
+ priorityADDRTO = t.Select(v => new { v.Key, List = v.Select(p => p.DEVICE).Distinct().ToList() })
|
|
|
+ .Where(v => v.List.Where(p =>
|
|
|
+ {
|
|
|
+ var dev = Device.Find(p).Create<SRMDevice>();
|
|
|
+ return dev.Data2.SRMMode == SCMode.远程 && dev.Data2.SRMStatus == SCRunStatus.空闲;
|
|
|
+ }).Any())
|
|
|
+ .Select(v => v.Key)
|
|
|
+ .ToList();
|
|
|
+ }
|
|
|
var outDepotList = waitTask.Where(v =>
|
|
|
{
|
|
|
var max = v.ADDRTO == "G1340" ? 4 : maxnum;
|