<?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.thhy.engineering.modules.biz.room.mapper.RoomMapper">
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
t.room_id as roomId,
|
t.build_id as buildId,
|
t.floor_num as floorNum,
|
t.dorm_num as dormNum,
|
t.is_use as isUse
|
</sql>
|
|
<sql id="condition_query">
|
<where>
|
<trim suffixOverrides=" AND ">
|
<if test="buildId!=null and buildId!=''">
|
t.build_id = #{buildId} AND
|
</if>
|
<if test="floorNum!=null">
|
t.floor_num = #{floorNum} AND
|
</if>
|
<if test="dormNum!=null and dormNum!=''">
|
t.dorm_num = #{dormNum} AND
|
</if>
|
<if test="isUse!=null">
|
t.is_use = #{isUse} AND
|
</if>
|
</trim>
|
</where>
|
</sql>
|
|
<select id="queryById" resultType="com.thhy.engineering.modules.biz.room.entity.Room">
|
select <include refid="Base_Column_List" />
|
from sys_room t
|
where t.room_id=#{roomId}
|
</select>
|
|
<select id="queryVersionById" resultType="integer">
|
select version from sys_room
|
where room_id=#{roomId}
|
</select>
|
|
<!--查询列表-->
|
<select id="findList" resultType="com.thhy.engineering.modules.biz.room.entity.RoomListVo">
|
select sr.build_id as buildId,sb.build_num as buildNum,sr.floor_num as floorNum
|
,GROUP_CONCAT(sr.dorm_num) as dormNums
|
from sys_room sr
|
left join sys_build sb on sb.build_id = sr.build_id
|
<where>
|
<trim suffixOverrides=" AND ">
|
sr.is_use = 1 AND sb.company_id = #{companyId} AND
|
<if test="buildId!=null and buildId!=''">
|
sr.build_id = #{buildId} AND
|
</if>
|
<if test="floorNum!=null and floorNum !='' ">
|
sr.floor_num = #{floorNum} AND
|
</if>
|
</trim>
|
</where>
|
group by sr.build_id,floor_num
|
</select>
|
|
<select id="findRoomList" resultType="com.thhy.engineering.modules.biz.room.entity.Room">
|
select room_id as roomId,dorm_num as dormNum from sys_room t
|
where t.build_id = #{buildId} and t.floor_num = #{floorNum} and t.is_use = 1
|
</select>
|
|
<select id="queryFloorByBuild" resultType="com.thhy.engineering.modules.biz.room.entity.FloorPull">
|
select floor_num as floorNum from sys_room where build_id=#{buildId} and is_use=1 GROUP BY floor_num
|
</select>
|
|
<select id="queryRoomByBuildFloor" resultType="com.thhy.engineering.modules.biz.room.entity.Room">
|
select room_id as roomId,dorm_num as dormNum from sys_room where build_id=#{buildId}
|
and floor_num = #{floorNum} and is_use = 1 order by dormNum
|
</select>
|
|
<!--查询列表-->
|
<select id="findAll" resultType="com.thhy.engineering.modules.biz.room.entity.Room">
|
SELECT
|
<include refid="Base_Column_List" />
|
from sys_room t
|
</select>
|
|
<!--插入操作-->
|
<insert id="insert">
|
insert into sys_room
|
<trim prefix="(" suffix=")" suffixOverrides="," >
|
<if test="roomId != null">
|
room_id,
|
</if>
|
<if test="buildId != null">
|
build_id,
|
</if>
|
<if test="floorNum != null">
|
floor_num,
|
</if>
|
<if test="dormNum != null">
|
dorm_num,
|
</if>
|
<if test="isUse != null">
|
is_use,
|
</if>
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides="," >
|
<if test="roomId != null">
|
#{roomId},
|
</if>
|
<if test="buildId != null">
|
#{buildId},
|
</if>
|
<if test="floorNum != null">
|
#{floorNum},
|
</if>
|
<if test="dormNum != null">
|
#{dormNum},
|
</if>
|
<if test="isUse != null">
|
#{isUse},
|
</if>
|
</trim>
|
</insert>
|
|
|
<!--更新操作-->
|
<update id="update">
|
update sys_room
|
<set>
|
<if test="buildId != null">
|
build_id=#{buildId},
|
</if>
|
<if test="floorNum != null">
|
floor_num=#{floorNum},
|
</if>
|
<if test="dormNum != null">
|
dorm_num=#{dormNum},
|
</if>
|
<if test="isUse != null">
|
is_use=#{isUse},
|
</if>
|
</set>
|
where room_id=#{roomId}
|
</update>
|
|
<!--逻辑删除-->
|
<update id="deletelogic">
|
update sys_room
|
SET is_use = 0
|
where room_id=#{roomId}
|
</update>
|
|
<!--根据ID删除-->
|
<delete id="deleteById">
|
delete from sys_room
|
where room_id=#{roomId}
|
</delete>
|
|
<delete id="deleteByBuildFloor">
|
delete from sys_room where build_id = #{buildId} and floor_num = #{floorNum}
|
</delete>
|
|
<select id="countByRoom" resultType="int">
|
select count(dorm_id) from sys_dorm where room_id = #{roomId}
|
</select>
|
|
<select id="CountByBuildFloor" resultType="com.thhy.engineering.modules.biz.room.entity.RoomListVo">
|
SELECT
|
sb.build_num as buildNum,sm.floor_num as floorNum,GROUP_CONCAT(sm.dorm_num) as dormNums
|
FROM
|
sys_room sm
|
LEFT JOIN sys_build sb ON sm.build_id = sb.build_id
|
left join sys_dorm sd on sd.room_id = sm.room_id
|
where sm.build_id = #{buildId} AND sm.floor_num = #{floorNum} AND sd.is_use = 1
|
group by sb.build_id,sm.floor_num
|
</select>
|
|
</mapper>
|