12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?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.xjrsoft.module.room.mapper.RoomTeacherAppointMapper">
- <select id="getPage" parameterType="com.xjrsoft.module.room.dto.RoomTeacherAppointPageDto" resultType="com.xjrsoft.module.room.vo.RoomTeacherAppointPageVo">
- SELECT t1.id,t1.sort_code,t2.name AS build_name,t1.floor_number,t1.room_name,t3.name AS gender_cn,
- (
- SELECT GROUP_CONCAT(c2.name) FROM room_teacher_appoint c1
- LEFT JOIN xjr_user c2 ON c1.user_id = c2.id
- WHERE c1.delete_mark = 0 AND c1.room_id = t1.id
- ) AS appoint_users FROM room t1
- LEFT JOIN base_office_build t2 ON t1.office_build_id = t2.id
- LEFT JOIN xjr_dictionary_detail t3 ON t1.gender = t3.code AND t3.item_id = 2023000000000000004
- WHERE t1.delete_mark = 0
- <if test="dto.officeBuildId != null">
- and t1.office_build_id = #{dto.officeBuildId}
- </if>
- <if test="dto.floorNumber != null">
- and t1.floor_number = #{dto.floorNumber}
- </if>
- <if test="dto.roomName != null and dto.roomName != ''">
- and t1.room_name like concat('%', #{dto.checkInStatus},'%')
- </if>
- <if test="dto.gender != null and dto.gender != ''">
- and t1.gender = #{dto.gender}
- </if>
- <if test="dto.userId != null">
- and t1.id in (
- SELECT DISTINCT c1.room_id FROM room_teacher_appoint c1
- LEFT JOIN xjr_user c2 ON c1.user_id = c2.id
- WHERE c1.delete_mark = 0 AND c2.id = #{dto.userId}
- )
- </if>
- <if test="dto.identity != null and dto.identity != ''">
- and t1.check_in_status like concat('%',#{dto.identity},'%')
- </if>
- ORDER BY t1.sort_code
- </select>
- </mapper>
|