| @@ -37,6 +37,9 @@ public class WxMerchantServiceImpl implements WxMerchantService { | |||||
| @Autowired | @Autowired | ||||
| WxRentContractMapper wxRentContractMapper; | WxRentContractMapper wxRentContractMapper; | ||||
| @Autowired | |||||
| WxBillRentMapper wxBillRentMapper; | |||||
| @Override | @Override | ||||
| public PageInfo<WxMerchant> listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize) { | 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 rentalStartDate = wxRentContract.getRentalStartDate(); | ||||
| Date rentalEndDate = wxRentContract.getRentalEndDate(); | Date rentalEndDate = wxRentContract.getRentalEndDate(); | ||||
| Integer receivePeriod = wxRentContract.getReceivePeriod(); | Integer receivePeriod = wxRentContract.getReceivePeriod(); | ||||
| int paycount = 12 / receivePeriod.intValue(); | int paycount = 12 / receivePeriod.intValue(); | ||||
| final IdWorker idWorker = IdWorker.get(); | |||||
| if(paycount==1){//12 | 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 | 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 | 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); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||