HouseNumberMapper.xml 12 KB

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