service/src/main/java/com/ruoyi/cwgl/mapper/PayableFeeDetailMapper.java
@@ -84,6 +84,14 @@ * @return 结果 */ public int deletePayableFeeDetailByIds(Integer[] ids); /** * 根据应付费用ID删除应付费用明细 * * @param payableFeeId 应付费用ID * @return 结果 */ public int deletePayableFeeDetailByPayableFeeId(Integer payableFeeId); /** * 根据应付费用管理ID数组查询应付费用明细列表 service/src/main/java/com/ruoyi/cwgl/service/IPayableFeeDetailService.java
@@ -99,6 +99,14 @@ * @return 结果 */ public int deletePayableFeeDetailById(Integer id); /** * 根据应付费用ID删除应付费用明细 * * @param payableFeeId 应付费用ID * @return 结果 */ public int deletePayableFeeDetailByPayableFeeId(Integer payableFeeId); /** * 根据应付费用管理ID数组查询应付费用明细列表 service/src/main/java/com/ruoyi/cwgl/service/impl/PayableFeeDetailServiceImpl.java
@@ -179,6 +179,18 @@ { return payableFeeDetailMapper.deletePayableFeeDetailById(id); } /** * 根据应付费用ID删除应付费用明细 * * @param payableFeeId 应付费用ID * @return 结果 */ @Override public int deletePayableFeeDetailByPayableFeeId(Integer payableFeeId) { return payableFeeDetailMapper.deletePayableFeeDetailByPayableFeeId(payableFeeId); } /** * 根据应付费用管理ID数组查询应付费用明细列表 service/src/main/java/com/ruoyi/cwgl/service/impl/PayableFeeManagementServiceImpl.java
@@ -193,7 +193,39 @@ payableFeeManagement.setPayableAmountStr(payableAmountStr); } return payableFeeManagementMapper.updatePayableFeeManagement(payableFeeManagement); // 1. 更新主表信息 int result = payableFeeManagementMapper.updatePayableFeeManagement(payableFeeManagement); // 2. 获取主表ID Integer payableFeeId = payableFeeManagement.getId(); // 3. 删除该应付费用下的所有现有明细 payableFeeDetailService.deletePayableFeeDetailByPayableFeeId(payableFeeId); // 4. 批量保存新的明细列表 if (payableFeeManagement.getPayableFeeDetailList() != null && !payableFeeManagement.getPayableFeeDetailList().isEmpty()) { // 设置每个明细的应付费用管理ID payableFeeManagement.getPayableFeeDetailList().forEach(detail -> { detail.setPayableFeeId(payableFeeId); detail.setUpdateTime(DateUtils.getNowDate()); // 设置更新时间 }); // 调用批量插入方法 payableFeeDetailService.insertPayableFeeDetailBatch(payableFeeManagement.getPayableFeeDetailList()); } // 记录操作日志 if (result > 0) { PayableFeeManagementLog log = new PayableFeeManagementLog(); log.setPayableFeeId(payableFeeId); log.setOperator(SecurityUtils.getUsername()); log.setOperationTime(DateUtils.getNowDate()); log.setOperationDesc("修改应付费用管理记录,系统编号:" + payableFeeManagement.getSystemNo()); log.setCreateTime(DateUtils.getNowDate()); logService.insertPayableFeeManagementLog(log); } return result; } /** @@ -482,3 +514,4 @@ } service/src/main/resources/mapper/cwgl/PayableFeeDetailMapper.xml
@@ -172,6 +172,10 @@ <delete id="deletePayableFeeDetailById" parameterType="Integer"> delete from payable_fee_detail where id = #{id} </delete> <!--根据应付费用ID删除明细--> <delete id="deletePayableFeeDetailByPayableFeeId" parameterType="Integer"> delete from payable_fee_detail where payable_fee_id = #{payableFeeId} </delete> <delete id="deletePayableFeeDetailByIds" parameterType="Integer"> delete from payable_fee_detail where id in <foreach item="id" collection="array" open="(" separator="," close=")">