wuxw
2022-07-19 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54
java110-db/src/main/resources/mapper/report/ReportOweFeeServiceDaoImplMapper.xml
@@ -17,7 +17,23 @@
    <select id="getReportOweFeeInfo" parameterType="Map" resultType="Map">
        select distinct(t.payer_obj_id) payerObjId
        from report_owe_fee t
        LEFT JOIN pay_fee pf on t.fee_id = pf.fee_id
        LEFT JOIN building_room br on pf.payer_obj_id = br.room_id and br.status_cd = '0'
        LEFT JOIN building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where 1 =1
        and pf.status_cd = '0'
        <if test="roomSubType !=null and roomSubType != ''">
            and br.room_sub_type = #{roomSubType}
        </if>
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num = #{roomNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id = #{unitId}
        </if>
        <if test="configName !=null and configName != ''">
            and t.config_name= #{configName}
        </if>
@@ -30,7 +46,6 @@
        <if test="updateTime !=null and updateTime != ''">
            and t.update_time= #{updateTime}
        </if>
        <if test="oweId !=null and oweId != ''">
            and t.owe_id= #{oweId}
        </if>
@@ -42,6 +57,9 @@
        </if>
        <if test="amountOwed !=null and amountOwed != ''">
            and t.amount_owed= #{amountOwed}
        </if>
        <if test='hasOweFee !=null and hasOweFee == "Y"'>
            and t.amount_owed &gt; 0
        </if>
        <if test="payerObjName !=null and payerObjName != ''">
            and t.payer_obj_name= #{payerObjName}
@@ -73,7 +91,7 @@
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id= #{payerObjId}
        </if>
        order by t.create_time desc
        order by t.payer_obj_name
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
@@ -84,9 +102,6 @@
    <update id="updateReportOweFeeInfo" parameterType="Map">
        update report_owe_fee t
        <set>
            <if test="newBId != null and newBId != ''">
                t.b_id = #{newBId},
            </if>
            <if test="configName !=null and configName != ''">
                t.config_name= #{configName},
            </if>
@@ -135,13 +150,49 @@
        </set>
        where 1=1
        and t.owe_id= #{oweId}
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
    </update>
    <!-- 修改欠费统计信息 add by wuxw 2018-07-03 -->
    <update id="deleteReportOweFeeInfo" parameterType="Map">
        delete from report_owe_fee
        where 1=1
        <if test="oweId !=null and oweId != ''">
            and owe_id= #{oweId}
        </if>
        <if test="feeId !=null and feeId != ''">
            and fee_id = #{feeId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and community_id= #{communityId}
        </if>
    </update>
    <!-- 查询欠费统计数量 add by wuxw 2018-07-03 -->
    <select id="queryReportOweFeesCount" parameterType="Map" resultType="Map">
        select count(distinct(t.payer_obj_id)) count
        from report_owe_fee t
        LEFT JOIN pay_fee pf on t.fee_id = pf.fee_id
        LEFT JOIN building_room br on pf.payer_obj_id = br.room_id and br.status_cd = '0'
        LEFT JOIN building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where 1 =1
        and pf.status_cd = '0'
        <if test="roomSubType !=null and roomSubType != ''">
            and br.room_sub_type = #{roomSubType}
        </if>
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num = #{roomNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id = #{unitId}
        </if>
        <if test="configName !=null and configName != ''">
            and t.config_name= #{configName}
        </if>
@@ -165,6 +216,9 @@
        </if>
        <if test="amountOwed !=null and amountOwed != ''">
            and t.amount_owed= #{amountOwed}
        </if>
        <if test='hasOweFee !=null and hasOweFee == "Y"'>
            and t.amount_owed &gt; 0
        </if>
        <if test="payerObjName !=null and payerObjName != ''">
            and t.payer_obj_name= #{payerObjName}
