chengf
2026-01-27 b6184e2ddf3db37a94f7efb3b619bbc64642a292
java110-db/src/main/resources/mapper/community/RoomServiceDaoImplMapper.xml
@@ -1,19 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="roomServiceDaoImpl">
    <!-- 保存小区房屋信息 add by wuxw 2018-07-03 -->
    <insert id="saveBusinessRoomInfo" parameterType="Map">
        insert into business_building_room(fee_coefficient, section, remark, user_id, room_id, layer, built_up_area,
                                           operate, room_num, unit_id, b_id, apartment, state, community_id,
                                           room_type, room_sub_type, room_rent, room_area)
        operate, room_num, unit_id, b_id, apartment, state, community_id,
        room_type, room_sub_type, room_rent, room_area)
        values (#{feeCoefficient}, #{section}, #{remark}, #{userId}, #{roomId}, #{layer}, #{builtUpArea}, #{operate},
                #{roomNum}, #{unitId}, #{bId}, #{apartment}, #{state},
                #{communityId}, #{roomType}, #{roomSubType}, #{roomRent}, #{roomArea})
        #{roomNum}, #{unitId}, #{bId}, #{apartment}, #{state},
        #{communityId}, #{roomType}, #{roomSubType}, #{roomRent}, #{roomArea})
    </insert>
    <!-- 查询小区房屋信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessRoomInfo" parameterType="Map" resultType="Map">
@@ -24,6 +22,8 @@
        communityId,t.room_type,t.room_type roomType,t.room_sub_type,t.room_rent,t.room_area,t.room_sub_type
        roomSubType,
        t.room_rent roomRent,t.room_area roomArea
        t.door_room_num,t.property_type,t.property_address,t.house_certificate_no,
        t.door_room_num doorRoomNum,t.property_type propertyType,t.property_address propertyAddress,t.house_certificate_no houseCertificateNo
        from business_building_room t
        where 1 =1
        <if test="feeCoefficient !=null and feeCoefficient != ''">
@@ -71,18 +71,16 @@
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
    </select>
    <!-- 保存小区房屋信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveRoomInfoInstance" parameterType="Map">
        insert into building_room(
        fee_coefficient,section,status_cd,remark,user_id,room_id,layer,built_up_area,room_num,unit_id,b_id,apartment,state,community_id,
        room_type,room_sub_type,room_rent,room_area
        room_type,room_sub_type,room_rent,room_area,door_room_num,property_type,property_address,house_certificate_no
        ) select
        t.fee_coefficient,t.section,'0',t.remark,t.user_id,t.room_id,t.layer,t.built_up_area,t.room_num,t.unit_id,t.b_id,t.apartment,t.state,t.community_id,
        t.room_type,t.room_sub_type,t.room_rent,t.room_area
        t.room_type,t.room_sub_type,t.room_rent,t.room_area,door_room_num,property_type,property_address,house_certificate_no
        from business_building_room t where 1=1
        <if test="feeCoefficient !=null and feeCoefficient != ''">
            and t.fee_coefficient= #{feeCoefficient}
@@ -93,7 +91,6 @@
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
@@ -128,6 +125,38 @@
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <choose>
            <when test="doorRoomNum != null and doorRoomNum != ''">
                and t.door_room_num = #{doorRoomNum}
            </when>
            <otherwise>
                and t.door_room_num = ''
            </otherwise>
        </choose>
        <choose>
            <when test="propertyType != null and propertyType != ''">
                and t.property_type = #{propertyType}
            </when>
            <otherwise>
                and t.property_type = ''
            </otherwise>
        </choose>
        <choose>
            <when test="propertyAddress != null and propertyAddress != ''">
                and t.property_address = #{propertyAddress}
            </when>
            <otherwise>
                and t.property_address = ''
            </otherwise>
        </choose>
        <choose>
            <when test="houseCertificateNo != null and houseCertificateNo != ''">
                and t.house_certificate_no = #{houseCertificateNo}
            </when>
            <otherwise>
                and t.house_certificate_no = ''
            </otherwise>
        </choose>
    </insert>
    <!-- 查询小区房屋信息 add by wuxw 2018-07-03 -->
@@ -138,6 +167,7 @@
        bId,t.apartment,t.state,t.community_id,t.community_id communityId,t.room_type,t.room_type roomType,
        t.room_sub_type,t.room_rent,t.room_area,t.room_sub_type roomSubType,t.room_rent roomRent,t.room_area roomArea
        from building_room t
        left join building_unit bu on bu.unit_id = t.unit_id
        where 1 =1
        <if test="feeCoefficient !=null and feeCoefficient != ''">
            and t.fee_coefficient= #{feeCoefficient}
@@ -151,9 +181,11 @@
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
        <if test="roadName !=null and roadName != ''">
            and t.road_name= #{roadName}
        </if>
        <if test="roomIds != null">
            and t.room_id in
@@ -173,6 +205,15 @@
        <if test="unitId !=null and unitId != ''">
            and t.unit_id= #{unitId}
        </if>
        <if test="unitNum !=null and unitNum != ''">
            and bu.unit_num= #{unitNum}
        </if>
        <if test="unitIds != null">
            and t.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
@@ -191,7 +232,6 @@
        <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}
