HouseNumberMapper.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  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.template.mapper.HouseNumberMapper">
  4. <select id="houseStatePage" resultType="com.template.model.vo.HouseStateVo">
  5. SELECT
  6. hn.id AS houseNumberId,
  7. hn.house_id as houseId,
  8. hn.room_number as houseNumber,
  9. hn.house_status as houseStatus,
  10. h.room_name as houseName,
  11. hns.`status` AS status,
  12. ho.reserve_name as reserveName,
  13. hns.start_time as reserveLiveTime,
  14. hns.end_time as reserveLeaveTime,
  15. h.room_live_time as roomLiveTime,
  16. h.receiving_time as receivingTime,
  17. hns.id as houseNumberStateId,
  18. ho.order_number as orderNumber,
  19. h.room_type as roomType,
  20. b.building,
  21. b.element
  22. FROM
  23. `house_number` hn
  24. LEFT JOIN house h ON h.id = hn.house_id
  25. AND h.deleted = 0
  26. LEFT JOIN house_number_state hns ON hn.id = hns.house_number_id
  27. AND hns.deleted = 0
  28. AND #{end}>= hns.start_time
  29. AND hns.end_time>= #{start}
  30. LEFT JOIN house_order ho ON hns.order_number = ho.order_number
  31. AND ho.deleted = 0
  32. LEFT JOIN building b ON b.id = hn.building_id
  33. AND b.deleted = 0
  34. <where>
  35. hn.deleted = 0
  36. <if test="houseType != null and houseType != ''">
  37. AND h.room_type = #{houseType}
  38. </if>
  39. <if test="keyWord != null and keyWord != ''">
  40. AND ( hn.room_number LIKE '%' #{keyWord} '%' OR ho.reserve_name LIKE '%' #{keyWord} '%' )
  41. </if>
  42. <if test="houseId != null and houseId != ''">
  43. AND hn.house_id = #{houseId}
  44. </if>
  45. <if test="buildingId != null and buildingId != ''">
  46. AND hn.building_id = #{buildingId}
  47. </if>
  48. <if test="status != null and status != ''">
  49. AND hns.status = #{status}
  50. </if>
  51. </where>
  52. ORDER BY
  53. hn.room_number
  54. </select>
  55. <select id="houseStateCalendarPage" resultType="com.template.model.vo.CalendarPageVo">
  56. SELECT
  57. hn.id AS houseNumberId,
  58. hn.house_id as houseId,
  59. hn.room_number as houseNumber,
  60. hn.house_status as houseStatus,
  61. hn.id as houseNumberStateId,
  62. -- hn.`status` as houseType,
  63. h.room_name as houseName,
  64. -- hns.`status` AS status
  65. -- ho.reserve_name as reserveName,
  66. -- ho.reserve_live_time as reserveLiveTime,
  67. -- ho.reserve_leave_time as reserveLeaveTime,
  68. h.room_price as price,
  69. h.room_live_time as roomLiveTime,
  70. h.receiving_time as receivingTime,
  71. b.building,
  72. b.element
  73. FROM
  74. `house_number` hn
  75. LEFT JOIN house h ON h.id = hn.house_id
  76. AND h.deleted = 0
  77. LEFT JOIN building b ON b.id = hn.building_id
  78. AND b.deleted = 0
  79. -- LEFT JOIN house_number_state hns ON hn.id = hns.house_number_id
  80. -- AND hns.deleted = 0
  81. -- LEFT JOIN house_order ho ON hns.order_number = ho.order_number
  82. -- AND ho.deleted = 0
  83. <where>
  84. hn.deleted = 0
  85. <if test="houseType != null and houseType != ''">
  86. AND h.room_type = #{houseType}
  87. </if>
  88. <if test="keyWord != null and keyWord != ''">
  89. AND hn.room_number LIKE '%' #{keyWord} '%'
  90. </if>
  91. <if test="houseId != null and houseId != ''">
  92. AND hn.house_id = #{houseId}
  93. </if>
  94. <if test="buildingId != null and buildingId != ''">
  95. AND hn.building_id = #{buildingId}
  96. </if>
  97. </where>
  98. ORDER BY
  99. hn.room_number
  100. </select>
  101. <select id="houseLockListDto" resultType="com.template.model.vo.houseLockListVo">
  102. SELECT
  103. hn.house_id AS houseId,
  104. hn.id AS houseNumberId,
  105. hn.room_number AS roomNumber,
  106. hl.equipment_type AS equipmentType,
  107. hl.network_type as networkType,
  108. hl.wifi_mac as wifiMac,
  109. hl.binding_time as bindingTime,
  110. hl.electric_quantity as electricQuantity,
  111. hl.network_state as networkState,
  112. hl.equipment_state as equipmentState
  113. FROM
  114. `house_number` hn
  115. LEFT JOIN house_lock hl ON hl.house_number_id = hn.id and hl.deleted=0
  116. <where>
  117. FIND_IN_SET( hn.house_id, #{houseIds})
  118. and hn.deleted = 0
  119. <if test="roomNumber != null and roomNumber != ''">
  120. AND hn.room_number LIKE '%' #{roomNumber} '%'
  121. </if>
  122. </where>
  123. ORDER BY
  124. hn.room_number
  125. </select>
  126. <select id="getNumberState" resultType="java.lang.Integer">
  127. SELECT
  128. hn.id
  129. FROM
  130. `house_number` hn
  131. LEFT JOIN house_number_state hns on hns.house_number_id=hn.id AND hns.deleted=0
  132. WHERE hns.end_time> #{date}
  133. AND hn.deleted=0
  134. GROUP BY hn.id
  135. </select>
  136. <select id="freeDropDownShow" resultType="com.template.model.vo.FreeVo">
  137. SELECT
  138. hn.id ,
  139. hn.house_id as houseId,
  140. hn.room_number as roomNumber,
  141. hn.house_status as houseStatus,
  142. h.room_type as roomType
  143. FROM
  144. `house_number` hn
  145. LEFT JOIN house h ON h.id = hn.house_id
  146. AND h.deleted = 0
  147. WHERE hn.deleted=0
  148. AND FIND_IN_SET(hn.id,#{houseNumberIds})
  149. AND hn.house_status=1
  150. </select>
  151. <select id="dirtyDropDownShow" resultType="com.template.model.vo.FreeVo">
  152. SELECT
  153. hn.id ,
  154. hn.house_id as houseId,
  155. hn.room_number as roomNumber,
  156. hn.house_status as houseStatus,
  157. h.room_type as roomType
  158. FROM
  159. `house_number` hn
  160. LEFT JOIN house h ON h.id = hn.house_id
  161. AND h.deleted = 0
  162. WHERE hn.deleted=0
  163. AND hn.house_status=2
  164. </select>
  165. <select id="lockDropDownShow" resultType="com.template.model.vo.FreeVo">
  166. SELECT
  167. hn.id ,
  168. hn.house_id as houseId,
  169. hn.room_number as roomNumber,
  170. hn.house_status as houseStatus,
  171. h.room_type as roomType
  172. FROM
  173. `house_number` hn
  174. LEFT JOIN house_number_state hns ON hns.house_number_id = hn.id
  175. AND hns.deleted = 0
  176. LEFT JOIN house h ON h.id = hn.house_id
  177. AND h.deleted = 0
  178. WHERE
  179. #{date} >= hns.start_time
  180. AND hns.end_time > #{date}
  181. AND hns.status=5
  182. AND hn.deleted = 0
  183. </select>
  184. <select id="shutDropDownShow" resultType="com.template.model.vo.FreeVo">
  185. SELECT
  186. hn.id ,
  187. hn.house_id as houseId,
  188. hn.room_number as roomNumber,
  189. hn.house_status as houseStatus,
  190. h.room_type as roomType
  191. FROM
  192. `house_number` hn
  193. LEFT JOIN house h ON h.id = hn.house_id
  194. AND h.deleted = 0
  195. WHERE hn.deleted=0
  196. AND FIND_IN_SET(hn.id,#{houseNumberIds})
  197. AND hn.house_status=1
  198. AND hn.electric_type=1
  199. </select>
  200. <select id="openDropDownShow" resultType="com.template.model.vo.FreeVo">
  201. SELECT
  202. hn.id ,
  203. hn.house_id as houseId,
  204. hn.room_number as roomNumber,
  205. hn.house_status as houseStatus,
  206. h.room_type as roomType
  207. FROM
  208. `house_number` hn
  209. LEFT JOIN house h ON h.id = hn.house_id
  210. AND h.deleted = 0
  211. WHERE hn.deleted=0
  212. AND FIND_IN_SET(hn.id,#{houseNumberIds})
  213. AND hn.house_status=1
  214. AND hn.electric_type=2
  215. </select>
  216. <select id="roomChangePage" resultType="com.template.model.vo.HouseNumberVo">
  217. SELECT
  218. hn.id,
  219. hn.house_id as houseId,
  220. hn.room_number as roomNumber,
  221. hn.house_status as houseStatus,
  222. hn.electric_type as electricType,
  223. hn.electric_equipment_id as electricEquipmentId,
  224. hn.electric_equipment_meter_name as electricEquipmentMeterName,
  225. hn.water_equipment_id as waterEquipmentId,
  226. hn.water_equipment_meter_name as waterEquipmentMeterName,
  227. h.room_name as roomName,
  228. h.room_type as roomType,
  229. h.room_price as roomPrice
  230. FROM
  231. `house_number` hn
  232. LEFT JOIN house h on h.id=hn.house_id and hn.deleted=0
  233. WHERE hn.house_id=#{houseId} AND hn.deleted=0 and hn.house_status=1
  234. </select>
  235. <select id="pageList" resultType="com.template.model.vo.HouseNumberPageVo">
  236. SELECT
  237. hn.id,
  238. hn.house_id as houseId,
  239. hn.room_number as roomNumber,
  240. hn.house_status as houseStatus,
  241. hn.electric_type as electricType,
  242. hn.electric_equipment_id as electricEquipmentId,
  243. hn.electric_equipment_meter_name as electricEquipmentMeterName,
  244. hn.water_equipment_id as waterEquipmentId,
  245. hn.water_equipment_meter_name as waterEquipmentMeterName,
  246. hn.create_time as createTime,
  247. h.room_name as houseName,
  248. h.room_type as roomType
  249. FROM
  250. `house_number` hn
  251. LEFT JOIN house h on h.id=hn.house_id AND h.deleted=0
  252. WHERE
  253. hn.deleted=0
  254. <if test="keyWord != null and keyWord != ''">
  255. AND (hn.room_number LIKE '%' #{keyWord} '%' OR hn.electric_equipment_meter_name LIKE '%' #{keyWord} '%' OR hn.water_equipment_meter_name LIKE '%' #{keyWord} '%')
  256. </if>
  257. <if test="startTime != null and startTime != '' and endTime != null and endTime != '' ">
  258. AND #{endTime} >= hn.create_time
  259. AND hn.create_time >= #{startTime}
  260. </if>
  261. ORDER BY h.id
  262. </select>
  263. <select id="listExport" resultType="com.template.model.vo.HouseNumberPageVo">
  264. SELECT
  265. hn.id,
  266. hn.house_id as houseId,
  267. hn.room_number as roomNumber,
  268. hn.house_status as houseStatus,
  269. hn.electric_type as electricType,
  270. hn.electric_equipment_id as electricEquipmentId,
  271. hn.electric_equipment_meter_name as electricEquipmentMeterName,
  272. hn.water_equipment_id as waterEquipmentId,
  273. hn.water_equipment_meter_name as waterEquipmentMeterName,
  274. hn.create_time as createTime,
  275. h.room_name as houseName,
  276. h.room_type as roomType
  277. FROM
  278. `house_number` hn
  279. LEFT JOIN house h on h.id=hn.house_id AND h.deleted=0
  280. WHERE
  281. hn.deleted=0
  282. <if test="keyWord != null and keyWord != ''">
  283. AND (hn.room_number LIKE '%' #{keyWord} '%' OR hn.electric_equipment_meter_name LIKE '%' #{keyWord} '%' OR hn.water_equipment_meter_name LIKE '%' #{keyWord} '%')
  284. </if>
  285. <if test="startTime != null and startTime != '' and endTime != null and endTime != '' ">
  286. AND #{endTime} >= hn.create_time
  287. AND hn.create_time >= #{startTime}
  288. </if>
  289. ORDER BY h.id
  290. </select>
  291. <select id="getpage" resultType="com.template.model.vo.HouseNumberListVo">
  292. SELECT
  293. b.building as building,
  294. b.element,
  295. hl.equipment_type as doorLock,
  296. h.room_name as roomName,
  297. h.room_type as roomType,
  298. hn.id,
  299. hn.room_number AS roomNumber,
  300. hn.house_status AS houseStatus,
  301. hn.electric_type AS electricType,
  302. hn.electric_equipment_id AS electricEquipmentId,
  303. hn.electric_equipment_meter_name AS electricEquipmentMeterName,
  304. hn.water_equipment_id AS waterEquipmentId,
  305. hn.water_equipment_meter_name AS waterEquipmentMeterName,
  306. b.id as buildingId,
  307. h.id as houseId
  308. FROM
  309. `house_number` hn
  310. LEFT JOIN building b ON b.id = hn.building_id
  311. LEFT JOIN house_lock hl ON hl.house_number_id = hn.id
  312. LEFT JOIN house h ON h.id = hn.house_id
  313. WHERE
  314. hn.deleted=0
  315. <if test="keyWord != null and keyWord != ''">
  316. AND hn.room_number LIKE '%' #{keyWord} '%'
  317. </if>
  318. <if test="buildingId != null and buildingId != ''">
  319. AND b.id= #{buildingId}
  320. </if>
  321. <if test="houseId != null and houseId != ''">
  322. AND h.id= #{houseId}
  323. </if>
  324. ORDER BY b.building,b.element
  325. </select>
  326. </mapper>