|
|
|
@ -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()); |
|
|
|
|