|
@@ -46,15 +46,15 @@ namespace WCS.Service.Works.Station
|
|
if (agvtask.Status == AGVTaskStatus.新建)
|
|
if (agvtask.Status == AGVTaskStatus.新建)
|
|
{
|
|
{
|
|
//TODO:暂时不管控产线任务数
|
|
//TODO:暂时不管控产线任务数
|
|
- var qty = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.入库 && v.Status > AGVTaskStatus.新建 && v.Status < AGVTaskStatus.完成)
|
|
|
|
- .Where((v) => v.Station == obj.Entity.CODE) //当前站点
|
|
|
|
- .Count();
|
|
|
|
|
|
+ var qty = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.入库 && v.Status > AGVTaskStatus.新建 && v.Status < AGVTaskStatus.完成);
|
|
|
|
|
|
- if (qty >= 5) //每个入库口同时最多执行五个任务
|
|
|
|
|
|
+ if (qty.Count() >= 10) //同时最多只能有10个任务被确认
|
|
{
|
|
{
|
|
throw new Exception($"{obj.Entity.CODE}正在执行的入库任务数量已达{qty},暂停入库");
|
|
throw new Exception($"{obj.Entity.CODE}正在执行的入库任务数量已达{qty},暂停入库");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (qty.Count(v => v.Station == obj.Entity.CODE) > qty.Count(v => v.Station != obj.Entity.CODE)) continue;
|
|
|
|
+
|
|
agvtask.Station = obj.Entity.CODE;
|
|
agvtask.Station = obj.Entity.CODE;
|
|
agvtask.Status = AGVTaskStatus.确认;
|
|
agvtask.Status = AGVTaskStatus.确认;
|
|
agvtask.UpdateTime = DateTime.Now;
|
|
agvtask.UpdateTime = DateTime.Now;
|