StreetDao.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  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="platform.modules.government.dao.StreetDao">
  4. <select id="getStreetByName" resultType="platform.modules.government.entity.Street">
  5. select * from s_street where name=#{name} and del_flag = '0' limit 0,1
  6. </select>
  7. <select id="findAllStreeName" resultType="String">
  8. SELECT name FROM s_street WHERE del_flag = 0
  9. </select>
  10. <select id="selectStreetStatistics" resultType="platform.modules.government.response.StreetDataResp">
  11. SELECT
  12. IFNULL(SUM(cast(area as decimal(10,3))),0) AS sumArea,
  13. IFNULL(SUM(cast(rest_area as decimal(10,3))),0) AS sumRestArea,
  14. IFNULL(SUM(build_area),0) AS sumBuildArea,
  15. IFNULL(SUM(rest_rent_area),0) AS sumRestRentArea,
  16. COUNT(id) AS parkNum
  17. FROM y_info
  18. WHERE
  19. street_id = #{streetId}
  20. AND is_start = TRUE
  21. AND del_flag = FALSE
  22. GROUP BY street_id
  23. </select>
  24. <select id="selectCompCountByStreetId" resultType="Integer">
  25. SELECT COUNT(a.id) FROM y_company a RIGHT JOIN y_contract con ON con.company_id = a.id WHERE a.street_id=#{streetId} AND a.del_flag = FALSE
  26. </select>
  27. <select id="selectCompCountByParkId" resultType="Integer">
  28. SELECT COUNT(a.id) FROM y_company a LEFT JOIN y_info b ON a.build_id = b.id RIGHT JOIN y_contract con ON con.company_id = a.id WHERE b.id = #{parkId} AND a.del_flag = FALSE
  29. </select>
  30. <select id="selectOutsideParkCompCount" resultType="Integer">
  31. SELECT COUNT(id) FROM y_company WHERE build_id IS NULL
  32. <if test="streetId != null and streetId != '' ">
  33. AND street_id = #{streetId}
  34. </if>
  35. </select>
  36. <select id="getCarrierDataList" resultType="platform.modules.government.response.CarrierDataResp">
  37. SELECT * FROM
  38. (
  39. SELECT
  40. i.`name` AS parkName,s.`name` AS streetName,s.id AS streetId,r.contract_terminate_date AS contractEndDate,
  41. IF(LENGTH(trim(#{request.contract_time}))<![CDATA[ < ]]>
  42. 1,IFNULL(f.remain_area,0),IFNULL(f.remain_area,0)+IFNULL(c.area,0)) AS remainArea,
  43. f.floor AS floorNum, b.build_number AS buildNumber
  44. FROM y_floor f
  45. LEFT JOIN y_building b ON b.id = f.building_id
  46. LEFT JOIN y_floor_contract_relate r ON r.build_floor_id=f.id
  47. LEFT JOIN y_contract c ON c.company_id = r.company_id
  48. LEFT JOIN y_info i ON i.id = r.build_id
  49. LEFT JOIN s_street s ON s.id = i.street_id
  50. WHERE 1=1
  51. <if test="request.area_street != null and request.area_street !='' ">
  52. AND s.id = #{request.area_street}
  53. </if>
  54. <if test="request.area_park != null and request.area_park !='' ">
  55. AND i.id = #{request.area_park}
  56. </if>
  57. <if test="request.is_start != null and request.is_start !='' ">
  58. AND f.is_use = #{request.is_start} AND s.is_start = #{request.is_start}
  59. </if>
  60. <if test="request.minArea != null and request.minArea !='' ">
  61. <![CDATA[ AND f.remain_area >= #{request.minArea} ]]>
  62. </if>
  63. <if test="request.maxArea != null and request.maxArea !='' ">
  64. <![CDATA[ AND f.remain_area <= #{request.maxArea} ]]>
  65. </if>
  66. <if test="request.contract_time != null and request.contract_time !='' ">
  67. <![CDATA[ AND DATE_ADD(CURDATE(), INTERVAL #{request.contract_time} MONTH) <= date(c.contract_end_date) ]]>
  68. </if>
  69. AND s.del_flag = 0 AND f.del_flag = 0
  70. )c1 where not exists(select 1 FROM
  71. (
  72. SELECT
  73. i.`name` AS parkName,s.`name` AS streetName,s.id AS streetId,r.contract_terminate_date AS contractEndDate,
  74. IF(LENGTH(trim(#{request.contract_time}))<![CDATA[ < ]]>
  75. 1,IFNULL(f.remain_area,0),IFNULL(f.remain_area,0)+IFNULL(c.area,0)) AS remainArea,
  76. f.floor AS floorNum, b.build_number AS buildNumber
  77. FROM y_floor f
  78. LEFT JOIN y_building b ON b.id = f.building_id
  79. LEFT JOIN y_floor_contract_relate r ON r.build_floor_id=f.id
  80. LEFT JOIN y_contract c ON c.company_id = r.company_id
  81. LEFT JOIN y_info i ON i.id = r.build_id
  82. LEFT JOIN s_street s ON s.id = i.street_id
  83. WHERE 1=1
  84. <if test="request.area_street != null and request.area_street !='' ">
  85. AND s.id = #{request.area_street}
  86. </if>
  87. <if test="request.area_park != null and request.area_park !='' ">
  88. AND i.id = #{request.area_park}
  89. </if>
  90. <if test="request.is_start != null and request.is_start !='' ">
  91. AND f.is_use = #{request.is_start} AND s.is_start = #{request.is_start}
  92. </if>
  93. <if test="request.minArea != null and request.minArea !='' ">
  94. <![CDATA[ AND f.remain_area >= #{request.minArea} ]]>
  95. </if>
  96. <if test="request.maxArea != null and request.maxArea !='' ">
  97. <![CDATA[ AND f.remain_area <= #{request.maxArea} ]]>
  98. </if>
  99. <if test="request.contract_time != null and request.contract_time !='' ">
  100. <![CDATA[ AND DATE_ADD(CURDATE(), INTERVAL #{request.contract_time} MONTH) <= date(c.contract_end_date) ]]>
  101. </if>
  102. AND s.del_flag = 0 AND f.del_flag = 0
  103. ) AS c2 WHERE c2.buildNumber= c1.buildNumber
  104. and c1.contractEndDate>c2.contractEndDate )
  105. </select>
  106. <select id="selectAllFloors" resultType="platform.modules.government.response.CarrierDataResp">
  107. SELECT
  108. i.`name` AS parkName,s.`name` AS streetName,s.id AS streetId,i.id AS parkId,f.id AS id,
  109. b.build_number AS buildNumber,f.floor AS floorNum,f.remain_area AS remainArea
  110. FROM y_floor f
  111. LEFT JOIN y_building b ON b.id = f.building_id
  112. LEFT JOIN y_info i ON i.id = b.build_id
  113. LEFT JOIN s_street s ON s.id = i.street_id
  114. WHERE 1=1
  115. <if test="request.area_street != null and request.area_street !='' ">
  116. AND s.id = #{request.area_street}
  117. </if>
  118. <if test="request.area_park != null and request.area_park !='' ">
  119. AND i.id = #{request.area_park}
  120. </if>
  121. <if test="request.is_start != null and request.is_start !='' ">
  122. AND f.is_use = #{request.is_start} AND s.is_start = #{request.is_start} AND i.is_start = #{request.is_start}
  123. </if>
  124. AND s.del_flag = 0 AND i.del_flag = 0 AND f.del_flag = 0
  125. </select>
  126. <select id="selectCarrierData" resultType="platform.modules.government.response.CarrierDataResp">
  127. SELECT
  128. MIN(r.contract_terminate_date) AS contractEndDate,
  129. SUM(IFNULL(c.area,0)) AS carrierArea
  130. FROM y_floor f
  131. LEFT JOIN y_floor_contract_relate r ON r.build_floor_id=f.id
  132. LEFT JOIN y_contract c ON c.company_id = r.company_id
  133. WHERE f.id= #{id}
  134. <if test="request.contract_time != null and request.contract_time !='' ">
  135. <![CDATA[ AND DATE_ADD(CURDATE(), INTERVAL #{request.contract_time} MONTH) >= date(c.contract_end_date) ]]>
  136. </if>
  137. </select>
  138. <select id="selectCarrierDetail" resultType="platform.modules.government.response.CarrierDataResp">
  139. SELECT
  140. i.`name` AS parkName,s.`name` AS streetName,b.build_number AS buildNumber,
  141. f.floor AS floorNum,f.is_use,b.plant_nature,b.landing_platform_count,b.intercolumniation,b.lift_load_bearing
  142. FROM y_floor f
  143. LEFT JOIN y_building b ON b.id = f.building_id
  144. LEFT JOIN y_info i ON i.id = b.build_id
  145. LEFT JOIN s_street s ON s.id = i.street_id
  146. WHERE
  147. f.id=#{id}
  148. </select>
  149. <select id="selectCompanyDetail" resultType="platform.modules.government.response.CompanyDetail">
  150. SELECT
  151. IFNULL(c.area,0) AS area,r.contract_terminate_date AS contractEndDate,r.company_name AS name,r.build_number AS buildNumber,r.floor AS floorNum
  152. FROM y_floor f
  153. RIGHT JOIN y_floor_contract_relate r ON r.build_floor_id=f.id
  154. LEFT JOIN y_contract c ON c.company_id = r.company_id
  155. LEFT JOIN y_info i ON i.id = r.build_id
  156. LEFT JOIN s_street s ON s.id = i.street_id
  157. WHERE
  158. f.id=#{id}
  159. </select>
  160. <select id="selectStreetBuildArea" resultType="platform.modules.government.response.AreaResult">
  161. SELECT
  162. SUM(a.area) AS 'sumRestArea',
  163. SUM(a.remain_area) AS 'sumRestRentArea'
  164. FROM
  165. y_building a
  166. LEFT JOIN y_info b ON a.build_id = b.id
  167. WHERE
  168. a.del_flag = FALSE
  169. AND b.del_flag = FALSE
  170. AND b.street_id = #{id}
  171. GROUP BY
  172. b.street_id
  173. </select>
  174. <select id="selectParkBuildArea" resultType="platform.modules.government.response.AreaResult">
  175. SELECT
  176. SUM(area) AS 'sumRestArea',
  177. SUM(remain_area) AS 'sumRestRentArea'
  178. FROM
  179. y_building
  180. WHERE
  181. del_flag = FALSE
  182. AND build_id = #{id}
  183. GROUP BY
  184. build_id
  185. </select>
  186. <!-- 载体总量 -->
  187. <select id="getAllBuildingArea" resultType="string">
  188. SELECT
  189. SUM(a.area)
  190. FROM
  191. y_building a
  192. LEFT JOIN y_info b ON a.build_id = b.id
  193. WHERE
  194. a.del_flag = FALSE
  195. AND b.del_flag = FALSE
  196. <if test="condition.street_id != null and condition.street_id !='' ">
  197. <![CDATA[ and b.street_id = #{condition.street_id} ]]>
  198. </if>
  199. </select>
  200. <!-- 载体总量 -->
  201. <select id="getBuildingArea" resultType="string">
  202. SELECT
  203. SUM( f.area )
  204. FROM
  205. ic_park p
  206. LEFT JOIN ic_building b ON b.park_id = p.id
  207. LEFT JOIN y_floor f ON f.building_id = b.id
  208. WHERE
  209. p.del_flag = FALSE AND b.del_flag = FALSE AND f.del_flag = FALSE AND p.is_start = 1 AND b.is_use = 1 AND
  210. f.is_use = 1
  211. <if test="condition.street_id != null and condition.street_id !='' ">
  212. and p.street_id = #{condition.street_id}
  213. </if>
  214. </select>
  215. <select id="getStreetStatistic" resultType="platform.modules.carrier.dto.CarrierLibraryResult">
  216. SELECT
  217. s.id,
  218. s.no,
  219. s.`name`,
  220. COUNT( p.id ) AS parkNum,
  221. IFNULL(
  222. (
  223. SELECT
  224. SUM( b.area )
  225. FROM
  226. ic_park p
  227. LEFT JOIN ic_building b ON b.park_id = p.id
  228. WHERE
  229. p.del_flag = FALSE AND p.is_start = TRUE AND b.del_flag = FALSE AND b.is_use = TRUE AND p.street_id = s.id
  230. ), 0) AS sumBuildArea ,
  231. (
  232. SELECT
  233. SUM( f.remain_area )
  234. FROM
  235. ic_park p
  236. LEFT JOIN ic_building b ON b.park_id = p.id
  237. LEFT JOIN y_floor f ON f.building_id = b.id
  238. WHERE
  239. p.del_flag = FALSE AND p.is_start = TRUE AND b.del_flag = FALSE AND b.is_use = TRUE
  240. AND f.del_flag = FALSE AND f.is_use = TRUE AND p.street_id = s.id
  241. ) AS sumRestArea
  242. FROM
  243. s_street s
  244. LEFT JOIN ic_park p ON p.street_id = s.id
  245. WHERE
  246. s.del_flag = FALSE AND s.is_start = 1
  247. AND p.del_flag = FALSE AND p.is_start = TRUE
  248. <if test="condition.streetId != null and condition.streetId != ''">
  249. AND s.id = #{condition.streetId}
  250. </if>
  251. GROUP BY
  252. s.id
  253. </select>
  254. <select id="getStreetAreaStatistic" resultType="platform.modules.carrier.dto.CarrierLibraryResult">
  255. SELECT
  256. SUM( b.area ) AS sumBuildArea,
  257. SUM( f.remain_area ) AS sumRestArea
  258. FROM
  259. ic_park p
  260. LEFT JOIN ic_building b ON b.park_id = p.id
  261. LEFT JOIN y_floor f ON f.building_id = b.id
  262. WHERE
  263. p.del_flag = FALSE
  264. AND b.del_flag = FALSE AND p.is_start = TRUE
  265. AND p.street_id = #{id}
  266. </select>
  267. <select id="getStreetRentAreaStatistic" resultType="java.lang.Double">
  268. SELECT
  269. IFNULL(SUM( cf.area ),0)
  270. FROM
  271. ic_park p
  272. LEFT JOIN ic_building b ON b.park_id = p.id
  273. LEFT JOIN y_floor f ON f.building_id = b.id
  274. LEFT JOIN ic_contract_floor cf ON cf.floor_id = f.id
  275. WHERE
  276. p.del_flag = FALSE AND p.is_start = TRUE
  277. AND b.del_flag = FALSE AND b.is_use = TRUE
  278. AND f.del_flag = FALSE AND f.is_use = TRUE
  279. AND p.street_id = #{id}
  280. AND cf.contract_end > NOW( )
  281. </select>
  282. <select id="getStreetTree" resultType="platform.modules.government.entity.Street">
  283. select id, `name` from s_street
  284. WHERE del_flag = FALSE
  285. </select>
  286. <select id="findStreetList" resultType="platform.modules.carrier.dto.StreetTree">
  287. select id, name from s_street where del_flag = 0 and is_start = 1
  288. </select>
  289. <select id="findStreetListStart" resultType="platform.modules.government.entity.Street">
  290. select * from s_street where del_flag = 0 and is_start = 1
  291. </select>
  292. </mapper>