4dbd65ead93823f2e31847667e3ecf454700ab04..1395356d3b3423f8cb90ded6b5fe8eb2eb52af23
2025-08-18 wujianwei
Merge remote-tracking branch 'origin/yagwly_fa_master' into yagwly_fa_master
139535 对比 | 目录
2025-08-18 wujianwei
新增确认取消判断
ae17d6 对比 | 目录
2个文件已修改
57 ■■■■■ 已修改文件
service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java
@@ -128,6 +128,15 @@
        estimatedReceivable.setCreateTime(nowDate);
        estimatedReceivable.setFeeSystemNo("YF"+datePart+ RandomUtils.random(5));
        estimatedReceivable.setFeeType(0);
        PendingSettlementBusiness pendingSettlementBusiness = pendingSettlementBusinessMapper.selectPendingSettlementBusinessByNo(estimatedReceivable.getDispatchNo());
        if (pendingSettlementBusiness == null){
            throw new ServiceException("调度单不存在");
        }
        Integer relatedBillStatus = pendingSettlementBusiness.getRelatedBillStatus();
        if (relatedBillStatus.equals(2)||relatedBillStatus.equals(3)){
            throw new ServiceException("当前调度单已结算或部分结算无法新增明细");
        }
        return estimatedReceivableMapper.insertEstimatedReceivable(estimatedReceivable);
    }
@@ -244,6 +253,21 @@
            throw new ServiceException("无需重复确认");
        }
        PendingSettlementBusiness pendingSettlementBusiness = pendingSettlementBusinessMapper.selectPendingSettlementBusinessByNo(estimatedReceivable.getDispatchNo());
        if (pendingSettlementBusiness == null){
            throw new ServiceException("调度单不存在");
        }
        Integer relatedBillStatus = pendingSettlementBusiness.getRelatedBillStatus();
        if (relatedBillStatus.equals(2)||relatedBillStatus.equals(3)){
            throw new ServiceException("当前调度单已结算或部分结算无法确认");
        }
        if (pendingSettlementBusiness.getBillId()!=null){
            EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(pendingSettlementBusiness.getBillId());
            BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount();
            estimatedReceivableBill.setTotalAmount(totalAmount.add(estimatedReceivable.getEstimatedAmount()));
            estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
        }
        String username = SecurityUtils.getUsername();
        logService.insertEstimatedReceivableLog("确认应收",id,username);
@@ -267,10 +291,26 @@
            throw new ServiceException("无需重复取消");
        }
        PendingSettlementBusiness pendingSettlementBusiness = pendingSettlementBusinessMapper.selectPendingSettlementBusinessByNo(estimatedReceivable.getDispatchNo());
        if (pendingSettlementBusiness == null){
            throw new ServiceException("调度单不存在");
        }
        Integer relatedBillStatus = pendingSettlementBusiness.getRelatedBillStatus();
        if (relatedBillStatus.equals(2)||relatedBillStatus.equals(3)){
            throw new ServiceException("当前调度单已结算或部分结算无法取消");
        }
        if (pendingSettlementBusiness.getBillId()!=null){
            EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(pendingSettlementBusiness.getBillId());
            BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount();
            estimatedReceivableBill.setTotalAmount(totalAmount.subtract(estimatedReceivable.getEstimatedAmount()));
            estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
        }
        String username = SecurityUtils.getUsername();
        logService.insertEstimatedReceivableLog("取消应收",id,username);
        estimatedReceivable.setIsConfirmed(0);
        return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable);
    }
service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
@@ -540,10 +540,16 @@
    </update>
    <update id="updatePendingSettlementBusinessIsCreate">
        UPDATE pending_settlement_business
        SET is_create = 1 ,bill_id = #{id},bill_name = #{billName},related_bill_status = 1
        WHERE dispatch_no IN
        UPDATE pending_settlement_business p
        JOIN estimated_receivable e ON p.dispatch_no = e.dispatch_no
        SET
        p.is_create = 1,
        p.bill_id = #{id},
        p.bill_name = #{billName},
        p.related_bill_status = 1,
        e.related_bill_name = #{billName},
        e.related_bill_status = 1
        WHERE p.dispatch_no IN
        <foreach item="item" collection="list" open="(" separator="," close=")">
            #{item}
        </foreach>
@@ -554,7 +560,7 @@
            SET
            p.bill_name = #{billName},
            e.related_bill_name = #{billName}
            WHERE p.bill_id = #{id};
            WHERE p.bill_id = #{id}
    </update>
    <update id="updateEstimatedReceivableBillStatus">
        UPDATE pending_settlement_business p
@@ -565,6 +571,7 @@
        p.bill_name = #{billName},
        p.related_bill_status = 1,
        e.related_bill_name = #{billName}
        e.related_bill_status = 1
        WHERE p.dispatch_no IN
        <foreach item="item" collection="list" open="(" separator="," close=")">
            #{item}