From ff549c023e4dc9d80c774214f6893364f5bc17e1 Mon Sep 17 00:00:00 2001 From: winter Date: Wed, 7 Aug 2024 18:32:41 +0800 Subject: [PATCH] fix --- .../impl/WxRentContractServiceImpl.java | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) 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 6f37d0730..381d9ce82 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1301,15 +1301,32 @@ public class WxRentContractServiceImpl implements WxRentContractService { operatingManageFeeNeedpayFront = operationManagerPriceArrs[index - 1]; } }else { - needpayFront = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, priceArrs[index - 1], billTimeVo.getStartDate(), DateUtils.getDaySet(endDate, Calendar.DATE, -1), i, billTimeVoList.size(), saveDb, dayType, receivePeriod); - needpayAfter = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, priceArrs[index], endDate, billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb, dayType, receivePeriod); + //endDate是每年的终止日期 00:00:00 + //billTimeVo.getEndDate()是23:59:59 + //如果此时是同一天,则不用分割 + Date yeardateEnd = DateUtils.getDayEnd(endDate); + boolean isNeddCut = true; + Date currentEnd = billTimeVo.getEndDate(); + if (billTimeVo.getEndDate().equals(yeardateEnd) || billTimeVo.getEndDate().before(yeardateEnd)) { + isNeddCut = false; + }else { + currentEnd = yeardateEnd; + } + needpayFront = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, priceArrs[index - 1], billTimeVo.getStartDate(), currentEnd, i, billTimeVoList.size(), saveDb, dayType, receivePeriod); + if (isNeddCut) { + needpayAfter = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, priceArrs[index], DateUtils.getDaySet(currentEnd, Calendar.SECOND, 1), billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb, dayType, receivePeriod); + } if (null != bussinessManagerPriceArrs && bussinessManagerPriceArrs.length > 0) { - bussinessManageFeeNeedpayFront = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, bussinessManagerPriceArrs[index - 1], billTimeVo.getStartDate(), DateUtils.getDaySet(endDate, Calendar.DATE, -1), i, billTimeVoList.size(), saveDb, dayType, receivePeriod); - bussinessManageFeeNeedpayAfter = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, bussinessManagerPriceArrs[index], endDate, billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb, dayType, receivePeriod); + bussinessManageFeeNeedpayFront = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, bussinessManagerPriceArrs[index - 1], billTimeVo.getStartDate(), currentEnd, i, billTimeVoList.size(), saveDb, dayType, receivePeriod); + if (isNeddCut) { + bussinessManageFeeNeedpayAfter = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, bussinessManagerPriceArrs[index], DateUtils.getDaySet(currentEnd, Calendar.SECOND, 1), billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb, dayType, receivePeriod); + } } if (null != operationManagerPriceArrs && operationManagerPriceArrs.length > 0) { - operatingManageFeeNeedpayFront = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, operationManagerPriceArrs[index - 1], billTimeVo.getStartDate(), DateUtils.getDaySet(endDate, Calendar.DATE, -1), i, billTimeVoList.size(), saveDb, dayType, receivePeriod); - operatingManageFeeNeedpayAfter = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, operationManagerPriceArrs[index], endDate, billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb, dayType, receivePeriod); + operatingManageFeeNeedpayFront = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, operationManagerPriceArrs[index - 1], billTimeVo.getStartDate(), currentEnd, i, billTimeVoList.size(), saveDb, dayType, receivePeriod); + if (isNeddCut) { + operatingManageFeeNeedpayAfter = WxRentContractHelper.getNeedPayMoney(freePeriods,wxRentContract, operationManagerPriceArrs[index], DateUtils.getDaySet(currentEnd, Calendar.SECOND, 1), billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb, dayType, receivePeriod); + } } } }else{