wujianwei
2025-12-23 67ec5fb24807ffa02210e6bb5ca82dd2bc8323d4
service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillSettlementDetailServiceImpl.java
@@ -19,9 +19,12 @@
import com.ruoyi.cwgl.domain.ReceivableBillSettlementDetail;
import com.ruoyi.cwgl.service.IReceivableBillSettlementDetailService;
import com.ruoyi.cwgl.service.IReceivableBillManagementService;
import com.ruoyi.cwgl.service.IReceivableBillManagementLogService;
import com.ruoyi.cwgl.domain.ReceivableBillManagement;
import com.ruoyi.cwgl.domain.ReceivableBillManagementLog;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import java.math.BigDecimal;
import java.util.Set;
import java.util.Objects;
@@ -44,6 +47,9 @@
    
    @Resource
    private IReceivableBillManagementService receivableBillManagementService;
    @Resource
    private IReceivableBillManagementLogService receivableBillManagementLogService;
    /**
@@ -122,6 +128,17 @@
        // 3. 如果插入成功且billId不为空,则更新主表金额和状态
        if (result > 0 && receivableBillSettlementDetail.getBillId() != null) {
            updateReceivableBillAmountAndStatus(receivableBillSettlementDetail.getBillId());
            // 记录添加结算明细操作日志
            ReceivableBillManagement billManagement = receivableBillManagementService.selectReceivableBillManagementById(receivableBillSettlementDetail.getBillId());
            if (billManagement != null) {
                ReceivableBillManagementLog log = new ReceivableBillManagementLog();
                log.setBillId(receivableBillSettlementDetail.getBillId());
                log.setCreateBy(SecurityUtils.getUsername());
                log.setCreateTime(DateUtils.getNowDate());
                log.setOperation("添加结算明细,账单编号:" + billManagement.getSystemNo());
                receivableBillManagementLogService.insertReceivableBillManagementLog(log);
            }
        }
        
        return result;
@@ -212,6 +229,27 @@
            for (Integer billId : billIds) {
                updateReceivableBillAmountAndStatus(billId);
            }
            // 记录添加结算明细操作日志
            if (!billIds.isEmpty()) {
                for (Integer billId : billIds) {
                    ReceivableBillManagement billManagement = receivableBillManagementService.selectReceivableBillManagementById(billId);
                    if (billManagement != null) {
                        ReceivableBillManagementLog log = new ReceivableBillManagementLog();
                        log.setBillId(billId);
                        log.setCreateBy(SecurityUtils.getUsername());
                        log.setCreateTime(DateUtils.getNowDate());
                        // 计算本次添加的明细数量
                        long detailCount = receivableBillSettlementDetails.stream()
                                .filter(detail -> billId.equals(detail.getBillId()))
                                .count();
                        log.setOperation("添加" + detailCount + "条结算明细,账单编号:" + billManagement.getSystemNo());
                        receivableBillManagementLogService.insertReceivableBillManagementLog(log);
                    }
                }
            }
        }
        
        return rows;