Эх сурвалжийг харах

fix srmwork Value cannot be null. (Parameter 'source')

林豪 左 3 жил өмнө
parent
commit
6efa30c16f

+ 5 - 4
Projects/永冠OPP/WCS.Service/Works/SRM/SRMWork.cs

@@ -334,16 +334,17 @@ namespace WCS.Service.Works.SRM
                                                                   .Where(d => d.TYPE == TaskType.出库)
                                                                   .Where(d => d.STATUS > TaskStatus.新建)
                                                                   .Where(d => d.STATUS < TaskStatus.已完成).ToList();
-                        var outDepotList = waitTask.Where(v => cTaskList.Where(d => d.ADDRTO == v.ADDRTO && d.FLOOR == v.FLOOR).GroupBy(d => d.TaskGroupKey).Count() < maximum)
+                        var outDepotGrouping = waitTask.Where(v => cTaskList.Where(d => d.ADDRTO == v.ADDRTO && d.FLOOR == v.FLOOR).GroupBy(d => d.TaskGroupKey).Count() < maximum)
                                                    .OrderByDescending(v => v.Priority)
                                                    .ThenBy(v => v.ADDRTO == "G1340" ? 0 : 1)
                                                    .ThenBy(v => v.FLOOR == floor ? 0 : 1)
                                                    .ThenBy(v => cTaskList.Where(d => d.ADDRTO == v.ADDRTO && d.FLOOR == v.FLOOR).GroupBy(d => d.TaskGroupKey).Count())
                                                    .ThenBy(v => v.CREATETIME)
                                                    .GroupBy(v => v.ADDRTO)
-                                                   .FirstOrDefault(v => !priorityADDRTO.Contains(v.Key))!
-                                                   .Where(v => v != null)
-                                                   .Select(v => v).ToList();
+                                                   .FirstOrDefault(v => !priorityADDRTO.Contains(v.Key));
+                        if (outDepotGrouping == null) return; //用于解决Linq  Value cannot be null. (Parameter 'source')
+
+                        var outDepotList = outDepotGrouping.Select(v => v).ToList();
 
                         //获取两个个可执行任务,此时这两个任务的目标地址是一致的
                         var tasks = outDepotList.GetOutTask();