From d7d9b601b2e4fdb663375993e2cfbdbd363df421 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期二, 11 七月 2023 22:17:37 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml |  711 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 687 insertions(+), 24 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
index bce4925..4759a4e 100644
--- a/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
@@ -87,6 +87,45 @@
         and t.cur_month_time &lt; #{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 &lt; #{endDate}
+    </select>
 
     <!-- 鏌ヨ褰撴湀搴旀敹 -->
     <select id="getCurReceivableFee" parameterType="Map" resultType="Map">
@@ -210,7 +249,7 @@
         and t.community_id= #{communityId}
         and t.pay_fee_time &gt; #{startDate}
         and t.pay_fee_time &lt; #{endDate}
-        and t.cur_month_time &gt; #{endDate}
+        and t.cur_month_time &gt;= #{endDate}
     </select>
 
     <!-- 鏌ヨ瀹炴敹璐圭敤 -->
@@ -298,7 +337,7 @@
         and pf.payer_obj_type = '3333'
         and t.community_id= #{communityId}
         and t.cur_month_time &lt; #{endDate}
-        and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
+        and t.detail_id = '-1'
         group by a.room_id
         ) a
     </select>
@@ -364,7 +403,7 @@
         and pf.payer_obj_type = '3333'
         and t.community_id= a.community_id
         and t.cur_month_time &lt; #{endDate}
-        and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
+        and detail_id = '-1'
         <if test="configIds !=null ">
             and t.config_id in
             <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -440,7 +479,7 @@
         and t.community_id= a.community_id
         and t.pay_fee_time &gt; #{startDate}
         and t.pay_fee_time &lt; #{endDate}
-        and t.cur_month_time &gt; #{endDate}
+        and t.cur_month_time &gt;= #{endDate}
         <if test="configIds !=null ">
             and t.config_id in
             <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -485,7 +524,7 @@
         and bu.floor_id = a.floor_id
         and t.status_cd = '0'
         and t.community_id= a.community_id
-        and t.cur_month_time &gt; #{startDate}
+        and t.cur_month_time &gt;= #{startDate}
         and t.cur_month_time &lt; #{endDate}
         <if test="configIds !=null ">
             and t.config_id in
@@ -496,7 +535,56 @@
         <if test="feeTypeCd != null and feeTypeCd != ''">
             and pf.fee_type_cd = #{feeTypeCd}
         </if>
-        ) curReceivableFee
+        ) curReceivableFee,
+        (
+        select ifnull(sum(t.receivable_amount),0.0) curReceivedFee
+        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 &gt;= #{startDate}
+        and t.cur_month_time &lt; #{endDate}
+        and t.detail_id != '-1'
+        <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>
+        ) curReceivedFee,
+        (
+        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'
+        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 &gt; #{startDate}
+        and t.pay_fee_time &lt; #{endDate}
+        and t.cur_month_time &lt; #{startDate}
+        and t.detail_id != '-1'
+        <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>
+        ) hisReceivedFee
         from f_floor a
         where 1=1
         and a.status_cd = '0'
