xu.lu 1 year ago
parent
commit
5d034b0f0e

+ 11 - 0
业务工程/分拣库/WCS.WorkEngineering/Systems/NoInteractionSystems.cs

@@ -33,8 +33,19 @@ namespace WCS.WorkEngineering.Systems
                 //获取所有的新建任务,组盘任务不需要
                 taskInfos = db.Default.Queryable<WCS_TaskInfo>().ReadPastUpdLock().Where(x => x.Status == 0).ToList().Where(x => x.Type != TaskType.SetPlate || (x.Type == TaskType.SetPlate && x.AddrFrom != "Robot")).Select(x => x.ID).ToList();
                 var time = DateTime.Now.AddMinutes(-20);
+                var time1 = DateTime.Now.AddMinutes(-40);
                 var timeOut = db.Default.Queryable<WCS_TaskInfo>().NoLock().Count(x => x.BusType == "车间叫料" && x.Status < TaskStatus.StackerExecution && x.EditTime < time);
                 if (timeOut > 0) World.Log($"共有{timeOut}个车间叫料任务超过二十分钟未执行,请检查相关相关任务对应的堆垛机是否正常、堆垛机放货点是否卡任务等", LogLevelEnum.High);
+
+                var timeOut1 = db.Default.Queryable<WCS_TaskInfo>().NoLock().Count(x => x.BusType == "车间叫料" && x.Status < TaskStatus.StackerExecution && x.EditTime < time1);
+                if (timeOut1 > 0) World.Log($"共有{timeOut1}个车间叫料任务超过四十分钟未执行,请检查相关相关任务对应的堆垛机是否正常、堆垛机放货点是否卡任务等", LogLevelEnum.High);
+
+                var timeOut2 = db.Default.Queryable<WCS_TaskInfo>().NoLock().Count(x => x.BusType == "皮盘入库" && x.Status < TaskStatus.StackerExecution && x.EditTime < time);
+                if (timeOut2 > 0) World.Log($"共有{timeOut2}个皮盘入库任务超过二十分钟未执行,请检查相关相关任务及对应agv设备", LogLevelEnum.High);
+
+                var timeOut3 = db.Default.Queryable<WCS_TaskInfo>().NoLock().Count(x => x.BusType == "皮盘入库" && x.Status < TaskStatus.StackerExecution && x.EditTime < time1);
+                if (timeOut3 > 0) World.Log($"共有{timeOut3}个皮盘入库任务超过四十分钟未执行,请检查相关相关任务及对应agv设备", LogLevelEnum.High);
+
             });
             if (!taskInfos.Any())
             {

+ 3 - 0
业务工程/分拣库/WCS.WorkEngineering/Systems/RGVSystems.cs

@@ -187,6 +187,9 @@ namespace WCS.WorkEngineering.Systems
                                     startPosition.Data.GoodsEnd = 0;
                                     World.Log($"任务处理:初始化取货点{startPosition.Entity.Code}任务及目标地址信息");
                                 }
+                                else {
+                                    return;
+                                }
 
                                 //目标地址是码垛工位
                                 if (isPalletizing)

+ 5 - 0
业务工程/分拣库/WCS.WorkEngineering/Systems/环形库码垛结束.cs

@@ -40,6 +40,11 @@ namespace WCS.WorkEngineering.Systems
                 var db = _db.Default;
                 var taskNoList = obj.Data5.GetTaskNoList().ToList();
                 var tasks = db.Queryable<WCS_TaskInfo>().UpdLock().Where(x => taskNoList.Contains(x.ID) && x.Status == TaskStatus.ConveyorExecution).ToList();
+                if (tasks.Count() > 0 && tasks.Count() != obj.Data5.MaxQuantity)
+                {
+                    World.Log($"任务数量{tasks.Count()}-最大码垛数量{obj.Data5.MaxQuantity}");
+                    return;
+                } 
                 var deliveryTask = db.Queryable<WCS_TaskInfo>().UpdLock().Single(x => x.Type == TaskType.Delivery && x.AddrTo == obj.Entity.Code && x.Status >= TaskStatus.RgvExecution && x.Status < TaskStatus.Finish) ?? throw new KnownException($"未找到当前站台对应的托盘搬运任务", LogLevelEnum.High);
                 var taskInfo = db.Queryable<WCS_TaskInfo>().UpdLock().Single(x => x.Status <= TaskStatus.RgvCompleted && x.AddrFrom == obj.Entity.Code && x.Type == TaskType.EnterDepot);
                 if (deliveryTask.Status != TaskStatus.RgvCompleted) throw new KnownException($"搬运任务状态异常:{deliveryTask.ID}", LogLevelEnum.High);