Commit 62a95130 authored by 温志超's avatar 温志超

更新排产警告

parent a863e973
...@@ -184,7 +184,7 @@ pro.schedule.limit.min.duration=\u751F\u4EA7\u65F6\u957F\u5FC5\u987B\u5927\u4E8E ...@@ -184,7 +184,7 @@ pro.schedule.limit.min.duration=\u751F\u4EA7\u65F6\u957F\u5FC5\u987B\u5927\u4E8E
pro.schedule.error.canNot.use.standardTime=\u4E0D\u652F\u6301\u5DE5\u65F6\u5355\u4F4D{0} pro.schedule.error.canNot.use.standardTime=\u4E0D\u652F\u6301\u5DE5\u65F6\u5355\u4F4D{0}
pro.schedule.error.cal.error1=\u65E5\u5386\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u5927\u4E8E\u5F00\u59CB\u65F6\u95F4 pro.schedule.error.cal.error1=\u65E5\u5386\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u5927\u4E8E\u5F00\u59CB\u65F6\u95F4
pro.schedule.error.not.exist.solution=\u751F\u4EA7\u5DE5\u5355\uFF1A{0}\u751F\u4EA7\u7248\u672C\u672A\u627E\u5230 pro.schedule.error.not.exist.solution=\u751F\u4EA7\u5DE5\u5355\uFF1A{0}\u751F\u4EA7\u7248\u672C\u672A\u627E\u5230
pro.schedule.error.not.exist.process = \u751f\u4ea7\u5de5\u5355\u672a\u8bbe\u7f6e\u5de5\u827a\u8def\u7ebf pro.schedule.error.not.exist.process = \u751f\u4ea7\u5de5\u5355\uff1a{0}\u672a\u8bbe\u7f6e\u5de5\u827a\u8def\u7ebf
pro.schedule.error.fail=\u6392\u4EA7\u5931\u8D25{0},{1},{2} pro.schedule.error.fail=\u6392\u4EA7\u5931\u8D25{0},{1},{2}
pro.schedule.error.not.exist.main.task=\u6CA1\u6709\u67E5\u5230\u4E3B\u8981\u6392\u4EA7\u4EFB\u52A1 pro.schedule.error.not.exist.main.task=\u6CA1\u6709\u67E5\u5230\u4E3B\u8981\u6392\u4EA7\u4EFB\u52A1
pro.schedule.error.split.quantity.lack=\u62C6\u5206\u6570\u91CF\u5FC5\u9700\u5C0F\u4E8E\u6392\u4EA7\u6570\u91CF pro.schedule.error.split.quantity.lack=\u62C6\u5206\u6570\u91CF\u5FC5\u9700\u5C0F\u4E8E\u6392\u4EA7\u6570\u91CF
......
...@@ -181,7 +181,7 @@ pro.schedule.limit.min.duration=Production duration must be greater than 0. ...@@ -181,7 +181,7 @@ pro.schedule.limit.min.duration=Production duration must be greater than 0.
pro.schedule.error.canNot.use.standardTime=The labor hour unit {0} is not supported. pro.schedule.error.canNot.use.standardTime=The labor hour unit {0} is not supported.
pro.schedule.error.cal.error1=The calendar end time must be greater than the start time. pro.schedule.error.cal.error1=The calendar end time must be greater than the start time.
pro.schedule.error.not.exist.solution=Production work order: {0} production version not found. pro.schedule.error.not.exist.solution=Production work order: {0} production version not found.
pro.schedule.error.not.exist.process = Production work order process not found. pro.schedule.error.not.exist.process = Production work order : {0} process not found.
pro.schedule.error.fail=Production scheduling failed {0}, {1}, {2}. pro.schedule.error.fail=Production scheduling failed {0}, {1}, {2}.
pro.schedule.error.not.exist.main.task=No main production scheduling task found. pro.schedule.error.not.exist.main.task=No main production scheduling task found.
pro.schedule.error.split.quantity.lack=The split quantity must be less than the production scheduling quantity. pro.schedule.error.split.quantity.lack=The split quantity must be less than the production scheduling quantity.
......
...@@ -184,6 +184,9 @@ pro.schedule.error.not.null.vendor=\u0E15\u0E31\u0E27\u0E1B\u0E23\u0E30\u0E21\u0 ...@@ -184,6 +184,9 @@ pro.schedule.error.not.null.vendor=\u0E15\u0E31\u0E27\u0E1B\u0E23\u0E30\u0E21\u0
pro.schedule.error.cannot.use.standardtime=\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E2B\u0E19\u0E48\u0E27\u0E22\u0E07\u0E32\u0E19\u0E0A\u0E31\u0E48\u0E27\u0E42\u0E21\u0E07{0} pro.schedule.error.cannot.use.standardtime=\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E2B\u0E19\u0E48\u0E27\u0E22\u0E07\u0E32\u0E19\u0E0A\u0E31\u0E48\u0E27\u0E42\u0E21\u0E07{0}
pro.schedule.error.cal.error1=\u0E40\u0E27\u0E25\u0E32\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14\u0E02\u0E2D\u0E07\u0E1B\u0E0F\u0E34\u0E17\u0E34\u0E19\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32\u0E40\u0E27\u0E25\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19 pro.schedule.error.cal.error1=\u0E40\u0E27\u0E25\u0E32\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14\u0E02\u0E2D\u0E07\u0E1B\u0E0F\u0E34\u0E17\u0E34\u0E19\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32\u0E40\u0E27\u0E25\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19
pro.schedule.error.not.exist.solution=\u0e43\u0e1a\u0e2a\u0e31\u0e48\u0e07\u0e07\u0e32\u0e19\u0e02\u0e32\u0e14\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07\u0e01\u0e23\u0e30\u0e1a\u0e27\u0e19\u0e01\u0e32\u0e23 pro.schedule.error.not.exist.solution=\u0e43\u0e1a\u0e2a\u0e31\u0e48\u0e07\u0e07\u0e32\u0e19\u0e02\u0e32\u0e14\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07\u0e01\u0e23\u0e30\u0e1a\u0e27\u0e19\u0e01\u0e32\u0e23
pro.schedule.error.not.exist.process = \u0e43\u0e1a\u0e2a\u0e31\u0e48\u0e07\u0e07\u0e32\u0e19\u003a{0}\u0e44\u0e21\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e17\u0e35\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e41\u0e01\u0e49\u0e44\u0e02\u0e44\u0e14\u0e49
pro.schedule.error.fail=\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E07\u0E25\u0E4D\u0E32\u0E14\u0E31\u0E1A\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27{0},{1},{2} pro.schedule.error.fail=\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E07\u0E25\u0E4D\u0E32\u0E14\u0E31\u0E1A\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27{0},{1},{2}
pro.schedule.error.not.exist.main.task=\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E20\u0E32\u0E23\u0E01\u0E34\u0E08\u0E01\u0E32\u0E23\u0E16\u0E48\u0E32\u0E22\u0E42\u0E2D\u0E19\u0E2B\u0E25\u0E31\u0E01 pro.schedule.error.not.exist.main.task=\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E20\u0E32\u0E23\u0E01\u0E34\u0E08\u0E01\u0E32\u0E23\u0E16\u0E48\u0E32\u0E22\u0E42\u0E2D\u0E19\u0E2B\u0E25\u0E31\u0E01
pro.schedule.error.split.quantity.black=\u0E08\u0E4D\u0E32\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E48\u0E07\u0E08\u0E30\u0E15\u0E49\u0E2D\u0E07\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E08\u0E4D\u0E32\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E1B\u0E25\u0E48\u0E2D\u0E22\u0E2D\u0E2D\u0E01\u0E21\u0E32 pro.schedule.error.split.quantity.black=\u0E08\u0E4D\u0E32\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E48\u0E07\u0E08\u0E30\u0E15\u0E49\u0E2D\u0E07\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E08\u0E4D\u0E32\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E1B\u0E25\u0E48\u0E2D\u0E22\u0E2D\u0E2D\u0E01\u0E21\u0E32
......
...@@ -184,7 +184,7 @@ pro.schedule.limit.min.duration=\u751F\u4EA7\u65F6\u957F\u5FC5\u987B\u5927\u4E8E ...@@ -184,7 +184,7 @@ pro.schedule.limit.min.duration=\u751F\u4EA7\u65F6\u957F\u5FC5\u987B\u5927\u4E8E
pro.schedule.error.canNot.use.standardTime=\u4E0D\u652F\u6301\u5DE5\u65F6\u5355\u4F4D{0} pro.schedule.error.canNot.use.standardTime=\u4E0D\u652F\u6301\u5DE5\u65F6\u5355\u4F4D{0}
pro.schedule.error.cal.error1=\u65E5\u5386\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u5927\u4E8E\u5F00\u59CB\u65F6\u95F4 pro.schedule.error.cal.error1=\u65E5\u5386\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u5927\u4E8E\u5F00\u59CB\u65F6\u95F4
pro.schedule.error.not.exist.solution=\u751F\u4EA7\u5DE5\u5355\uFF1A{0}\u751F\u4EA7\u7248\u672C\u672A\u627E\u5230 pro.schedule.error.not.exist.solution=\u751F\u4EA7\u5DE5\u5355\uFF1A{0}\u751F\u4EA7\u7248\u672C\u672A\u627E\u5230
pro.schedule.error.not.exist.process = \u751f\u4ea7\u5de5\u5355\u672a\u8bbe\u7f6e\u5de5\u827a\u8def\u7ebf pro.schedule.error.not.exist.process = \u751f\u4ea7\u5de5\u5355\uff1a{0}\u672a\u8bbe\u7f6e\u5de5\u827a\u8def\u7ebf
pro.schedule.error.fail=\u6392\u4EA7\u5931\u8D25{0},{1},{2} pro.schedule.error.fail=\u6392\u4EA7\u5931\u8D25{0},{1},{2}
pro.schedule.error.not.exist.main.task=\u6CA1\u6709\u67E5\u5230\u4E3B\u8981\u6392\u4EA7\u4EFB\u52A1 pro.schedule.error.not.exist.main.task=\u6CA1\u6709\u67E5\u5230\u4E3B\u8981\u6392\u4EA7\u4EFB\u52A1
pro.schedule.error.split.quantity.lack=\u62C6\u5206\u6570\u91CF\u5FC5\u9700\u5C0F\u4E8E\u6392\u4EA7\u6570\u91CF pro.schedule.error.split.quantity.lack=\u62C6\u5206\u6570\u91CF\u5FC5\u9700\u5C0F\u4E8E\u6392\u4EA7\u6570\u91CF
......
...@@ -129,6 +129,7 @@ public class AlgorithmDataSourceImpl implements AlgorithmDataSource { ...@@ -129,6 +129,7 @@ public class AlgorithmDataSourceImpl implements AlgorithmDataSource {
//按交期近,数量少排序 //按交期近,数量少排序
scheduleJobGroupList.sort(Comparator.comparing(ScheduleJobGroup::getDemandDate).thenComparing(ScheduleJobGroup::getQuantity)); scheduleJobGroupList.sort(Comparator.comparing(ScheduleJobGroup::getDemandDate).thenComparing(ScheduleJobGroup::getQuantity));
Long i = 0l; Long i = 0l;
StringBuilder msg = new StringBuilder();
for (ScheduleJobGroup scheduleJobGroup : scheduleJobGroupList) { for (ScheduleJobGroup scheduleJobGroup : scheduleJobGroupList) {
ProWorkorder firstWorkorder = scheduleJobGroup.getWorkorderList().get(0); ProWorkorder firstWorkorder = scheduleJobGroup.getWorkorderList().get(0);
QueryWrapper<ProWorkOrderProcess> processQuery = new QueryWrapper<ProWorkOrderProcess>(); QueryWrapper<ProWorkOrderProcess> processQuery = new QueryWrapper<ProWorkOrderProcess>();
...@@ -137,7 +138,9 @@ public class AlgorithmDataSourceImpl implements AlgorithmDataSource { ...@@ -137,7 +138,9 @@ public class AlgorithmDataSourceImpl implements AlgorithmDataSource {
List<ProWorkOrderProcess> productionOrderRoutings = proWorkOrderProcessService.selectListByQw(processQuery); List<ProWorkOrderProcess> productionOrderRoutings = proWorkOrderProcessService.selectListByQw(processQuery);
// //
if(productionOrderRoutings==null){ if(productionOrderRoutings==null){
throw new ServiceException(MessageUtils.message("pro.schedule.error.not.exist.process", firstWorkorder.getWorkorderCode())); msg.append(MessageUtils.message("pro.schedule.error.not.exist.process", firstWorkorder.getWorkorderCode()));
msg.append(System.lineSeparator());
continue;
} }
//生产版本查询 //生产版本查询
ProProductionSolutionVo productionSolution = proProductionSolutionService.selectProProductionSolutionByProductionSolutionId(firstWorkorder.getProductionSolutionId()); ProProductionSolutionVo productionSolution = proProductionSolutionService.selectProProductionSolutionByProductionSolutionId(firstWorkorder.getProductionSolutionId());
...@@ -195,6 +198,9 @@ public class AlgorithmDataSourceImpl implements AlgorithmDataSource { ...@@ -195,6 +198,9 @@ public class AlgorithmDataSourceImpl implements AlgorithmDataSource {
} }
algJobs.add(job); algJobs.add(job);
} }
if(msg.length() > 0){
throw new ServiceException(msg.toString());
}
stopWatch.stop(); stopWatch.stop();
logger.info(String.format("待排产数据加载耗时:%s", stopWatch.getTotalTimeSeconds())); logger.info(String.format("待排产数据加载耗时:%s", stopWatch.getTotalTimeSeconds()));
return algJobs; return algJobs;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment