| | |
| | | curEndTimeCalender.setTime(rateStartTime); |
| | | curEndTimeCalender.add(Calendar.MONTH, new Double(curCycle).intValue()); |
| | | curEndTime = curEndTimeCalender.getTime(); |
| | | if (curCycle > rateMonth) { |
| | | if (curCycle >= rateMonth) { |
| | | //不足增长周期增长率 |
| | | rateDec = new BigDecimal(curOweMonth / rateCycle - Math.floor(curOweMonth / rateCycle)).multiply(rateDec).setScale(FeeConfigConstant.FEE_SCALE, BigDecimal.ROUND_HALF_UP); |
| | | lastRateAmountDec = new BigDecimal(curOweMonth / rateCycle - Math.floor(curOweMonth / rateCycle)).multiply(preCycleAmount).setScale(FeeConfigConstant.FEE_SCALE, BigDecimal.ROUND_HALF_UP); |
| | |
| | | //本期金额 |
| | | curAmount = rateDec.add(preCycleAmount);// 增长部分 + 上本期费用 |
| | | //如果计费起始时间 大于 递增开始时间 那么本轮 不计入 |
| | | if (feeDto.getEndTime().getTime() <= curEndTime.getTime()) { |
| | | if (feeDto.getEndTime().getTime() < curEndTime.getTime()) { |
| | | addTotalAmount = addTotalAmount.add(curAmount); // 计入总的 费用中 |
| | | } |
| | | preCycleAmount = curAmount; |