|
@@ -967,6 +967,77 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //查询当前的报工记录信息
|
|
|
+ ApsReportRecordsDo nowReportRecordsDo = this.getById(apsReportRecordsDo.getId());
|
|
|
+ //查询对应的工序作业信息
|
|
|
+ ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(nowReportRecordsDo.getProcessoperationid());
|
|
|
+ //明细
|
|
|
+ ApsProcessOperationProcessEquDo processEquDo = apsProcessOperationProcessEquService.getById(nowReportRecordsDo.getProcessequid());
|
|
|
+
|
|
|
+ //合并加工工序拆分
|
|
|
+ //如果剩余待开工卷数>0,则根据剩余待开工卷数拆分作业明细,参见【拆分作业明细】,
|
|
|
+ //检查记录新拆分作业明细冲突,参见【一键自动排程/记录作业冲突和警告】
|
|
|
+ Integer newLeaveWaitWorkRoll = processEquDo.getLeavewaitworkroll();
|
|
|
+ if (newLeaveWaitWorkRoll > 0) {
|
|
|
+ //待更新作业明细集合
|
|
|
+ List<ApsProcessOperationProcessEquDo> waitUpdateEquList = new LinkedList<>();
|
|
|
+ //待新增作业明细集合
|
|
|
+ List<ApsProcessOperationProcessEquDo> waitInsertEquList = new LinkedList<>();
|
|
|
+ List<ApsProcessOperationProcessEquDo> needUpdateOldList = new LinkedList<>();
|
|
|
+ List<ApsProcessOperationProcessEquDo> needInsertNewList = new LinkedList<>();
|
|
|
+ apsProcessOperationProcessEquService.splitProcessEqu(processEquDo,
|
|
|
+ newLeaveWaitWorkRoll,
|
|
|
+ apsProcessOperationDo,
|
|
|
+ processEquDo.getPreviousprocessesids(),
|
|
|
+ needUpdateOldList,
|
|
|
+ needInsertNewList,
|
|
|
+ waitUpdateEquList,
|
|
|
+ waitInsertEquList);
|
|
|
+ Set<String> needUpdateProcessIdList = new HashSet<>();
|
|
|
+
|
|
|
+ //拆分完执行sql更新数据
|
|
|
+ if (!needInsertNewList.isEmpty()) {
|
|
|
+ apsProcessOperationProcessEquService.saveBatch(needInsertNewList);
|
|
|
+ needUpdateProcessIdList.addAll(needInsertNewList.stream().map(ApsProcessOperationProcessEquDo::getProcessid).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ if (!needUpdateOldList.isEmpty()) {
|
|
|
+ apsProcessOperationProcessEquService.updateBatchById(needUpdateOldList);
|
|
|
+ needUpdateProcessIdList.addAll(needUpdateOldList.stream().map(ApsProcessOperationProcessEquDo::getProcessid).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ if (!needUpdateProcessIdList.isEmpty()) {
|
|
|
+ //更新对应工序作业的 计划完工时间和计划开工时间
|
|
|
+ apsProcessOperationProcessEquDao.updateProcessPlanTimeByProcessIds(needUpdateProcessIdList);
|
|
|
+ }
|
|
|
+ //判断新拆分的作业的冲突
|
|
|
+ if (apsProcessOperationDo.getProcessway().equals("合并加工")) {
|
|
|
+ for (ApsProcessOperationProcessEquDo equDo : needInsertNewList) {
|
|
|
+ ApsProcessOperationProcessEquDo processEqu = apsProcessOperationProcessEquService.getById(equDo.getId());
|
|
|
+ ApsProcessOperationDo process = apsProcessOperationService.getById(processEqu.getProcessid());
|
|
|
+ apsProcessOperationProcessEquService.checkProcessingTimeConflict(processEqu,
|
|
|
+ null, null, null, process.getProcessway(), new LinkedList<>());
|
|
|
+ processEqu = apsProcessOperationProcessEquService.getById(processEqu.getId());
|
|
|
+ apsProcessOperationProcessEquService.inspectionEquipmentIsAvailable(processEqu,
|
|
|
+ processEqu.getProcessdeviceid(),
|
|
|
+ processEqu.getPlanstartdate(),
|
|
|
+ processEqu.getPlanenddate(),
|
|
|
+ new LinkedList<>());
|
|
|
+ }
|
|
|
+ for (ApsProcessOperationProcessEquDo equDo : needUpdateOldList) {
|
|
|
+ ApsProcessOperationProcessEquDo processEqu = apsProcessOperationProcessEquService.getById(equDo.getId());
|
|
|
+ ApsProcessOperationDo process = apsProcessOperationService.getById(processEqu.getProcessid());
|
|
|
+ apsProcessOperationProcessEquService.checkProcessingTimeConflict(processEqu,
|
|
|
+ null, null, null, process.getProcessway(), new LinkedList<>());
|
|
|
+ processEqu = apsProcessOperationProcessEquService.getById(processEqu.getId());
|
|
|
+ apsProcessOperationProcessEquService.inspectionEquipmentIsAvailable(processEqu,
|
|
|
+ processEqu.getProcessdeviceid(),
|
|
|
+ processEqu.getPlanstartdate(),
|
|
|
+ processEqu.getPlanenddate(),
|
|
|
+ new LinkedList<>());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
//没有新增,只会更新
|
|
|
apsReportRecordsDo.setCheckstatus("待检验");
|
|
|
|
|
@@ -984,11 +1055,6 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
apsReportBlankCompentService.updateBatchById(apsReportBlankCompentDoList);
|
|
|
}
|
|
|
|
|
|
- //查询当前的报工记录信息
|
|
|
- ApsReportRecordsDo nowReportRecordsDo = this.getById(apsReportRecordsDo.getId());
|
|
|
-
|
|
|
- //查询对应的工序作业信息
|
|
|
- ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(nowReportRecordsDo.getProcessoperationid());
|
|
|
//查询对应的工序作业明细信息
|
|
|
ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo = apsProcessOperationProcessEquService.getById(nowReportRecordsDo.getProcessequid());
|
|
|
//查询对应的坯料计划信息
|
|
@@ -1250,69 +1316,6 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //如果剩余待开工卷数>0,则根据剩余待开工卷数拆分作业明细,参见【拆分作业明细】,
|
|
|
- //检查记录新拆分作业明细冲突,参见【一键自动排程/记录作业冲突和警告】
|
|
|
- Integer newLeaveWaitWorkRoll = apsProcessOperationProcessEquDo.getLeavewaitworkroll();
|
|
|
- if (newLeaveWaitWorkRoll > 0) {
|
|
|
- //待更新作业明细集合
|
|
|
- List<ApsProcessOperationProcessEquDo> waitUpdateEquList = new LinkedList<>();
|
|
|
- //待新增作业明细集合
|
|
|
- List<ApsProcessOperationProcessEquDo> waitInsertEquList = new LinkedList<>();
|
|
|
- List<ApsProcessOperationProcessEquDo> needUpdateOldList = new LinkedList<>();
|
|
|
- List<ApsProcessOperationProcessEquDo> needInsertNewList = new LinkedList<>();
|
|
|
- apsProcessOperationProcessEquService.splitProcessEqu(apsProcessOperationProcessEquDo,
|
|
|
- newLeaveWaitWorkRoll,
|
|
|
- apsProcessOperationDo,
|
|
|
- apsProcessOperationProcessEquDo.getId(),
|
|
|
- needUpdateOldList,
|
|
|
- needInsertNewList,
|
|
|
- waitUpdateEquList,
|
|
|
- waitInsertEquList);
|
|
|
- Set<String> needUpdateProcessIdList = new HashSet<>();
|
|
|
-
|
|
|
- //拆分完执行sql更新数据
|
|
|
- if (!needInsertNewList.isEmpty()) {
|
|
|
- apsProcessOperationProcessEquService.saveBatch(needInsertNewList);
|
|
|
- needUpdateProcessIdList.addAll(needInsertNewList.stream().map(ApsProcessOperationProcessEquDo::getProcessid).collect(Collectors.toList()));
|
|
|
- }
|
|
|
- if (!needUpdateOldList.isEmpty()) {
|
|
|
- apsProcessOperationProcessEquService.updateBatchById(needUpdateOldList);
|
|
|
- needUpdateProcessIdList.addAll(needUpdateOldList.stream().map(ApsProcessOperationProcessEquDo::getProcessid).collect(Collectors.toList()));
|
|
|
- }
|
|
|
- if (!needUpdateProcessIdList.isEmpty()) {
|
|
|
- //更新对应工序作业的 计划完工时间和计划开工时间
|
|
|
- apsProcessOperationProcessEquDao.updateProcessPlanTimeByProcessIds(needUpdateProcessIdList);
|
|
|
- }
|
|
|
- //判断新拆分的作业的冲突
|
|
|
- if (apsProcessOperationDo.getProcessway().equals("合并加工")) {
|
|
|
- for (ApsProcessOperationProcessEquDo equDo : needInsertNewList) {
|
|
|
- ApsProcessOperationProcessEquDo processEqu = apsProcessOperationProcessEquService.getById(equDo.getId());
|
|
|
- ApsProcessOperationDo process = apsProcessOperationService.getById(processEqu.getProcessid());
|
|
|
- apsProcessOperationProcessEquService.checkProcessingTimeConflict(processEqu,
|
|
|
- null, null, null, process.getProcessway(), new LinkedList<>());
|
|
|
- processEqu = apsProcessOperationProcessEquService.getById(processEqu.getId());
|
|
|
- apsProcessOperationProcessEquService.inspectionEquipmentIsAvailable(processEqu,
|
|
|
- processEqu.getProcessdeviceid(),
|
|
|
- processEqu.getPlanstartdate(),
|
|
|
- processEqu.getPlanenddate(),
|
|
|
- new LinkedList<>());
|
|
|
- }
|
|
|
- for (ApsProcessOperationProcessEquDo equDo : needUpdateOldList) {
|
|
|
- ApsProcessOperationProcessEquDo processEqu = apsProcessOperationProcessEquService.getById(equDo.getId());
|
|
|
- ApsProcessOperationDo process = apsProcessOperationService.getById(processEqu.getProcessid());
|
|
|
- apsProcessOperationProcessEquService.checkProcessingTimeConflict(processEqu,
|
|
|
- null, null, null, process.getProcessway(), new LinkedList<>());
|
|
|
- processEqu = apsProcessOperationProcessEquService.getById(processEqu.getId());
|
|
|
- apsProcessOperationProcessEquService.inspectionEquipmentIsAvailable(processEqu,
|
|
|
- processEqu.getProcessdeviceid(),
|
|
|
- processEqu.getPlanstartdate(),
|
|
|
- processEqu.getPlanenddate(),
|
|
|
- new LinkedList<>());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
//=========更新生产状态等=============
|
|
|
//更新生产状态
|
|
|
CommonUpdateProductionStatusReq req3 = new CommonUpdateProductionStatusReq();
|