Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 

209 linhas
12 KiB

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.iformall.mapper.WxPropertyContractMapper">
  4. <resultMap id="BaseResultMap" type="com.iformall.domain.po.WxPropertyContract">
  5. <id column="id" jdbcType="BIGINT" property="id"/>
  6. <result column="merchant_id" jdbcType="BIGINT" property="merchantId"/>
  7. <result column="price" jdbcType="INTEGER" property="price"/>
  8. <result column="rental_start_date" jdbcType="TIMESTAMP" property="rentalStartDate"/>
  9. <result column="rental_end_date" jdbcType="TIMESTAMP" property="rentalEndDate"/>
  10. <result column="sign_date" jdbcType="TIMESTAMP" property="signDate"/>
  11. <result column="receive_period" jdbcType="INTEGER" property="receivePeriod"/>
  12. <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
  13. <result column="filepath" jdbcType="VARCHAR" property="filepath"/>
  14. <result column="status" jdbcType="INTEGER" property="status"/>
  15. <result column="contract_number" jdbcType="VARCHAR" property="contractNumber"/>
  16. <result column="deposit" jdbcType="INTEGER" property="deposit"/>
  17. <result column="pay_date" jdbcType="INTEGER" property="payDate"/>
  18. <result column="is_del" jdbcType="INTEGER" property="isDel"/>
  19. <result column="merchant_name" jdbcType="VARCHAR" property="merchantName"/>
  20. <result column="brand" jdbcType="VARCHAR" property="brand"/>
  21. <result column="business_id" jdbcType="INTEGER" property="businessId"/>
  22. <result column="shop_type" jdbcType="INTEGER" property="shopType"/>
  23. <result column="shop_id" jdbcType="BIGINT" property="shopId"/>
  24. <result column="updatetime" jdbcType="TIMESTAMP" property="updatetime"/>
  25. <result column="createtime" jdbcType="TIMESTAMP" property="createtime"/>
  26. <result column="rent_area" jdbcType="VARCHAR" property="rentArea"/>
  27. <result column="link_person" jdbcType="VARCHAR" property="linkPerson"/>
  28. <result column="link_phone" jdbcType="VARCHAR" property="linkPhone"/>
  29. <result column="pay_account" jdbcType="VARCHAR" property="payAccount"/>
  30. <result column="filename" jdbcType="VARCHAR" property="filename"/>
  31. <result column="lease" jdbcType="INTEGER" property="lease"/>
  32. <result column="rent_contract_id" jdbcType="BIGINT" property="rentContractId"/>
  33. <result column="start_date" jdbcType="TIMESTAMP" property="startDate"/>
  34. <result column="end_date" jdbcType="TIMESTAMP" property="endDate"/>
  35. <result column="apply_status" property="applyStatus"/>
  36. <result column="adjust_period" jdbcType="INTEGER" property="adjustPeriod"/>
  37. <result column="business_type" property="businessType"/>
  38. </resultMap>
  39. <sql id="allColumns">
  40. `id`,`merchant_id`,`price`,`rental_start_date`,`rental_end_date`,
  41. `sign_date`,`receive_period`,`tenant_id`,`filepath`,`status`,`contract_number`,
  42. `deposit`,`pay_date`,`is_del`,`merchant_name`,`brand`,`business_id`,
  43. `shop_type`,`shop_id`,`updatetime`,`createtime`,`rent_area`,
  44. `link_person`,`link_phone`,`pay_account`,`filename`,`lease`,`rent_contract_id`,
  45. `start_date`,`end_date`,`apply_status`,`adjust_period`,`business_type`
  46. </sql>
  47. <sql id="dynamicWhereConditions">
  48. where 1 = 1
  49. <if test=" null != id ">and `id` = #{id}</if>
  50. <if test=" null != merchantId ">and `merchant_id` = #{merchantId}</if>
  51. <if test=" null != price ">and `price` = #{price}</if>
  52. <if test=" null != rentalStartDate ">and `rental_start_date` = #{rentalStartDate}</if>
  53. <if test=" null != rentalEndDate ">and `rental_end_date` = #{rentalEndDate}</if>
  54. <if test=" null != signDate ">and `sign_date` = #{signDate}</if>
  55. <if test=" null != receivePeriod ">and `receive_period` = #{receivePeriod}</if>
  56. <if test=" null != tenantId ">and `tenant_id` = #{tenantId}</if>
  57. <if test=" null != filepath ">and `filepath` = #{filepath}</if>
  58. <if test=" null != status ">and `status` = #{status}</if>
  59. <if test=" null != contractNumber ">and `contract_number` = #{contractNumber}</if>
  60. <if test=" null != deposit ">and `deposit` = #{deposit}</if>
  61. <if test=" null != payDate ">and `pay_date` = #{payDate}</if>
  62. <if test=" null != isDel ">and `is_del` = #{isDel}</if>
  63. <if test=" null != merchantName ">and `merchant_name` = #{merchantName}</if>
  64. <if test=" null != brand ">and `brand` = #{brand}</if>
  65. <if test=" null != businessId ">and `business_id` = #{businessId}</if>
  66. <if test=" null != shopType ">and `shop_type` = #{shopType}</if>
  67. <if test=" null != shopId ">and `shop_id` = #{shopId}</if>
  68. <if test=" null != updatetime ">and `updatetime` = #{updatetime}</if>
  69. <if test=" null != createtime ">and `createtime` = #{createtime}</if>
  70. <if test=" null != rentArea ">and `rent_area` = #{rentArea}</if>
  71. <if test=" null != linkPerson ">and `link_person` = #{linkPerson}</if>
  72. <if test=" null != linkPhone ">and `link_phone` = #{linkPhone}</if>
  73. <if test=" null != payAccount ">and `pay_account` = #{payAccount}</if>
  74. <if test=" null != filename ">and `filename` = #{filename}</if>
  75. <if test=" null != lease ">and `lease` = #{lease}</if>
  76. <if test=" null != rentContractId ">and `rent_contract_id` = #{rentContractId}</if>
  77. <if test=" null != startDate ">and `start_date` = #{startDate}</if>
  78. <if test=" null != endDate ">and `end_date` = #{endDate}</if>
  79. <if test=" null != rentShopType">and `rent_shop_type` = #{rentShopType}</if>
  80. <if test=" null != ids ">
  81. and id in
  82. <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
  83. #{idItem}
  84. </foreach>
  85. </if>
  86. <if test=" null != sortColumns">order by ${sortColumns}</if>
  87. </sql>
  88. <select id="findList" parameterType="com.iformall.domain.po.WxPropertyContract" resultMap="BaseResultMap">
  89. select
  90. <include refid="allColumns"/>
  91. from wx_property_contract
  92. <include refid="dynamicWhereConditions"/>
  93. </select>
  94. <select id="queryPropertyContractData" resultType="hashmap" parameterType="com.iformall.domain.po.WxRentContract">
  95. select rc.id,rc.merchant_name merchantName,rc.rental_start_date rentalStartDate,rc.rental_end_date
  96. rentalEndDate,rc.`status`,rc.price,rc.contract_number contractNumber,s.shop_number shopNumber,
  97. f.floor_name floorName,b.building_name buildingName,receive_period receivePeriod,
  98. rc.lease,rc.filepath,rc.filename,rc.pay_account payAccount,rc.sign_date signDate,
  99. start_date startDate,end_date endDate,rc.rent_contract_id rentContractId,br.`name` brandName,
  100. s.addr,rc.apply_status applyStatus,rc.adjust_period adjustPeriod,rc.business_type businessType
  101. from wx_property_contract rc
  102. left join wx_shop s on rc.shop_id=s.id
  103. left join wx_mall_floor f on s.floor=f.id
  104. left join wx_mall_building b on s.building=b.id
  105. left join wx_brand br on rc.brand=br.id
  106. <where>
  107. <if test=" null != tenantId ">rc.tenant_id=#{tenantId}</if>
  108. <if test=" null != merchantName and merchantName!=''">and rc.`merchant_name` like
  109. concat('%',#{merchantName},'%')
  110. </if>
  111. <if test=" null != shopNumber and shopNumber!=''">and s.`shop_number` like concat('%',#{shopNumber},'%')
  112. </if>
  113. <if test=" null != status ">and rc.`status` = #{status}</if>
  114. <if test=" null != rentContractId">and rc.`rent_contract_id` = #{rentContractId}</if>
  115. <if test=" null != id">and rc.`id` = #{id}</if>
  116. <if test=" null != rentShopType">and rc.`rent_shop_type` = #{rentShopType}</if>
  117. </where>
  118. order by rc.id desc
  119. </select>
  120. <select id="queryRentContractWaitSignStatus" resultType="int"
  121. parameterType="com.iformall.domain.po.WxPropertyContract">
  122. select count(id) from wx_property_contract where tenant_id=#{tenantId} and status=#{status}
  123. <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
  124. </select>
  125. <select id="queryRentContractEndSoonStatus" resultType="int"
  126. parameterType="com.iformall.domain.po.WxPropertyContract">
  127. select count(id) from wx_property_contract where tenant_id=#{tenantId} and status=4
  128. <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
  129. </select>
  130. <select id="queryRentContractPaidStatus" resultType="int" parameterType="com.iformall.domain.po.WxPropertyContract">
  131. select count(id) from wx_property_contract where tenant_id=#{tenantId} and status in (2,3,4)
  132. <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
  133. </select>
  134. <select id="queryRentContractEndStatus" resultType="int" parameterType="com.iformall.domain.po.WxPropertyContract">
  135. select count(id) from wx_property_contract where tenant_id=#{tenantId}
  136. and status!=1 and status!=6 and status!=7 and rental_end_date &lt;now()
  137. <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
  138. </select>
  139. <update id="updateRentContractEndSoonStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
  140. update wx_property_contract set status=#{status} where tenant_id=#{tenantId} and status!=1 and status!=5 and status!=6 and status!=7 and DATEDIFF(rental_end_date,now()) &lt;= 30 and rental_end_date > now()
  141. </update>
  142. <update id="updateRentContractPaidStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
  143. update wx_property_contract set status=#{status} where tenant_id=#{tenantId} and status!=1 and status!=5 and status!=6 and status!=7 and rental_start_date &lt;= now() and rental_end_date >= now()
  144. </update>
  145. <update id="updateRentContractEndStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
  146. update wx_property_contract set status=#{status} where tenant_id=#{tenantId} and status!=1 and status!=5 and status!=6 and status!=7 and rental_end_date &lt;now()
  147. </update>
  148. <update id="updateRentWaitSignStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
  149. update wx_property_contract set status=#{status} where tenant_id=#{tenantId} and status!=7 and merchant_id is null
  150. </update>
  151. <update id="updateRentInvalidStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
  152. update wx_property_contract set status=#{status} where shop_id in (
  153. select s.shop_id from (SELECT shop_id FROM wx_property_contract WHERE tenant_id = #{tenantId} and merchant_id is not null and status!=6
  154. )s) and merchant_id is null and tenant_id=#{tenantId}
  155. </update>
  156. <select id="getRentContractList" parameterType="hashmap" resultType="com.iformall.domain.po.WxRentContract">
  157. select rc.*,s.shop_number from wx_rent_contract rc inner join wx_shop s on rc.shop_id=s.id
  158. where rc.status not in(0,1,5,6,7) and rc.tenant_id=#{tenantId}
  159. and rc.id not in (select pc.rent_contract_id from (
  160. select rent_contract_id from wx_property_contract where status not in(5,6,7) and tenant_id=#{tenantId}
  161. ) pc)
  162. <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
  163. </select>
  164. <update id="updateApplyStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
  165. update wx_property_contract set apply_status=#{applyStatus}
  166. <if test=" null != businessType ">,business_type=#{businessType}</if>
  167. where id=#{id}
  168. </update>
  169. <update id="updateStatus" parameterType="com.iformall.domain.po.WxPropertyContract">
  170. update wx_property_contract set status=#{status} where id=#{id}
  171. </update>
  172. <update id="updateStatusByRentContractId" parameterType="com.iformall.domain.po.WxPropertyContract">
  173. update wx_property_contract set status=#{status} where rent_contract_id=#{rentContractId}
  174. </update>
  175. <select id="queryOweCount" parameterType="com.iformall.domain.po.WxPropertyContract" resultType="Long">
  176. select count(*) from wx_property_contract r,wx_bill_property b
  177. where b.property_contract_id = r.id and b.status = 1
  178. <if test=" null != id ">and r.id = #{id}</if>
  179. <if test=" null != rentContractId ">and r.rent_contract_id = #{rentContractId}</if>
  180. </select>
  181. <select id="findOneByRentId" parameterType="com.iformall.domain.po.WxRentContract" resultType="com.iformall.domain.po.WxPropertyContract">
  182. select * from wx_property_contract where rent_contract_id =#{id} order by createtime desc limit 1
  183. </select>
  184. </mapper>