diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java index acfed474..afa5aa8f 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java @@ -2345,34 +2345,43 @@ public class OrderInfoServiceImpl implements OrderInfoService { log.error("{}sap报账单号状态不允许替换,报账单号状态:{}", LOGGER_MSG, bzdztValue); return R.error("该报账单号状态不允许替换"); } - OrderInfo newOrderInfo = orderMapper.findByFpqqlish(replaceOddDTO.getBzdh()); - if (newOrderInfo == null) { + // 输入报账单号信息 + OrderInfo slOrderInfo = orderMapper.findByFpqqlish(replaceOddDTO.getBzdh()); + if (slOrderInfo == null) { log.error("{}输入报账单号在该系统未查询到信息,不允许替换", LOGGER_MSG); return R.error("输入报账单号在该系统未查询到信息,不允许替换"); } + // 选中 单号信息 OrderInfo yOrderInfo = orderMapper.findByOrderId(replaceOddDTO.getOrderId()); // 判断金额是否一致 - if (!(yOrderInfo.getKphjje().equals(newOrderInfo.getKphjje()))) { + if (!(yOrderInfo.getKphjje().equals(slOrderInfo.getKphjje()))) { log.error("{}两张报账单金额不一致,不允许替换", LOGGER_MSG); return R.error("两张报账单金额不一致,不允许替换"); } - List orderInvoiceInfoList = orderInvoiceInfoMapper.findByOrderId(replaceOddDTO.getOrderId()); + List orderInvoiceInfoList = orderInvoiceInfoMapper.findByOrderId(slOrderInfo.getId()); if (orderInvoiceInfoList == null || orderInvoiceInfoList.size() <= 0) { - log.error("{}原报账单号在该系统未查询到发票信息,不允许替换", LOGGER_MSG); - return R.error("原报账单号在该系统未查询到发票信息,不允许替换"); + log.error("{}输入报账单号在该系统未查询到发票信息,不允许替换", LOGGER_MSG); + return R.error("该账单号在该系统未查询到发票信息,不允许替换"); } - // 校验原报账单号是否开票成功 + // 校验输入报账单号是否开票成功 List resultList = new ArrayList<>(); for (OrderInvoiceInfo orderInvoiceInfo : orderInvoiceInfoList) { if (!("2".equals(orderInvoiceInfo.getKpzt()))) { - log.error("{}原报账单号未开票成功,不允许替换", LOGGER_MSG); - return R.error("原报账单号未开票成功,不允许替换"); + log.error("{}输入报账单号未开票成功,不允许替换", LOGGER_MSG); + return R.error("输入报账单号未开票成功,不允许替换"); } - orderInvoiceInfo.setOrderInfoId(newOrderInfo.getId()); - orderInvoiceInfo.setOrderProcessInfoId(newOrderInfo.getProcessId()); - orderInvoiceInfo.setFpqqlsh(newOrderInfo.getFpqqlsh()); - orderInvoiceInfo.setDdh(newOrderInfo.getDdh()); + resultList.add(orderInvoiceInfo); + } + + // 删除输入报账单号 + deleteBzdh(slOrderInfo.getId()); + // 回推sap系统 + for (OrderInvoiceInfo orderInvoiceInfo : resultList) { + orderInvoiceInfo.setOrderInfoId(yOrderInfo.getId()); + orderInvoiceInfo.setOrderProcessInfoId(yOrderInfo.getProcessId()); + orderInvoiceInfo.setFpqqlsh(yOrderInfo.getFpqqlsh()); + orderInvoiceInfo.setDdh(yOrderInfo.getDdh()); int count = orderInvoiceInfoMapper.updateOrderInvoiceInfoById(orderInvoiceInfo); if (count > 0) { log.info("{}替换报账单号接口,更新发票信息成功,发票信息:{}", LOGGER_MSG, @@ -2381,13 +2390,6 @@ public class OrderInfoServiceImpl implements OrderInfoService { log.error("{}替换报账单号接口,更新发票信息失败,发票信息:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(orderInvoiceInfo)); } - resultList.add(orderInvoiceInfo); - } - - // 删除原报账单号 - deleteBzdh(replaceOddDTO.getOrderId()); - // 回推sap系统 - for (OrderInvoiceInfo orderInvoiceInfo : resultList) { FpTsMqData fpTsMqData = new FpTsMqData(); fpTsMqData.setFpqqlsh(orderInvoiceInfo.getFpqqlsh()); fpTsMqData.setFpdm(orderInvoiceInfo.getFpdm());