From f14c50cb0036d3ddd655ce4e34732ba396a836c4 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 30 五月 2023 12:42:03 +0800
Subject: [PATCH] optimize 统计
---
java110-db/src/main/resources/mapper/report/ReportOweFeeServiceDaoImplMapper.xml | 582 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 549 insertions(+), 33 deletions(-)
diff --git a/java110-db/src/main/resources/mapper/report/ReportOweFeeServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/report/ReportOweFeeServiceDaoImplMapper.xml
index 8279baf..e5f2f40 100644
--- a/java110-db/src/main/resources/mapper/report/ReportOweFeeServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/report/ReportOweFeeServiceDaoImplMapper.xml
@@ -1,9 +1,7 @@
<?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="reportOweFeeServiceDaoImpl">
-
<!-- 淇濆瓨娆犺垂缁熻淇℃伅 add by wuxw 2018-07-03 -->
<insert id="saveReportOweFeeInfo" parameterType="Map">
@@ -19,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>
@@ -32,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>
@@ -44,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 > 0
</if>
<if test="payerObjName !=null and payerObjName != ''">
and t.payer_obj_name= #{payerObjName}
@@ -75,11 +91,10 @@
<if test="payerObjId !=null and payerObjId != ''">
and t.payer_obj_id= #{payerObjId}
</if>
- order by t.create_time desc
+ order by t.payer_obj_id
<if test="page != -1 and page != null ">
limit #{page}, #{row}
</if>
-
</select>
@@ -87,65 +102,97 @@
<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},
+ t.config_name= #{configName},
</if>
<if test="deadlineTime !=null and deadlineTime != ''">
- t.deadline_time= #{deadlineTime},
+ t.deadline_time= #{deadlineTime},
</if>
<if test="ownerTel !=null and ownerTel != ''">
- t.owner_tel= #{ownerTel},
+ t.owner_tel= #{ownerTel},
</if>
<if test="updateTime !=null and updateTime != ''">
- t.update_time= #{updateTime},
+ t.update_time= #{updateTime},
</if>
<if test="ownerId !=null and ownerId != ''">
- t.owner_id= #{ownerId},
+ t.owner_id= #{ownerId},
</if>
<if test="feeId !=null and feeId != ''">
- t.fee_id= #{feeId},
+ t.fee_id= #{feeId},
</if>
<if test="amountOwed !=null and amountOwed != ''">
- t.amount_owed= #{amountOwed},
+ t.amount_owed= #{amountOwed},
</if>
<if test="payerObjName !=null and payerObjName != ''">
- t.payer_obj_name= #{payerObjName},
+ t.payer_obj_name= #{payerObjName},
</if>
<if test="ownerName !=null and ownerName != ''">
- t.owner_name= #{ownerName},
+ t.owner_name= #{ownerName},
</if>
<if test="configId !=null and configId != ''">
- t.config_id= #{configId},
+ t.config_id= #{configId},
</if>
<if test="feeName !=null and feeName != ''">
- t.fee_name= #{feeName},
+ t.fee_name= #{feeName},
</if>
<if test="endTime !=null and endTime != ''">
- t.end_time= #{endTime},
+ t.end_time= #{endTime},
</if>
<if test="communityId !=null and communityId != ''">
- t.community_id= #{communityId},
+ t.community_id= #{communityId},
</if>
<if test="payerObjType !=null and payerObjType != ''">
- t.payer_obj_type= #{payerObjType},
+ t.payer_obj_type= #{payerObjType},
</if>
<if test="payerObjId !=null and payerObjId != ''">
- t.payer_obj_id= #{payerObjId}
+ t.payer_obj_id= #{payerObjId}
</if>
</set>
where 1=1
- and t.owe_id= #{oweId}
-
+ 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>
@@ -169,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 > 0
</if>
<if test="payerObjName !=null and payerObjName != ''">
and t.payer_obj_name= #{payerObjName}
@@ -200,21 +250,35 @@
<if test="payerObjId !=null and payerObjId != ''">
and t.payer_obj_id= #{payerObjId}
</if>
-
-
</select>
<!-- 鏌ヨ娆犺垂缁熻淇℃伅 add by wuxw 2018-07-03 -->
<select id="queryReportAllOweFees" parameterType="Map" resultType="Map">
- select t.config_name,t.config_name configName,t.deadline_time,t.deadline_time
+ select t.config_name,t.config_name configName,t.deadline_time,t.deadline_time
deadlineTime,t.owner_tel,t.owner_tel ownerTel,t.update_time,t.update_time updateTime,t.owe_id,t.owe_id
- oweId,t.owner_id,t.owner_id ownerId,t.fee_id,t.fee_id
- feeId,t.amount_owed,t.amount_owed amountOwed,t.payer_obj_name,t.payer_obj_name
- payerObjName,t.owner_name,t.owner_name ownerName,t.config_id,t.config_id configId,t.fee_name,t.fee_name
+ oweId,t.fee_id,t.fee_id feeId,t.amount_owed,t.amount_owed amountOwed,t.payer_obj_name,t.payer_obj_name
+ 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
+ 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
+ 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>
@@ -248,6 +312,93 @@
</if>
<if test="configId !=null and configId != ''">
and t.config_id= #{configId}
+ </if>
+ <if test='hasOweFee !=null and hasOweFee == "Y"'>
+ and t.amount_owed > 0
+ </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>
+ <if test="payerObjIds !=null">
+ and t.payer_obj_id in
+ <foreach collection="payerObjIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ order by t.payer_obj_name
+ <if test="page != -1 and page != null ">
+ limit #{page}, #{row}
+ </if>
+ </select>
+
+ <!-- 鏌ヨ娆犺垂缁熻淇℃伅 add by wuxw 2018-07-03 t.owner_tel,t.owner_tel ownerTel,-->
+ <select id="queryReportAllOweFeesByRoom" parameterType="Map" resultType="Map">
+ select t.config_name,t.config_name configName,t.deadline_time,t.deadline_time
+ deadlineTime,t.update_time,t.update_time updateTime,t.owe_id,t.owe_id
+ oweId,t.fee_id,t.fee_id feeId,t.amount_owed,t.amount_owed amountOwed,t.payer_obj_name,t.payer_obj_name
+ 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.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'
+ 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>
+ <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 bo.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="payerObjName !=null and payerObjName != ''">
+ and t.payer_obj_name= #{payerObjName}
+ </if>
+ <if test="ownerName !=null and ownerName != ''">
+ and bo.name= #{ownerName}
+ </if>
+ <if test="configId !=null and configId != ''">
+ and t.config_id= #{configId}
+ </if>
+ <if test='hasOweFee !=null and hasOweFee == "Y"'>
+ and t.amount_owed > 0
</if>
<if test="configIds !=null">
and t.config_id in
@@ -280,7 +431,372 @@
<if test="page != -1 and page != null ">
limit #{page}, #{row}
</if>
+ </select>
+ <!-- 鏌ヨ娆犺垂缁熻淇℃伅 add by wuxw 2018-07-03 -->
+ <select id="queryReportAllOweFeesByCar" parameterType="Map" resultType="Map">
+ select t.config_name,t.config_name configName,t.deadline_time,t.deadline_time
+ deadlineTime,t.owner_tel,t.owner_tel ownerTel,t.update_time,t.update_time updateTime,t.owe_id,t.owe_id
+ oweId,t.fee_id,t.fee_id feeId,t.amount_owed,t.amount_owed amountOwed,t.payer_obj_name,t.payer_obj_name
+ 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.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'
+ 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>
+ <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 bo.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="payerObjName !=null and payerObjName != ''">
+ and t.payer_obj_name= #{payerObjName}
+ </if>
+ <if test="ownerName !=null and ownerName != ''">
+ and bo.name= #{ownerName}
+ </if>
+ <if test="configId !=null and configId != ''">
+ and t.config_id= #{configId}
+ </if>
+ <if test='hasOweFee !=null and hasOweFee == "Y"'>
+ and t.amount_owed > 0
+ </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>
+ <if test="payerObjIds !=null">
+ and t.payer_obj_id in
+ <foreach collection="payerObjIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ order by t.create_time desc
+ <if test="page != -1 and page != null ">
+ limit #{page}, #{row}
+ </if>
+ </select>
+
+ <select id="queryReportAllOweFeesByContract" parameterType="Map" resultType="Map">
+ select t.config_name,t.config_name configName,t.deadline_time,t.deadline_time
+ deadlineTime,t.owner_tel,t.owner_tel ownerTel,t.update_time,t.update_time updateTime,t.owe_id,t.owe_id
+ oweId,t.fee_id,t.fee_id feeId,t.amount_owed,t.amount_owed amountOwed,t.payer_obj_name,t.payer_obj_name
+ 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,
+ ct.obj_id ownerId,ct.party_b ownerName,ct.a_link ownerTel
+ from report_owe_fee t
+ left join contract ct on ct.contract_id = t.payer_obj_id and ct.status_cd = '0'
+ 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>
+ <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 ct.obj_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="payerObjName !=null and payerObjName != ''">
+ and t.payer_obj_name= #{payerObjName}
+ </if>
+ <if test="ownerName !=null and ownerName != ''">
+ and ct.party_b= #{ownerName}
+ </if>
+ <if test="configId !=null and configId != ''">
+ and t.config_id= #{configId}
+ </if>
+ <if test='hasOweFee !=null and hasOweFee == "Y"'>
+ and t.amount_owed > 0
+ </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>
+ <if test="payerObjIds !=null">
+ and t.payer_obj_id in
+ <foreach collection="payerObjIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ order by t.create_time desc
+ <if test="page != -1 and page != null ">
+ limit #{page}, #{row}
+ </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 > 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 > 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>
+
+
+ <select id="queryOweFeesByOwnerIds" parameterType="Map" resultType="Map">
+ select t.owner_id ownerId,SUM(t.amount_owed) oweFee
+ from report_owe_fee t
+ where t.community_id = #{communityId}
+ and t.owner_id in
+ <foreach collection="ownerIds" item="item" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ group by t.owner_id
+ </select>
+ <select id="queryOweFeesByRoomIds" parameterType="Map" resultType="Map">
+ select t.payer_obj_id roomId,SUM(t.amount_owed) oweFee
+ from report_owe_fee t
+ where t.community_id = #{communityId}
+ and t.payer_obj_type = '3333'
+ and t.payer_obj_id in
+ <foreach collection="roomIds" item="item" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ group by t.payer_obj_id
</select>
</mapper>
--
Gitblit v1.8.0