林豪 左 2 lat temu
rodzic
commit
fb02812519
1 zmienionych plików z 29 dodań i 7 usunięć
  1. 29 7
      WCS.WorkEngineering/Systems/SrmSystems.cs

+ 29 - 7
WCS.WorkEngineering/Systems/SrmSystems.cs

@@ -169,13 +169,14 @@ namespace WCS.WorkEngineering.Systems
                 //任务集合是否有处于堆垛机执行状态的任务
                 if (tasks.Any(v => v.Status == Entity.TaskStatus.StackerExecution)) throw new KnownException($"有任务处于堆垛机执行状态", LogLevelEnum.High);
 
-                //判断是否存在调整优先级任务
-                if (!tasks.Any(v => v.Type != TaskType.TransferDepot && v.Status < Entity.TaskStatus.StackerExecution && v.Priority > 0))
-                {
-                    //不存在调整优先级任务,判断是否存在移库任务
-                    isTransfer = tasks.Any(v => v.Type == TaskType.TransferDepot && v.Status == Entity.TaskStatus.NewBuild);
-                }
-                else //存在调整优先级任务
+
+                ////判断是否存在调整优先级任务
+                //if (!tasks.Any(v => v.Type != TaskType.TransferDepot && v.Status < Entity.TaskStatus.StackerExecution && v.Priority > 0))
+                //{
+                //不存在调整优先级任务,判断是否存在移库任务
+                isTransfer = tasks.Any(v => v.Type == TaskType.TransferDepot && v.Status == Entity.TaskStatus.NewBuild);
+                //}
+                if (!isTransfer) //存在调整优先级任务
                 {
                     //获取出库任务中新建状态最大优先级
                     var outPriorityNewBuild = tasks.Where(v => v.Type == TaskType.OutDepot && v.Status == Entity.TaskStatus.NewBuild).Max(v => v.Priority);
@@ -188,6 +189,27 @@ namespace WCS.WorkEngineering.Systems
                         enterOrOut = enterPriority > outPriorityNewBuild ? 2 : 3;
                     }
                 }
+
+
+                ////判断是否存在调整优先级任务
+                //if (!tasks.Any(v => v.Type != TaskType.TransferDepot && v.Status < Entity.TaskStatus.StackerExecution && v.Priority > 0))
+                //{
+                //    //不存在调整优先级任务,判断是否存在移库任务
+                //    isTransfer = tasks.Any(v => v.Type == TaskType.TransferDepot && v.Status == Entity.TaskStatus.NewBuild);
+                //}
+                //else //存在调整优先级任务
+                //{
+                //    //获取出库任务中新建状态最大优先级
+                //    var outPriorityNewBuild = tasks.Where(v => v.Type == TaskType.OutDepot && v.Status == Entity.TaskStatus.NewBuild).Max(v => v.Priority);
+                //    //获取入库任务中最大优先级
+                //    var enterPriority = tasks.Where(v => v.Type == TaskType.EnterDepot && v.Status < Entity.TaskStatus.StackerExecution).Max(v => v.Priority);
+                //    //出入库最大优先级相加大于零
+                //    if (outPriorityNewBuild + enterPriority > 0)
+                //    {
+                //        //出入库优先级任务 1:无优先 2:入库 3:出库
+                //        enterOrOut = enterPriority > outPriorityNewBuild ? 2 : 3;
+                //    }
+                //}
             });
 
             #region 移库