ParkRoomReservationExtendMapper.xml 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  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.idea.buildManage.mapper.ParkRoomReservationExtendMapper">
  4. <select id="listPage" parameterType="com.idea.buildManage.dto.ParkRoomReservationDto"
  5. resultType="com.idea.buildManage.model.ParkRoomReservation">
  6. select a.id,
  7. a.park_info_id,
  8. a.park_info_name,
  9. a.park_floor_disc_id,
  10. a.park_floor_disc_name,
  11. a.mnp_building_id,
  12. a.mnp_building_no,
  13. a.park_room_id,
  14. a.park_room_floor,
  15. a.park_room_no,
  16. a.buyer_name,
  17. a.buyer_phone,
  18. a.buyer_gender,
  19. a.buyer_address,
  20. a.applicant_name,
  21. a.applicant_phone,
  22. a.overview_content,
  23. a.reservation_date,
  24. a.reservation_time_start,
  25. a.reservation_time_end,
  26. a.reservation_order,
  27. a.reservation_status,
  28. case a.reservation_status
  29. when 1 then '已预约'
  30. when 2 then '已取消'
  31. when 3 then '待入户'
  32. when 4 then '已完成'
  33. end as reservationStatusStr,
  34. a.door_pass_status,
  35. case a.door_pass_status
  36. when 1 then '未发'
  37. when 2 then '已发'
  38. end as doorPassStatusStr,
  39. a.create_user,
  40. a.create_time,
  41. a.update_user,
  42. a.update_time,
  43. a.looking_notes,
  44. b.truename as createUserName,
  45. if(c.id is not null, '已匹配', '未匹配') as doorStatus
  46. from park_room_reservation a
  47. left join frame_user b on b.id = a.create_user
  48. left join park_room_bind_door c on c.park_room_id = a.park_room_id
  49. <where>
  50. <if test="keyword!=null and keyword!=''">
  51. and (
  52. a.buyer_name like concat('%',#{keyword},'%')
  53. or
  54. a.buyer_phone like concat('%',#{keyword},'%')
  55. )
  56. </if>
  57. <if test="createTimeStart!=null and createTimeStart!=''">
  58. and date_format(a.create_time, '%Y-%m-%d') &gt;= #{createTimeStart}
  59. </if>
  60. <if test="createTimeEnd!=null and createTimeEnd!=''">
  61. and date_format(a.create_time, '%Y-%m-%d') &lt;= #{createTimeEnd}
  62. </if>
  63. <if test="reservationStatus!=null">
  64. and a.reservation_status= #{reservationStatus}
  65. </if>
  66. <if test="parkInfoId!=null and parkInfoId!=''">
  67. and a.park_info_id = #{parkInfoId}
  68. </if>
  69. <if test="mnpBuildingId!=null and mnpBuildingId!=''">
  70. and a.mnp_building_id = #{mnpBuildingId}
  71. </if>
  72. <if test="parkRoomNo!=null and parkRoomNo!=''">
  73. and a.park_room_no like concat('%',#{parkRoomNo},'%')
  74. </if>
  75. <if test="roomAddress!=null and roomAddress!=''">
  76. and concat(a.park_info_name, a.park_floor_disc_name, a.mnp_building_no, '号', a.park_room_no, '室') like concat('%',#{roomAddress},'%')
  77. </if>
  78. </where>
  79. order by create_time desc
  80. </select>
  81. <select id="completeListPage" parameterType="com.idea.buildManage.dto.ParkRoomDoorLogDto"
  82. resultType="com.idea.buildManage.vo.ParkRoomDoorLogVo">
  83. select a.id, a.room_id, a.log_id, a.log_type, a.lock_type, a.lock_mac, a.update_time, a.log_level,
  84. a.create_time, a.log_alert, a.sync_time, a.looking_notes, a.update_user,
  85. b.room_name, b.floor_name, b.building_name, b.house_name,
  86. concat(b.house_name, b.building_name, b.room_name) as roomAddress,
  87. if(c.id is not null, '已关联', '未关联') as roomBind, d.truename as updateUserName
  88. from park_room_door_log a
  89. left join park_room_door b on b.room_id = a.room_id
  90. left join park_room_bind_door c on c.door_pass_id = a.room_id
  91. left join frame_user d on d.id = a.update_user
  92. <where>
  93. <if test="logType!=null">
  94. and a.log_type = #{logType}
  95. </if>
  96. <if test="createTimeStart!=null and createTimeStart!=''">
  97. and date_format(a.create_time, '%Y-%m-%d') &gt;= #{createTimeStart}
  98. </if>
  99. <if test="createTimeEnd!=null and createTimeEnd!=''">
  100. and date_format(a.create_time, '%Y-%m-%d') &lt;= #{createTimeEnd}
  101. </if>
  102. <if test="houseName!=null and houseName!=''">
  103. and b.house_name like concat('%',#{houseName},'%')
  104. </if>
  105. <if test="buildingName!=null and buildingName!=''">
  106. and b.building_name like concat('%',#{buildingName},'%')
  107. </if>
  108. <if test="roomName!=null and roomName!=''">
  109. and b.room_name like concat('%',#{roomName},'%')
  110. </if>
  111. <if test="roomAddress!=null and roomAddress!=''">
  112. and concat(b.house_name, b.building_name, b.room_name) like concat('%',#{roomAddress},'%')
  113. </if>
  114. </where>
  115. order by a.create_time desc, b.house_name, b.building_name + 0, b.room_name + 0
  116. </select>
  117. <select id="roomListPage" parameterType="com.idea.buildManage.dto.RoomSearchDto"
  118. resultType="com.idea.buildManage.vo.ParkRoomVo">
  119. select a.id, a.group_id, d.group_name, a.disc_id, e.name as discName, a.build_id, f.build_num as buildName,
  120. a.floor, a.room_no,
  121. IF(b.id is not null, '已匹配', '未匹配') as doorStatus, c.num as personNum
  122. from park_room a
  123. left join park_room_bind_door b on b.park_room_id = a.id
  124. left join (
  125. select park_room_id, count(1) as num
  126. from park_room_reservation
  127. group by park_room_id
  128. ) c on c.park_room_id = a.id
  129. left join park_info d on d.id = a.group_id
  130. left join park_floor_disc e on e.id = a.disc_id
  131. left join mnp_building f on f.id = a.build_id
  132. <where>
  133. and a.del_flag != '1'
  134. <if test="parkInfoId!=null and parkInfoId!=''">
  135. and a.group_id = #{parkInfoId}
  136. </if>
  137. <if test="mnpBuildingId!=null and mnpBuildingId!=''">
  138. and a.build_id = #{mnpBuildingId}
  139. </if>
  140. <if test="roomAddress!=null and roomAddress!=''">
  141. and concat(d.group_name, e.name, f.build_num, '号', a.room_no, '室') like concat('%',#{roomAddress},'%')
  142. </if>
  143. </where>
  144. order by d.group_name, f.build_num + 0, room_no + 0
  145. </select>
  146. <select id="getReservationByRoomAndTime" resultType="com.idea.buildManage.model.ParkRoomReservation">
  147. select a.*
  148. from park_room_reservation a
  149. left join park_room_bind_door b on b.park_room_id = a.park_room_id
  150. where b.door_pass_id = #{roomId}
  151. and CONCAT(DATE_FORMAT(reservation_date, '%Y-%m-%d'), ' ', reservation_time_start, ':00') &lt;= #{logTime}
  152. and CONCAT(DATE_FORMAT(reservation_date, '%Y-%m-%d'), ' ', reservation_time_end, ':00') &gt;= #{logTime}
  153. limit 1
  154. </select>
  155. </mapper>