chengf
2026-01-30 b8bf2507bc7b23c90bc6dc71ea2460e277d3800a
java110-db/src/main/resources/mapper/community/RoomServiceDaoImplMapper.xml
@@ -6,11 +6,11 @@
    <!-- 保存小区房屋信息 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 -->
@@ -22,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 != ''">
@@ -75,10 +77,10 @@
    <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}
@@ -123,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 -->
@@ -133,7 +167,12 @@
        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
        left join f_floor ff on ff.floor_id = bu.floor_id
        where 1 =1
        <if test="floorNum !=null and floorNum != ''">
            and ff.floor_num = #{floorNum}
        </if>
        <if test="feeCoefficient !=null and feeCoefficient != ''">
            and t.fee_coefficient= #{feeCoefficient}
        </if>
@@ -146,9 +185,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
@@ -167,6 +208,9 @@
        </if>
        <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
@@ -321,8 +365,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}
@@ -341,6 +389,15 @@
        </if>
        <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}
@@ -386,6 +443,12 @@
        </if>
        <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}
@@ -565,7 +628,6 @@
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
@@ -618,7 +680,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'
@@ -642,7 +704,6 @@
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
@@ -697,7 +758,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` =
@@ -706,8 +779,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}
@@ -751,6 +830,9 @@
        <if test="roomNum !=null and roomNum != ''">
            and t.room_num= #{roomNum}
        </if>
        <if test="roomNumIsNull != null">
            and t.room_num = ''
        </if>
        <if test="roomNumLike !=null and roomNumLike != ''">
            and t.`room_num` like concat('%', #{roomNumLike},'%')
        </if>
@@ -765,6 +847,9 @@
        </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}
@@ -787,10 +872,8 @@
                #{item}
            </foreach>
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        order by f.seq ,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>
@@ -923,4 +1006,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>