无关风月
2025-03-07 eb490366ff324916178420c6e9ffd538d250977b
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java
@@ -85,6 +85,15 @@
    private final TBillService billService;
    private final TCheckAcceptRecordMapper checkAcceptRecordMapper;
    public static void main(String[] args) {
//        LocalDate localDate1 = LocalDate.now().withYear(2025).withMonth(4).withDayOfMonth(1);
//        LocalDate localDate2 = LocalDate.now().withYear(2025).withMonth(4).withDayOfMonth(16);
        LocalDateTime localDate1 = LocalDateTime.now().withYear(2025).withMonth(4).withDayOfMonth(16);
        LocalDateTime localDate2 = LocalDateTime.now().withYear(2025).withMonth(10).withDayOfMonth(24);
        long between = ChronoUnit.DAYS.between(localDate1, localDate2)+1;
        System.err.println(between);
    }
    @Override
    public boolean notify(EventType eventType, Supplier<FlwTask> supplier, NodeModel nodeModel, FlowCreator flowCreator) {
        FlwTask flwTask = supplier.get();
@@ -330,7 +339,7 @@
                            break;
                    }
                    // 不需要涨租金的时间段
                    long originalDays = Math.abs(ChronoUnit.DAYS.between(contract.getFirstPayTime(), tContractRentType.getChangeTime()))+1;
                    long originalDays = Math.abs(ChronoUnit.DAYS.between(contract.getFirstPayTime(), tContractRentType.getChangeTime()));
                    originalMoney = originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN))
                            .multiply(new BigDecimal(originalDays));
                    rentBill.setPayableFeesMoney(contractRentTypeMoney.add(originalMoney));
@@ -428,7 +437,7 @@
                                                    break;
                                            }
                                            // 不需要涨租金的时间段
                                            long originalDays = ChronoUnit.DAYS.between(beforeBill.getEndTime(), tContractRentType.getChangeTime());
                                            long originalDays = ChronoUnit.DAYS.between(tBill.getStartTime(), tContractRentType.getChangeTime());
                                            if (originalDays > 0) {
                                                originalMoney = originalMoney.add(contract.getChangeRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN))
                                                        .multiply(new BigDecimal(originalDays));
@@ -481,7 +490,8 @@
                                                    break;
                                            }
                                            // 不需要涨租金的时间段
                                            long originalDays = ChronoUnit.DAYS.between(beforeBill.getEndTime(), tContractRentType.getChangeTime());
                                            long originalDays = ChronoUnit.DAYS.between(tBill.getStartTime(), tContractRentType.getChangeTime());
                                            System.err.println("不需要长租金时长"+originalDays);
                                            if (originalDays > 0) {
                                                originalMoney = originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN))
                                                        .multiply(new BigDecimal(originalDays));
@@ -571,7 +581,7 @@
                                            break;
                                    }
                                    // 不需要涨租金的时间段
                                    long originalDays = ChronoUnit.DAYS.between(beforeBill.getEndTime(), changeTime);
                                    long originalDays = ChronoUnit.DAYS.between(tBill.getStartTime(), changeTime);
                                    if (originalDays > 0) {
                                        originalMoney = originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN))
                                                .multiply(new BigDecimal(originalDays));
@@ -622,10 +632,10 @@
                                            break;
                                    }
                                    // 不需要涨租金的时间段
                                    long originalDays = ChronoUnit.DAYS.between(beforeBill.getEndTime(), tContractRentType.getChangeTime());
                                    long originalDays = ChronoUnit.DAYS.between(tBill.getStartTime(), tContractRentType.getChangeTime());
                                    if (originalDays > 0) {
                                        originalMoney = originalMoney.add(contract.getChangeRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN))
                                                .multiply(new BigDecimal(originalDays));
                                        originalMoney = originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN))
                                                .multiply(new BigDecimal(originalDays)).setScale(2,BigDecimal.ROUND_DOWN);
                                    }
                                    tBill.setPayableFeesMoney(contractRentTypeMoney.add(originalMoney));
                                    tBill.setOutstandingMoney(tBill.getPayableFeesMoney());