|
@@ -970,6 +970,35 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
processEquWrapper.set(ApsProcessOperationProcessEquDo::getWaitreportid, null)
|
|
|
.set(ApsProcessOperationProcessEquDo::getDoingbatchnumber, null);
|
|
|
|
|
|
+ //更新作业明细报工料卷批次号,如果输入物料有批次号,报工料卷批次号后面拼接{输入物料批次号}
|
|
|
+ String reportBatchNumber = apsProcessOperationProcessEquDo.getReportbatchnumber();
|
|
|
+ if (StringUtils.isNotBlank(nowReportRecordsDo.getBatchnumber())){
|
|
|
+ if (StringUtils.isNotBlank(reportBatchNumber)){
|
|
|
+ if (!reportBatchNumber.contains(nowReportRecordsDo.getBatchnumber())){
|
|
|
+ reportBatchNumber = reportBatchNumber+","+nowReportRecordsDo.getBatchnumber();
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ reportBatchNumber = nowReportRecordsDo.getBatchnumber();
|
|
|
+ }
|
|
|
+ processEquWrapper.set(ApsProcessOperationProcessEquDo::getReportbatchnumber, reportBatchNumber);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 如果该作业是该坯料计划第一道作业。并且作业是否坯料工序=是,需要更新当前作业明细的坯料批次号=当前作业明细输出物料批次号
|
|
|
+ * 如果作业是否坯料工序=是,则更新该作业明细所有后道作业明细的坯料批次号=该作业明细输出物料批次号。
|
|
|
+ * 如果作业是否坯料工序=否,则更新该作业明细所有后道作业明细的坯料批次号=该作业明细输入物料批次号。
|
|
|
+ */
|
|
|
+ if (StringUtils.isBlank(apsProcessOperationProcessEquDo.getPreviousprocessesids())){
|
|
|
+ //取出当前报工记录的输出物料编号列表
|
|
|
+ List<String> outputNumbers = apsReportOutputDoList.stream().map(ApsReportOutputDo::getOutputnumber).collect(Collectors.toList());
|
|
|
+ String outPutNumber = "";
|
|
|
+ if (!outputNumbers.isEmpty()){
|
|
|
+ outPutNumber = String.join(",",outputNumbers);
|
|
|
+ if (StringUtils.isNotBlank(apsProcessOperationDo.getIfblankprocess()) && "是".equals(apsProcessOperationDo.getIfblankprocess())){
|
|
|
+ processEquWrapper.set(ApsProcessOperationProcessEquDo::getBlankbatchnumber, outPutNumber);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ updateAfterBlankByBatchAndOutPutNumber(apsProcessOperationDo,nowReportRecordsDo,apsProcessOperationProcessEquDo,outPutNumber);
|
|
|
+ }
|
|
|
//更新
|
|
|
apsProcessOperationProcessEquService.update(processEquWrapper);
|
|
|
|
|
@@ -1802,6 +1831,31 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 递归所有后道工序作业明细
|
|
|
+ * @param apsProcessOperationDo
|
|
|
+ * @param nowReportRecordsDo
|
|
|
+ * @param processOperationProcessEquDo
|
|
|
+ */
|
|
|
+ private void updateAfterBlankByBatchAndOutPutNumber(ApsProcessOperationDo apsProcessOperationDo,ApsReportRecordsDo nowReportRecordsDo,ApsProcessOperationProcessEquDo processOperationProcessEquDo,String outPutNumber) {
|
|
|
+ if (StringUtils.isNotBlank(processOperationProcessEquDo.getNextprocessesids())) {
|
|
|
+ List<ApsProcessOperationProcessEquDo> processOperationProcessEquDos = apsProcessOperationDao.getNextProcessOperationEqusByNextIds(processOperationProcessEquDo.getNextprocessesids().replace(",", "','"));
|
|
|
+ for (ApsProcessOperationProcessEquDo processOperationEquDo : processOperationProcessEquDos) {
|
|
|
+ if (StringUtils.isNotBlank(apsProcessOperationDo.getIfblankprocess()) && "是".equals(apsProcessOperationDo.getIfblankprocess())){
|
|
|
+ //是否坯料工序为是则更新该作业明细所有后道作业明细的坯料批次号=该作业明细输出物料批次号。
|
|
|
+ if (StringUtils.isNotBlank(outPutNumber)){
|
|
|
+ processOperationEquDo.setBlankbatchnumber(outPutNumber);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ //是否坯料工序为否则更新该作业明细所有后道作业明细的坯料批次号=该作业明细输入物料批次号。
|
|
|
+ processOperationEquDo.setBlankbatchnumber(nowReportRecordsDo.getBatchnumber());
|
|
|
+ }
|
|
|
+ apsProcessOperationProcessEquService.updateById(processOperationEquDo);
|
|
|
+ updateAfterBlankByBatchAndOutPutNumber(apsProcessOperationDo,nowReportRecordsDo,processOperationEquDo,outPutNumber);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|