From 0e0e1f080d4a986ca75cde7cf5d23b2f8539fb10 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 17 五月 2023 12:25:35 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml | 679 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 671 insertions(+), 8 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..bc7507a 100644
--- a/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
@@ -9,8 +9,36 @@
select ifnull(sum(t.receivable_amount - t.received_amount - t.discount_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.community_id= #{communityId}
and t.cur_month_time < #{startDate}
@@ -21,8 +49,78 @@
select ifnull(sum(t.receivable_amount - t.received_amount - t.discount_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.community_id= #{communityId}
+ and t.cur_month_time > #{startDate}
+ 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}
@@ -34,7 +132,37 @@
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 < #{endDate}
@@ -46,7 +174,37 @@
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 < #{endDate}
@@ -58,7 +216,37 @@
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'
- 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 < #{endDate}
@@ -66,20 +254,495 @@
<!-- 鏌ヨ娆犺垂鎴锋暟 -->
<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
+ 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_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}
+ <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>
+ ) 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 - t.received_amount - t.discount_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.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= 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 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_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}
+ <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
+ ) 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 - t.received_amount - t.discount_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.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 = '2023013154290059'
+ 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_name objName,a.obj_id objId,a.owner_name ownerName,a.link,
+ (
+ select ifnull(sum(t.receivable_amount - t.received_amount - t.discount_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'
+ where t.obj_id = a.obj_id
+ and t.status_cd = '0'
+ and t.community_id= a.community_id
+ and t.cur_month_time < #{startDate}
+ ) hisOweFee,
+ (
+ select ifnull(sum(t.receivable_amount - t.received_amount - t.discount_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'
+ where t.obj_id = a.obj_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}
+ ) curOweFee,
+ (
+ 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'
+ where t.obj_id = a.obj_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}
+ ) curReceivableFee,
+ (
+ 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.obj_id = a.obj_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 < #{startDate}
+ ) hisReceivedFee,
+ (
+ 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.obj_id = a.obj_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}
+ ) preReceivedFee,
+ (
+ 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'
+ where t.obj_id = a.obj_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}
+ ) receivedFee
+ 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
+ order by a.obj_name
+ <if test="page != -1 and page != null ">
+ limit #{page}, #{row}
+ </if>
+ </select>
</mapper>
--
Gitblit v1.8.0