From cc8179b063fea8121851ba49c5310b23270099ea Mon Sep 17 00:00:00 2001 From: luozukai Date: Thu, 8 Aug 2019 15:40:37 +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=E9=A2=84=E8=B4=A6=E5=8D=95=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E9=80=BB=E8=BE=91]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/WxPropertyContractServiceImpl.java | 34 +++++++++-------- .../impl/WxRentContractServiceImpl.java | 38 +++++++++---------- 2 files changed, 38 insertions(+), 34 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 64c913c29..fae6dae09 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -647,24 +647,28 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService //logger.info("=====billTimeVo.getStartDate():"+sd.format(billTimeVo.getStartDate())+" endDate:"+sd.format(endDate)); index++; - if(index >= yearList.size()-1){ - endDate = null; - }else{ - //如果是计算账单金额&cross 拆分日期进行计算 - if(!saveDb && billTimeVo.getEndDate().after(endDate)) { - long needpayFront = 0; - long needpayAfter = 0; - //同一天,算一天 - if(sd.format(billTimeVo.getStartDate()).equals(sd.format(billTimeVo.getEndDate()))){ - needpayFront = getNeedPayMoney(wxPropertyContract,priceArrs[index-1],billTimeVo.getStartDate(),endDate,i,billTimeVoList.size(),saveDb); + + //如果是计算账单金额&cross 拆分日期进行计算 + if(!saveDb && billTimeVo.getEndDate().after(endDate)) { + long needpayFront = 0; + long needpayAfter = 0; + //同一天,算一天 + if(sd.format(billTimeVo.getStartDate()).equals(sd.format(billTimeVo.getEndDate()))){ + needpayFront = getNeedPayMoney(wxPropertyContract,priceArrs[index-1],billTimeVo.getStartDate(),endDate,i,billTimeVoList.size(),saveDb); + }else{ + if(billTimeVo.getStartDate().before(endDate)){ + needpayFront = getNeedPayMoney(wxPropertyContract, priceArrs[index - 1], billTimeVo.getStartDate(), DateUtils.getDaySet(endDate,Calendar.DATE,-1), i, billTimeVoList.size(), saveDb); + needpayAfter = getNeedPayMoney(wxPropertyContract, priceArrs[index], endDate, billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb); }else{ - needpayFront = getNeedPayMoney(wxPropertyContract,priceArrs[index-1],billTimeVo.getStartDate(),endDate,i,billTimeVoList.size(),saveDb); - needpayAfter = getNeedPayMoney(wxPropertyContract,priceArrs[index],endDate,billTimeVo.getEndDate(),i,billTimeVoList.size(),saveDb); + needpayFront = getNeedPayMoney(wxPropertyContract, priceArrs[index], billTimeVo.getStartDate(), billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb); } - needpay = needpayFront+needpayAfter; - flag = true; } - + needpay = needpayFront+needpayAfter; + flag = true; + } + if(index >= yearList.size()-1){ + endDate = null; + }else{ endDate = yearList.get(index+1);//price index 0开始,year.end 从第二年开始 //logger.info("==========cross:"+sd.format(endDate)); } 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 f4cda8138..aa74cdd71 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1040,28 +1040,28 @@ public class WxRentContractServiceImpl implements WxRentContractService { //logger.info("=====billTimeVo.getStartDate():"+sd.format(billTimeVo.getStartDate())+" endDate:"+sd.format(endDate)); index++; - if(index >= yearList.size()-1){ - endDate = null; - }else{ - //如果是计算账单金额&cross 拆分日期进行计算 - if(!saveDb && billTimeVo.getEndDate().after(endDate)) { - long needpayFront = 0; - long needpayAfter = 0; - //同一天,算一天 - if(sd.format(billTimeVo.getStartDate()).equals(sd.format(billTimeVo.getEndDate()))){ - needpayFront = getNeedPayMoney(wxRentContract,priceArrs[index-1],billTimeVo.getStartDate(),endDate,i,billTimeVoList.size(),saveDb); + + //如果是计算账单金额&cross 拆分日期进行计算 + if(!saveDb && billTimeVo.getEndDate().after(endDate)) { + long needpayFront = 0; + long needpayAfter = 0; + //同一天,算一天 + if(sd.format(billTimeVo.getStartDate()).equals(sd.format(billTimeVo.getEndDate()))){ + needpayFront = getNeedPayMoney(wxRentContract,priceArrs[index-1],billTimeVo.getStartDate(),endDate,i,billTimeVoList.size(),saveDb); + }else{ + if(billTimeVo.getStartDate().before(endDate)){ + needpayFront = getNeedPayMoney(wxRentContract, priceArrs[index - 1], billTimeVo.getStartDate(), DateUtils.getDaySet(endDate,Calendar.DATE,-1), i, billTimeVoList.size(), saveDb); + needpayAfter = getNeedPayMoney(wxRentContract, priceArrs[index], endDate, billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb); }else{ - if(billTimeVo.getStartDate().before(endDate)){ - needpayFront = getNeedPayMoney(wxRentContract, priceArrs[index - 1], billTimeVo.getStartDate(), DateUtils.getDaySet(endDate,Calendar.DATE,-1), i, billTimeVoList.size(), saveDb); - needpayAfter = getNeedPayMoney(wxRentContract, priceArrs[index], endDate, billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb); - }else{ - needpayFront = getNeedPayMoney(wxRentContract, priceArrs[index], billTimeVo.getStartDate(), billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb); - } + needpayFront = getNeedPayMoney(wxRentContract, priceArrs[index], billTimeVo.getStartDate(), billTimeVo.getEndDate(), i, billTimeVoList.size(), saveDb); } - needpay = needpayFront+needpayAfter; - flag = true; } - + needpay = needpayFront+needpayAfter; + flag = true; + } + if(index >= yearList.size()-1){ + endDate = null; + }else{ endDate = yearList.get(index+1);//price index 0开始,year.end 从第二年开始 //logger.info("==========cross:"+sd.format(endDate)); }