diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java index bb1ddcd95..2efe24907 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java @@ -468,41 +468,24 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { shopNumber = contract.getShopName(); } EnumRentContractAgilPriceUnit itemPriceUnit = EnumRentContractAgilPriceUnit.getEnum(item.getPriceUnit()); - //根据每一个的开始日期,结束日期来生成账单 - List timeVoList = WxRentContractAgileHelper.initBillTimeList(yearsBeginList, item.getBeginTime(), item.getEndTime(), creatRule, timeUnit, unDeposit.getTimePeriod(), unDeposit.getCalcuteTime()); - for (int j = 0 ; j < timeVoList.size() ; j ++) { - BillTimeVo timeVo = timeVoList.get(j); + //如果是租赁期,则不按周期生成费用。 + if (timeUnit == EnumRentContractAgilTimeUnit.RENT_PERIOD) { String needpay = WxRentContractAgileHelper.getNeedPayMoney(null, contract.getDecimalSize(), itemPriceUnit,item.getPrice(), item.getRentArea(), - timeVo.getStartDate(), timeVo.getEndDate(), dayPriceCalcute, contract.getMonthAverageDays(), unDeposit.getTimePeriod(), timeUnit); - WxAllBill wxBillRent = new WxAllBill(); - wxBillRent.setIsPreview(EnumYesOrNo.YES.getCode()); - wxBillRent.setId(idWorker.nextId()); - wxBillRent.setRentContractId(unDeposit.getRentContractId()); - wxBillRent.setRentContractAgileFeesType(EnumRentContractAgileFeesType.UN_DEPOSIT.getCode()); - wxBillRent.setEnergyFeesId(fees.getId()); - wxBillRent.setBillType(fees.getBillType()); - wxBillRent.setPay("0"); - wxBillRent.setStarttime(timeVo.getStartDate()); - wxBillRent.setEndtime(timeVo.getEndDate()); - wxBillRent.setReceiveDate(timeVo.getReceiveDate()); - wxBillRent.setPeriod(WxRentContractHelper.getPeriod(timeVo.getReceiveDate())); - wxBillRent.setCanEdit(EnumYesOrNo.NO.getCode());; - wxBillRent.setNeedPay(needpay); - wxBillRent.setReceivePay(needpay); - //截止收租日在当前时间之前 - Date date = new Date(); - wxBillRent.updateTenantInfo(unDeposit); - wxBillRent.setMerchantId(unDeposit.getMerchantId()); - wxBillRent.setShopId(item.getShopId()); - wxBillRent.setShopNumber(shopNumber); - wxBillRent.setRentArea(item.getRentArea()); - wxBillRent.setCreatetime(date); - wxBillRent.setCreateBy(user.getId()); - wxBillRent.setCreateByName(user.getName()); - wxBillRent.setUpdatetime(date); - wxBillRent.setUpdateBy(user.getId()); - wxBillRent.setUpdateByName(user.getName());; + item.getBeginTime(), item.getEndTime(), dayPriceCalcute, contract.getMonthAverageDays(), unDeposit.getTimePeriod(), timeUnit); + WxAllBill wxBillRent = generateUnDepositBill(idWorker,unDeposit,fees,item.getBeginTime(), + item.getEndTime(),item.getBeginTime(),needpay,item,shopNumber,user); insertList.add(wxBillRent); + }else { + //根据每一个的开始日期,结束日期来生成账单 + List timeVoList = WxRentContractAgileHelper.initBillTimeList(yearsBeginList, item.getBeginTime(), item.getEndTime(), creatRule, timeUnit, unDeposit.getTimePeriod(), unDeposit.getCalcuteTime()); + for (int j = 0 ; j < timeVoList.size() ; j ++) { + BillTimeVo timeVo = timeVoList.get(j); + String needpay = WxRentContractAgileHelper.getNeedPayMoney(null, contract.getDecimalSize(), itemPriceUnit,item.getPrice(), item.getRentArea(), + timeVo.getStartDate(), timeVo.getEndDate(), dayPriceCalcute, contract.getMonthAverageDays(), unDeposit.getTimePeriod(), timeUnit); + WxAllBill wxBillRent = generateUnDepositBill(idWorker,unDeposit,fees,timeVo.getStartDate(), + timeVo.getEndDate(),timeVo.getReceiveDate(),needpay,item,shopNumber,user); + insertList.add(wxBillRent); + } } } } @@ -517,4 +500,37 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { } } + private WxAllBill generateUnDepositBill(final IdWorker idWorker,WxRentContractAgileUnDeposit unDeposit,WxEnergyFees fees, + Date start,Date end,Date receiveDate,String needpay,WxRentContractAgileUnDepositItem item,String shopNumber,MallUserInfo user) { + WxAllBill wxBillRent = new WxAllBill(); + wxBillRent.setIsPreview(EnumYesOrNo.YES.getCode()); + wxBillRent.setId(idWorker.nextId()); + wxBillRent.setRentContractId(unDeposit.getRentContractId()); + wxBillRent.setRentContractAgileFeesType(EnumRentContractAgileFeesType.UN_DEPOSIT.getCode()); + wxBillRent.setEnergyFeesId(fees.getId()); + wxBillRent.setBillType(fees.getBillType()); + wxBillRent.setPay("0"); + wxBillRent.setStarttime(start); + wxBillRent.setEndtime(end); + wxBillRent.setReceiveDate(receiveDate); + wxBillRent.setPeriod(WxRentContractHelper.getPeriod(receiveDate)); + wxBillRent.setCanEdit(EnumYesOrNo.NO.getCode());; + wxBillRent.setNeedPay(needpay); + wxBillRent.setReceivePay(needpay); + //截止收租日在当前时间之前 + Date date = new Date(); + wxBillRent.updateTenantInfo(unDeposit); + wxBillRent.setMerchantId(unDeposit.getMerchantId()); + wxBillRent.setShopId(item.getShopId()); + wxBillRent.setShopNumber(shopNumber); + wxBillRent.setRentArea(item.getRentArea()); + wxBillRent.setCreatetime(date); + wxBillRent.setCreateBy(user.getId()); + wxBillRent.setCreateByName(user.getName()); + wxBillRent.setUpdatetime(date); + wxBillRent.setUpdateBy(user.getId()); + wxBillRent.setUpdateByName(user.getName()); + return wxBillRent; + } + }