diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index 6a3d9227e..93c52febe 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -718,14 +718,20 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService //最后一期截止到结束日期 if(i == paycount - 1){ wxBillProperty.setEndtime(wxPropertyContract.getRentalEndDate()); - //当天也算,加1天 Date newEndDate = DateUtils.getDaySet(wxBillProperty.getEndtime(),Calendar.DATE,1); - int[] diff = DateUtils.getDiff(wxBillProperty.getStarttime(),newEndDate); - needpay = diff[0]*price; + //按日 + if(wxPropertyContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_DAY.getCode())){ + int dayCount = DateUtils.daysBetween(wxBillProperty.getStarttime(),newEndDate); + needpay = dayCount*price; + }else{ + //按月 + int[] diff = DateUtils.getDiff(wxBillProperty.getStarttime(),newEndDate); + needpay = diff[0]*price; - double oneDayProce = (double) price/DateUtils.getMonthDayCount(wxPropertyContract.getRentalEndDate()); - needpay += diff[1] * oneDayProce; + double oneDayProce = (double) price/DateUtils.getMonthDayCount(wxPropertyContract.getRentalEndDate()); + needpay += diff[1] * oneDayProce; + } } wxBillProperty.setNeedPay(needpay); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 8be2162bd..1ec66979d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1058,14 +1058,20 @@ public class WxRentContractServiceImpl implements WxRentContractService { //最后一期截止到结束日期 if(i == paycount - 1){ wxBillRent.setEndtime(wxRentContract.getRentalEndDate()); - //当天也算,加1天 Date newEndDate = DateUtils.getDaySet(wxBillRent.getEndtime(),Calendar.DATE,1); - int[] diff = DateUtils.getDiff(wxBillRent.getStarttime(),newEndDate); - needpay = diff[0]*price; + //按日 + if(wxRentContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_DAY.getCode())){ + int dayCount = DateUtils.daysBetween(wxBillRent.getStarttime(),newEndDate); + needpay = dayCount*price; + }else{ + //按月 + int[] diff = DateUtils.getDiff(wxBillRent.getStarttime(),newEndDate); + needpay = diff[0]*price; - double oneDayProce = (double) price/DateUtils.getMonthDayCount(wxRentContract.getRentalEndDate()); - needpay += diff[1] * oneDayProce; + double oneDayProce = (double) price/DateUtils.getMonthDayCount(wxRentContract.getRentalEndDate()); + needpay += diff[1] * oneDayProce; + } } wxBillRent.setNeedPay(needpay);