Просмотр исходного кода

优化一次性费用出错问题

wuxw 1 год назад
Родитель
Сommit
f283fb0f36

+ 5 - 5
service-fee/src/main/java/com/java110/fee/feeMonth/PayFeeMonthHelp.java

@@ -241,16 +241,16 @@ public class PayFeeMonthHelp implements IPayFeeMonthHelp {
         calendar.setTime(startMonthDayTime);
         curMonthMaxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
         // todo 如果不是整月,则转换为按天计算
-        if (curDay != curMonthMaxDay) {
+//        if (curDay != curMonthMaxDay) {
             //todo 周期性费用 日应收重新算
             if (!FeeDto.FEE_FLAG_ONCE.equals(feeDto.getFeeFlag())) {
-                dayReceivableAmount = receivableAmount.divide(new BigDecimal(curMonthMaxDay), 4, BigDecimal.ROUND_HALF_UP);// 日 实收
+                dayReceivableAmount = receivableAmount.divide(new BigDecimal(curMonthMaxDay), 8, BigDecimal.ROUND_HALF_UP);// 日 实收
             }
             // todo 计算 应收
             curMonthReceivableAmount = new BigDecimal(curDay).multiply(dayReceivableAmount).setScale(4, BigDecimal.ROUND_HALF_UP);
-        } else { // todo 如果是整月 那就按月计算,以免 转换成天再 乘以天数后的误差
-            curMonthReceivableAmount = receivableAmount;
-        }
+//        } else { // todo 如果是整月 那就按月计算,以免 转换成天再 乘以天数后的误差
+//            curMonthReceivableAmount = receivableAmount;
+//        }
         // todo 保存数据到pay_fee_detail_month
         toSavePayFeeDetailMonth(curMonthReceivableAmount.doubleValue(), 0, null, feeDto, payFeeMonthOwnerDto, payFeeDetailMonthPos, startMonthDayTime, deadlineTime);
         payFeeDetailMonthInnerServiceSMOImpl.savePayFeeDetailMonths(payFeeDetailMonthPos);