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 | 360 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 304 insertions(+), 56 deletions(-)
diff --git a/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
index 937ceca..bc7507a 100644
--- a/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
@@ -254,17 +254,17 @@
<!-- 鏌ヨ娆犺垂鎴锋暟 -->
<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'
<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'
+ left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
</if>
- where
- 1=1
+ where 1=1
<if test="floorId != null and floorId != ''">
and bu.floor_id = #{floorId}
</if>
@@ -289,28 +289,27 @@
<if test="feeTypeCd != null and feeTypeCd != ''">
and pf.fee_type_cd = #{feeTypeCd}
</if>
- and t.status_cd = '0'
+ 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 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'
<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'
+ left join building_unit bu on a.unit_id = bu.unit_id and bu.status_cd = '0'
</if>
- where
- 1=1
+ where 1=1
<if test="floorId != null and floorId != ''">
and bu.floor_id = #{floorId}
</if>
@@ -335,54 +334,55 @@
<if test="feeTypeCd != null and feeTypeCd != ''">
and pf.fee_type_cd = #{feeTypeCd}
</if>
- and t.status_cd = '0'
+ and a.status_cd = '0'
and pf.payer_obj_type = '3333'
and t.community_id= #{communityId}
and t.cur_month_time < #{endDate}
- group by t.obj_id
+ group by a.room_id
) a
</select>
<select id="getFloorFeeSummary" parameterType="Map" resultType="Map">
- select a.floor_id floorId,a.floor_num floorNum,
+ 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 t.obj_id from pay_fee_detail_month t
+ 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_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'
+ left join building_unit bu on a.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 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 t.obj_id) b
- ) oweRoomCount,-- 娆犺垂鎴�
- (
- select count(1) from (
- select t.obj_id
- 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 a.status_cd = '0'
and pf.payer_obj_type = '3333'
and t.community_id= a.community_id
and t.cur_month_time < #{endDate}
@@ -395,8 +395,10 @@
<if test="feeTypeCd != null and feeTypeCd != ''">
and pf.fee_type_cd = #{feeTypeCd}
</if>
- group by t.obj_id) b
- ) feeRoomCount, -- 鏀惰垂鎴�
+ 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
@@ -419,7 +421,7 @@
<if test="feeTypeCd != null and feeTypeCd != ''">
and pf.fee_type_cd = #{feeTypeCd}
</if>
- ) receivedFee, -- 瀹炴敹
+ ) receivedFee,
(
select ifnull(sum(t.received_amount),0.0) preReceivedFee
from pay_fee_detail_month t
@@ -443,7 +445,7 @@
<if test="feeTypeCd != null and feeTypeCd != ''">
and pf.fee_type_cd = #{feeTypeCd}
</if>
- ) preReceivedFee, -- 棰勬敹
+ ) preReceivedFee,
(
select ifnull(sum(t.receivable_amount - t.received_amount - t.discount_amount),0.0) hisOweFee
from pay_fee_detail_month t
@@ -465,7 +467,7 @@
<if test="feeTypeCd != null and feeTypeCd != ''">
and pf.fee_type_cd = #{feeTypeCd}
</if>
- ) hisOweFee, -- 鍘嗗彶娆犺垂
+ ) hisOweFee,
(
select ifnull(sum(t.receivable_amount),0.0) curReceivableFee
from pay_fee_detail_month t
@@ -488,7 +490,7 @@
<if test="feeTypeCd != null and feeTypeCd != ''">
and pf.fee_type_cd = #{feeTypeCd}
</if>
- ) curReceivableFee -- 褰撴湡搴旀敹
+ ) curReceivableFee
from f_floor a
where 1=1
and a.status_cd = '0'
@@ -496,5 +498,251 @@
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