|
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.iformall.mapper.WxPropertyContractMapper">
- <resultMap id="BaseResultMap" type="com.iformall.domain.po.WxPropertyContract">
- <id column="id" jdbcType="BIGINT" property="id"/>
- <result column="merchant_id" jdbcType="BIGINT" property="merchantId"/>
- <result column="price" jdbcType="INTEGER" property="price"/>
- <result column="rental_start_date" jdbcType="TIMESTAMP" property="rentalStartDate"/>
- <result column="rental_end_date" jdbcType="TIMESTAMP" property="rentalEndDate"/>
- <result column="sign_date" jdbcType="TIMESTAMP" property="signDate"/>
- <result column="receive_period" jdbcType="INTEGER" property="receivePeriod"/>
- <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
- <result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId" />
- <result column="filepath" jdbcType="VARCHAR" property="filepath"/>
- <result column="status" jdbcType="INTEGER" property="status"/>
- <result column="contract_number" jdbcType="VARCHAR" property="contractNumber"/>
- <result column="deposit" jdbcType="INTEGER" property="deposit"/>
- <result column="pay_date" jdbcType="INTEGER" property="payDate"/>
- <result column="is_del" jdbcType="INTEGER" property="isDel"/>
- <result column="merchant_name" jdbcType="VARCHAR" property="merchantName"/>
- <result column="brand" jdbcType="VARCHAR" property="brand"/>
- <result column="business_id" jdbcType="INTEGER" property="businessId"/>
- <result column="shop_type" jdbcType="INTEGER" property="shopType"/>
- <result column="updatetime" jdbcType="TIMESTAMP" property="updatetime"/>
- <result column="createtime" jdbcType="TIMESTAMP" property="createtime"/>
- <result column="rent_area" jdbcType="VARCHAR" property="rentArea"/>
- <result column="link_person" jdbcType="VARCHAR" property="linkPerson"/>
- <result column="link_phone" jdbcType="VARCHAR" property="linkPhone"/>
- <result column="pay_account" jdbcType="VARCHAR" property="payAccount"/>
- <result column="filename" jdbcType="VARCHAR" property="filename"/>
- <result column="lease" jdbcType="INTEGER" property="lease"/>
- <result column="rent_contract_id" jdbcType="BIGINT" property="rentContractId"/>
- <result column="start_date" jdbcType="TIMESTAMP" property="startDate"/>
- <result column="end_date" jdbcType="TIMESTAMP" property="endDate"/>
- <result column="apply_status" property="applyStatus"/>
- <result column="adjust_period" jdbcType="INTEGER" property="adjustPeriod"/>
- <result column="business_type" property="businessType"/>
- <result column="adjust_ratio" property="adjustRatio"/>
- <result column="rent_info" jdbcType="VARCHAR" property="rentInfo"/>
- <result column="file_names" jdbcType="VARCHAR" property="fileNames"/>
- <result column="price_unit" property="priceUnit"/>
- <result column="rent_price" property="rentPrice"/>
- <result column="subject_name" property="subjectName"/>
- <result column="rent_start_type" property="rentStartType"/>
- <result column="rent_shop_type" jdbcType="INTEGER" property="rentShopType"/>
- <result column="fixed_price" jdbcType="INTEGER" property="fixedPrice"/>
-
- <result column="operation_type" property="operationType"/>
- <result column="late_pay_ratio" property="latePayRatio"/>
- <result column="late_pay_day" property="latePayDay"/>
- </resultMap>
-
- <sql id="allColumns">
- `id`,`merchant_id`,`price`,`rental_start_date`,`rental_end_date`,
- `sign_date`,`receive_period`,`tenant_id`,`parent_tenant_id`,`filepath`,`status`,`contract_number`,
- `deposit`,`pay_date`,`is_del`,`merchant_name`,`brand`,`business_id`,
- `shop_type`,`updatetime`,`createtime`,`rent_area`,`rent_shop_type`,
- `link_person`,`link_phone`,`pay_account`,`filename`,`lease`,`rent_contract_id`,
- `start_date`,`end_date`,`apply_status`,`adjust_period`,`business_type`,adjust_ratio,`rent_info`,fixed_price,
- `file_names`,price_unit,rent_price,subject_name,rent_start_type,`operation_type`,late_pay_ratio,late_pay_day
- </sql>
-
- <sql id="dynamicWhereConditions">
- where 1 = 1
- <if test=" null != id ">and `id` = #{id}</if>
- <if test=" null != merchantId ">and `merchant_id` = #{merchantId}</if>
- <if test=" null != price ">and `price` = #{price}</if>
- <if test=" null != rentalStartDate ">and `rental_start_date` = #{rentalStartDate}</if>
- <if test=" null != rentalEndDate ">and `rental_end_date` = #{rentalEndDate}</if>
- <if test=" null != signDate ">and `sign_date` = #{signDate}</if>
- <if test=" null != receivePeriod ">and `receive_period` = #{receivePeriod}</if>
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- <if test=" null != filepath ">and `filepath` = #{filepath}</if>
- <if test=" null != status ">and `status` = #{status}</if>
- <if test=" null != applyStatus ">and `apply_status` = #{applyStatus}</if>
- <if test=" null != contractNumber and '' != contractNumber">and `contract_number` = #{contractNumber}</if>
- <if test=" null != deposit ">and `deposit` = #{deposit}</if>
- <if test=" null != payDate ">and `pay_date` = #{payDate}</if>
- <if test=" null != isDel ">and `is_del` = #{isDel}</if>
- <if test=" null != merchantName and '' != merchantName ">and `merchant_name` like concat('%', #{merchantName},'%') </if>
- <if test=" null != brand ">and `brand` = #{brand}</if>
- <if test=" null != businessId ">and `business_id` = #{businessId}</if>
- <if test=" null != shopType ">and `shop_type` = #{shopType}</if>
- <if test=" null != updatetime ">and `updatetime` = #{updatetime}</if>
- <if test=" null != createtime ">and `createtime` = #{createtime}</if>
- <if test=" null != rentArea ">and `rent_area` = #{rentArea}</if>
- <if test=" null != linkPerson ">and `link_person` = #{linkPerson}</if>
- <if test=" null != linkPhone ">and `link_phone` = #{linkPhone}</if>
- <if test=" null != payAccount ">and `pay_account` = #{payAccount}</if>
- <if test=" null != filename ">and `filename` = #{filename}</if>
- <if test=" null != lease ">and `lease` = #{lease}</if>
- <if test=" null != rentContractId ">and `rent_contract_id` = #{rentContractId}</if>
- <if test=" null != startDate ">and `start_date` = #{startDate}</if>
- <if test=" null != endDate ">and `end_date` = #{endDate}</if>
- <if test=" null != rentShopType">and `rent_shop_type` = #{rentShopType}</if>
- <if test=" null != operationType ">and `operation_type` = #{operationType}</if>
-
- <if test=" null != businessForRule and '' != businessForRule ">
- and business_id in (${businessForRule})
- </if>
- <if test=" null != floorForRule and '' != floorForRule ">
- and `id` in
- <foreach collection="tempShop" index="idx" separator=" union all " open="(" close=")">
- select id from wx_property_contract where 1=1
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- and json_unquote(json_extract(json_extract(rent_info,'$[*].shopId'),concat('$[',#{idx},']'))) in(select
- id from wx_shop where 1=1
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- and floor in (${floorForRule}))
- </foreach>
- </if>
-
- <if test=" null != ids ">
- and id in
- <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
- #{idItem}
- </foreach>
- </if>
-
- <if test=" null != statuss ">
- and status in
- <foreach collection="statuss" index="index" item="statusItem" open="(" separator="," close=")">
- #{statusItem}
- </foreach>
- </if>
- <if test=" null != sortColumns">order by ${sortColumns}</if>
- </sql>
-
- <select id="findList" parameterType="com.iformall.domain.po.WxPropertyContract" resultMap="BaseResultMap">
- select
- <include refid="allColumns"/>
- from wx_property_contract
- <include refid="dynamicWhereConditions"/>
- </select>
-
- <!-- <select id="queryPropertyContractData" resultType="hashmap" parameterType="com.iformall.domain.po.WxRentContract">
- select rc.id,rc.merchant_name merchantName,rc.rental_start_date rentalStartDate,rc.rental_end_date
- rentalEndDate,rc.`status`,rc.price,rc.contract_number contractNumber,s.shop_number shopNumber,
- f.floor_name floorName,b.building_name buildingName,receive_period receivePeriod,
- rc.lease,rc.filepath,rc.filename,rc.pay_account payAccount,rc.sign_date signDate,
- start_date startDate,end_date endDate,rc.rent_contract_id rentContractId,br.`name` brandName,
- s.addr,rc.apply_status applyStatus,rc.adjust_period adjustPeriod,rc.business_type businessType,
- rc.adjust_ratio adjustRatio,rc.rent_info rentInfo, rc.file_names fileNames,rc.price_unit,rc.subject_name
- subjectName
- from wx_property_contract rc
- left join wx_shop s on rc.shop_id=s.id
- left join wx_mall_floor f on s.floor=f.id
- left join wx_mall_building b on s.building=b.id
- left join wx_brand br on rc.brand=br.id
- <where>
-
- <if test=" null != tenantId and '' != tenantId">
- and rc.`tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and rc.`parent_tenant_id` = #{parentTenantId}
- </if>
-
- <if test=" null != merchantName and merchantName!=''">and rc.`merchant_name` like
- concat('%',#{merchantName},'%')
- </if>
- <if test=" null != shopNumber and shopNumber!='' and null != rentShopType and rentShopType==1">
- and json_extract(rc.rent_info,'$[*].shopNumber') like concat('%',#{shopNumber},'%')
- </if>
- <if test=" null != shopNumber and shopNumber!='' and null != rentShopType and rentShopType==2">
- and s.`shop_number` like concat('%',#{shopNumber},'%')
- </if>
- <if test=" null != status ">and rc.`status` = #{status}</if>
- <if test=" null != rentContractId">and rc.`rent_contract_id` = #{rentContractId}</if>
- <if test=" null != id">and rc.`id` = #{id}</if>
- <if test=" null != rentShopType">and rc.`rent_shop_type` = #{rentShopType}</if>
- <if test=" null != applyStatus ">and rc.`apply_status` = #{applyStatus}</if>
- <if test=" null != building and ''!= building">and b.id = #{building}</if>
- <if test=" null != floor and ''!= floor">and f.id = #{floor}</if>
- <if test=" null != operationType ">and `operation_type` = #{operationType}</if>
- <if test=" null != businessForRule and '' != businessForRule ">
- and rc.business_id in (${businessForRule})
- </if>
- <if test="null != rentShopType and 1 == rentShopType and null != floorForRule and '' != floorForRule ">
- and rc.`id` in
- <foreach collection="tempShop" index="idx" separator=" union all " open="(" close=")">
- select id from wx_property_contract where 1=1
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- and json_unquote(json_extract(json_extract(rent_info,'$[*].shopId'),concat('$[',#{idx},']'))) in(select
- id from wx_shop where 1=1
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- and floor in (${floorForRule}))
- </foreach>
- </if>
- <if test="null != rentShopType and 2 == rentShopType and null != floorForRule and '' != floorForRule ">
- and rc.shop_id in (select id from wx_shop where 1=1
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- and floor in (${floorForRule}))
- </if>
- </where>
-
- <if test=" null != sortColumns"> order by ${sortColumns} </if>
- <if test=" null == sortColumns">order by rc.createtime desc,rc.id desc</if>
- </select> -->
-
- <select id="queryRentContractWaitSignStatus" resultType="int"
- parameterType="com.iformall.domain.po.WxPropertyContract">
- select count(id) from wx_property_contract where status=#{status}
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
- </select>
-
- <select id="queryRentContractEndSoonStatus" resultType="int"
- parameterType="com.iformall.domain.po.WxPropertyContract">
- select count(id) from wx_property_contract where status=4
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
- </select>
-
- <select id="queryRentContractPaidStatus" resultType="int" parameterType="com.iformall.domain.po.WxPropertyContract">
- select count(id) from wx_property_contract where status in (2,3,4)
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
- </select>
-
- <select id="queryRentContractEndStatus" resultType="int" parameterType="com.iformall.domain.po.WxPropertyContract">
- select count(id) from wx_property_contract where status!=1 and status!=6 and status!=7 and rental_end_date <now()
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
- </select>
-
- <update id="updateRentContractEndSoonStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
- update wx_property_contract set status=#{status} where status!=1 and status!=5 and status!=6 and status!=7
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- and DATEDIFF(rental_end_date,now()) <= 30 and rental_end_date > now()
- </update>
-
- <update id="updateRentContractPaidStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
- update wx_property_contract set status=#{status} where status!=1 and status!=5 and status!=6 and status!=7
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- and rental_start_date <= now() and rental_end_date >= now()
- </update>
-
- <update id="updateRentContractEndStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
- update wx_property_contract set status=#{status} where status!=1 and status!=5 and status!=6 and status!=7
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- and rental_end_date <now()
- </update>
-
- <update id="updateRentWaitSignStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
- update wx_property_contract set status=#{status} where status!=7
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- and merchant_id is null
- </update>
-
- <!-- <update id="updateRentInvalidStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
- update wx_property_contract set status=#{status} where shop_id in (
- select s.shop_id from (SELECT shop_id FROM wx_property_contract WHERE merchant_id is not null and status!=6
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- )s) and merchant_id is null
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- </update> -->
-
- <!-- <select id="getRentContractListByShop" parameterType="hashmap" resultType="com.iformall.domain.po.WxRentContract">
- select rc.* from wx_rent_contract rc
- where rc.status not in(0,1,5,6,7,8)
- <if test=" null != tenantId and '' != tenantId">
- and rc.`tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and rc.`parent_tenant_id` = #{parentTenantId}
- </if>
- and rc.id not in (select pc.rent_contract_id from (
- select rent_contract_id from wx_property_contract where status not in(5,6,7)
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- ) pc)
- <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
- </select> -->
-
- <!-- <select id="getRentContractListByPoint" parameterType="hashmap" resultType="com.iformall.domain.po.WxRentContract">
- select rc.*,s.shop_number from wx_rent_contract rc
- inner join wx_shop s on rc.shop_id=s.id
- where rc.status not in(0,1,5,6,7,8)
- <if test=" null != tenantId and '' != tenantId">
- and rc.`tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and rc.`parent_tenant_id` = #{parentTenantId}
- </if>
- and rc.id not in (select pc.rent_contract_id from (
- select rent_contract_id from wx_property_contract where status not in(5,6,7)
- <if test=" null != tenantId and '' != tenantId">
- and `tenant_id` = #{tenantId}
- </if>
- <if test=" null != parentTenantId and '' != parentTenantId">
- and `parent_tenant_id` = #{parentTenantId}
- </if>
- ) pc)
- <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
- </select> -->
-
-
- <update id="updateApplyStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
- update wx_property_contract set apply_status=#{applyStatus}
- <if test=" null != businessType ">,business_type=#{businessType}</if>
- <if test=" null != status ">,status=#{status}</if>
- where id=#{id}
- </update>
-
- <update id="updateApplyStatusByRentContractId" parameterType="com.iformall.domain.po.WxPropertyContract">
- update wx_property_contract set apply_status=#{applyStatus}
- <if test=" null != businessType ">,business_type=#{businessType}</if>
- <if test=" null != status ">,status=#{status}</if>
- where rent_contract_id=#{rentContractId} and id = #{id}
- </update>
-
- <update id="updateStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
- update wx_property_contract set status=#{status} where id=#{id}
- </update>
-
-
- <update id="updateStatusByRentContractId" parameterType="com.iformall.domain.po.WxPropertyContract">
- update wx_property_contract set status=#{status} where rent_contract_id=#{rentContractId}
- </update>
-
- <select id="queryOweCount" parameterType="com.iformall.domain.po.WxPropertyContract" resultType="Long">
- select count(1) from wx_property_contract r,wx_bill_property b
- where b.property_contract_id = r.id and b.status = 1
- <if test=" null != id ">and r.id = #{id}</if>
- <if test=" null != rentContractId ">and r.rent_contract_id = #{rentContractId}</if>
- </select>
-
- <select id="findOneByRentId" parameterType="com.iformall.domain.po.WxRentContract" resultType="com.iformall.domain.po.WxPropertyContract">
- select * from wx_property_contract where rent_contract_id =#{id} order by createtime desc limit 1
- </select>
-
- <select id="getByBill" parameterType="com.iformall.domain.po.WxBillProperty" resultMap="BaseResultMap">
- select * from wx_property_contract where id in(
- select property_contract_id from wx_bill_property id = #{id}
- )
- </select>
-
- <update id="endContract" parameterType="com.iformall.domain.po.WxPropertyContract">
- update wx_property_contract set status=#{status},updatetime = #{updatetime} where rent_contract_id =#{rentContractId}
- <if test=" null != statuss ">
- and status in
- <foreach collection="statuss" index="index" item="statusItem" open="(" separator="," close=")">
- #{statusItem}
- </foreach>
- </if>
- </update>
-
- </mapper>
|