@@ -272,7 +312,6 @@
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
@@ -287,6 +326,12 @@
        </if>
        <if test="unitId !=null and unitId != ''">
            and t.unit_id= #{unitId}
        </if>
        <if test="unitIds != null">
            and t.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
@@ -306,7 +351,6 @@
        <if test="roomSubType !=null and roomSubType != ''">
            and t.room_sub_type= #{roomSubType}
        </if>
    </select>
    <!-- 查询小区房屋数量 add by wuxw 2018-07-03 -->
@@ -317,8 +361,12 @@
        inner JOIN f_floor f on u.`floor_id` = f.`floor_id` AND f.`community_id` = t.`community_id` AND f.`status_cd` =
        '0'
        left join t_dict td on t.state = td.status_cd and td.table_name = 'building_room' and td.table_columns = 'state'
        left join building_owner_room_rel borr on borr.room_id = t.room_id
        left join building_owner bo on bo.owner_id = borr.owner_id
        WHERE 1 =1
        AND t.`community_id` = #{communityId}
        <if test="communityId !=null and communityId != ''">
            AND t.`community_id` = #{communityId}
        </if>
        and t.status_cd ='0'
        <if test="floorId !=null and floorId != ''">
            and f.`floor_id`= #{floorId}
@@ -338,6 +386,15 @@
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
        <if test="ownerName != null">
            and bo.`name` = #{ownerName}
        </if>
        <if test="roomIds != null">
            and t.room_id in
            <foreach collection="roomIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="layer !=null and layer != ''">
            and t.layer= #{layer}
        </if>
@@ -352,6 +409,12 @@
        </if>
        <if test="unitId !=null and unitId != ''">
            and t.unit_id= #{unitId}
        </if>
        <if test="unitIds != null">
            and t.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
@@ -377,13 +440,18 @@
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="communityIds != null">
            and t.community_id in
            <foreach collection="communityIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="floorNum !=null and floorNum != ''">
            and f.`floor_num`= #{floorNum}
        </if>
        <if test="unitNum !=null and unitNum != ''">
            and u.unit_num= #{unitNum}
        </if>
    </select>
    <!-- 查询小区房屋数量 add by wuxw 2018-07-03 -->
@@ -413,7 +481,6 @@
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
@@ -428,6 +495,12 @@
        </if>
        <if test="unitId !=null and unitId != ''">
            and t.unit_id= #{unitId}
        </if>
        <if test="unitIds != null">
            and t.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
@@ -477,7 +550,6 @@
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
@@ -492,6 +564,12 @@
        </if>
        <if test="unitId !=null and unitId != ''">
            and t.unit_id= #{unitId}
        </if>
        <if test="unitIds != null">
            and t.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
@@ -546,7 +624,6 @@
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
@@ -561,6 +638,12 @@
        </if>
        <if test="unitId !=null and unitId != ''">
            and t.unit_id= #{unitId}
        </if>
        <if test="unitIds != null">
            and t.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
@@ -580,7 +663,6 @@
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        and borr.`room_id` is null
        <if test="page != -1 and page != null">
            limit #{page},#{row}
@@ -594,7 +676,7 @@
        t.user_id userId,t.room_id,t.room_id roomId,t.layer,t.built_up_area,t.built_up_area builtUpArea,t.room_num,
        t.room_num roomNum,t.unit_id,t.unit_id unitId,t.b_id,t.b_id bId,t.apartment,t.state,u.`unit_num` unitNum,
        t.room_type roomType,t.room_type,t.room_sub_type,t.room_rent,t.room_area,t.room_sub_type roomSubType,t.room_rent
        roomRent,t.room_area roomArea
        roomRent,t.room_area roomArea,t.door_room_num doorRoomNum,t.property_type propertyType,t.property_address propertyAddress,t.house_certificate_no houseCertificateNo
        FROM
        building_room t
        INNER JOIN building_unit u on t.`unit_id` = u.`unit_id` and u.`status_cd` = '0'
@@ -618,7 +700,6 @@
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
@@ -633,6 +714,12 @@
        </if>
        <if test="unitId !=null and unitId != ''">
            and t.unit_id= #{unitId}
        </if>
        <if test="unitIds != null">
            and t.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
