From 88e5ef38e599b759570bffe305c0f1eb25f55871 Mon Sep 17 00:00:00 2001 From: luozukai Date: Wed, 17 Jul 2019 17:04:42 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=90=88=E5=90=8C][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=88=E5=90=8C=E9=87=91=E9=A2=9D=E4=B8=8D?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/WxPropertyContractServiceImpl.java | 8 +++++++- .../service/impl/WxRentContractServiceImpl.java | 16 +++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) 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 dfb5ecf37..70cdf9382 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -662,7 +662,13 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService SimpleDateFormat sdM = new SimpleDateFormat("yyyy-MM"); if(i == billTimeVoList.size()-1){//最后 - needpay = new Double(WxRentContractServiceImpl.getMonthNeedPay(priceD,billTimeVo.getStartDate(),billTimeVo.getEndDate())).longValue(); + if(isFirstDay(billTimeVo.getStartDate())){ + int months = WxRentContractServiceImpl.getMonths(sdM.format(billTimeVo.getStartDate())+"-01",sdM.format(billTimeVo.getEndDate())+"-01"); + months++; + needpay = new Double(months * priceD).longValue(); + }else { + needpay = new Double(WxRentContractServiceImpl.getMonthNeedPay(priceD,billTimeVo.getStartDate(),billTimeVo.getEndDate())).longValue(); + } }else if(i == 0){//第一期 if(wxPropertyContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_NAR_MONTH.getCode())){ if(isFirstDay(billTimeVo.getStartDate())){ 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 12d29b53b..1d71433a0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1059,7 +1059,13 @@ public class WxRentContractServiceImpl implements WxRentContractService { SimpleDateFormat sdM = new SimpleDateFormat("yyyy-MM"); if(i == billTimeVoList.size()-1){//最后 - needpay = new Double(getMonthNeedPay(priceD,billTimeVo.getStartDate(),billTimeVo.getEndDate())).longValue(); + if(isFirstDay(billTimeVo.getStartDate())){ + int months = getMonths(sdM.format(billTimeVo.getStartDate())+"-01",sdM.format(billTimeVo.getEndDate())+"-01"); + months++; + needpay = new Double(months * priceD).longValue(); + }else { + needpay = new Double(getMonthNeedPay(priceD, billTimeVo.getStartDate(), billTimeVo.getEndDate())).longValue(); + } }else if(i == 0){//第一期 if(wxRentContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_NAR_MONTH.getCode())){ if(isFirstDay(billTimeVo.getStartDate())){ @@ -1998,6 +2004,14 @@ public class WxRentContractServiceImpl implements WxRentContractService { return total; } + public static void main(String[] args) throws Exception{ + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); + int[] a= DateUtils.getDiff(sd.parse("2020-11-01"),sd.parse("2021-04-30")); + System.out.println(a[0]); + System.out.println(a[1]); + } + + /** * 按日计租 根据每月的日期总数计算needpay * @param monthPrice