@@ -208,7 +262,9 @@
        communityId,t.payer_obj_type,t.payer_obj_type payerObjType,t.payer_obj_id,t.payer_obj_id payerObjId,
        t.owner_id,t.owner_id ownerId,t.owner_name,t.owner_name ownerName
        from report_owe_fee t
        where 1 = 1
        LEFT JOIN pay_fee pf on t.fee_id = pf.fee_id
        where 1 =1
        and pf.status_cd = '0'
        <if test="configName !=null and configName != ''">
            and t.config_name= #{configName}
        </if>
@@ -243,6 +299,9 @@
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test='hasOweFee !=null and hasOweFee == "Y"'>
            and t.amount_owed &gt; 0
        </if>
        <if test="configIds !=null">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -270,7 +329,7 @@
                #{item}
            </foreach>
        </if>
        order by t.create_time desc
        order by t.payer_obj_name
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
@@ -284,11 +343,13 @@
        payerObjName,t.config_id,t.config_id configId,t.fee_name,t.fee_name
        feeName,t.end_time,t.end_time endTime,t.community_id,t.community_id
        communityId,t.payer_obj_type,t.payer_obj_type payerObjType,t.payer_obj_id,t.payer_obj_id payerObjId,
        bo.owner_id ownerId,bo.name ownerName
        bo.owner_id ownerId,bo.name ownerName,bo.link ownerTel
        from report_owe_fee t
        left join building_owner_room_rel borr on borr.room_id = t.payer_obj_id and borr.status_cd = '0'
        left join building_owner bo on borr.owner_id = bo.owner_id and bo.owner_type_cd = '1001' and bo.status_cd = '0'
        where 1 = 1
        LEFT JOIN pay_fee pf on t.fee_id = pf.fee_id
        where 1 =1
        and pf.status_cd = '0'
        <if test="configName !=null and configName != ''">
            and t.config_name= #{configName}
        </if>
@@ -321,6 +382,9 @@
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test='hasOweFee !=null and hasOweFee == "Y"'>
            and t.amount_owed &gt; 0
        </if>
        <if test="configIds !=null">
            and t.config_id in
@@ -363,11 +427,13 @@
        payerObjName,t.config_id,t.config_id configId,t.fee_name,t.fee_name
        feeName,t.end_time,t.end_time endTime,t.community_id,t.community_id
        communityId,t.payer_obj_type,t.payer_obj_type payerObjType,t.payer_obj_id,t.payer_obj_id payerObjId,
        bo.owner_id ownerId,bo.name ownerName
        bo.owner_id ownerId,bo.name ownerName,bo.link ownerTel
        from report_owe_fee t
        left join owner_car oc on oc.car_id = t.payer_obj_id and oc.status_cd = '0'
        left join building_owner bo on oc.owner_id = bo.owner_id and bo.owner_type_cd = '1001' and bo.status_cd = '0'
        where 1 = 1
        LEFT JOIN pay_fee pf on t.fee_id = pf.fee_id
        where 1 =1
        and pf.status_cd = '0'
        <if test="configName !=null and configName != ''">
            and t.config_name= #{configName}
        </if>
