ソースを参照

排产前校验调整

heteng 2 年 前
コミット
fdb0cde860

+ 7 - 7
MicroServices/Business/Business.Application/ResourceExamineManagement/ProductionScheduleAppService.cs

@@ -264,7 +264,7 @@ namespace Business.ResourceExamineManagement
                 }
                 return;
             }
-
+            
             //3、排产
             //生产周期
             List<PeriodSequenceDet> periodSequenceDtls = new List<PeriodSequenceDet>();
@@ -364,7 +364,7 @@ namespace Business.ResourceExamineManagement
                         entity.WorkOrd = item.WorkOrd;
                         entity.ItemNum = item.ItemNum;
                         entity.CreateTime = DateTime.Now;
-                        entity.Remark = "排产异常:工单的关键工序<"+ op + ">没有维护产线数据,请维护后再操作!";
+                        entity.Remark = "排产异常:工单的关键工序["+ op + "]没有维护产线数据,请维护后再操作!";
                         entity.Type = type == 1 ? "自动排产" : "手动排产";
                         exceptions.Add(entity);
                     }
@@ -388,12 +388,12 @@ namespace Business.ResourceExamineManagement
                         entity.WorkOrd = item.WorkOrd;
                         entity.ItemNum = item.ItemNum;
                         entity.CreateTime = DateTime.Now;
-                        entity.Remark = "排产异常:工单的多个关键工序<" + string.Join(",",curLines.Select(p=>p.Op).ToList()) + ">对应同一条产线,请调整后再操作!";
+                        entity.Remark = "排产异常:工单的多个关键工序[" + string.Join("、",curLines.Select(p=>p.Op).ToList()) + "]对应同一条产线,请调整后再操作!";
                         entity.Type = type == 1 ? "自动排产" : "手动排产";
                         exceptions.Add(entity);
                     }
                 }
-
+                
                 //校验主产线关键工序对应的产线是否维护了工作日历
                 var curCalendars = calendars.Where(x => lineDetails.Select(p => p.Line).Contains(x.ProdLine) || string.IsNullOrEmpty(x.ProdLine)).ToList();
                 foreach (var rut in lineDetails)
@@ -403,14 +403,14 @@ namespace Business.ResourceExamineManagement
                     if (!lineCals.Any())//当前产线未维护工作日历
                     {
                         lineCals = calendars.Where(p => string.IsNullOrEmpty(p.ProdLine)).ToList();
-                        if (!lineCals.Any())
+                        if (!lineCals.Any() || lineCals.Select(p => p.WeekDay).Distinct().Count() != 7)
                         {
                             entity = new ScheduleExceptionMaster();
                             entity.Domain = item.Domain;
                             entity.WorkOrd = item.WorkOrd;
                             entity.ItemNum = item.ItemNum;
                             entity.CreateTime = DateTime.Now;
-                            entity.Remark = "排产异常:产线<"+rut.Line+ ">没有维护工作日历且没有维护标准工作日历,请维护后再操作!";
+                            entity.Remark = "排产异常:产线["+rut.Line+ "]没有维护工作日历且标准工作日历未维护完全,请维护后再操作!";
                             entity.Type = type == 1 ? "自动排产" : "手动排产";
                             exceptions.Add(entity);
                         }
@@ -422,7 +422,7 @@ namespace Business.ResourceExamineManagement
                         entity.WorkOrd = item.WorkOrd;
                         entity.ItemNum = item.ItemNum;
                         entity.CreateTime = DateTime.Now;
-                        entity.Remark = "排产异常:产线<" + rut.Line + ">工作日历没有维护完整,请维护后再操作!";
+                        entity.Remark = "排产异常:产线[" + rut.Line + "]工作日历没有维护完整,请维护后再操作!";
                         entity.Type = type == 1 ? "自动排产" : "手动排产";
                         exceptions.Add(entity);
                     }

+ 1 - 10
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -3535,17 +3535,8 @@ namespace Business.ResourceExamineManagement
             }
             //获取工单数据
             var workOrdMasters = _workOrdMaster.Select(p => workOrds.Contains(p.WorkOrd) && p.Domain == domain);
-            //获取已排产的工单
-            List<string> dbWorkOrds = _periodSequenceDet.Select(p => workOrds.Contains(p.WorkOrds)).Select(p => p.WorkOrds).Distinct().ToList();
-            //过滤掉已排产的工单
-            workOrdMasters = workOrdMasters.Where(p => !dbWorkOrds.Contains(p.WorkOrd)).ToList();
-            if (workOrdMasters.Count == 0)
-            {
-                return "当前工单已排产,无需重新排产。";
-            }
             //排产
-            //await _productionScheduleAppService.DoProductSchedule(workOrdMasters, workOrdMasters[0].Domain);
-            //AutoCreatePickBill(workOrdMasters.Select(p => p.WorkOrd).ToList());
+            //await _productionScheduleAppService.DoProductSchedule(workOrdMasters, workOrdMasters[0].Domain, 1);
             return "ok";
         }