java110
2023-07-03 073d41db5649c9666a002d72589c11d4ec691eec
java110-db/src/main/resources/mapper/report/BaseDataStatisticsServiceDaoImplMapper.xml
@@ -9,11 +9,14 @@
        select count(1) count
        from building_room t
        left join building_unit bu on t.unit_id = bu.unit_id and bu.status_cd = '0'
        left join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        left join building_owner_room_rel borr on t.room_id = borr.room_id and borr.status_cd = '0'
        left join building_owner bo on borr.owner_id = bo.owner_id and bo.status_cd = '0'
        inner join building_unit bu on t.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        <if test="ownerId != null and ownerId != ''">
            inner join building_owner_room_rel borr on t.room_id = borr.room_id and borr.status_cd = '0'
            left join building_owner bo on borr.owner_id = bo.member_id and bo.status_cd = '0'
        </if>
        where 1=1
        and t.status_cd = '0'
        <if test="floorId != null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
@@ -103,4 +106,236 @@
    </select>
    <select id="getReceivedRoomCount" parameterType="Map" resultType="Map">
        select count(1) count
        from
        (select t.room_id
        from building_room t
        inner join building_unit bu on t.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        left join building_owner_room_rel borr on t.room_id = borr.room_id and borr.status_cd = '0'
        left join building_owner bo on borr.owner_id = bo.member_id and bo.status_cd = '0'
        inner join pay_fee pf on t.room_id = pf.payer_obj_id and pf.payer_obj_type = '3333' and pf.status_cd = '0'
        inner join pay_fee_detail pfd on pf.fee_id = pfd.fee_id and pfd.status_cd = '0'
        where 1=1
        <if test="startDate != null and startDate != ''">
            and pfd.create_time &gt;= #{startDate}
            and pfd.create_time &lt;= #{endDate}
        </if>
        and t.status_cd = '0'
        <if test="floorId != null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="floorNum != null and floorNum != ''">
            and f.floor_num = #{floorNum}
        </if>
        <if test="unitNum != null and unitNum != ''">
            and bu.unit_num = #{unitNum}
        </if>
        <if test="roomNum != null and roomNum != ''">
            and t.room_num = #{roomNum}
        </if>
        <if test="roomNumLike !=null and roomNumLike != ''">
            and t.room_num like concat('%',#{roomNumLike},'%')
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="roomId != null and roomId != ''">
            and t.room_id = #{roomId}
        </if>
        <if test="communityId != null and communityId != ''">
            and t.community_id = #{communityId}
        </if>
        <if test="ownerId != null and ownerId != ''">
            and bo.owner_id = #{ownerId}
        </if>
        <if test="ownerName != null and ownerName != ''">
            and bo.`name` like concat('%',#{ownerName},'%')
        </if>
        <if test="link != null and link != ''">
            and bo.link = #{link}
        </if>
        group by t.room_id
        ) a
    </select>
    <!-- 查询单月欠费 -->
    <select id="getReceivedRoomInfo" parameterType="Map" resultType="Map">
        select a.* from (
        select t.fee_coefficient feeCoefficient,t.section,t.remark,t.user_id userId,
        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,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,
        f.floor_num floorNum,bu.unit_num unitNum,bo.name ownerName,bo.owner_id ownerId,bo.link
        from building_room t
        inner join building_unit bu on t.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        inner join building_owner_room_rel borr on t.room_id = borr.room_id and borr.status_cd = '0'
        left join building_owner bo on borr.owner_id = bo.member_id and bo.status_cd = '0'
        inner join pay_fee pf on t.room_id = pf.payer_obj_id and pf.payer_obj_type = '3333' and pf.status_cd = '0'
        inner join pay_fee_detail pfd on pf.fee_id = pfd.fee_id and pfd.status_cd = '0'
        where 1=1
        <if test="startDate != null and startDate != ''">
            and pfd.create_time &gt;= #{startDate}
            and pfd.create_time &lt;= #{endDate}
        </if>
        <if test="floorId != null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="floorNum != null and floorNum != ''">
            and f.floor_num = #{floorNum}
        </if>
        <if test="unitNum != null and unitNum != ''">
            and bu.unit_num = #{unitNum}
        </if>
        <if test="roomNum != null and roomNum != ''">
            and t.room_num = #{roomNum}
        </if>
        <if test="roomNumLike !=null and roomNumLike != ''">
            and t.room_num like concat('%',#{roomNumLike},'%')
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="roomId != null and roomId != ''">
            and t.room_id = #{roomId}
        </if>
        <if test="communityId != null and communityId != ''">
            and t.community_id = #{communityId}
        </if>
        <if test="ownerId != null and ownerId != ''">
            and bo.owner_id = #{ownerId}
        </if>
        <if test="ownerName != null and ownerName != ''">
            and bo.`name` like concat('%',#{ownerName},'%')
        </if>
        <if test="link != null and link != ''">
            and bo.link = #{link}
        </if>
        group by t.fee_coefficient ,t.section,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_rent,t.room_area,
        f.floor_num ,bu.unit_num ,bo.name ,bo.owner_id ,bo.link
        order by t.create_time desc
        ) a
        <if test="page != -1 and page != null">
            limit #{page},#{row}
        </if>
    </select>
    <select id="getOweRoomCount" parameterType="Map" resultType="Map">
        select count(1) count
        from
        (select t.room_id
        from building_room t
        inner join building_unit bu on t.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        left join building_owner_room_rel borr on t.room_id = borr.room_id and borr.status_cd = '0'
        left join building_owner bo on borr.owner_id = bo.member_id and bo.status_cd = '0'
        inner join report_owe_fee rof on t.room_id = rof.payer_obj_id and rof.payer_obj_type = '3333'
        where 1=1
        and rof.amount_owed > 0
        and t.status_cd = '0'
        <if test="floorId != null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="floorNum != null and floorNum != ''">
            and f.floor_num = #{floorNum}
        </if>
        <if test="unitNum != null and unitNum != ''">
            and bu.unit_num = #{unitNum}
        </if>
        <if test="roomNum != null and roomNum != ''">
            and t.room_num = #{roomNum}
        </if>
        <if test="roomNumLike !=null and roomNumLike != ''">
            and t.room_num like concat('%',#{roomNumLike},'%')
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="roomId != null and roomId != ''">
            and t.room_id = #{roomId}
        </if>
        <if test="communityId != null and communityId != ''">
            and t.community_id = #{communityId}
        </if>
        <if test="ownerId != null and ownerId != ''">
            and bo.owner_id = #{ownerId}
        </if>
        <if test="ownerName != null and ownerName != ''">
            and bo.`name` like concat('%',#{ownerName},'%')
        </if>
        <if test="link != null and link != ''">
            and bo.link = #{link}
        </if>
        group by t.room_id
        ) a
    </select>
    <!-- 查询单月欠费 -->
    <select id="getOweRoomInfo" parameterType="Map" resultType="Map">
        select a.* from (
        select t.fee_coefficient feeCoefficient,t.section,t.remark,t.user_id userId,
        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,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,
        f.floor_num floorNum,bu.unit_num unitNum,bo.name ownerName,bo.owner_id ownerId,bo.link
        from building_room t
        inner join building_unit bu on t.unit_id = bu.unit_id and bu.status_cd = '0'
        inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
        inner join building_owner_room_rel borr on t.room_id = borr.room_id and borr.status_cd = '0'
        left join building_owner bo on borr.owner_id = bo.member_id and bo.status_cd = '0'
        inner join report_owe_fee rof on t.room_id = rof.payer_obj_id and rof.payer_obj_type = '3333'
        where 1=1
        and rof.amount_owed > 0
        <if test="floorId != null and floorId != ''">
            and f.floor_id = #{floorId}
        </if>
        <if test="floorNum != null and floorNum != ''">
            and f.floor_num = #{floorNum}
        </if>
        <if test="unitNum != null and unitNum != ''">
            and bu.unit_num = #{unitNum}
        </if>
        <if test="roomNum != null and roomNum != ''">
            and t.room_num = #{roomNum}
        </if>
        <if test="roomNumLike !=null and roomNumLike != ''">
            and t.room_num like concat('%',#{roomNumLike},'%')
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="roomId != null and roomId != ''">
            and t.room_id = #{roomId}
        </if>
        <if test="communityId != null and communityId != ''">
            and t.community_id = #{communityId}
        </if>
        <if test="ownerId != null and ownerId != ''">
            and bo.owner_id = #{ownerId}
        </if>
        <if test="ownerName != null and ownerName != ''">
            and bo.`name` like concat('%',#{ownerName},'%')
        </if>
        <if test="link != null and link != ''">
            and bo.link = #{link}
        </if>
        group by t.fee_coefficient ,t.section,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_rent,t.room_area,
        f.floor_num ,bu.unit_num ,bo.name ,bo.owner_id ,bo.link
        order by t.create_time desc
        ) a
        <if test="page != -1 and page != null">
            limit #{page},#{row}
        </if>
    </select>
</mapper>