@@ -508,7 +596,7 @@
         select a.name,
         (
         select count(1) from (
-        select pf.fee_type_cd,a.room_id
+        select pf.fee_type_cd,t.obj_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'
@@ -517,9 +605,9 @@
         1=1
         and a.status_cd = '0'
         and pf.payer_obj_type = '3333'
-        and t.community_id= a.community_id
+        and t.community_id= #{communityId}
         and t.cur_month_time &lt; #{endDate}
-        and (t.receivable_amount - t.received_amount - t.discount_amount) > 0
+        and t.detail_id = '-1'
         <if test="configIds !=null ">
             and t.config_id in
             <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -535,7 +623,7 @@
         ) oweRoomCount,
         (
         select count(1) from (
-        select pf.fee_type_cd,a.room_id
+        select pf.fee_type_cd,t.obj_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'
@@ -570,7 +658,7 @@
         where
         1=1
         <if test="floorId != null and floorId != ''">
-            and bu.floor_id = a.floor_id
+            and bu.floor_id = #{floorId}
         </if>
         and t.status_cd = '0'
         and t.community_id= #{communityId}
@@ -595,13 +683,14 @@
         where
         1=1
         <if test="floorId != null and floorId != ''">
-            and bu.floor_id = a.floor_id
+            and bu.floor_id = #{floorId}
         </if>
         and t.status_cd = '0'
         and t.community_id= #{communityId}
         and t.pay_fee_time &gt; #{startDate}
         and t.pay_fee_time &lt; #{endDate}
-        and t.cur_month_time &gt; #{endDate}
+        and t.cur_month_time &gt;= #{endDate}
+        and t.detail_id != '-1'
         <if test="configIds !=null ">
             and t.config_id in
             <foreach collection="configIds" item="item" index="index" open="(" close=")" separator=",">
@@ -621,7 +710,7 @@
         where
         1=1
         <if test="floorId != null and floorId != ''">
-            and bu.floor_id = a.floor_id
+            and bu.floor_id = #{floorId}
         </if>
         and t.status_cd = '0'
         and t.community_id= #{communityId}
@@ -646,11 +735,11 @@
         where
         1=1
         <if test="floorId != null and floorId != ''">
-            and bu.floor_id = a.floor_id
+            and bu.floor_id = #{floorId}
         </if>
         and t.status_cd = '0'
         and t.community_id= #{communityId}
-        and t.cur_month_time &gt; #{startDate}
+        and t.cur_month_time &gt;= #{startDate}
         and t.cur_month_time &lt; #{endDate}
         <if test="configIds !=null ">
             and t.config_id in
@@ -659,7 +748,60 @@
             </foreach>
         </if>
         and pf.fee_type_cd = a.status_cd
-        ) curReceivableFee
+        ) curReceivableFee,
+        (
+        select ifnull(sum(t.receivable_amount),0.0) curReceivedFee
+        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>
+        and t.status_cd = '0'
+        and t.community_id= #{communityId}
+        and t.cur_month_time &gt;= #{startDate}
+        and t.cur_month_time &lt; #{endDate}
+        and t.detail_id != '-1'
+        <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
+        ) curReceivedFee,
+        (
+        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'
+        <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>
+        and t.status_cd = '0'
+        and t.community_id= #{communityId}
+        and t.pay_fee_time &gt; #{startDate}
+        and t.pay_fee_time &lt; #{endDate}
+        and t.cur_month_time &lt; #{startDate}
+        and t.detail_id != '-1'
+        <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
+        ) hisReceivedFee
         from t_dict a
         where 1=1
         and a.table_name = 'pay_fee_config'
@@ -696,15 +838,15 @@
         ) oweFee,
         (
         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'
-        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
+        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.pay_fee_time &gt; #{startDate}
-        and t.pay_fee_time &lt; #{endDate}
+        and t.create_time &gt; #{startDate}
+        and t.create_time &lt; #{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'
@@ -756,7 +898,7 @@
 
     <!-- 浼樻儬璐圭敤-->
     <select id="getDiscountFee" parameterType="Map" resultType="Map">
-        select SUM(t.discount_amount) discountFee
+        select ifnull(SUM(t.discount_amount),0.0) discountFee
         from pay_fee_detail_month t
         where 1=1
         and t.status_cd = '0'
@@ -769,7 +911,7 @@
 
     <!-- 婊炵撼閲戣垂鐢�-->
     <select id="getLateFee" parameterType="Map" resultType="Map">
-        select SUM(t.discount_amount) lateFee
+        select ifnull(SUM(t.discount_amount),0.0) lateFee
         from pay_fee_detail_month t
         where 1=1
         and t.status_cd = '0'
@@ -780,5 +922,526 @@
         and t.cur_month_time &lt; #{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 &gt; #{startDate}
+        and t.create_time &lt; #{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 &gt; #{startDate}
+        and t.create_time &lt; #{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 &gt; #{startDate}
+        and t.create_time &lt; #{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 &gt; #{startDate}
+        and t.create_time &lt; #{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 &gt; #{startDate}
+        and t.create_time &lt; #{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 &gt; #{startDate}
+        and t.create_time &lt; #{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 &gt; #{startDate}
+        and t.create_time &lt; #{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 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 t.status_cd = '0'
+        and t.community_id = #{communityId}
+        and t.create_time &gt; #{startDate}
+        and t.create_time &lt; #{endDate}
+        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 &gt; #{startDate}
+        and t.create_time &lt; #{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 &gt; #{startDate}
+        and t.create_time &lt; #{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 &lt; #{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 &gt; #{startDate}
+        and t.create_time &lt; #{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
+        1=1
+        and bu.floor_id = #{floorId}
+        and t.community_id = #{communityId}
+        and t.create_time &gt; #{startDate}
+        and t.create_time &lt; #{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 &gt; #{startDate}
+        and t.create_time &lt; #{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 &gt; #{startDate}
+        and t.pay_fee_time &lt;  #{endDate}
+        and t.cur_month_time &lt; #{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 &gt; #{startDate}
+        and t.pay_fee_time &lt;  #{endDate}
+        and t.cur_month_time &lt; #{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="getMonthReceivedDetailCount" parameterType="Map" resultType="Map">
+        select count(1) 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 pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.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 f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
+        left join pay_fee_detail_month pfdm on t.fee_id = pfdm.fee_id and t.detail_year = pfdm.detail_year and t.detail_month = pfdm.detail_month and pfdm.detail_id = '-1'
+        where 1=1
+        and pfdm.month_id is null
+        and t.status_cd = '0'
+        and t.cur_month_time &gt;= #{startDate}
+        and t.cur_month_time &lt; #{endDate}
+        and t.detail_id != '-1'
+        and t.community_id = #{communityId}
+        <if test="feeTypeCd != null and feeTypeCd != ''">
+            and pf.fee_type_cd = #{feeTypeCd}
+        </if>
+        <if test="floorId != null and floorId != ''">
+            and bu.floor_id = #{floorId}
+        </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>
+    </select>
+
+    <!-- 鏈堝疄鏀� 鏌ヨ-->
+    <select id="getMonthReceivedDetailInfo" parameterType="Map" resultType="Map">
+        select concat(f.floor_num,'-',bu.unit_num,'-',br.room_num) objName,t.owner_name ownerName,t.link,t.fee_name feeName, pfd.start_time startTime,pfd.end_time endTime,
+        pfd.pay_order_id payOrderId,pfd.cashier_name cashierName,
+        t.receivable_amount receivableAmount,t.received_amount receivedAmount,pfd.create_time createTime
+        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 pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.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 f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
+        left join pay_fee_detail_month pfdm on t.fee_id = pfdm.fee_id and t.detail_year = pfdm.detail_year and t.detail_month = pfdm.detail_month and pfdm.detail_id = '-1'
+        where 1=1
+        and pfdm.month_id is null
+        and t.status_cd = '0'
+        and t.cur_month_time &gt;= #{startDate}
+        and t.cur_month_time &lt; #{endDate}
+        and t.detail_id != '-1'
+        and t.community_id = #{communityId}
+        <if test="feeTypeCd != null and feeTypeCd != ''">
+            and pf.fee_type_cd = #{feeTypeCd}
+        </if>
+        <if test="floorId != null and floorId != ''">
+            and bu.floor_id = #{floorId}
+        </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="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
+    </select>
+
+    <!-- 鏈堝疄鏀舵�婚噾棰� 鏌ヨ-->
+    <select id="getMonthReceivedDetailAmount" parameterType="Map" resultType="Map">
+        select ifnull(sum(t.received_amount),0.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 pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.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 f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
+        where 1=1
+        and t.status_cd = '0'
+        and t.cur_month_time &gt;= #{startDate}
+        and t.cur_month_time &lt; #{endDate}
+        and t.detail_id != '-1'
+        and t.community_id = #{communityId}
+        <if test="feeTypeCd != null and feeTypeCd != ''">
+            and pf.fee_type_cd = #{feeTypeCd}
+        </if>
+        <if test="floorId != null and floorId != ''">
+            and bu.floor_id = #{floorId}
+        </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>
+    </select>
+
+    <!-- 鏌ヨ鏈堟瑺璐规暟鎹� -->
+    <select id="getMonthOweDetailCount" parameterType="Map" resultType="Map">
+        select count(1) 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 pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.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 f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
+        where 1=1
+        and t.status_cd = '0'
+        and t.cur_month_time &gt;= #{startDate}
+        and t.cur_month_time &lt; #{endDate}
+        and t.detail_id = '-1'
+        and t.community_id = #{communityId}
+        and t.receivable_amount &gt; 0
+        <if test="feeTypeCd != null and feeTypeCd != ''">
+            and pf.fee_type_cd = #{feeTypeCd}
+        </if>
+        <if test="floorId != null and floorId != ''">
+            and bu.floor_id = #{floorId}
+        </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>
+    </select>
+
+    <!-- 鏈堝疄鏀� 鏌ヨ-->
+    <select id="getMonthOweDetailInfo" parameterType="Map" resultType="Map">
+        select concat(f.floor_num,'-',bu.unit_num,'-',br.room_num) objName,t.owner_name ownerName,t.link,t.fee_name feeName, pf.end_time startTime,t.deadline_time endTime,
+        t.receivable_amount receivableAmount,t.received_amount receivedAmount
+        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 pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.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 f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
+        where 1=1
+        and t.status_cd = '0'
+        and t.cur_month_time &gt;= #{startDate}
+        and t.cur_month_time &lt; #{endDate}
+        and t.detail_id = '-1'
+        and t.receivable_amount &gt; 0
+        and t.community_id = #{communityId}
+        <if test="feeTypeCd != null and feeTypeCd != ''">
+            and pf.fee_type_cd = #{feeTypeCd}
+        </if>
+        <if test="floorId != null and floorId != ''">
+            and bu.floor_id = #{floorId}
+        </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="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
+    </select>
+
+    <!-- 鏈堟瑺璐规�婚噾棰� 鏌ヨ-->
+    <select id="getMonthOweDetailAmount" parameterType="Map" resultType="Map">
+        select ifnull(sum(t.receivable_amount),0.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 pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.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 f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
+        where 1=1
+        and t.status_cd = '0'
+        and t.cur_month_time &gt;= #{startDate}
+        and t.cur_month_time &lt; #{endDate}
+        and t.detail_id = '-1'
+        and t.community_id = #{communityId}
+        and t.receivable_amount &gt; 0
+        <if test="feeTypeCd != null and feeTypeCd != ''">
+            and pf.fee_type_cd = #{feeTypeCd}
+        </if>
+        <if test="floorId != null and floorId != ''">
+            and bu.floor_id = #{floorId}
+        </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>
+    </select>
 
 </mapper>

--
Gitblit v1.8.0