|
@@ -248,7 +248,7 @@ namespace WCS.Service.Works.Stations
|
|
|
}
|
|
|
else if (Ltc.Do(agvtask, v => v.Status < v.AGVStatus || v.AGVStatus == AGVTaskStatus.确认))
|
|
|
{
|
|
|
- if (Ltc.Do(agvtask, v => v.AGVStatus == AGVTaskStatus.确认))
|
|
|
+ if (Ltc.Do(agvtask, v => v.AGVStatus == AGVTaskStatus.确认 && v.Status != AGVTaskStatus.确认))
|
|
|
{
|
|
|
if (agvTasks.Any(v => v.Status >= AGVTaskStatus.确认 && v.Status != AGVTaskStatus.执行 && v.Status < AGVTaskStatus.完成扫码 && v.Station == "3001"))
|
|
|
throw new Exception($"同时放货任务数量最大为1");
|
|
@@ -256,6 +256,8 @@ namespace WCS.Service.Works.Stations
|
|
|
var inTemp = Device.Find("3006", "3001", "3012","3004","3005").Select(v => v.Device<IStation521, IStation523>());
|
|
|
if (inTemp.Any(v => v.Data.PH_STATUS == true || v.Data.TASKNUM > 0 || v.Data.GOODSEND == 3006 || v.Data2.Status.HasFlag(StationStatus.运行状态位))) return;
|
|
|
if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS < TaskStatus.已完成 && v.ADDRNEXT == "3060")) return;
|
|
|
+ if (db.Default.Set<WCS_AGVTask>().Any(v => v.AGVStatus >= AGVTaskStatus.确认 && v.TaskType == AGVTaskType.叫料
|
|
|
+ && v.Station == "3001" && v.Status < AGVTaskStatus.完成)) return;
|
|
|
|
|
|
//3060没有出库任务
|
|
|
var con3060 = Device.Find("3060").Device<IStation521, IStation523>();
|
|
@@ -371,7 +373,7 @@ namespace WCS.Service.Works.Stations
|
|
|
{
|
|
|
var qty = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.叫料 && v.Status > AGVTaskStatus.新建 && v.Status < AGVTaskStatus.完成)
|
|
|
.Where(v => v.Position == agvtask.Position).Count();
|
|
|
- if (Ltc.Do(qty, OutTaskQty => OutTaskQty >= 2))
|
|
|
+ if (Ltc.Do(qty, OutTaskQty => OutTaskQty >= 5))
|
|
|
{
|
|
|
throw new Exception($"{agvtask.Position}正在执行的叫料任务数量已达{qty},暂停出库");
|
|
|
}
|