|
|
|
@@ -1443,6 +1443,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
Map<String,Object> resultMap = new HashedMap(); |
|
|
|
List<WxBillRent> resultList = new ArrayList<>(); |
|
|
|
List<WxBillRentManage> manageList = new ArrayList<WxBillRentManage>(); |
|
|
|
final IdWorker idWorker = IdWorker.get(); |
|
|
|
|
|
|
|
Date endDate = null;//每年的截止日期 |
|
|
|
@@ -1604,7 +1605,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
setExpiredDay(wxBillRent,dayType,receivePeriod); |
|
|
|
wxBillRent.setRevenue(0L); |
|
|
|
wxBillRent.updateTenantInfo(wxRentContract); |
|
|
|
wxBillRent.setIsDel(0); |
|
|
|
wxBillRent.setMerchantId(wxRentContract.getMerchantId()); |
|
|
|
wxBillRent.setUserId(userId); |
|
|
|
if (null != wxRentContract.shopIdsByRentInfo() && wxRentContract.shopIdsByRentInfo().size() == 1) { |
|
|
|
@@ -1623,16 +1623,41 @@ public class WxRentContractServiceImpl implements WxRentContractService { |
|
|
|
wxBillRent.setServiceChargePay(servicePay.intValue()); |
|
|
|
wxBillRent.setOwe(wxBillRent.getReceivePay() + wxBillRent.getServiceChargePay()); |
|
|
|
resultList.add(wxBillRent); |
|
|
|
|
|
|
|
|
|
|
|
//商业管理费账单 |
|
|
|
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(saveDb) { |
|
|
|
wxBillRentMapper.insertBills(resultList); |
|
|
|
wxBillRentManageMapper.insertBills(manageList); |
|
|
|
} |
|
|
|
resultMap.put("billcount",billcount); |
|
|
|
resultMap.put("billList",resultList); |
|
|
|
return resultMap; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private WxBillRentManage setManageRent(WxBillRent wxBillRent,EnumRentContractManageFeeType feeType,Long needPay,Integer serviceChargeRate,int dayType,int receivePeriod) { |
|
|
|
WxBillRentManage manage = new WxBillRentManage(); |
|
|
|
manage.initByBillRent(wxBillRent); |
|
|
|
final IdWorker idWorker = IdWorker.get(); |
|
|
|
wxBillRent.setId(idWorker.nextId()); |
|
|
|
manage.setManageFeeType(feeType.getCode()); |
|
|
|
manage.setNeedPay(needPay); |
|
|
|
manage.setReceivePay(needPay); |
|
|
|
manage.setOwe(needPay); |
|
|
|
setManageExpiredDay(manage,dayType,receivePeriod); |
|
|
|
//计算手续费 |
|
|
|
BigDecimal servicePay = new BigDecimal(needPay).multiply(new BigDecimal(serviceChargeRate)).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); |
|
|
|
manage.setServiceChargePay(servicePay.intValue()); |
|
|
|
manage.setOwe(needPay + manage.getServiceChargePay()); |
|
|
|
return manage; |
|
|
|
} |
|
|
|
|
|
|
|
public void setExpiredDay(WxBillRent wxBillRent,int dayType, int receivePeriod){ |
|
|
|
//截止收租日在当前时间之前 |
|
|
|
|