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 c26d7ee09..fe5ceac85 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -683,14 +683,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { List shopIds = record.shopIdsByRentInfo(); List billList = new ArrayList(); for (WxBillRent _bi:record.getPreviewBillRentList()) { - WxBillRentManage bill = new WxBillRentManage(); - bill.initByBillRent(_bi); - bill.setId(idWorker.nextId()); - Date date = new Date(); - bill.setRentContractId(record.getId()); - bill.setCreatetime(date); - bill.updateTenantInfo(record); - bill.setManageFeeType(feeType.getCode()); Long needPay = 0L; if (feeType.getCode() == EnumRentContractManageFeeType.RENT_BUSSINESS_MANAGE_FEE.getCode()) { if (null != _bi.getBussinessManageFeeNeedPay()) { @@ -701,6 +693,17 @@ public class WxRentContractServiceImpl implements WxRentContractService { needPay = _bi.getOperatingManageFeeNeedPay(); } } + if (needPay <= 0) { + continue; + } + WxBillRentManage bill = new WxBillRentManage(); + bill.initByBillRent(_bi); + bill.setId(idWorker.nextId()); + Date date = new Date(); + bill.setRentContractId(record.getId()); + bill.setCreatetime(date); + bill.updateTenantInfo(record); + bill.setManageFeeType(feeType.getCode()); bill.setNeedPay(needPay); bill.setReceivePay(needPay); bill.setUpdatetime(date); @@ -1519,7 +1522,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { //计算金额 if(!flag){ needpay = WxRentContractHelper.getNeedPayMoney(wxRentContract, priceArrs[index],billTimeVo.getStartDate(), billTimeVo.getEndDate(), i, billTimeVoList.size(),saveDb,dayType,receivePeriod,false,false); - if (null != bussinessManagerPriceArrs && bussinessManagerPriceArrs.length > 0) { + if (null != bussinessManagerPriceArrs && bussinessManagerPriceArrs.length > 0 ) { bussinessManageFeeNeedpay = WxRentContractHelper.getNeedPayMoney(wxRentContract, bussinessManagerPriceArrs[index],billTimeVo.getStartDate(), billTimeVo.getEndDate(), i, billTimeVoList.size(),saveDb,dayType,receivePeriod,false,false); } if (null != operationManagerPriceArrs && operationManagerPriceArrs.length > 0) { @@ -1571,15 +1574,21 @@ public class WxRentContractServiceImpl implements WxRentContractService { //商业管理费账单 - manageList.add(setManageRent(wxBillRent,EnumRentContractManageFeeType.RENT_BUSSINESS_MANAGE_FEE,bussinessManageFeeNeedpay,wxPayAccountBill.getServiceChargeRate(),dayType,receivePeriod)); + if (null != bussinessManagerPriceArrs && bussinessManagerPriceArrs.length > 0 && bussinessManageFeeNeedpay > 0) { + manageList.add(setManageRent(wxBillRent,EnumRentContractManageFeeType.RENT_BUSSINESS_MANAGE_FEE,bussinessManageFeeNeedpay,wxPayAccountBill.getServiceChargeRate(),dayType,receivePeriod)); + } //营业管理费账单 - manageList.add(setManageRent(wxBillRent,EnumRentContractManageFeeType.RENT_OPERATING_MANAGE_FEE,operatingManageFeeNeedpay,wxPayAccountBill.getServiceChargeRate(),dayType,receivePeriod)); + if (null != operationManagerPriceArrs && operationManagerPriceArrs.length > 0 && operatingManageFeeNeedpay > 0 ) { + manageList.add(setManageRent(wxBillRent,EnumRentContractManageFeeType.RENT_OPERATING_MANAGE_FEE,operatingManageFeeNeedpay,wxPayAccountBill.getServiceChargeRate(),dayType,receivePeriod)); + } } //批量插入账单 if(saveDb) { wxBillRentMapper.insertBills(resultList); - wxBillRentManageMapper.insertBills(manageList); + if (manageList.size() > 0 ) { + wxBillRentManageMapper.insertBills(manageList); + } } resultMap.put("billcount",billcount); resultMap.put("billList",resultList);