From b173d31976fc4731b7c247d4038de92134eba317 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 29 六月 2023 11:42:17 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml | 1086 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 1,067 insertions(+), 19 deletions(-)
diff --git a/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
index 073be24..4522290 100644
--- a/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
@@ -6,26 +6,165 @@
<!-- 鏌ヨ鍘嗗彶娆犺垂 -->
<select id="getHisMonthOweFee" parameterType="Map" resultType="Map">
- select ifnull(sum(t.receivable_amount - t.received_amount - t.discount_amount),0.0) hisOweFee
+ select ifnull(sum(t.receivable_amount),0.0) hisOweFee
from pay_fee_detail_month t
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ LEFT JOIN building_room br on t.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'
+ </if>
where
1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = #{floorId}
+ </if>
+ <if test="configId != null and configId != ''">
+ and t.config_id = #{configId}
+ </if>
+ <if test="objName != null and objName != ''">
+ and t.obj_name like concat('%',#{objName},'%')
+ </if>
+ <if test="ownerName != null and ownerName != ''">
+ and t.owner_name like concat('%',#{ownerName},'%')
+ </if>
+ <if test="link != null and link != ''">
+ and t.link = #{link}
+ </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="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
and t.status_cd = '0'
+ and t.detail_id = '-1'
and t.community_id= #{communityId}
and t.cur_month_time < #{startDate}
</select>
<!-- 鏌ヨ鍗曟湀娆犺垂 -->
<select id="getCurMonthOweFee" parameterType="Map" resultType="Map">
- select ifnull(sum(t.receivable_amount - t.received_amount - t.discount_amount),0.0) curOweFee
+ select ifnull(sum(t.receivable_amount),0.0) curOweFee
from pay_fee_detail_month t
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ LEFT JOIN building_room br on t.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'
+ </if>
where
1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = #{floorId}
+ </if>
+ <if test="configId != null and configId != ''">
+ and t.config_id = #{configId}
+ </if>
+ <if test="objName != null and objName != ''">
+ and t.obj_name like concat('%',#{objName},'%')
+ </if>
+ <if test="ownerName != null and ownerName != ''">
+ and t.owner_name like concat('%',#{ownerName},'%')
+ </if>
+ <if test="link != null and link != ''">
+ and t.link = #{link}
+ </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="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ and t.status_cd = '0'
+ and t.detail_id = '-1'
+ and t.community_id= #{communityId}
+ and t.cur_month_time >= #{startDate}
+ and t.cur_month_time < #{endDate}
+ </select>
+
+ <select id="getOweFee" parameterType="Map" resultType="Map">
+ select ifnull(sum(t.receivable_amount),0.0) oweFee
+ from pay_fee_detail_month t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ LEFT JOIN building_room br on t.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'
+ </if>
+ where
+ 1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = #{floorId}
+ </if>
+ <if test="configId != null and configId != ''">
+ and t.config_id = #{configId}
+ </if>
+ <if test="objName != null and objName != ''">
+ and t.obj_name like concat('%',#{objName},'%')
+ </if>
+ <if test="ownerName != null and ownerName != ''">
+ and t.owner_name like concat('%',#{ownerName},'%')
+ </if>
+ <if test="link != null and link != ''">
+ and t.link = #{link}
+ </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="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ and t.status_cd = '0'
+ and t.detail_id = '-1'
+ and t.community_id= #{communityId}
+ and t.cur_month_time < #{endDate}
+ </select>
+
+ <!-- 鏌ヨ褰撴湀搴旀敹 -->
+ <select id="getCurReceivableFee" parameterType="Map" resultType="Map">
+ select ifnull(sum(t.receivable_amount),0.0) curReceivableFee
+ from pay_fee_detail_month t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ LEFT JOIN building_room br on t.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'
+ </if>
+ where
+ 1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = #{floorId}
+ </if>
+ <if test="configId != null and configId != ''">
+ and t.config_id = #{configId}
+ </if>
+ <if test="objName != null and objName != ''">
+ and t.obj_name like concat('%',#{objName},'%')
+ </if>
+ <if test="ownerName != null and ownerName != ''">
+ and t.owner_name like concat('%',#{ownerName},'%')
+ </if>
+ <if test="link != null and link != ''">
+ and t.link = #{link}
+ </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="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
and t.status_cd = '0'
and t.community_id= #{communityId}
- and t.cur_month_time > #{startDate}
+ and t.cur_month_time >= #{startDate}
and t.cur_month_time < #{endDate}
</select>
@@ -34,11 +173,41 @@
select ifnull(sum(t.received_amount),0.0) hisReceivedFee
from pay_fee_detail_month t
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
- where t.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ LEFT JOIN building_room br on t.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'
+ </if>
+ where
+ 1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = #{floorId}
+ </if>
+ <if test="configId != null and configId != ''">
+ and t.config_id = #{configId}
+ </if>
+ <if test="objName != null and objName != ''">
+ and t.obj_name like concat('%',#{objName},'%')
+ </if>
+ <if test="ownerName != null and ownerName != ''">
+ and t.owner_name like concat('%',#{ownerName},'%')
+ </if>
+ <if test="link != null and link != ''">
+ and t.link = #{link}
+ </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="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ and t.status_cd = '0'
and t.community_id= #{communityId}
- and t.pay_fee_time > #{startDate}
+ and t.pay_fee_time > #{startDate}
and t.pay_fee_time < #{endDate}
- and t.cur_month_time < #{startDate}
+ and t.cur_month_time < #{startDate}
</select>
<!-- 鏌ヨ 棰勪氦璐圭敤 -->
@@ -46,40 +215,919 @@
select ifnull(sum(t.received_amount),0.0) preReceivedFee
from pay_fee_detail_month t
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
- where t.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ LEFT JOIN building_room br on t.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'
+ </if>
+ where
+ 1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = #{floorId}
+ </if>
+ <if test="configId != null and configId != ''">
+ and t.config_id = #{configId}
+ </if>
+ <if test="objName != null and objName != ''">
+ and t.obj_name like concat('%',#{objName},'%')
+ </if>
+ <if test="ownerName != null and ownerName != ''">
+ and t.owner_name like concat('%',#{ownerName},'%')
+ </if>
+ <if test="link != null and link != ''">
+ and t.link = #{link}
+ </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="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ and t.status_cd = '0'
and t.community_id= #{communityId}
- and t.pay_fee_time > #{startDate}
+ and t.pay_fee_time > #{startDate}
and t.pay_fee_time < #{endDate}
- and t.cur_month_time > #{endDate}
+ and t.cur_month_time > #{endDate}
</select>
<!-- 鏌ヨ瀹炴敹璐圭敤 -->
<select id="getReceivedFee" parameterType="Map" resultType="Map">
select ifnull(sum(t.received_amount),0.0) receivedFee
- from pay_fee_detail_month t
+ from pay_fee_detail t
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
- where t.status_cd = '0'
+ left join pay_fee_attrs pfa on pf.fee_id = pfa.fee_id and pfa.status_cd = '0' and pfa.spec_cd = '390008'
+ left join pay_fee_attrs pfa1 on pf.fee_id = pfa1.fee_id and pfa1.status_cd = '0' and pfa1.spec_cd = '390009'
+ left join pay_fee_attrs pfa2 on pf.fee_id = pfa2.fee_id and pfa2.status_cd = '0' and pfa2.spec_cd = '390012'
+ <if test="floorId != null and floorId != ''">
+ 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'
+ </if>
+ where
+ 1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = #{floorId}
+ </if>
+ <if test="configId != null and configId != ''">
+ and t.config_id = #{configId}
+ </if>
+ <if test="objName != null and objName != ''">
+ and pfa2.value like concat('%',#{objName},'%')
+ </if>
+ <if test="ownerName != null and ownerName != ''">
+ and pfa.value like concat('%',#{ownerName},'%')
+ </if>
+ <if test="link != null and link != ''">
+ and pfa1.value = #{link}
+ </if>
+ <if test="configIds !=null ">
+ and pf.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ and t.status_cd = '0'
and t.community_id= #{communityId}
- and t.pay_fee_time > #{startDate}
- and t.pay_fee_time < #{endDate}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
</select>
<!-- 鏌ヨ娆犺垂鎴锋暟 -->
<select id="getOweRoomCount" parameterType="Map" resultType="Map">
+
select count(1) oweRoomCount
- from
- (
- select t.obj_id from pay_fee_detail_month t
+ from (
+ select a.room_id
+ from building_room a
+ left join pay_fee_detail_month t on t.obj_id = a.room_id
INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
- where t.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
+ </if>
+ where 1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = #{floorId}
+ </if>
+ <if test="configId != null and configId != ''">
+ and t.config_id = #{configId}
+ </if>
+ <if test="objName != null and objName != ''">
+ and t.obj_name like concat('%',#{objName},'%')
+ </if>
+ <if test="ownerName != null and ownerName != ''">
+ and t.owner_name like concat('%',#{ownerName},'%')
+ </if>
+ <if test="link != null and link != ''">
+ and t.link = #{link}
+ </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="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ and a.status_cd = '0'
and pf.payer_obj_type = '3333'
and t.community_id= #{communityId}
and t.cur_month_time < #{endDate}
- and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
- group by t.obj_id
+ and t.detail_id = '-1'
+ group by a.room_id
+ ) a
+ </select>
+
+ <!-- 鏌ヨ鏀惰垂鎴锋暟 -->
+ <select id="getFeeRoomCount" parameterType="Map" resultType="Map">
+ select count(1) feeRoomCount
+ from (
+ select a.room_id
+ from building_room a
+ left join pay_fee_detail_month t on t.obj_id = a.room_id
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
+ </if>
+ where 1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = #{floorId}
+ </if>
+ <if test="configId != null and configId != ''">
+ and t.config_id = #{configId}
+ </if>
+ <if test="objName != null and objName != ''">
+ and t.obj_name like concat('%',#{objName},'%')
+ </if>
+ <if test="ownerName != null and ownerName != ''">
+ and t.owner_name like concat('%',#{ownerName},'%')
+ </if>
+ <if test="link != null and link != ''">
+ and t.link = #{link}
+ </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="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ and a.status_cd = '0'
+ and pf.payer_obj_type = '3333'
+ and t.community_id= #{communityId}
+ and t.cur_month_time < #{endDate}
+ group by a.room_id
) a
</select>
+ <select id="getFloorFeeSummary" parameterType="Map" resultType="Map">
+
+ select a.floor_id floorId,a.floor_num floorNum,a.name floorName,
+ (
+ select count(1) from (
+ select bu.floor_id,a.room_id
+ from building_room a
+ left join pay_fee_detail_month t on t.obj_id = a.room_id
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
+ where
+ 1=1
+ and a.status_cd = '0'
+ and pf.payer_obj_type = '3333'
+ and t.community_id= a.community_id
+ and t.cur_month_time < #{endDate}
+ and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
+ <if test="configIds !=null ">
+ and t.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ group by bu.floor_id,t.obj_id
+ ) b
+ where b.floor_id = a.floor_id
+ ) oweRoomCount,
+ (
+ select count(1) from (
+ select bu.floor_id,a.room_id
+ from building_room a
+ left join pay_fee_detail_month t on t.obj_id = a.room_id
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
+ where
+ 1=1
+ and a.status_cd = '0'
+ and pf.payer_obj_type = '3333'
+ and t.community_id= a.community_id
+ and t.cur_month_time < #{endDate}
+ <if test="configIds !=null ">
+ and t.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ group by bu.floor_id,t.obj_id
+ ) b
+ where b.floor_id = a.floor_id
+ ) feeRoomCount,
+ (
+ select ifnull(sum(t.received_amount),0.0) receivedFee
+ from pay_fee_detail t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ 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 bu.floor_id = a.floor_id
+ and t.status_cd = '0'
+ and t.community_id= a.community_id
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ <if test="configIds !=null ">
+ and pf.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ ) receivedFee,
+ (
+ select ifnull(sum(t.received_amount),0.0) preReceivedFee
+ from pay_fee_detail_month t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ LEFT JOIN building_room br on t.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 bu.floor_id = a.floor_id
+ and t.status_cd = '0'
+ and t.community_id= a.community_id
+ and t.pay_fee_time > #{startDate}
+ and t.pay_fee_time < #{endDate}
+ and t.cur_month_time > #{endDate}
+ <if test="configIds !=null ">
+ and t.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ ) preReceivedFee,
+ (
+ select ifnull(sum(t.receivable_amount),0.0) hisOweFee
+ from pay_fee_detail_month t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ LEFT JOIN building_room br on t.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 bu.floor_id = a.floor_id
+ and t.status_cd = '0'
+ and t.community_id= a.community_id
+ and t.detail_id = '-1'
+ and t.cur_month_time < #{startDate}
+ <if test="configIds !=null ">
+ and t.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ ) hisOweFee,
+ (
+ select ifnull(sum(t.receivable_amount),0.0) curReceivableFee
+ from pay_fee_detail_month t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ LEFT JOIN building_room br on t.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 bu.floor_id = a.floor_id
+ and t.status_cd = '0'
+ and t.community_id= a.community_id
+ and t.cur_month_time > #{startDate}
+ and t.cur_month_time < #{endDate}
+ <if test="configIds !=null ">
+ and t.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ ) curReceivableFee
+ from f_floor a
+ where 1=1
+ and a.status_cd = '0'
+ and a.community_id = #{communityId}
+ order by a.seq
+ </select>
+
+ <select id="getConfigFeeSummary" parameterType="Map" resultType="Map">
+ select a.name,
+ (
+ select count(1) from (
+ select pf.fee_type_cd,a.room_id
+ from building_room a
+ left join pay_fee_detail_month t on t.obj_id = a.room_id
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
+ where
+ 1=1
+ and a.status_cd = '0'
+ and pf.payer_obj_type = '3333'
+ and t.community_id= a.community_id
+ and t.cur_month_time < #{endDate}
+ and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
+ <if test="configIds !=null ">
+ and t.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ group by pf.fee_type_cd,t.obj_id
+ ) b
+ where b.fee_type_cd = a.status_cd
+ ) oweRoomCount,
+ (
+ select count(1) from (
+ select pf.fee_type_cd,a.room_id
+ from building_room a
+ left join pay_fee_detail_month t on t.obj_id = a.room_id
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
+ where
+ 1=1
+ and a.status_cd = '0'
+ and pf.payer_obj_type = '3333'
+ and t.community_id= #{communityId}
+ and t.cur_month_time < #{endDate}
+ <if test="configIds !=null ">
+ and t.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ group by pf.fee_type_cd,t.obj_id
+ ) b
+ where b.fee_type_cd = a.status_cd
+ ) feeRoomCount,
+ (
+ select ifnull(sum(t.received_amount),0.0) receivedFee
+ from pay_fee_detail t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ 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'
+ </if>
+ where
+ 1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = a.floor_id
+ </if>
+ and t.status_cd = '0'
+ and t.community_id= #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ <if test="configIds !=null ">
+ and pf.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ and pf.fee_type_cd = a.status_cd
+ ) receivedFee,
+ (
+ select ifnull(sum(t.received_amount),0.0) preReceivedFee
+ from pay_fee_detail_month t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ LEFT JOIN building_room br on t.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'
+ </if>
+ where
+ 1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = a.floor_id
+ </if>
+ and t.status_cd = '0'
+ and t.community_id= #{communityId}
+ and t.pay_fee_time > #{startDate}
+ and t.pay_fee_time < #{endDate}
+ and t.cur_month_time > #{endDate}
+ <if test="configIds !=null ">
+ and t.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ and pf.fee_type_cd = a.status_cd
+ ) preReceivedFee,
+ (
+ select ifnull(sum(t.receivable_amount),0.0) hisOweFee
+ from pay_fee_detail_month t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ LEFT JOIN building_room br on t.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'
+ </if>
+ where
+ 1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = a.floor_id
+ </if>
+ and t.status_cd = '0'
+ and t.community_id= #{communityId}
+ and t.detail_id = '-1'
+ and t.cur_month_time < #{startDate}
+ <if test="configIds !=null ">
+ and t.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ and pf.fee_type_cd = a.status_cd
+ ) hisOweFee,
+ (
+ select ifnull(sum(t.receivable_amount),0.0) curReceivableFee
+ from pay_fee_detail_month t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ <if test="floorId != null and floorId != ''">
+ LEFT JOIN building_room br on t.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'
+ </if>
+ where
+ 1=1
+ <if test="floorId != null and floorId != ''">
+ and bu.floor_id = a.floor_id
+ </if>
+ and t.status_cd = '0'
+ and t.community_id= #{communityId}
+ and t.cur_month_time > #{startDate}
+ and t.cur_month_time < #{endDate}
+ <if test="configIds !=null ">
+ and t.config_id in
+ <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </if>
+ and pf.fee_type_cd = a.status_cd
+ ) curReceivableFee
+ from t_dict a
+ where 1=1
+ and a.table_name = 'pay_fee_config'
+ and a.table_columns = 'fee_type_cd'
+ </select>
+
+ <select id="getObjFeeSummaryCount" parameterType="Map" resultType="Map">
+ select count(1) feeRoomCount
+ from
+ (
+ select a.obj_name objName,a.obj_id objId,a.owner_name ownerName,a.link
+ from pay_fee_detail_month a
+ where a.status_cd = '0'
+ and a.community_id = #{communityId}
+ group by a.obj_name,a.obj_id,a.owner_name,a.link
+ ) b
+ </select>
+ <!-- 鏌ヨ鎴垮眿璐圭敤鏄庣粏琛�-->
+ <select id="getObjFeeSummary" parameterType="Map" resultType="Map">
+ select
+ a.obj_id objId,pfc.fee_type_cd feeTypeCd,
+ (
+ select ifnull(sum(t.receivable_amount),0.0) hisOweFee
+ from pay_fee_detail_month t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ inner join pay_fee_config pfc1 on pfc1.config_id = t.config_id and pfc1.status_cd = '0'
+ where t.obj_id = a.obj_id
+ and t.status_cd = '0'
+ and t.detail_id = '-1'
+ and t.community_id= a.community_id
+ and t.obj_id = a.obj_id
+ and pfc1.fee_type_cd = pfc.fee_type_cd
+ and t.cur_month_time < #{endDate}
+ ) oweFee,
+ (
+ select ifnull(sum(t.received_amount),0.0) receivedFee
+ from pay_fee_detail t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ inner join pay_fee_config pfc1 on pfc1.config_id = pf.config_id and pfc1.status_cd = '0'
+ where pf.payer_obj_id = a.obj_id
+ and t.status_cd = '0'
+ and t.community_id= a.community_id
+ and pfc1.fee_type_cd = pfc.fee_type_cd
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ ) receivedFee
+ from pay_fee_detail_month a
+ inner join pay_fee_config pfc on a.config_id = pfc.config_id and pfc.status_cd = '0'
+ where a.obj_id in
+ <foreach collection="objIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ group by a.obj_id,pfc.fee_type_cd,a.community_id
+ </select>
+
+ <!-- 鏌ヨ涓氫富璐圭敤鏄庣粏琛� -->
+ <select id="getOwnerFeeSummary" parameterType="Map" resultType="Map">
+ select
+ a.owner_id ownerId,GROUP_CONCAT(a.obj_name) objName,pfc.fee_type_cd feeTypeCd,
+ (
+ select ifnull(sum(t.receivable_amount),0.0) hisOweFee
+ from pay_fee_detail_month t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ inner join pay_fee_config pfc1 on pfc1.config_id = t.config_id and pfc1.status_cd = '0'
+ where 1=1
+ and t.status_cd = '0'
+ and t.detail_id = '-1'
+ and t.community_id= a.community_id
+ and t.owner_id = a.owner_id
+ and pfc1.fee_type_cd = pfc.fee_type_cd
+ and t.cur_month_time < #{endDate}
+ ) oweFee,
+ (
+ select ifnull(sum(t.received_amount),0.0) receivedFee
+ from pay_fee_detail_month t
+ INNER JOIN pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ inner join pay_fee_config pfc1 on pfc1.config_id = t.config_id and pfc1.status_cd = '0'
+ where t.owner_id = a.owner_id
+ and t.status_cd = '0'
+ and t.community_id= a.community_id
+ and pfc1.fee_type_cd = pfc.fee_type_cd
+ and t.pay_fee_time > #{startDate}
+ and t.pay_fee_time < #{endDate}
+ ) receivedFee
+ from pay_fee_detail_month a
+ inner join pay_fee_config pfc on a.config_id = pfc.config_id and pfc.status_cd = '0'
+ where a.owner_id in
+ <foreach collection="ownerIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ group by a.owner_id,pfc.fee_type_cd,a.community_id
+ </select>
+
+
+ <!-- 浼樻儬璐圭敤-->
+ <select id="getDiscountFee" parameterType="Map" resultType="Map">
+ select ifnull(SUM(t.discount_amount),0.0) discountFee
+ from pay_fee_detail_month t
+ where 1=1
+ and t.status_cd = '0'
+ and t.detail_id != '-1'
+ and t.discount_amount > 0
+ and t.community_id= #{communityId}
+ and t.cur_month_time > #{startDate}
+ and t.cur_month_time < #{endDate}
+ </select>
+
+ <!-- 婊炵撼閲戣垂鐢�-->
+ <select id="getLateFee" parameterType="Map" resultType="Map">
+ select ifnull(SUM(t.discount_amount),0.0) lateFee
+ from pay_fee_detail_month t
+ where 1=1
+ and t.status_cd = '0'
+ and t.detail_id != '-1'
+ and t.discount_amount < 0
+ and t.community_id= #{communityId}
+ and t.cur_month_time > #{startDate}
+ and t.cur_month_time < #{endDate}
+ </select>
+
+ <!-- 鏌ヨ棰勫瓨璐︽埛-->
+ <select id="getPrestoreAccount" parameterType="Map" resultType="Map">
+ select ifnull(SUM(t.amount),0.0) prestoreAccount
+ from account_detail t
+ INNER JOIN account ac on t.acct_id = ac.acct_id and ac.status_cd = '0'
+ where 1=1
+ and t.obj_type = '6006'
+ and ac.acct_type = '2003'
+ and t.detail_type = '1001'
+ and ac.part_id= #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ </select>
+
+ <!-- 鏌ヨ璐︽埛鎵f-->
+ <select id="getWithholdAccount" parameterType="Map" resultType="Map">
+ select ifnull(SUM(t.amount),0.0) withholdAccount
+ from account_detail t
+ INNER JOIN account ac on t.acct_id = ac.acct_id and ac.status_cd = '0'
+ where 1=1
+ and t.obj_type = '6006'
+ and ac.acct_type = '2003'
+ and t.detail_type = '2002'
+ and ac.part_id= #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ </select>
+
+ <!-- 鏌ヨ涓存椂杞﹁垂 -->
+ <select id="getTempCarFee" parameterType="Map" resultType="Map">
+ select ifnull(sum(t.pay_charge),0.0) tempCarFee
+ from car_inout_payment t
+ where 1=1
+ and t.community_id = #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ and t.status_cd = '0'
+ </select>
+
+ <!-- 鎶奸噾閫�娆鹃噾棰� -->
+ <select id="geRefundDeposit" parameterType="Map" resultType="Map">
+ select ifnull(sum(t.received_amount),0.0) refundDeposit from return_pay_fee t
+ where t.fee_type_cd = '888800010006'
+ and t.status_cd = '0'
+ and t.state = '1001'
+ and t.community_id = #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ </select>
+
+ <!-- 閫�娆捐鍗曟暟 -->
+ <select id="geRefundOrderCount" parameterType="Map" resultType="Map">
+ select count(1) refundOrderCount from return_pay_fee t
+ where t.status_cd = '0'
+ and t.state = '1001'
+ and t.community_id = #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ </select>
+
+ <!-- 閫�娆鹃噾棰� -->
+ <select id="geRefundFee" parameterType="Map" resultType="Map">
+ select ifnull(sum(t.received_amount),0.0) refundFee from return_pay_fee t
+ where t.status_cd = '0'
+ and t.state = '1001'
+ and t.community_id = #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ </select>
+
+ <!-- 鏌ヨ鍏呯數璐圭敤-->
+ <select id="getChargeFee" parameterType="Map" resultType="Map">
+ select ifnull(sum(t.amount),0.0) chargeFee
+ from charge_machine_order t
+ where t.status_cd = '0'
+ and t.community_id = #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ </select>
+
+ <!-- 鏌ヨ妤兼爧瀹炴敹-->
+ <select id="getReceivedFeeByFloor" parameterType="Map" resultType="Map">
+ select a.floor_id floorId,a.floor_num floorNum,a.name floorName,td.status_cd feeTypeCd,
+ (
+ select count(1)
+ from building_room br
+ left join building_unit bu on bu.unit_id = br.unit_id and bu.status_cd = '0'
+ where
+ 1=1
+ and a.status_cd = '0'
+ and br.status_cd = '0'
+ and bu.floor_id = a.floor_id
+ ) roomCount,
+ (
+ select count(1) from (
+ select bu.floor_id,br.room_id
+ from building_room br
+ INNER JOIN pay_fee pf on br.room_id = pf.payer_obj_id and pf.payer_obj_type = '3333' and pf.status_cd = '0'
+ left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
+ where
+ 1=1
+ and br.status_cd = '0'
+ and br.community_id= #{communityId}
+ group by bu.floor_id,br.room_id
+ ) b
+ where b.floor_id = a.floor_id
+ ) feeRoomCount,
+ (
+ select ifnull(sum(t.received_amount),0.0) receivedFee
+ from pay_fee_detail t
+ INNER JOIN pay_fee pf1 on t.fee_id = pf1.fee_id and pf1.payer_obj_type='3333' and pf1.status_cd = '0'
+ LEFT JOIN building_room br on pf1.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 bu.floor_id = a.floor_id
+ and t.status_cd = '0'
+ and t.community_id = #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ and pf1.fee_type_cd = td.status_cd
+ ) receivedFee
+ from f_floor a
+ left join t_dict td on td.table_name='pay_fee_config' and td.table_columns = 'fee_type_cd_show'
+ where 1=1
+ and a.status_cd = '0'
+ and a.community_id = #{communityId}
+ order by a.seq
+ </select>
+
+
+ <!-- 鎸夌即璐规柟寮忕粺璁� -->
+ <select id="getReceivedFeeByPrimeRate" parameterType="Map" resultType="Map">
+ select td.`name`,td.status_cd primeRate,ifnull(SUM(t.received_amount),0) receivedAmount
+ from t_dict td
+ left join pay_fee_detail t on td.status_cd = t.prime_rate and t.status_cd = '0'
+ where
+ 1=1
+ and td.table_name = 'pay_fee_detail'
+ and td.table_columns = 'prime_rate'
+ and t.community_id = #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ group by td.status_cd,td.`name`
+ </select>
+
+ <!-- 鎸夋ゼ鏍嬬粺璁℃瑺璐� -->
+ <select id="getOweFeeByFloor" parameterType="Map" resultType="Map">
+ select a.floor_id floorId,a.floor_num floorNum,a.name floorName,td.status_cd feeTypeCd,
+ (
+ select count(1)
+ from building_room br
+ left join building_unit bu on bu.unit_id = br.unit_id and bu.status_cd = '0'
+ where
+ 1=1
+ and a.status_cd = '0'
+ and br.status_cd = '0'
+ and bu.floor_id = a.floor_id
+ ) roomCount,
+ (
+ select count(1) from (
+ select bu.floor_id,br.room_id
+ from building_room br
+ INNER JOIN pay_fee pf on br.room_id = pf.payer_obj_id and pf.payer_obj_type = '3333' and pf.status_cd = '0'
+ left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
+ where
+ 1=1
+ and br.status_cd = '0'
+ and br.community_id= #{communityId}
+ group by bu.floor_id,br.room_id
+ ) b
+ where b.floor_id = a.floor_id
+ ) feeRoomCount,
+ (
+ select count(1) from (
+ select bu.floor_id,br.room_id
+ from building_room br
+ INNER JOIN pay_fee_detail_month pf on br.room_id = pf.obj_id and pf.status_cd = '0'
+ left join building_unit bu on br.unit_id = bu.unit_id and bu.status_cd = '0'
+ where
+ 1=1
+ and br.status_cd = '0'
+ and br.community_id= #{communityId}
+ and pf.detail_id = '-1'
+ and pf.cur_month_time < #{endDate}
+ group by bu.floor_id,br.room_id
+ ) b
+ where b.floor_id = a.floor_id
+ ) oweRoomCount,
+ (
+ select ifnull(sum(t.amount_owed),0.0) oweFee
+ from report_owe_fee t
+ left join pay_fee pf1 on t.fee_id = pf1.fee_id and pf1.status_cd = '0'
+ LEFT JOIN building_room br on pf1.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 bu.floor_id = a.floor_id
+ and t.community_id = #{communityId}
+ and t.amount_owed > 0
+ and pf1.fee_type_cd = td.status_cd
+ ) oweFee
+ from f_floor a
+ left join t_dict td on td.table_name='pay_fee_config' and td.table_columns = 'fee_type_cd_show'
+ where 1=1
+ and a.status_cd = '0'
+ and a.community_id = #{communityId}
+ order by a.seq
+ </select>
+
+ <!-- 瀵硅薄娆犺垂 -->
+ <select id="getObjOweFee" parameterType="Map" resultType="Map">
+ select t.payer_obj_id payerObjId, pf.fee_type_cd feeTypeCd,t.fee_name feeName,
+ DATE_FORMAT(t.end_time,'%Y-%m-%d') endTime,DATE_FORMAT(t.deadline_time,'%Y-%m-%d') deadlineTime,t.amount_owed amountOwed
+ from report_owe_fee t
+ left join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ where t.amount_owed > 0
+ and t.payer_obj_type = '3333'
+ and t.community_id = #{communityId}
+ and t.payer_obj_id in
+ <foreach collection="objIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </select>
+
+ <!-- 瀵硅薄瀹炴敹 -->
+ <select id="getObjReceivedFee" parameterType="Map" resultType="Map">
+ select pf.payer_obj_id payerObjId, pf.fee_type_cd feeTypeCd,pfc.fee_name feeName,
+ DATE_FORMAT(t.start_time,'%Y-%m-%d') startTime,DATE_FORMAT(t.end_time,'%Y-%m-%d') endTime,t.received_amount receivedAmount
+ from pay_fee_detail t
+ left join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
+ left join pay_fee_config pfc on pf.config_id = pfc.config_id and pfc.status_cd = '0'
+ where 1=1
+ and pf.payer_obj_type = '3333'
+ and t.community_id = #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ and pf.payer_obj_id in
+ <foreach collection="objIds" item="item" index="index" open="(" close=")" separator=",">
+ #{item}
+ </foreach>
+ </select>
+ <!-- 宸叉敹鎴垮眿鏁� -->
+ <select id="getReceivedRoomCount" parameterType="Map" resultType="Map">
+ select count(DISTINCT pf.payer_obj_id) count from pay_fee_detail t
+ inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
+ 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
+ bu.floor_id = #{floorId}
+ and t.community_id = #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ </select>
+ <!-- 宸叉敹鎴垮眿閲戦 -->
+ <select id="getReceivedRoomAmount" parameterType="Map" resultType="Map">
+ select ifnull(sum(t.received_amount),0) amount from pay_fee_detail t
+ inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
+ 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
+ bu.floor_id = #{floorId}
+ and t.community_id = #{communityId}
+ and t.create_time > #{startDate}
+ and t.create_time < #{endDate}
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ </select>
+ <!-- 娆犺垂娓呯即鎴� -->
+ <select id="getHisOweReceivedRoomCount" parameterType="Map" resultType="Map">
+ select count(DISTINCT t.obj_id) count
+ from pay_fee_detail_month t
+ inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
+ 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 bu.floor_id = #{floorId}
+ and t.community_id = #{communityId}
+ and t.pay_fee_time > #{startDate}
+ and t.pay_fee_time < #{endDate}
+ and t.cur_month_time < #{hisDate}
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ and t.detail_id != '-1'
+ and t.status_cd = '0'
+ </select>
+ <!-- 娆犺垂娓呯即閲戦 -->
+ <select id="getHisOweReceivedRoomAmount" parameterType="Map" resultType="Map">
+ select ifnull(sum(t.received_amount),0) amount
+ from pay_fee_detail_month t
+ inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' and pf.payer_obj_type = '3333'
+ 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 bu.floor_id = #{floorId}
+ and t.community_id = #{communityId}
+ and t.pay_fee_time > #{startDate}
+ and t.pay_fee_time < #{endDate}
+ and t.cur_month_time < #{hisDate}
+ <if test="feeTypeCd != null and feeTypeCd != ''">
+ and pf.fee_type_cd = #{feeTypeCd}
+ </if>
+ and t.detail_id != '-1'
+ and t.status_cd = '0'
+ </select>
</mapper>
--
Gitblit v1.8.0