|
@@ -66,38 +66,38 @@ namespace WCS.Service.Works.SRM
|
|
|
if (srmDevice.Data2.SRMStatus != SCRunStatus.空闲) return;
|
|
|
|
|
|
////检查标记好的出库任务,并将出库任务下达至堆垛机
|
|
|
- //DB.Do(db =>
|
|
|
- //{
|
|
|
- // //找到两个任务
|
|
|
- // var taksLsit = db.Default.Set<WCS_TASK>().Where(v =>
|
|
|
- // v.ID == srmDevice.Data.TaskID_1 ||
|
|
|
- // v.ID == srmDevice.Data.TaskID_2 && v.STATUS == TaskStatus.堆垛机执行).ToList();
|
|
|
- // var itemList = taksLsit.Select(v => v.Create<Task>()).OrderBy(v => v.Col).ToArray();
|
|
|
-
|
|
|
- // if (!taksLsit.Any()) return;
|
|
|
- // for (var i = 0; i < itemList.Length; i++)
|
|
|
- // {
|
|
|
- // var item = itemList[i];
|
|
|
- // item.SRMSTATION = taksLsit.FirstOrDefault(v => v.ID==item.ID)!.SRMSTATION;
|
|
|
-
|
|
|
- // var fork = srmDevice.GetFork(item, i);
|
|
|
-
|
|
|
- // switch (fork)
|
|
|
- // {
|
|
|
- // // 列数较小的放一工位
|
|
|
- // case SrmFork.货叉1:
|
|
|
- // obj.WriteTask1(item, (short)itemList.Length);
|
|
|
- // break;
|
|
|
- // //列数较大的放二工位
|
|
|
- // case SrmFork.货叉2:
|
|
|
- // obj.WriteTask2(item, (short)itemList.Length);
|
|
|
- // break;
|
|
|
-
|
|
|
- // default:
|
|
|
- // throw new ArgumentOutOfRangeException();
|
|
|
- // }
|
|
|
- // }
|
|
|
- //});
|
|
|
+ DB.Do(db =>
|
|
|
+ {
|
|
|
+ //找到两个任务
|
|
|
+ var taksLsit = db.Default.Set<WCS_TASK>().Where(v =>
|
|
|
+ v.ID == srmDevice.Data.TaskID_1 ||
|
|
|
+ v.ID == srmDevice.Data.TaskID_2 && v.STATUS == TaskStatus.堆垛机执行).ToList();
|
|
|
+ var itemList = taksLsit.Select(v => v.Create<Task>()).OrderBy(v => v.Col).ToArray();
|
|
|
+
|
|
|
+ if (!taksLsit.Any()) return;
|
|
|
+ for (var i = 0; i < itemList.Length; i++)
|
|
|
+ {
|
|
|
+ var item = itemList[i];
|
|
|
+ item.SRMSTATION = taksLsit.FirstOrDefault(v => v.ID == item.ID)!.SRMSTATION;
|
|
|
+
|
|
|
+ var fork = srmDevice.GetFork(item, i);
|
|
|
+
|
|
|
+ switch (fork)
|
|
|
+ {
|
|
|
+ // 列数较小的放一工位
|
|
|
+ case SrmFork.货叉1:
|
|
|
+ obj.WriteTask1(item, (short)itemList.Length);
|
|
|
+ break;
|
|
|
+ //列数较大的放二工位
|
|
|
+ case SrmFork.货叉2:
|
|
|
+ obj.WriteTask2(item, (short)itemList.Length);
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ throw new ArgumentOutOfRangeException();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
var isTransfer = new List<WCS_TASK>(); //是否有移库任务
|
|
|
WCS_TASK enterPriority = new(), outPriority = new(); //出入库优先级任务
|
|
@@ -420,7 +420,6 @@ namespace WCS.Service.Works.SRM
|
|
|
var msg = "";
|
|
|
msg = fork == SrmFork.货叉1 ? $"状态由[{oldTaskSTATUS}]变更为[{task.STATUS}][{srmDevice.Data.SLine_1}-{srmDevice.Data.SCol_1}-{srmDevice.Data.SLayer_1}][{srmDevice.Data.ELine_1}][{srmDevice.Data.VoucherNo_1}]" : $"状态由[{oldTaskSTATUS}]变更为[{task.STATUS}][{srmDevice.Data.SLine_2}-{srmDevice.Data.SCol_2}-{srmDevice.Data.SLayer_2}][{srmDevice.Data.ELine_2}][{srmDevice.Data.VoucherNo_2}]";
|
|
|
task.CreateStatusLog(db, msg, this.GetType());
|
|
|
- item.SRMSTATION = task.SRMSTATION;
|
|
|
finishTaskList.Add(new FinishTaskList<SrmFork, Task>(fork, item));
|
|
|
}
|
|
|
|
|
@@ -433,17 +432,16 @@ namespace WCS.Service.Works.SRM
|
|
|
{
|
|
|
// 列数较小的放一工位
|
|
|
case SrmFork.货叉1:
|
|
|
- obj.WriteTask1(finish.Station, (short)tasks.Length);
|
|
|
+ obj.Data.TaskID_1 = finish.Station.ID;
|
|
|
break;
|
|
|
//列数较大的放二工位
|
|
|
case SrmFork.货叉2:
|
|
|
- obj.WriteTask2(finish.Station, (short)tasks.Length);
|
|
|
+ obj.Data.TaskID_2 = finish.Station.ID;
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
throw new ArgumentOutOfRangeException();
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
});
|
|
|
|