fix:替换报账单号接口调整

release
kane 2 years ago
parent fc91916c4b
commit 956df4911f
  1. 42
      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<OrderInvoiceInfo> orderInvoiceInfoList = orderInvoiceInfoMapper.findByOrderId(replaceOddDTO.getOrderId());
List<OrderInvoiceInfo> 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<OrderInvoiceInfo> 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());

Loading…
Cancel
Save