123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.idea.buildManage.mapper.ParkRoomReservationExtendMapper">
- <select id="listPage" parameterType="com.idea.buildManage.dto.ParkRoomReservationDto"
- resultType="com.idea.buildManage.model.ParkRoomReservation">
- select a.id,
- a.park_info_id,
- a.park_info_name,
- a.park_floor_disc_id,
- a.park_floor_disc_name,
- a.mnp_building_id,
- a.mnp_building_no,
- a.park_room_id,
- a.park_room_floor,
- a.park_room_no,
- a.buyer_name,
- a.buyer_phone,
- a.buyer_gender,
- a.buyer_address,
- a.applicant_name,
- a.applicant_phone,
- a.overview_content,
- a.reservation_date,
- a.reservation_time_start,
- a.reservation_time_end,
- a.reservation_order,
- a.reservation_status,
- case a.reservation_status
- when 1 then '已预约'
- when 2 then '已取消'
- when 3 then '待入户'
- when 4 then '已完成'
- end as reservationStatusStr,
- a.door_pass_status,
- case a.door_pass_status
- when 1 then '未发'
- when 2 then '已发'
- end as doorPassStatusStr,
- a.create_user,
- a.create_time,
- a.update_user,
- a.update_time,
- a.looking_notes,
- b.truename as createUserName,
- if(c.id is not null, '已匹配', '未匹配') as doorStatus
- from park_room_reservation a
- left join frame_user b on b.id = a.create_user
- left join park_room_bind_door c on c.park_room_id = a.park_room_id
- <where>
- <if test="keyword!=null and keyword!=''">
- and (
- a.buyer_name like concat('%',#{keyword},'%')
- or
- a.buyer_phone like concat('%',#{keyword},'%')
- )
- </if>
- <if test="createTimeStart!=null and createTimeStart!=''">
- and date_format(a.create_time, '%Y-%m-%d') >= #{createTimeStart}
- </if>
- <if test="createTimeEnd!=null and createTimeEnd!=''">
- and date_format(a.create_time, '%Y-%m-%d') <= #{createTimeEnd}
- </if>
- <if test="reservationStatus!=null">
- and a.reservation_status= #{reservationStatus}
- </if>
- <if test="parkInfoId!=null and parkInfoId!=''">
- and a.park_info_id = #{parkInfoId}
- </if>
- <if test="mnpBuildingId!=null and mnpBuildingId!=''">
- and a.mnp_building_id = #{mnpBuildingId}
- </if>
- <if test="parkRoomNo!=null and parkRoomNo!=''">
- and a.park_room_no like concat('%',#{parkRoomNo},'%')
- </if>
- <if test="roomAddress!=null and roomAddress!=''">
- and concat(a.park_info_name, a.park_floor_disc_name, a.mnp_building_no, '号', a.park_room_no, '室') like concat('%',#{roomAddress},'%')
- </if>
- </where>
- order by create_time desc
- </select>
- <select id="completeListPage" parameterType="com.idea.buildManage.dto.ParkRoomDoorLogDto"
- resultType="com.idea.buildManage.vo.ParkRoomDoorLogVo">
- select a.id, a.room_id, a.log_id, a.log_type, a.lock_type, a.lock_mac, a.update_time, a.log_level,
- a.create_time, a.log_alert, a.sync_time, a.looking_notes, a.update_user,
- b.room_name, b.floor_name, b.building_name, b.house_name,
- concat(b.house_name, b.building_name, b.room_name) as roomAddress,
- if(c.id is not null, '已关联', '未关联') as roomBind, d.truename as updateUserName
- from park_room_door_log a
- left join park_room_door b on b.room_id = a.room_id
- left join park_room_bind_door c on c.door_pass_id = a.room_id
- left join frame_user d on d.id = a.update_user
- <where>
- <if test="logType!=null">
- and a.log_type = #{logType}
- </if>
- <if test="createTimeStart!=null and createTimeStart!=''">
- and date_format(a.create_time, '%Y-%m-%d') >= #{createTimeStart}
- </if>
- <if test="createTimeEnd!=null and createTimeEnd!=''">
- and date_format(a.create_time, '%Y-%m-%d') <= #{createTimeEnd}
- </if>
- <if test="houseName!=null and houseName!=''">
- and b.house_name like concat('%',#{houseName},'%')
- </if>
- <if test="buildingName!=null and buildingName!=''">
- and b.building_name like concat('%',#{buildingName},'%')
- </if>
- <if test="roomName!=null and roomName!=''">
- and b.room_name like concat('%',#{roomName},'%')
- </if>
- <if test="roomAddress!=null and roomAddress!=''">
- and concat(b.house_name, b.building_name, b.room_name) like concat('%',#{roomAddress},'%')
- </if>
- </where>
- order by a.create_time desc, b.house_name, b.building_name + 0, b.room_name + 0
- </select>
- <select id="roomListPage" parameterType="com.idea.buildManage.dto.RoomSearchDto"
- resultType="com.idea.buildManage.vo.ParkRoomVo">
- select a.id, a.group_id, d.group_name, a.disc_id, e.name as discName, a.build_id, f.build_num as buildName,
- a.floor, a.room_no,
- IF(b.id is not null, '已匹配', '未匹配') as doorStatus, c.num as personNum
- from park_room a
- left join park_room_bind_door b on b.park_room_id = a.id
- left join (
- select park_room_id, count(1) as num
- from park_room_reservation
- group by park_room_id
- ) c on c.park_room_id = a.id
- left join park_info d on d.id = a.group_id
- left join park_floor_disc e on e.id = a.disc_id
- left join mnp_building f on f.id = a.build_id
- <where>
- and a.del_flag != '1'
- <if test="parkInfoId!=null and parkInfoId!=''">
- and a.group_id = #{parkInfoId}
- </if>
- <if test="mnpBuildingId!=null and mnpBuildingId!=''">
- and a.build_id = #{mnpBuildingId}
- </if>
- <if test="roomAddress!=null and roomAddress!=''">
- and concat(d.group_name, e.name, f.build_num, '号', a.room_no, '室') like concat('%',#{roomAddress},'%')
- </if>
- </where>
- order by d.group_name, f.build_num + 0, room_no + 0
- </select>
- <select id="getReservationByRoomAndTime" resultType="com.idea.buildManage.model.ParkRoomReservation">
- select a.*
- from park_room_reservation a
- left join park_room_bind_door b on b.park_room_id = a.park_room_id
- where b.door_pass_id = #{roomId}
- and CONCAT(DATE_FORMAT(reservation_date, '%Y-%m-%d'), ' ', reservation_time_start, ':00') <= #{logTime}
- and CONCAT(DATE_FORMAT(reservation_date, '%Y-%m-%d'), ' ', reservation_time_end, ':00') >= #{logTime}
- limit 1
- </select>
- </mapper>
|