api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java
@@ -78,9 +78,9 @@ result.put("status", "0000"); result.put("message", "应收账单添加成功"); result.put("billNo", billManagement.getSystemNo()); result.put("sourceSystemId", billManagement.getId().toString()); logger.info("应收账单添加成功,账单编号:{}", billManagement.getSystemNo()); logger.info("应收账单添加成功,来源账单id:{}", billManagement.getId()); } catch (Exception e) { logger.error("应收账单添加失败:", e); @@ -334,9 +334,9 @@ result.put("status", "0000"); result.put("message", "应付账单添加成功"); result.put("billNo", billManagement.getSystemNo()); result.put("sourceSystemId", billManagement.getId().toString()); logger.info("应付账单添加成功,账单编号:{}", billManagement.getSystemNo()); logger.info("应付账单添加成功,来源账单id:{}", billManagement.getId()); } catch (Exception e) { logger.error("应付账单添加失败:", e); @@ -556,6 +556,86 @@ } /** * 应收账单作废接口 * 其他系统调用此接口作废应收账单 * @param request 请求数据 * @return 操作结果 */ @PostMapping("/cancelBill") public Map<String, String> cancelReceivableBill(@RequestBody Map<String, Integer> request) { logger.info("接收应收账单作废请求:{}", request); Map<String, String> result = new HashMap<>(); try { Integer sourceSystemId = request.get("sourceSystemId"); if (sourceSystemId == null) { throw new IllegalArgumentException("sourceSystemId不能为空"); } // 调用作废方法 int rows = receivableBillManagementService. voidReceivableBillManagement(sourceSystemId); if (rows > 0) { result.put("status", "0000"); result.put("message", "应收账单作废成功"); logger.info("应收账单作废成功,sourceSystemId:{}", sourceSystemId); } else { result.put("status", "9999"); result.put("message", "应收账单作废失败,未找到对应记录"); logger.warn("应收账单作废失败,未找到对应记录,sourceSystemId:{}", sourceSystemId); } } catch (Exception e) { logger.error("应收账单作废失败:", e); result.put("status", "9999"); result.put("message", "应收账单作废失败:" + e.getMessage()); } return result; } /** * 应付账单作废接口 * 其他系统调用此接口作废应付账单 * @param request 请求数据 * @return 操作结果 */ @PostMapping("/cancelPayableBill") public Map<String, String> cancelPayableBill(@RequestBody Map<String, Integer> request) { logger.info("接收应付账单作废请求:{}", request); Map<String, String> result = new HashMap<>(); try { Integer sourceSystemId = request.get("sourceSystemId"); if (sourceSystemId == null) { throw new IllegalArgumentException("sourceSystemId不能为空"); } // 调用作废方法 int rows = payableBillManagementService.voidPayableBillManagement(sourceSystemId); if (rows > 0) { result.put("status", "0000"); result.put("message", "应付账单作废成功"); logger.info("应付账单作废成功,sourceSystemId:{}", sourceSystemId); } else { result.put("status", "9999"); result.put("message", "应付账单作废失败,未找到对应记录"); logger.warn("应付账单作废失败,未找到对应记录,sourceSystemId:{}", sourceSystemId); } } catch (Exception e) { logger.error("应付账单作废失败:", e); result.put("status", "9999"); result.put("message", "应付账单作废失败:" + e.getMessage()); } return result; } /** * 健康检查接口 * @return 健康状态 */ service/src/main/java/com/ruoyi/cwgl/service/impl/PayableBillManagementServiceImpl.java
@@ -145,7 +145,11 @@ if (result > 0) { PayableBillManagementLog log = new PayableBillManagementLog(); log.setBillId(payableBillManagement.getId()); log.setCreateBy(SecurityUtils.getUsername()); try { log.setCreateBy(SecurityUtils.getUsername()); } catch (Exception e) { log.setCreateBy("api"); } log.setCreateTime(DateUtils.getNowDate()); log.setOperation("修改应付账单,账单编号:" + payableBillManagement.getSystemNo()); logService.insertPayableBillManagementLog(log); @@ -226,14 +230,30 @@ bill.setStatus("2"); bill.setUpdateTime(DateUtils.getNowDate()); int result = updatePayableBillManagement(bill); // 更新应付账单记录 int result = payableBillManagementMapper.updatePayableBillManagement(bill); // 如果更新成功,清除关联应付费用的账单编号并更新状态 if (result > 0) { // 作废应付账单后,需要将关联的应付费用记录恢复为待生成账单状态 String relatedBillNo = bill.getSystemNo(); if (relatedBillNo != null && !relatedBillNo.isEmpty()) { payableFeeManagementMapper.updatePayableFeeManagementByRelatedBillNo(relatedBillNo); // 获取账单系统编号 String billSystemNo = bill.getSystemNo(); if (billSystemNo != null && !billSystemNo.trim().isEmpty()) { // 查询关联该账单的应付费用记录 payableFeeManagementMapper.updatePayableFeeManagementByRelatedBillNo(billSystemNo); } // 记录作废操作日志 PayableBillManagementLog log = new PayableBillManagementLog(); log.setBillId(id); try { log.setCreateBy(SecurityUtils.getUsername()); } catch (Exception e) { // 远程调用时没有登录信息,使用api作为创建人 log.setCreateBy("api"); } log.setCreateTime(DateUtils.getNowDate()); log.setOperation("作废应付账单,账单编号:" + bill.getSystemNo()); logService.insertPayableBillManagementLog(log); } return result; service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillManagementServiceImpl.java
@@ -309,9 +309,9 @@ String billSystemNo = billManagement.getSystemNo(); if (billSystemNo != null && !billSystemNo.trim().isEmpty()) { // 查询关联该账单的应收费用记录 ReceivableFeeManagement queryFee = new ReceivableFeeManagement(); queryFee.setRelatedBillNo(billSystemNo); List<ReceivableFeeManagement> feeList = receivableFeeManagementMapper.selectReceivableFeeManagementList(queryFee); // ReceivableFeeManagement queryFee = new ReceivableFeeManagement(); // queryFee.setRelatedBillNo(billSystemNo); // List<ReceivableFeeManagement> feeList = receivableFeeManagementMapper.selectReceivableFeeManagementList(queryFee); // 清除关联账单编号并将状态改为0(待生成账单) receivableFeeManagementMapper.updateReceivableFeeManagementByRelatedBillNo(billSystemNo); @@ -320,7 +320,12 @@ // 记录作废操作日志 ReceivableBillManagementLog log = new ReceivableBillManagementLog(); log.setBillId(id); log.setCreateBy(SecurityUtils.getUsername()); try { log.setCreateBy(SecurityUtils.getUsername()); } catch (Exception e) { // 远程调用时没有登录信息,使用api作为创建人 log.setCreateBy("api"); } log.setCreateTime(DateUtils.getNowDate()); log.setOperation("作废应收账单,账单编号:" + billManagement.getSystemNo()); receivableBillManagementLogMapper.insertReceivableBillManagementLog(log);