@@ -401,6 +467,9 @@
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test='hasOweFee !=null and hasOweFee == "Y"'>
            and t.amount_owed &gt; 0
        </if>
        <if test="configIds !=null">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -434,4 +503,182 @@
        </if>
    </select>
    <select id="computeReportOweFeeTotalAmount" parameterType="Map" resultType="Map">
        select sum(t.amount_owed) total
        from report_owe_fee t
        LEFT JOIN pay_fee pf on t.fee_id = pf.fee_id
        LEFT JOIN building_room br on pf.payer_obj_id = br.room_id and br.status_cd = '0'
        LEFT JOIN building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where 1 =1
        and pf.status_cd = '0'
        <if test="roomSubType !=null and roomSubType != ''">
            and br.room_sub_type = #{roomSubType}
        </if>
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num = #{roomNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id = #{unitId}
        </if>
        <if test="configName !=null and configName != ''">
            and t.config_name= #{configName}
        </if>
        <if test="deadlineTime !=null and deadlineTime != ''">
            and t.deadline_time= #{deadlineTime}
        </if>
        <if test="ownerTel !=null and ownerTel != ''">
            and t.owner_tel= #{ownerTel}
        </if>
        <if test="updateTime !=null and updateTime != ''">
            and t.update_time= #{updateTime}
        </if>
        <if test="oweId !=null and oweId != ''">
            and t.owe_id= #{oweId}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="amountOwed !=null and amountOwed != ''">
            and t.amount_owed= #{amountOwed}
        </if>
        <if test='hasOweFee !=null and hasOweFee == "Y"'>
            and t.amount_owed &gt; 0
        </if>
        <if test="payerObjName !=null and payerObjName != ''">
            and t.payer_obj_name= #{payerObjName}
        </if>
        <if test="ownerName !=null and ownerName != ''">
            and t.owner_name= #{ownerName}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="configIds !=null">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.end_time= #{endTime}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="payerObjType !=null and payerObjType != ''">
            and t.payer_obj_type= #{payerObjType}
        </if>
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id= #{payerObjId}
        </if>
    </select>
    <select id="computeReportOweFeeItemAmount" parameterType="Map" resultType="Map">
        select t.config_name configName,sum(t.amount_owed) totalOweAmount
        from report_owe_fee t
        LEFT JOIN pay_fee pf on t.fee_id = pf.fee_id
        LEFT JOIN building_room br on pf.payer_obj_id = br.room_id and br.status_cd = '0'
        LEFT JOIN building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
        where 1 =1
        and pf.status_cd = '0'
        <if test="roomSubType !=null and roomSubType != ''">
            and br.room_sub_type = #{roomSubType}
        </if>
        <if test="roomNum !=null and roomNum != ''">
            and br.room_num = #{roomNum}
        </if>
        <if test="floorId !=null and floorId != ''">
            and bu.floor_id = #{floorId}
        </if>
        <if test="unitId !=null and unitId != ''">
            and bu.unit_id = #{unitId}
        </if>
        <if test="configName !=null and configName != ''">
            and t.config_name= #{configName}
        </if>
        <if test="deadlineTime !=null and deadlineTime != ''">
            and t.deadline_time= #{deadlineTime}
        </if>
        <if test="ownerTel !=null and ownerTel != ''">
            and t.owner_tel= #{ownerTel}
        </if>
        <if test="updateTime !=null and updateTime != ''">
            and t.update_time= #{updateTime}
        </if>
        <if test="oweId !=null and oweId != ''">
            and t.owe_id= #{oweId}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id= #{feeId}
        </if>
        <if test="amountOwed !=null and amountOwed != ''">
            and t.amount_owed= #{amountOwed}
        </if>
        <if test='hasOweFee !=null and hasOweFee == "Y"'>
            and t.amount_owed &gt; 0
        </if>
        <if test="payerObjName !=null and payerObjName != ''">
            and t.payer_obj_name= #{payerObjName}
        </if>
        <if test="ownerName !=null and ownerName != ''">
            and t.owner_name= #{ownerName}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="configIds !=null">
            and t.config_id in
            <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="feeName !=null and feeName != ''">
            and t.fee_name= #{feeName}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.end_time= #{endTime}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="payerObjType !=null and payerObjType != ''">
            and t.payer_obj_type= #{payerObjType}
        </if>
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id= #{payerObjId}
        </if>
        GROUP BY t.config_id,t.config_name
    </select>
    <!-- 查询无效费用 add by wuxw 2018-07-03 -->
    <select id="queryInvalidOweFee" parameterType="Map" resultType="Map">
        select t.fee_id feeId from pay_fee t
        inner join pay_fee_config pfc on t.config_id = pfc.config_id
        inner join report_owe_fee rof on t.fee_id = rof.fee_id
        where (t.status_cd = '1' or pfc.status_cd = '1')
        and t.community_id= #{communityId}
    </select>
    <update id="deleteInvalidFee" parameterType="Map">
        delete from report_owe_fee where fee_id in
        <foreach collection="feeIds" item="item" open="(" close=")" separator=",">
            #{item}
        </foreach>
        and community_id = #{communityId}
    </update>
</mapper>