|
|
|
@@ -2625,9 +2625,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
int[] diffs = DateUtils.getDiff(startDate, realEndStart);
|
|
|
|
if (diffs[0] <= 0 ) {
|
|
|
|
if (rentcontract.getDayPriceCalcute().intValue() == EnumRentDayPriceCalcute.AVERAGE_DAYS.getCode()) {
|
|
|
|
sales = sales.multiply(new BigDecimal(validDates.size())).divide(new BigDecimal(30));
|
|
|
|
sales = sales.multiply(new BigDecimal(validDates.size())).divide(new BigDecimal(30),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP);
|
|
|
|
}else {
|
|
|
|
sales = sales.multiply(new BigDecimal(validDates.size())).divide(new BigDecimal(allDays));
|
|
|
|
sales = sales.multiply(new BigDecimal(validDates.size())).divide(new BigDecimal(allDays),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP);
|
|
|
|
}
|
|
|
|
}else {
|
|
|
|
Date preextraStartDay = DateUtils.getTimeAfterMonths(diffs[0], startDate);
|
|
|
|
@@ -2635,9 +2635,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
int predays = DateUtils.daysBetween(preextraStartDay, extraStartDayMonthEnd)+1;
|
|
|
|
if (rentcontract.getDayPriceCalcute().intValue() == EnumRentDayPriceCalcute.AVERAGE_DAYS.getCode()) {
|
|
|
|
BigDecimal days = new BigDecimal(diffs[0]).multiply(new BigDecimal(30)).add(new BigDecimal(predays));
|
|
|
|
sales = sales.multiply(new BigDecimal(validDates.size())).divide(days);
|
|
|
|
sales = sales.multiply(new BigDecimal(validDates.size())).divide(days,Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP);
|
|
|
|
}else {
|
|
|
|
sales = sales.multiply(new BigDecimal(validDates.size())).divide(new BigDecimal(allDays));
|
|
|
|
sales = sales.multiply(new BigDecimal(validDates.size())).divide(new BigDecimal(allDays),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|