| | |
| | | } |
| | | if (tContractRentType != null && rentBill.getEndTime().isAfter(tContractRentType.getChangeTime())) { |
| | | long moneyDays = 0; |
| | | moneyDays = ChronoUnit.DAYS.between(tContractRentType.getChangeTime(), rentBill.getEndTime()); |
| | | moneyDays = ChronoUnit.DAYS.between(tContractRentType.getChangeTime(), rentBill.getEndTime())+1; |
| | | // 计算租金变动的天数 |
| | | contract.setChangeTime(tContractRentType.getChangeTime()); |
| | | // 递增递减的租金 |
| | |
| | | break; |
| | | } |
| | | // 不需要涨租金的时间段 |
| | | long originalDays = Math.abs(ChronoUnit.DAYS.between(contract.getFirstPayTime(), tContractRentType.getChangeTime())); |
| | | long originalDays = Math.abs(ChronoUnit.DAYS.between(contract.getFirstPayTime(), tContractRentType.getChangeTime()))+1; |
| | | originalMoney = originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN)) |
| | | .multiply(new BigDecimal(originalDays)); |
| | | rentBill.setPayableFeesMoney(contractRentTypeMoney.add(originalMoney)); |
| | | rentBill.setOutstandingMoney(rentBill.getPayableFeesMoney()); |
| | | } else { |
| | | // 不走递增递减 |
| | | long allDays = ChronoUnit.DAYS.between(contract.getStartPayTime(), rentBill.getEndTime()); |
| | | long allDays = ChronoUnit.DAYS.between(contract.getStartPayTime(), rentBill.getEndTime())+1; |
| | | int dayOfMonth = rentBill.getStartTime().getDayOfMonth(); |
| | | if (dayOfMonth == 1) { |
| | | rentBill.setPayableFeesMoney(contract.getMonthRent().multiply(new BigDecimal(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12))); |
| | |
| | | if (changeTime.isBefore(tBill.getEndTime()) && changeTime.isAfter(tBill.getStartTime())) { |
| | | contract.setChangeTime(changeTime); |
| | | // 租金递增递减的时长 天 |
| | | long moneyDays = Math.abs(ChronoUnit.DAYS.between(tContractRentType.getChangeTime(), tBill.getEndTime())); |
| | | long moneyDays = Math.abs(ChronoUnit.DAYS.between(tContractRentType.getChangeTime(), tBill.getEndTime()))+1; |
| | | // 递增递减的租金 |
| | | BigDecimal contractRentTypeMoney = new BigDecimal("0"); |
| | | // 不递增递减的租金 |
| | |
| | | System.err.println("首次递增递减"); |
| | | contract.setChangeTime(tContractRentType.getChangeTime()); |
| | | // 租金递增递减的时长 天 |
| | | long moneyDays = Math.abs(ChronoUnit.DAYS.between(tContractRentType.getChangeTime(), tBill.getEndTime())); |
| | | long moneyDays = Math.abs(ChronoUnit.DAYS.between(tContractRentType.getChangeTime(), tBill.getEndTime()))+1; |
| | | // 递增递减的租金 |
| | | BigDecimal contractRentTypeMoney = new BigDecimal("0"); |
| | | // 不递增递减的租金 |
| | |
| | | if (changeTime.isBefore(tBill.getEndTime()) && changeTime.isAfter(tBill.getStartTime())) { |
| | | contract.setChangeTime(changeTime); |
| | | // 租金递增递减的时长 天 |
| | | long moneyDays = Math.abs(ChronoUnit.DAYS.between(changeTime, tBill.getEndTime())); |
| | | long moneyDays = Math.abs(ChronoUnit.DAYS.between(changeTime, tBill.getEndTime()))+1; |
| | | // 递增递减的租金 |
| | | BigDecimal contractRentTypeMoney = new BigDecimal("0"); |
| | | // 不递增递减的租金 |
| | |
| | | if (tContractRentType.getChangeTime().isBefore(tBill.getEndTime()) && tContractRentType.getChangeTime().isAfter(tBill.getStartTime())) { |
| | | contract.setChangeTime(tContractRentType.getChangeTime()); |
| | | // 租金递增递减的时长 天 |
| | | long moneyDays = Math.abs(ChronoUnit.DAYS.between(tContractRentType.getChangeTime(), tBill.getEndTime())); |
| | | long moneyDays = Math.abs(ChronoUnit.DAYS.between(tContractRentType.getChangeTime(), tBill.getEndTime()))+1; |
| | | // 递增递减的租金 |
| | | BigDecimal contractRentTypeMoney = new BigDecimal("0"); |
| | | // 不递增递减的租金 |