| @@ -37,6 +37,9 @@ public class WxMerchantServiceImpl implements WxMerchantService { | |||
| @Autowired | |||
| WxRentContractMapper wxRentContractMapper; | |||
| @Autowired | |||
| WxBillRentMapper wxBillRentMapper; | |||
| @Override | |||
| public PageInfo<WxMerchant> listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize) { | |||
| @@ -296,31 +299,135 @@ public class WxMerchantServiceImpl implements WxMerchantService { | |||
| } | |||
| private void buildRent(WxRentContract wxRentContract) { | |||
| private void buildRent(WxRentContract wxRentContract,WxShop wxshop) { | |||
| Date rentalStartDate = wxRentContract.getRentalStartDate(); | |||
| Date rentalEndDate = wxRentContract.getRentalEndDate(); | |||
| Integer receivePeriod = wxRentContract.getReceivePeriod(); | |||
| int paycount = 12 / receivePeriod.intValue(); | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| if(paycount==1){//12 | |||
| Calendar instance = Calendar.getInstance(); | |||
| instance.setTime(rentalStartDate); | |||
| instance.set(Calendar.MONTH,1); | |||
| WxBillRent wxBillRent = new WxBillRent(); | |||
| wxBillRent.setId(idWorker.nextId()); | |||
| wxBillRent.setPayStatus(0); | |||
| wxBillRent.setPay(new BigDecimal(0)); | |||
| wxBillRent.setTenantId(wxshop.getTenantId()); | |||
| BigDecimal needpay = wxRentContract.getPayArea().multiply(wxRentContract.getPrice()); | |||
| wxBillRent.setNeedPay(needpay); | |||
| wxBillRent.setExpiredDay(0); | |||
| wxBillRent.setOwe(new BigDecimal(0)); | |||
| wxBillRent.setPayDate(rentalStartDate); | |||
| wxBillRent.setPayWay(4); | |||
| wxBillRent.setPrice(wxRentContract.getPrice()); | |||
| wxBillRent.setReceiptNum(""); | |||
| wxBillRent.setReceiveDate(rentalStartDate); | |||
| wxBillRent.setReceivePay(new BigDecimal(0)); | |||
| wxBillRent.setReceivePeriod(receivePeriod); | |||
| wxBillRent.setUserArea(new BigDecimal(wxshop.getOperationArea())); | |||
| wxBillRent.setShopNumber(wxshop.getShopNumber()); | |||
| wxBillRent.setCreatetime(new Date()); | |||
| wxBillRentMapper.insertSelective(wxBillRent); | |||
| } | |||
| if(paycount==2){//6 | |||
| BigDecimal needpay = wxRentContract.getPayArea().multiply(wxRentContract.getPrice()); | |||
| BigDecimal needpaymoney = needpay.divide(new BigDecimal(2)).setScale(2, BigDecimal.ROUND_HALF_UP); | |||
| for(int i=0;i<paycount;i++){ | |||
| Calendar instance = Calendar.getInstance(); | |||
| instance.setTime(rentalStartDate); | |||
| instance.add(Calendar.MONTH,i); | |||
| rentalStartDate=instance.getTime(); | |||
| WxBillRent wxBillRent = new WxBillRent(); | |||
| wxBillRent.setId(idWorker.nextId()); | |||
| wxBillRent.setPayStatus(0); | |||
| wxBillRent.setPay(new BigDecimal(0)); | |||
| wxBillRent.setTenantId(wxshop.getTenantId()); | |||
| wxBillRent.setNeedPay(needpaymoney); | |||
| wxBillRent.setExpiredDay(0); | |||
| wxBillRent.setOwe(new BigDecimal(0)); | |||
| wxBillRent.setPayDate(rentalStartDate); | |||
| wxBillRent.setPayWay(4); | |||
| wxBillRent.setPrice(wxRentContract.getPrice()); | |||
| wxBillRent.setReceiptNum(""); | |||
| wxBillRent.setReceiveDate(rentalStartDate); | |||
| wxBillRent.setReceivePay(new BigDecimal(0)); | |||
| wxBillRent.setReceivePeriod(receivePeriod); | |||
| wxBillRent.setUserArea(new BigDecimal(wxshop.getOperationArea())); | |||
| wxBillRent.setShopNumber(wxshop.getShopNumber()); | |||
| wxBillRent.setCreatetime(new Date()); | |||
| wxBillRentMapper.insertSelective(wxBillRent); | |||
| } | |||
| } | |||
| if(paycount==4){//3 | |||
| BigDecimal needpay = wxRentContract.getPayArea().multiply(wxRentContract.getPrice()); | |||
| BigDecimal needpaymoney = needpay.divide(new BigDecimal(2)).setScale(2, BigDecimal.ROUND_HALF_UP); | |||
| for(int i=0;i<paycount;i++) { | |||
| Calendar instance = Calendar.getInstance(); | |||
| instance.setTime(rentalStartDate); | |||
| instance.add(Calendar.MONTH, i); | |||
| rentalStartDate = instance.getTime(); | |||
| WxBillRent wxBillRent = new WxBillRent(); | |||
| wxBillRent.setId(idWorker.nextId()); | |||
| wxBillRent.setPayStatus(0); | |||
| wxBillRent.setPay(new BigDecimal(0)); | |||
| wxBillRent.setTenantId(wxshop.getTenantId()); | |||
| wxBillRent.setNeedPay(needpaymoney); | |||
| wxBillRent.setExpiredDay(0); | |||
| wxBillRent.setOwe(new BigDecimal(0)); | |||
| wxBillRent.setPayDate(rentalStartDate); | |||
| wxBillRent.setPayWay(4); | |||
| wxBillRent.setPrice(wxRentContract.getPrice()); | |||
| wxBillRent.setReceiptNum(""); | |||
| wxBillRent.setReceiveDate(rentalStartDate); | |||
| wxBillRent.setReceivePay(new BigDecimal(0)); | |||
| wxBillRent.setReceivePeriod(receivePeriod); | |||
| wxBillRent.setUserArea(new BigDecimal(wxshop.getOperationArea())); | |||
| wxBillRent.setShopNumber(wxshop.getShopNumber()); | |||
| wxBillRent.setCreatetime(new Date()); | |||
| wxBillRentMapper.insertSelective(wxBillRent); | |||
| } | |||
| } | |||
| if(paycount==12){//1 | |||
| if(paycount==12) {//1 | |||
| BigDecimal needpay = wxRentContract.getPayArea().multiply(wxRentContract.getPrice()); | |||
| BigDecimal needpaymoney = needpay.divide(new BigDecimal(2)).setScale(2, BigDecimal.ROUND_HALF_UP); | |||
| for (int i = 0; i < paycount; i++) { | |||
| Calendar instance = Calendar.getInstance(); | |||
| instance.setTime(rentalStartDate); | |||
| instance.add(Calendar.MONTH, i); | |||
| rentalStartDate = instance.getTime(); | |||
| WxBillRent wxBillRent = new WxBillRent(); | |||
| wxBillRent.setId(idWorker.nextId()); | |||
| wxBillRent.setPayStatus(0); | |||
| wxBillRent.setPay(new BigDecimal(0)); | |||
| wxBillRent.setTenantId(wxshop.getTenantId()); | |||
| wxBillRent.setNeedPay(needpaymoney); | |||
| wxBillRent.setExpiredDay(0); | |||
| wxBillRent.setOwe(new BigDecimal(0)); | |||
| wxBillRent.setPayDate(rentalStartDate); | |||
| wxBillRent.setPayWay(4); | |||
| wxBillRent.setPrice(wxRentContract.getPrice()); | |||
| wxBillRent.setReceiptNum(""); | |||
| wxBillRent.setReceiveDate(rentalStartDate); | |||
| wxBillRent.setReceivePay(new BigDecimal(0)); | |||
| wxBillRent.setReceivePeriod(receivePeriod); | |||
| wxBillRent.setUserArea(new BigDecimal(wxshop.getOperationArea())); | |||
| wxBillRent.setShopNumber(wxshop.getShopNumber()); | |||
| wxBillRent.setCreatetime(new Date()); | |||
| wxBillRentMapper.insertSelective(wxBillRent); | |||
| } | |||
| } | |||
| } | |||
| } | |||