ParkRoomReservationExtendMapper.xml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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="roomListPage" parameterType="com.idea.buildManage.dto.RoomSearchDto"
  82. resultType="com.idea.buildManage.vo.ParkRoomVo">
  83. select a.id, a.group_id, a.group_name, a.disc_id, a.disc_name, a.build_id, a.build_name, a.floor, a.room_no,
  84. IF(b.id is not null, '已匹配', '未匹配') as doorStatus, c.num as personNum
  85. from park_room a
  86. left join park_room_bind_door b on b.park_room_id = a.id
  87. left join (
  88. select park_room_id, count(1) as num
  89. from park_room_reservation
  90. group by park_room_id
  91. ) c on c.park_room_id = a.id
  92. <where>
  93. <if test="parkInfoId!=null and parkInfoId!=''">
  94. and a.group_id = #{parkInfoId}
  95. </if>
  96. <if test="mnpBuildingId!=null and mnpBuildingId!=''">
  97. and a.build_id = #{mnpBuildingId}
  98. </if>
  99. <if test="roomAddress!=null and roomAddress!=''">
  100. and concat(a.group_name, a.disc_name, a.build_name, '号', a.room_no, '室') like concat('%',#{roomAddress},'%')
  101. </if>
  102. </where>
  103. order by group_name, build_name + 0, room_no + 0
  104. </select>
  105. </mapper>