FloorServiceDaoImplMapper.xml 9.84 KB
<?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="floorServiceDaoImpl">

    <!-- 保存小区楼信息 add by wuxw 2018-07-03 -->
    <insert id="saveBusinessFloorInfo" parameterType="Map">
        insert into business_floor(floor_id, operate, name, remark, b_id, user_id, floor_num, community_id, floor_area)
        values (#{floorId}, #{operate}, #{name}, #{remark}, #{bId}, #{userId}, #{floorNum}, #{communityId},
                #{floorArea})
    </insert>

    <!-- 查询小区楼信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessFloorInfo" parameterType="Map" resultType="Map">
        select t.floor_id,t.operate,t.name,t.remark,t.b_id,t.user_id,t.floor_num,t.community_id,t.floor_area
        from business_floor t
        where 1 =1
        <if test="floorId !=null and floorId != ''">
            and t.floor_id= #{floorId}
        </if>
        <if test="operate !=null and operate != ''">
            and t.operate= #{operate}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and t.floor_num= #{floorNum}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
    </select>

    <!-- 保存小区楼信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveFloorInfoInstance" parameterType="Map">
        insert into f_floor(
        floor_id,name,status_cd,remark,b_id,user_id,floor_num,community_id,floor_area
        ) select t.floor_id,t.name,'0',t.remark,t.b_id,t.user_id,t.floor_num,t.community_id,t.floor_area
        from business_floor t where 1=1
        <if test="floorId !=null and floorId != ''">
            and t.floor_id= #{floorId}
        </if>
        and t.operate= 'ADD'
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and t.floor_num= #{floorNum}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
    </insert>

    <!-- 查询小区楼信息 add by wuxw 2018-07-03 -->
    <select id="getFloorInfo" parameterType="Map" resultType="Map">
        select t.floor_id,t.floor_id floorId,t.name,t.status_cd, t.status_cd statusCd,t.remark,t.b_id,
        t.b_id bId,t.user_id, t.user_id userId,t.floor_num ,t.floor_num floorNum,t.community_id
        communityId,t.community_id,
        t.floor_area,t.floor_area floorArea,t.seq
        from f_floor t
        where 1 =1
        <if test="floorId !=null and floorId != ''">
            and t.floor_id= #{floorId}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and t.floor_num= #{floorNum}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>

    <!-- 修改小区楼信息 add by wuxw 2018-07-03 -->
    <update id="updateFloorInfoInstance" parameterType="Map">
        update f_floor t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="name !=null and name != ''">
            , t.name= #{name}
        </if>
        <if test="floorArea !=null and floorArea != ''">
            , t.floor_area= #{floorArea}
        </if>
        <if test="remark !=null and remark != ''">
            , t.remark= #{remark}
        </if>
        <if test="userId !=null and userId != ''">
            , t.user_id= #{userId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            , t.floor_num= #{floorNum}
        </if>
        where 1=1
        <if test="floorId !=null and floorId != ''">
            and t.floor_id= #{floorId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
    </update>

    <select id="queryFloorsCount" parameterType="Map" resultType="Map">
        SELECT
        COUNT(1) count
        FROM
        f_floor f
        where 1=1
        <if test="communityId !=null and communityId != ''">
            and f.`community_id` = #{communityId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id= #{floorId}
        </if>
        <if test="floorIds !=null">
            and f.floor_id in
            <foreach collection="floorIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="name !=null and name != ''">
            and f.name like concat('%',#{name},'%')
        </if>
        <if test="floorName !=null and floorName != ''">
            and f.name like concat('%',#{floorName},'%')
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and f.status_cd= #{statusCd}
        </if>
        <if test="remark !=null and remark != ''">
            and f.remark= #{remark}
        </if>
        <if test="bId !=null and bId != ''">
            and f.b_id= #{bId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and f.floor_num= #{floorNum}
        </if>
        AND f.`status_cd` = '0'
    </select>

    <!-- 查询小区 内的楼 -->
    <select id="queryFloors" parameterType="Map" resultType="Map">
        SELECT
        f.`floor_id` floorId,
        f.`floor_num` floorNum,
        f.`name` floorName,
        f.`remark`,
        f.`user_id` userId,
        f.`community_id` communityId,
        f.floor_area floorArea,
        f.seq
        FROM
        f_floor f
        where 1=1
        <if test="communityId !=null and communityId != ''">
            and f.`community_id` = #{communityId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.floor_id= #{floorId}
        </if>
        <if test="floorIds !=null">
            and f.floor_id in
            <foreach collection="floorIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="name !=null and name != ''">
            and f.name like concat('%',#{name},'%')
        </if>
        <if test="floorName !=null and floorName != ''">
            and f.name like concat('%',#{floorName},'%')
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and f.status_cd= #{statusCd}
        </if>
        <if test="remark !=null and remark != ''">
            and f.remark= #{remark}
        </if>
        <if test="bId !=null and bId != ''">
            and f.b_id= #{bId}
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and f.floor_num= #{floorNum}
        </if>
        AND f.`status_cd` = '0'
        order by f.seq asc,f.create_time desc
        <if test="page != -1 and page != null ">
            LIMIT #{page}, #{row}
        </if>
    </select>

    <!-- 查询小区单元信息 add by wuxw 2018-07-03 -->
    <select id="queryFloorAndUnits" parameterType="Map" resultType="Map">
        select t.floor_id,t.floor_id floorId,t.`name` floorName,bu.layer_count,bu.layer_count
        layerCount,bu.unit_id,bu.unit_id
        unitId,bu.unit_num,bu.unit_num unitNum,bu.lift,bu.remark,bu.unit_area,bu.unit_area unitArea,t.floor_num
        floorNum,t.seq
        from f_floor t
        left join building_unit bu on t.`floor_id` = bu.`floor_id` and bu.status_cd = '0'
        where 1 =1
        and t.status_cd = '0'
        <if test="communityId!=null and communityId != ''">
            AND t.community_id = #{communityId}
        </if>
        <if test="floorId !=null and floorId != ''">
            and t.floor_id= #{floorId}
        </if>
        <if test="layerCount !=null and layerCount != ''">
            and bu.layer_count= #{layerCount}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id= #{unitId}
        </if>
        <if test="unitIds !=null ">
            and bu.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="unitNum !=null and unitNum != ''">
            and bu.unit_num= #{unitNum}
        </if>
        <if test="lift !=null and lift != ''">
            and bu.lift= #{lift}
        </if>
        order by t.seq,t.floor_num,bu.unit_num asc
        <!-- <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>limit 10;-->
    </select>
</mapper>