|
@@ -171,6 +171,8 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
|
private SysGeneralCRUDService sysGeneralCRUDService;
|
|
|
@Autowired
|
|
|
private ApsCustomerManagementService apsCustomerManagementService;
|
|
|
+ @Autowired
|
|
|
+ private ApsReportRecordsService apsReportRecordsService;
|
|
|
|
|
|
|
|
|
public static final String ERROR_MSG = "%s上诉订单的排程交货期大于承诺交货期";
|
|
@@ -1259,7 +1261,40 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
|
String orderno = StringUtils.isNotBlank(orderDo.getOrderno()) ? orderDo.getOrderno() : "";
|
|
|
String customorderno = StringUtils.isNotBlank(orderDo.getCustomorderno()) ? orderDo.getCustomorderno() : "";
|
|
|
String customname = StringUtils.isNotBlank(orderDo.getCustomname()) ? orderDo.getCustomname() : "";
|
|
|
+ //更新产品明细的客户订单号
|
|
|
+ if (!apsBlankOrderDoList.isEmpty()) {
|
|
|
+ List<ApsProductDetailDo> needUpdateDetailList = new LinkedList<>();
|
|
|
+ for (ApsProductDetailDo apsProductDetailDo : apsProductDetailVoList) {
|
|
|
+ String mergeordernumber = apsProductDetailDo.getMergeordernumber();
|
|
|
+ if (StringUtils.isNotBlank(mergeordernumber)) {
|
|
|
+ ApsProductDetailDo needUpdateDetail = new ApsProductDetailDo();
|
|
|
+ needUpdateDetail.setId(apsProductDetailDo.getId());
|
|
|
+ //查询对应合并订单的详情
|
|
|
+ ApsProductionMergeOrderDo apsProductionMergeOrderDo = apsProductionMergeOrderDoList.stream().filter(item -> item.getDeleted().equals("0") && StringUtils.isNotBlank(item.getCustomorderno()) && item.getCustomorderno().equals(apsProductDetailDo.getCustomorderno())).findFirst().orElse(null);
|
|
|
+ if (apsProductionMergeOrderDo == null) {
|
|
|
+ needUpdateDetail.setCustomorderno(customorderno);
|
|
|
+ } else {
|
|
|
+ needUpdateDetail.setCustomorderno(apsProductionMergeOrderDo.getCustomorderno());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (customorderno != apsProductDetailDo.getCustomorderno()) {
|
|
|
+ ApsProductDetailDo needUpdateDetail = new ApsProductDetailDo();
|
|
|
+ needUpdateDetail.setId(apsProductDetailDo.getId());
|
|
|
+ needUpdateDetail.setCustomorderno(customorderno);
|
|
|
+ needUpdateDetailList.add(needUpdateDetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!needUpdateDetailList.isEmpty()) {
|
|
|
+ apsProductDetailService.updateBatchById(needUpdateDetailList);
|
|
|
+ apsProductDetailVoList = apsProductDetailService.list(new LambdaQueryWrapper<ApsProductDetailDo>().eq(ApsProductDetailDo::getMainid, orderDo.getId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
List<String> blankIdList = apsBlankOrderDoList.stream().map(ApsBlankOrderDo::getId).collect(Collectors.toList());
|
|
|
+ Map<String, String> blankNumberAndCustomOrder = new HashMap<>();
|
|
|
+ Map<String, String> blankIdAndCustomOrder = new HashMap<>();
|
|
|
if (!blankIdList.isEmpty()) {
|
|
|
List<ApsProcessOutputProductDo> apsProcessOutputProductDoList = apsProcessOutputProductService.list(new LambdaQueryWrapper<ApsProcessOutputProductDo>().in(ApsProcessOutputProductDo::getBlankid, blankIdList));
|
|
|
List<ApsProcessOutputProductDo> needUpdateOutProductList = new LinkedList<>();
|
|
@@ -1321,6 +1356,11 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
|
needUpdateBlank.setCustomname(customNames);
|
|
|
needUpdateBlank.setCustomeasyname(customEasyNames);
|
|
|
needUpdateBlankList.add(needUpdateBlank);
|
|
|
+ ApsBlankOrderDo apsBlankOrderDo = apsBlankOrderDoList.stream().filter(item -> item.getId().equals(key)).findFirst().orElse(null);
|
|
|
+ if (apsBlankOrderDo != null) {
|
|
|
+ blankNumberAndCustomOrder.put(apsBlankOrderDo.getBlanknumber(), customOrderNos);
|
|
|
+ }
|
|
|
+ blankIdAndCustomOrder.put(key, customOrderNos);
|
|
|
}
|
|
|
//更新输出成品集合和坯料计划集合
|
|
|
if (!needUpdateOutProductList.isEmpty()) {
|
|
@@ -1330,6 +1370,20 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
|
apsBlankOrderService.updateBatchById(needUpdateBlankList);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ //更新报工记录
|
|
|
+ blankNumberAndCustomOrder.forEach((key, value) -> {
|
|
|
+ apsReportRecordsService.update(new LambdaUpdateWrapper<ApsReportRecordsDo>()
|
|
|
+ .set(ApsReportRecordsDo::getReportcustomorderno, value)
|
|
|
+ .eq(ApsReportRecordsDo::getReportblanknumber, key));
|
|
|
+ });
|
|
|
+
|
|
|
+ //更新在制品库存
|
|
|
+ blankIdAndCustomOrder.forEach((key, value) -> {
|
|
|
+ apsWorkInProgressInventoryService.update(new LambdaUpdateWrapper<ApsWorkInProgressInventoryDo>()
|
|
|
+ .set(ApsWorkInProgressInventoryDo::getCustomorderno, value)
|
|
|
+ .eq(ApsWorkInProgressInventoryDo::getPlanblankid, key));
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
@Override
|