From f14c50cb0036d3ddd655ce4e34732ba396a836c4 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 30 五月 2023 12:42:03 +0800
Subject: [PATCH] optimize 统计

---
 java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml |  143 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 138 insertions(+), 5 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/report/ReportFeeStatisticsServiceDaoImplMapper.xml
index dc397c2..a5b26aa 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">
@@ -756,15 +795,109 @@
 
     <!-- 浼樻儬璐圭敤-->
     <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'
-        and t.community_id = '2023052267100146'
         and t.detail_id != '-1'
-        and t.discount_amount> 0
-        and t.cur_month_time > '2023-05-01'
-        and t.cur_month_time < '2023-06-01'
+        and t.discount_amount &gt; 0
+        and t.community_id= #{communityId}
+        and t.cur_month_time &gt; #{startDate}
+        and t.cur_month_time &lt; #{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 &lt; 0
+        and t.community_id= #{communityId}
+        and t.cur_month_time &gt; #{startDate}
+        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>
+
+
 </mapper>

--
Gitblit v1.8.0