diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderDetailServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderDetailServiceImpl.java index f02c6ed0..363a79d4 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderDetailServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/entrustorder/EntrustOrderDetailServiceImpl.java @@ -60,7 +60,9 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService EntrustOrderDetailDO entrustOrderDetail = BeanUtils.toBean(createReqVO, EntrustOrderDetailDO.class); String receiveAbbr = getMaterialElementAbbreviation(entrustOrderDetail.getReceiveMaterialNumber()); String sendAbbr = getMaterialElementAbbreviation(entrustOrderDetail.getSendMaterialNumber()); - setElemInfo(entrustOrderDetail,receiveAbbr,sendAbbr); + entrustOrderDetail.setElementAbbreviation(receiveAbbr); + entrustOrderDetail.setSendElementAbbreviation(sendAbbr); + setElemInfo(entrustOrderDetail); entrustOrderDetailMapper.insert(entrustOrderDetail); // 返回 return BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class); @@ -74,7 +76,9 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService EntrustOrderDetailDO updateObj = BeanUtils.toBean(updateReqVO, EntrustOrderDetailDO.class); String receiveAbbr = getMaterialElementAbbreviation(updateObj.getReceiveMaterialNumber()); String sendAbbr = getMaterialElementAbbreviation(updateObj.getSendMaterialNumber()); - setElemInfo(updateObj, receiveAbbr, sendAbbr); + updateObj.setElementAbbreviation(receiveAbbr); + updateObj.setSendElementAbbreviation(sendAbbr); + setElemInfo(updateObj); entrustOrderDetailMapper.updateById(updateObj); } @@ -111,7 +115,7 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService return; } if (entrustOrderOrderDO.getOrderSAPNumber() == null || entrustOrderOrderDO.getOrderSAPNumber().isEmpty()) { - return; + return; } log.info("提交订单明细到erp,主订单:{}", entrustOrderOrderDO); ErpOrderUpdateReqVO erpOrderUpdateReqVO = new ErpOrderUpdateReqVO(); @@ -120,6 +124,7 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService String result = SpringUtils.getBean(ErpOrderService.class).submitOrderToErp062(erpOrderUpdateReqVO); log.info("提交订单明细到erp,结果:{}", result); } + private void buildErp062Data(ErpOrderUpdateReqVO erpOrderUpdateReqVO, EntrustOrderOrderDO order, List entrustOrderDetailList) { erpOrderUpdateReqVO .setPoNumber(order.getOrderSAPNumber()) @@ -135,7 +140,7 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService //item List items = new ArrayList<>(); List comps = new ArrayList<>(); - AtomicReference index= new AtomicReference<>(0); + AtomicReference index = new AtomicReference<>(0); entrustOrderDetailList.forEach(detail -> { index.getAndSet(index.get() + 1); ErpOrderUpdateReqVO.item item = new ErpOrderUpdateReqVO.item(); // item @@ -195,7 +200,13 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService @Override public List insertBatchSomeColumn(List entrustOrderOrderDetails) { List entrustOrderDetail = BeanUtils.toBean(entrustOrderOrderDetails, EntrustOrderDetailDO.class); - entrustOrderDetail.forEach(detail -> setElemInfo(detail, getMaterialElementAbbreviation(detail.getReceiveMaterialNumber()), getMaterialElementAbbreviation(detail.getSendMaterialNumber()))); + entrustOrderDetail.forEach(detail -> { + String receiveAbbr = getMaterialElementAbbreviation(detail.getReceiveMaterialNumber()); + String sendAbbr = getMaterialElementAbbreviation(detail.getSendMaterialNumber()); + detail.setElementAbbreviation(receiveAbbr); + detail.setSendElementAbbreviation(sendAbbr); + setElemInfo(detail); + }); entrustOrderDetailMapper.insertBatch(entrustOrderDetail); return BeanUtils.toBean(entrustOrderDetail, EntrustOrderDetailRespVO.class); } @@ -203,7 +214,13 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService @Override public void updateBatchSomeColumn(List entrustOrderOrderDetails) { List updateList = BeanUtils.toBean(entrustOrderOrderDetails, EntrustOrderDetailDO.class); - updateList.forEach(detail -> setElemInfo(detail, getMaterialElementAbbreviation(detail.getReceiveMaterialNumber()), getMaterialElementAbbreviation(detail.getSendMaterialNumber()))); + updateList.forEach(detail -> { + String receiveAbbr = getMaterialElementAbbreviation(detail.getReceiveMaterialNumber()); + String sendAbbr = getMaterialElementAbbreviation(detail.getSendMaterialNumber()); + detail.setElementAbbreviation(receiveAbbr); + detail.setSendElementAbbreviation(sendAbbr); + setElemInfo(detail); + }); entrustOrderDetailMapper.insertOrUpdate(updateList); } @@ -236,28 +253,28 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService return mtrlZhongtongCode; } - private void setElemInfo(EntrustOrderDetailDO entrustOrderDetailDO, String receiveAbbr, String sendAbbr) { - if (entrustOrderDetailDO.getElementAbbreviation() == null) { - return; - } - ElementDO receiveAbbrElementBySymbol = elementService.getElementBySymbol(receiveAbbr); - if (receiveAbbrElementBySymbol != null) { - entrustOrderDetailDO.setElementAbbreviation(receiveAbbr); - entrustOrderDetailDO.setElementName(receiveAbbrElementBySymbol.getName()); - entrustOrderDetailDO.setElementNumber(receiveAbbrElementBySymbol.getCoding()); - } else { - log.warn("收货元素【{}】不存在,订单ID【{}】", entrustOrderDetailDO.getElementAbbreviation(), entrustOrderDetailDO.getOrderId()); - } - ElementDO senDElementBySymbol = elementService.getElementBySymbol(receiveAbbr); - if (senDElementBySymbol != null) { - entrustOrderDetailDO.setSendElementAbbreviation(sendAbbr); - entrustOrderDetailDO.setSendElementName(senDElementBySymbol.getName()); - entrustOrderDetailDO.setSendElementNumber(senDElementBySymbol.getCoding()); - } else { - log.warn("发货元素【{}】不存在,订单ID【{}】", entrustOrderDetailDO.getElementAbbreviation(), entrustOrderDetailDO.getOrderId()); + private void setElemInfo(EntrustOrderDetailDO entrustOrderDetailDO) { + if (entrustOrderDetailDO.getElementAbbreviation() != null) { + ElementDO receiveAbbrElementBySymbol = elementService.getElementBySymbol(entrustOrderDetailDO.getElementAbbreviation()); + if (receiveAbbrElementBySymbol != null) { + entrustOrderDetailDO.setElementName(receiveAbbrElementBySymbol.getName()); + entrustOrderDetailDO.setElementNumber(receiveAbbrElementBySymbol.getCoding()); + } else { + log.warn("收货元素【{}】不存在,订单ID【{}】", entrustOrderDetailDO.getElementAbbreviation(), entrustOrderDetailDO.getOrderId()); + } } + if (entrustOrderDetailDO.getSendElementAbbreviation() != null) { + ElementDO sendElementBySymbol = elementService.getElementBySymbol(entrustOrderDetailDO.getSendElementAbbreviation()); + if (sendElementBySymbol != null) { + entrustOrderDetailDO.setSendElementName(sendElementBySymbol.getName()); + entrustOrderDetailDO.setSendElementNumber(sendElementBySymbol.getCoding()); + } else { + log.warn("发货元素【{}】不存在,订单ID【{}】", entrustOrderDetailDO.getSendElementAbbreviation(), entrustOrderDetailDO.getOrderId()); + } + } } + //通过物料编码查询物料对应的金属元素缩写 public String getMaterialElementAbbreviation(String materialNumber) { MaterialInfomationPageReqDTO pageReqDTO = new MaterialInfomationPageReqDTO(); @@ -270,6 +287,6 @@ public class EntrustOrderDetailServiceImpl implements EntrustOrderDetailService } MaterialInfomationRespDTO materialInfomationRespDTO = materialInfomationPage.getData().getList().get(0); Map flatAttributes = materialInfomationRespDTO.getFlatAttributes(); - return flatAttributes.getOrDefault("elementAbbreviation", "").toString(); + return flatAttributes.getOrDefault("mtrlElement", "").toString(); } } \ No newline at end of file