|
@@ -45,15 +45,16 @@ namespace WCS.Service.Works.Station
|
|
|
|
|
|
if (agvtask.Status == AGVTaskStatus.新建)
|
|
|
{
|
|
|
+ //TODO:暂时不管控产线任务数
|
|
|
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();
|
|
|
+ .Where((v) => v.Station == obj.Entity.CODE) //当前站点
|
|
|
+ .Count();
|
|
|
|
|
|
- if (qty >= 2)
|
|
|
+ if (qty >= 5) //每个入库口同时最多执行五个任务
|
|
|
{
|
|
|
- throw new Exception($"{agvtask.Position}正在执行的入库任务数量已达{qty},暂停入库");
|
|
|
+ throw new Exception($"{obj.Entity.CODE}正在执行的入库任务数量已达{qty},暂停入库");
|
|
|
}
|
|
|
- //暂时管控同一时间被确认的任务数为1
|
|
|
- if (db.Default.Set<WCS_AGVTask>().Any(v => v.Status == AGVTaskStatus.确认 && v.Station == obj.Entity.CODE)) continue;
|
|
|
+
|
|
|
agvtask.Station = obj.Entity.CODE;
|
|
|
agvtask.Status = AGVTaskStatus.确认;
|
|
|
agvtask.UpdateTime = DateTime.Now;
|
|
@@ -61,6 +62,7 @@ namespace WCS.Service.Works.Station
|
|
|
}
|
|
|
else if (agvtask.Status == AGVTaskStatus.确认 && agvtask.Status > agvtask.AGVStatus)
|
|
|
{
|
|
|
+ //TODO:暂时直接执行,不再管控,后续如有需求,再行启用
|
|
|
//if (agvtask.Station != obj.Entity.CODE) continue;
|
|
|
//if (obj.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.高位))) continue;
|
|
|
//if (obj.Items.Any(v => !v.Data3.Status.HasFlag(StationStatus.自动))) continue;
|
|
@@ -69,7 +71,7 @@ namespace WCS.Service.Works.Station
|
|
|
//if (obj.Items.Any(v => v.Data2.Tasknum > 10000)) continue;
|
|
|
|
|
|
//暂时管控同一时间被执行的任务数为1
|
|
|
- if (db.Default.Set<WCS_AGVTask>().Count(v => v.Status == AGVTaskStatus.执行 && v.Station == obj.Entity.CODE && v.ID != agvtask.ID) >= 2) continue;
|
|
|
+ //if (db.Default.Set<WCS_AGVTask>().Count(v => v.Status == AGVTaskStatus.执行 && v.Station == obj.Entity.CODE && v.ID != agvtask.ID) >= 2) continue;
|
|
|
agvtask.Status = AGVTaskStatus.执行;
|
|
|
agvtask.UpdateTime = DateTime.Now;
|
|
|
db.Default.SaveChanges();
|