wujianwei
2025-08-18 82a1cf87de473e970185d6a60291f8087efa5afd
新增确认取消判断
3个文件已修改
36 ■■■■ 已修改文件
quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
quartz/src/main/java/com/ruoyi/quartz/task/SettlementTask.java
@@ -49,6 +49,9 @@
        List<EstimatedReceivable> estimatedReceivables = new ArrayList<>();
        for (PendingSettlementBusiness pendingSettlementBusiness : pendingSettlementBusinesses) {
            pendingSettlementBusiness.setIsCreate(0);
            pendingSettlementBusiness.setEstimatedTotalCost(BigDecimal.ZERO);
            pendingSettlementBusiness.setEstimatedTotalIncome(BigDecimal.ZERO);
            ReceivableLineTruckPriceRule exactMatchingRule = ExactPricingRuleMatcher.findExactMatchingRule(receivableLineTruckPriceRules, pendingSettlementBusiness.getCustomerName(), pendingSettlementBusiness.getDepartureLocation(), pendingSettlementBusiness.getArrivalLocation(), pendingSettlementBusiness.getVehicleType());
            if (exactMatchingRule!=null) {
                //应收数据
service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java
@@ -267,6 +267,9 @@
            BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount();
            estimatedReceivableBill.setTotalAmount(totalAmount.add(estimatedReceivable.getEstimatedAmount()));
            estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
            pendingSettlementBusiness.setEstimatedTotalIncome(pendingSettlementBusiness.getEstimatedTotalIncome().add(estimatedReceivable.getEstimatedAmount()));
            pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness);
            estimatedReceivable.setRelatedBillStatus(1);
        }
        String username = SecurityUtils.getUsername();
@@ -305,6 +308,9 @@
            BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount();
            estimatedReceivableBill.setTotalAmount(totalAmount.subtract(estimatedReceivable.getEstimatedAmount()));
            estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
            pendingSettlementBusiness.setEstimatedTotalIncome(pendingSettlementBusiness.getConfirmedTotalIncome().subtract(estimatedReceivable.getEstimatedAmount()));
            pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness);
            estimatedReceivable.setRelatedBillStatus(0);
        }
        String username = SecurityUtils.getUsername();
@@ -324,6 +330,27 @@
            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 (estimatedReceivable.getIsConfirmed().equals(1)) {
        if (pendingSettlementBusiness.getBillId()!=null){
            EstimatedReceivableBill estimatedReceivableBill = estimatedReceivableBillMapper.selectEstimatedReceivableBillById(pendingSettlementBusiness.getBillId());
            BigDecimal totalAmount = estimatedReceivableBill.getTotalAmount();
            estimatedReceivableBill.setTotalAmount(totalAmount.subtract(estimatedReceivable.getEstimatedAmount()));
            estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill);
            pendingSettlementBusiness.setEstimatedTotalIncome(pendingSettlementBusiness.getConfirmedTotalIncome().subtract(estimatedReceivable.getEstimatedAmount()));
            pendingSettlementBusinessMapper.updatePendingSettlementBusiness(pendingSettlementBusiness);
            estimatedReceivable.setRelatedBillStatus(0);
        }
        }
        String username = SecurityUtils.getUsername();
        logService.insertEstimatedReceivableLog("作废应收",id,username);
service/src/main/resources/mapper/cwgl/PendingSettlementBusinessMapper.xml
@@ -561,11 +561,7 @@
    </update>
    <update id="updateEstimatedReceivableBillStatus">
        UPDATE pending_settlement_business
        SET
        is_create = 1,
        bill_id = #{id},
        bill_name = #{billName},
        related_bill_status = 1,
        SET related_bill_status = #{status}
        WHERE dispatch_no IN
        <foreach item="item" collection="list" open="(" separator="," close=")">
            #{item}