@@ -667,7 +754,19 @@
        u.unit_id unitId,f.floor_id floorId,f.floor_num floorNum,f.floor_area floorArea,u.unit_area unitArea,td.name
        stateName,t.room_type roomType,t.room_type,t.`community_id` communityId,td1.`name` roomSubTypeName
        ,t.room_sub_type,t.room_rent,t.room_area,t.room_sub_type roomSubType,t.room_rent roomRent,t.room_area roomArea,
        concat(f.floor_num,'-',u.unit_num,'-',t.room_num) roomName
         t.door_room_num doorRoomNum,t.property_type propertyType,t.property_address propertyAddress,t.house_certificate_no houseCertificateNo,
        concat(f.floor_num,'-',u.unit_num,'-',t.room_num) roomName,
        t.property_type propertyType,
        t.property_address propertyAddress,
        t.house_certificate_no houseCertificateNo,
        t.road_name roadName,
        t.buy_date buyDate,
        t.sell_date sellDate,
        t.sell_state sellState,
        t.room_buyer roomBuyer,
        t.eoc eoc,
        t.property_certificate_no propertyCertificateNo,
        t.is_ev_charger_installed isEvChargerInstalled
        FROM building_room t
        inner join building_unit u on t.`unit_id` = u.`unit_id` and u.`status_cd` = '0'
        inner JOIN f_floor f on u.`floor_id` = f.`floor_id` AND f.`community_id` = t.`community_id` AND f.`status_cd` =
@@ -676,8 +775,14 @@
        left join t_dict td1 on t.room_sub_type = td1.status_cd and td1.table_name = 'building_room' and
        td1.table_columns = 'room_sub_type'
        WHERE 1 =1
        <if test="floorId !=null and floorId != ''">
        <if test="communityId !=null and communityId != ''">
            AND t.`community_id` = #{communityId}
        </if>
        <if test="communityIds != null">
            and t.community_id in
            <foreach collection="communityIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="floorId !=null and floorId != ''">
            and f.`floor_id`= #{floorId}
@@ -727,8 +832,17 @@
        <if test="unitId !=null and unitId != ''">
            and t.unit_id= #{unitId}
        </if>
        <if test="unitIds != null">
            and t.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="unitNum !=null and unitNum != ''">
            and u.unit_num= #{unitNum}
        </if>
        <if test="doorRoomNum !=null and doorRoomNum != ''">
            and t.door_room_num= #{doorRoomNum}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
@@ -751,10 +865,8 @@
                #{item}
            </foreach>
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        order by f.floor_num ,u.unit_num,CONVERT(t.layer,SIGNED),CONVERT(t.room_num,SIGNED) asc
        order by f.seq,u.unit_num,CONVERT(t.layer,SIGNED),CONVERT(t.room_num,SIGNED) asc
        <!-- order by t.create_time desc-->
        <if test="page != -1 and page != null">
            limit #{page},#{row}
        </if>
@@ -803,9 +915,9 @@
        <if test="link !=null and link != ''">
            and bo.link= #{link}
        </if>
        <!--        <if test="statusCd !=null and statusCd != ''">-->
        <!--            and bo.status_cd= #{statusCd}-->
        <!--        </if>-->
        <!--<if test="statusCd !=null and statusCd != ''">
            and bo.status_cd= #{statusCd}
        </if>-->
        <if test="remark !=null and remark != ''">
            and bo.remark= #{remark}
        </if>
@@ -824,6 +936,7 @@
        <if test="ownerTypeCd !=null and ownerTypeCd != ''">
            and bo.owner_type_cd= #{ownerTypeCd}
        </if>
        order by f.floor_num,u.unit_num,t.room_num desc
    </select>
    <!-- 查询小区房屋信息 add by wuxw 2018-07-03 -->
@@ -834,7 +947,6 @@
        t.room_num roomNum,t.unit_id,t.unit_id unitId,t.b_id,t.b_id bId,t.apartment,t.state,u.`unit_num` unitNum,
        t.room_type roomType,t.room_type,f.floor_num floorNum
        ,t.room_sub_type,t.room_rent,t.room_area,t.room_sub_type roomSubType,t.room_rent roomRent,t.room_area roomArea
        FROM
        building_room t
        INNER JOIN building_unit u on t.`unit_id` = u.`unit_id` and u.`status_cd` = '0'
@@ -865,6 +977,12 @@
        <if test="unitId !=null and unitId != ''">
            and t.unit_id= #{unitId}
        </if>
        <if test="unitIds != null">
            and t.unit_id in
            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
@@ -881,4 +999,32 @@
            limit #{page},#{row}
        </if>
    </select>
    <select id="queryRoomsAsReport" parameterType="Map" resultType="Map">
        select br.property_type,bf.floor_num,bu.unit_num,br.room_num,br.door_room_num,br.property_address,br.room_area,bo.`name`,br.room_id from building_room br
         left join building_unit bu on br.unit_id = bu.unit_id
         inner join f_floor bf on bu.floor_id = bf.floor_id
         left join building_owner_room_rel borr on borr.room_id = br.room_id
         left join building_owner bo on bo.owner_id = borr.owner_id
        where 1 = 1
            <if test="communityId != null">
                and br.community_id = #{communityId}
            </if>
        <if test="floorNum != null">
            and bf.floor_num = #{floorNum}
        </if>
        <if test="unitNum != null">
            and bu.unit_num = #{unitNum}
        </if>
        <if test="roomNum != null">
            and br.room_num = #{roomNum}
        </if>
        <if test="ownerName != null">
            and bo.`name` = #{ownerName}
        </if>
        <if test="page != -1 and page != null">
            limit #{page},#{row}
        </if>
    </select>
</mapper>