| @@ -100,6 +100,34 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| public ResultData saveOrUpdate(WxPropertyContract record) { | public ResultData saveOrUpdate(WxPropertyContract record) { | ||||
| //保存物业合同信息 | //保存物业合同信息 | ||||
| if (record.getId() == null) { | if (record.getId() == null) { | ||||
| if(null==record.getMerchantId()){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"merchantId不能为空"); | |||||
| } | |||||
| WxMerchant merchant = wxMerchantMapper.selectByPrimaryKey(record.getMerchantId()); | |||||
| if(merchant==null){ | |||||
| return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); | |||||
| } | |||||
| if(null==record.getReceivePeriod()){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"付款周期不能为空"); | |||||
| } | |||||
| if(null==record.getLease()){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"租期不能为空"); | |||||
| } | |||||
| if(null==record.getPrice()){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"物业费不能为空"); | |||||
| } | |||||
| if(null==record.getDeposit()){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"押金不能为空"); | |||||
| } | |||||
| if(record.getPrice().intValue()<=0){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"物业费要大于0"); | |||||
| } | |||||
| if(record.getDeposit().intValue()<=0){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"押金要大于0"); | |||||
| } | |||||
| final IdWorker idWorker = IdWorker.get(); | final IdWorker idWorker = IdWorker.get(); | ||||
| record.setId(idWorker.nextId()); | record.setId(idWorker.nextId()); | ||||
| Calendar instance = Calendar.getInstance(); | Calendar instance = Calendar.getInstance(); | ||||
| @@ -110,8 +138,25 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| Date date = new Date(); | Date date = new Date(); | ||||
| record.setCreatetime(date); | record.setCreatetime(date); | ||||
| record.setUpdatetime(date); | record.setUpdatetime(date); | ||||
| try { | try { | ||||
| wxPropertyContractMapper.insertSelective(record); | wxPropertyContractMapper.insertSelective(record); | ||||
| //建立账单 | |||||
| if (record.getMerchantId() != null && record.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) | |||||
| && record.getReceivePeriod() != null && record.getDeposit()>0 && record.getPrice()>0) { | |||||
| WxBillProperty wxBillProperty = new WxBillProperty(); | |||||
| wxBillProperty.setMerchantId(record.getMerchantId()); | |||||
| List<Map<String, Object>> billPropertyList = wxBillPropertyMapper.queryBillPropertyList(wxBillProperty); | |||||
| if (billPropertyList.size() == 0) { | |||||
| WxMerchant wxMerchant = new WxMerchant(); | |||||
| wxMerchant.setId(record.getMerchantId()); | |||||
| wxMerchant.setTenantId(record.getTenantId()); | |||||
| //物业账单 | |||||
| buildProperty(wxMerchant); | |||||
| //物业押金账单 | |||||
| buildDeposit(wxMerchant); | |||||
| } | |||||
| } | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("保存物业合同信息失败,e:" + e.getMessage()); | logger.error("保存物业合同信息失败,e:" + e.getMessage()); | ||||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | ||||
| @@ -130,28 +175,8 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| record.setPrice(record.getPrice() != null ? record.getPrice(): 0); | record.setPrice(record.getPrice() != null ? record.getPrice(): 0); | ||||
| record.setDeposit(record.getDeposit() != null ? record.getDeposit(): 0); | record.setDeposit(record.getDeposit() != null ? record.getDeposit(): 0); | ||||
| record.setUpdatetime(new Date()); | record.setUpdatetime(new Date()); | ||||
| if(record.getPrice()==0 || record.getDeposit()==0){ | |||||
| record.setStatus(EnumRentContractStatus.WAIT_SIGN.getCode()); | |||||
| } | |||||
| try { | try { | ||||
| wxPropertyContractMapper.updateByPrimaryKeySelective(record); | wxPropertyContractMapper.updateByPrimaryKeySelective(record); | ||||
| //建立账单 | |||||
| if (record.getMerchantId() != null && record.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) | |||||
| && record.getReceivePeriod() != null && record.getDeposit()>0 && record.getPrice()>0) { | |||||
| WxBillProperty wxBillProperty = new WxBillProperty(); | |||||
| wxBillProperty.setMerchantId(record.getMerchantId()); | |||||
| List<Map<String, Object>> billPropertyList = wxBillPropertyMapper.queryBillPropertyList(wxBillProperty); | |||||
| if (billPropertyList.size() == 0) { | |||||
| WxMerchant wxMerchant = new WxMerchant(); | |||||
| wxMerchant.setId(record.getMerchantId()); | |||||
| wxMerchant.setTenantId(record.getTenantId()); | |||||
| //物业账单 | |||||
| buildProperty(wxMerchant); | |||||
| //物业押金账单 | |||||
| buildDeposit(wxMerchant); | |||||
| } | |||||
| } | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("更新物业合同信息失败,e:" + e.getMessage()); | logger.error("更新物业合同信息失败,e:" + e.getMessage()); | ||||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | ||||
| @@ -34,7 +34,7 @@ | |||||
| <select id="queryOweInfo" parameterType="com.iformall.domain.vo.WxBillAll" resultType="hashmap"> | <select id="queryOweInfo" parameterType="com.iformall.domain.vo.WxBillAll" resultType="hashmap"> | ||||
| select count(bill.id) owncount,sum(bill.owe) owe from ( | |||||
| select count(bill.id) owncount,IFNULL(sum(bill.owe),0) owe from ( | |||||
| select id,merchant_id,shop_id,tenant_id,1 bill_type_value,'租金' bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_rent | select id,merchant_id,shop_id,tenant_id,1 bill_type_value,'租金' bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_rent | ||||
| union | union | ||||
| select id,merchant_id,shop_id,tenant_id,2 bill_type_value,'租赁押金' bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_rent_deposit | select id,merchant_id,shop_id,tenant_id,2 bill_type_value,'租赁押金' bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_rent_deposit | ||||
| @@ -46,6 +46,8 @@ | |||||
| select id,merchant_id,shop_id,tenant_id,5 bill_type_value,'水费' bill_type, '' need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_daily where type=1 | select id,merchant_id,shop_id,tenant_id,5 bill_type_value,'水费' bill_type, '' need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_daily where type=1 | ||||
| union | union | ||||
| select id,merchant_id,shop_id,tenant_id,6 bill_type_value,'电费' bill_type,'' need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_daily where type=2 | select id,merchant_id,shop_id,tenant_id,6 bill_type_value,'电费' bill_type,'' need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_daily where type=2 | ||||
| union | |||||
| select id,merchant_id,shop_id,tenant_id,7 bill_type_value,'其他' bill_type,'' need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_other | |||||
| ) bill | ) bill | ||||
| where date_format(bill.receive_date,'%Y-%m')=#{month} and bill.tenant_id=#{tenantId} | where date_format(bill.receive_date,'%Y-%m')=#{month} and bill.tenant_id=#{tenantId} | ||||
| and bill.status=#{status} | and bill.status=#{status} | ||||
| @@ -54,7 +56,7 @@ | |||||
| <select id="queryPaidInfo" parameterType="com.iformall.domain.vo.WxBillAll" resultType="hashmap"> | <select id="queryPaidInfo" parameterType="com.iformall.domain.vo.WxBillAll" resultType="hashmap"> | ||||
| select count(bill.id) paycount,sum(bill.pay) pay from ( | |||||
| select count(bill.id) paycount,IFNULL(sum(bill.pay),0) pay from ( | |||||
| select id,merchant_id,shop_id,tenant_id,1 bill_type_value,'租金' bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_rent | select id,merchant_id,shop_id,tenant_id,1 bill_type_value,'租金' bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_rent | ||||
| union | union | ||||
| select id,merchant_id,shop_id,tenant_id,2 bill_type_value,'租赁押金' bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_rent_deposit | select id,merchant_id,shop_id,tenant_id,2 bill_type_value,'租赁押金' bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_rent_deposit | ||||
| @@ -66,6 +68,8 @@ | |||||
| select id,merchant_id,shop_id,tenant_id,5 bill_type_value,'水费' bill_type, '' need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_daily where type=1 | select id,merchant_id,shop_id,tenant_id,5 bill_type_value,'水费' bill_type, '' need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_daily where type=1 | ||||
| union | union | ||||
| select id,merchant_id,shop_id,tenant_id,6 bill_type_value,'电费' bill_type,'' need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_daily where type=2 | select id,merchant_id,shop_id,tenant_id,6 bill_type_value,'电费' bill_type,'' need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_daily where type=2 | ||||
| union | |||||
| select id,merchant_id,shop_id,tenant_id,7 bill_type_value,'其他' bill_type,'' need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status from wx_bill_other | |||||
| ) bill | ) bill | ||||
| where date_format(bill.receive_date,'%Y-%m')=#{month} and bill.tenant_id=#{tenantId} | where date_format(bill.receive_date,'%Y-%m')=#{month} and bill.tenant_id=#{tenantId} | ||||
| and bill.status=#{status} | and bill.status=#{status} | ||||