|
@@ -164,6 +164,9 @@ namespace WCS.Service.Works.SRM
|
|
|
var dev2 = devs[1];
|
|
|
var dev1IsThereATask = dev1.Data2.Tasknum > 0 && dev1.Data2.Status.HasFlag(IstationStatus.光电状态) && !dev1.Data3.Status.HasFlag(StationStatus.运行状态位);
|
|
|
var dev2IsThereATask = dev2.Data2.Tasknum > 0 && dev2.Data2.Status.HasFlag(IstationStatus.光电状态) && !dev2.Data3.Status.HasFlag(StationStatus.运行状态位);
|
|
|
+ var task1 = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.STATUS < TaskStatus.堆垛机执行 && v.ID == dev1.Data2.Tasknum);
|
|
|
+ var task2 = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.STATUS < TaskStatus.堆垛机执行 && v.ID == dev2.Data2.Tasknum);
|
|
|
+ if (dev2IsThereATask && dev1IsThereATask && task1.DEVICE != task2.DEVICE) throw new WarnException("同组任务不同巷道");
|
|
|
|
|
|
//检测任务数量与可用任务数量是否有效
|
|
|
var task = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.STATUS < TaskStatus.堆垛机执行 && v.ID == st.Data2.Tasknum);
|
|
@@ -187,7 +190,7 @@ namespace WCS.Service.Works.SRM
|
|
|
if (dev1IsThereATask)
|
|
|
{
|
|
|
var tunnel = dev1.Entity.ROUTES.First().NEXT.CODE;
|
|
|
- var task1 = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.STATUS < TaskStatus.堆垛机执行 && v.ID == dev1.Data2.Tasknum);
|
|
|
+
|
|
|
if (task1 == null)
|
|
|
throw new WarnException($"设备有光电有任务且不在运行状态,但WCS找不到任务{dev1.Data2.Tasknum}");
|
|
|
var loc = WMS.GetLocalIn(task1.WMSTASK, tunnel, dev1.Entity.CODE, Entity.WareCellForkNum.货叉1);
|
|
@@ -214,7 +217,7 @@ namespace WCS.Service.Works.SRM
|
|
|
if (dev2IsThereATask)
|
|
|
{
|
|
|
var tunnel = dev2.Entity.ROUTES.First().NEXT.CODE;
|
|
|
- var task2 = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.STATUS < TaskStatus.堆垛机执行 && v.ID == dev2.Data2.Tasknum);
|
|
|
+
|
|
|
if (task2 == null) throw new WarnException($"设备有光电有任务且不在运行状态,但WCS找不到任务{dev2.Data2.Tasknum}");
|
|
|
var loc = WMS.GetLocalIn(task2.WMSTASK, tunnel, dev2.Entity.CODE, Entity.WareCellForkNum.货叉2);
|
|
|
var locno = string.Format("{0}-{1}-{2}", loc.Row, loc.Colomn, loc.Layer);
|