From cdd0abecb96bb1b6dfa32e8a9cbb406ce3b4ed7d Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 26 八月 2021 17:02:08 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 java110-db/src/main/resources/mapper/fee/FeeReceiptServiceDaoImplMapper.xml |  222 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 215 insertions(+), 7 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/fee/FeeReceiptServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/fee/FeeReceiptServiceDaoImplMapper.xml
old mode 100644
new mode 100755
index 6cca384..01aeb65
--- a/java110-db/src/main/resources/mapper/fee/FeeReceiptServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/fee/FeeReceiptServiceDaoImplMapper.xml
@@ -8,10 +8,21 @@
     <!-- 淇濆瓨鏀舵嵁淇℃伅 add by wuxw 2018-07-03 -->
     <insert id="saveFeeReceiptInfo" parameterType="Map">
         insert into fee_receipt(
-        amount,obj_id,remark,obj_name,community_id,receipt_id,obj_type
+        amount,obj_id,remark,obj_name,community_id,receipt_id,obj_type,pay_obj_id,pay_obj_name
         ) values (
-        #{amount},#{objId},#{remark},#{objName},#{communityId},#{receiptId},#{objType}
+        #{amount},#{objId},#{remark},#{objName},#{communityId},#{receiptId},#{objType},#{payObjId},#{payObjName}
         )
+    </insert>
+
+
+    <!-- 鎵归噺鎻掑叆璐圭敤 -->
+    <insert id="saveFeeReceipts" parameterType="Map">
+        insert into fee_receipt(
+        amount,obj_id,remark,obj_name,community_id,receipt_id,obj_type,pay_obj_id,pay_obj_name
+        ) values
+        <foreach collection="feeReceiptPos" item="item" separator=",">
+            (#{item.amount},#{item.objId},#{item.remark},#{item.objName},#{item.communityId},#{item.receiptId},#{item.objType},#{item.payObjId},#{item.payObjName})
+        </foreach>
     </insert>
 
 
@@ -19,14 +30,22 @@
     <select id="getFeeReceiptInfo" parameterType="Map" resultType="Map">
         select t.amount,t.obj_id,t.obj_id objId,t.remark,t.status_cd,t.status_cd statusCd,t.obj_name,t.obj_name
         objName,t.community_id,t.community_id communityId,t.receipt_id,t.receipt_id receiptId,t.obj_type,t.obj_type
-        objType,t.create_time createTime
+        objType,t.create_time createTime,frd.fee_name feeName,t.pay_obj_id payObjId,t.pay_obj_name payObjName,pf.fee_type_cd feeTypeCd
         from fee_receipt t
+        inner join fee_receipt_detail frd on t.receipt_id = frd.receipt_id and frd.status_cd = '0'
+        inner join pay_fee pf on frd.fee_id = pf.fee_id and pf.status_cd = '0'
         where 1 =1
         <if test="amount !=null and amount != ''">
             and t.amount= #{amount}
         </if>
         <if test="objId !=null and objId != ''">
             and t.obj_id= #{objId}
+        </if>
+        <if test="payObjId !=null and payObjId != ''">
+            and t.pay_obj_id= #{payObjId}
+        </if>
+        <if test="payObjName !=null and payObjName != ''">
+            and t.pay_obj_name= #{payObjName}
         </if>
         <if test="remark !=null and remark != ''">
             and t.remark= #{remark}
@@ -43,14 +62,187 @@
         <if test="receiptId !=null and receiptId != ''">
             and t.receipt_id= #{receiptId}
         </if>
+        <if test="receiptIds !=null">
+            and t.receipt_id in
+            <foreach collection="receiptIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="objType !=null and objType != ''">
             and t.obj_type= #{objType}
+        </if>
+        <if test="qstartTime !=null and qstartTime != ''">
+            and t.create_time &gt;= #{qstartTime}
+        </if>
+        <if test="qendTime !=null and qendTime != ''">
+            and t.create_time &lt;= #{qendTime}
         </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>
+    </select>
 
+
+    <!-- 鏌ヨ鏀舵嵁淇℃伅 add by wuxw 2018-07-03 -->
+    <select id="getFeeReceiptInfoNew" parameterType="Map" resultType="Map">
+        SELECT
+        *
+        FROM
+        (
+        SELECT
+        t.obj_name AS objName,
+        '' AS carNum,
+        bo.NAME AS name,
+        b.built_up_area AS roomArea,
+        tt.fee_name feeName,
+        tt.area num,
+        SPLIT_STR ( tt.square_price, '/', 1 ) AS unit,
+        CASE
+        pf.fee_flag
+        WHEN '1003006' THEN
+        tt.start_time ELSE NULL
+        END start,
+        tt.start_time as startTime,
+        CASE
+        pf.fee_flag
+        WHEN '1003006' THEN
+        tt.end_time ELSE NULL
+        END
+        end,
+        tt.end_time as endTime,
+        tt.cycle as cycle,
+        tt.amount amount,
+        uu.NAME AS userName,
+        t.create_time AS createTime,
+        p.remark as remark
+        FROM
+        fee_receipt t
+        LEFT JOIN fee_receipt_detail tt ON t.receipt_id = tt.receipt_id
+        LEFT JOIN building_room b ON t.obj_id = b.room_id
+        LEFT JOIN building_owner_room_rel borr ON b.room_id = borr.room_id
+        LEFT JOIN building_owner bo ON borr.owner_id = bo.owner_id
+        LEFT JOIN pay_fee pf ON tt.fee_id = pf.fee_id
+        LEFT JOIN pay_fee_detail p ON tt.fee_id = p.fee_id
+        AND tt.detail_id = p.detail_id
+        LEFT JOIN c_business cb ON p.b_id = cb.b_id
+        LEFT JOIN c_orders co ON cb.o_id = co.o_id
+        LEFT JOIN u_user uu ON co.user_id = uu.user_id
+        WHERE
+        t.status_cd = '0'
+        AND t.obj_type = '3333'
+        AND p.state='1400'
+        AND tt.status_cd = '0'
+        AND b.status_cd = '0'
+        AND borr.status_cd = '0'
+        AND bo.status_cd = '0'
+        AND bo.owner_type_cd = '1001'
+        AND p.status_cd = '0'
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        UNION ALL
+        SELECT
+        CONCAT( f.floor_num, '鏍�', bu.unit_num, '鍗曞厓', b.room_num, '瀹�' ) AS objName,
+        oc.car_num AS carNum,
+        bo.NAME AS name,
+        b.built_up_area AS roomArea,
+        tt.fee_name feeName,
+        tt.cycle num,
+        SPLIT_STR ( tt.square_price, '/', 1 ) AS unit,
+        CASE
+        pf.fee_flag
+        WHEN '1003006' THEN
+        tt.start_time ELSE NULL
+        END start,
+        tt.start_time as startTime,
+        CASE
+        pf.fee_flag
+        WHEN '1003006' THEN
+        tt.end_time ELSE NULL
+        END
+        end,
+        tt.end_time as endTime,
+        tt.cycle as cycle,
+        tt.amount amount,
+        uu.NAME AS userName,
+        t.create_time AS createTime,
+        p.remark as remark
+        FROM
+        fee_receipt t
+        LEFT JOIN fee_receipt_detail tt ON t.receipt_id = tt.receipt_id
+        LEFT JOIN owner_car oc ON oc.car_id = t.obj_id and oc.car_type_cd='1001'
+        LEFT JOIN building_owner bo ON bo.member_id = oc.owner_id
+        LEFT JOIN building_owner_room_rel borr ON bo.owner_id = borr.owner_id
+        LEFT JOIN building_room b ON borr.room_id = b.room_id
+        LEFT JOIN building_room_attr ba ON b.room_id = ba.room_id
+        LEFT JOIN building_unit bu ON b.unit_id = bu.unit_id
+        AND bu.status_cd = '0'
+        LEFT JOIN f_floor f ON bu.floor_id = f.floor_id
+        LEFT JOIN pay_fee pf ON tt.fee_id = pf.fee_id
+        AND pf.status_cd = '0'
+        LEFT JOIN pay_fee_detail p ON tt.fee_id = p.fee_id
+        AND p.status_cd = '0'
+        AND tt.detail_id = p.detail_id
+        LEFT JOIN c_business cb ON p.b_id = cb.b_id
+        LEFT JOIN c_orders co ON cb.o_id = co.o_id
+        LEFT JOIN u_user uu ON co.user_id = uu.user_id
+        WHERE
+        t.obj_type = '6666'
+        AND p.state='1400'
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        AND bo.owner_type_cd = '1001'
+        ) AS t
+        WHERE 1=1
+        <if test="type !=null and type == 1 ">
+            AND feeName in ('棰勪氦鐗╀笟绠$悊璐�','瑁呬慨鍨冨溇娓呰繍璐�','瑁呬慨鐢垫浣跨敤璐�','姘磋垂','鐢佃垂')
+        </if>
+        <if test="type !=null and type == 2">
+            AND feeName in ('瑁呬慨淇濊瘉閲�','鏂藉伐杩涘叆璇�')
+        </if>
+        <if test="type !=null and type == 3">
+            AND feeName in ('棰勪氦鐗╀笟绠$悊璐�','姘磋垂','鐢佃垂','鍦颁笅鍋滆溅璐�','鍦颁笂鍋滆溅璐�')
+        </if>
+        <if test="type !=null and type == 4">
+            AND feeName in ('鍦颁笂鍋滆溅璐�','鍦颁笅鍋滆溅璐�')
+        </if>
+        <if test="type !=null and type == 5">
+            AND feeName in ('鍏叡鍖哄煙鍏憡鐢佃垂','鐢熸椿姘存车鍏憡鐢佃垂','璧板粖妤奸亾搴旀�ュ叕鎽婄數璐�','鐢垫鍏憡鐢佃垂')
+        </if>
+        <if test="qstartTime !=null and qstartTime != ''">
+            AND DATE_FORMAT(t.createTime, '%Y-%m-%d') &gt;= DATE_FORMAT( #{qstartTime}, '%Y-%m-%d' )
+        </if>
+        <if test="qendTime !=null and qendTime != ''">
+            AND DATE_FORMAT(t.createTime, '%Y-%m-%d') &lt;= DATE_FORMAT( #{qendTime}, '%Y-%m-%d' )
+        </if>
+        <if test="amount !=null and amount != ''">
+            and t.amount= #{amount}
+        </if>
+        <if test="objId !=null and objId != ''">
+            and t.obj_id= #{objId}
+        </if>
+        <if test="remark !=null and remark != ''">
+            and t.remark= #{remark}
+        </if>
+        <if test="objName !=null and objName != ''">
+            and t.objName= #{objName}
+        </if>
+        <if test="receiptId !=null and receiptId != ''">
+            and t.receipt_id= #{receiptId}
+        </if>
+
+        <if test="objType !=null and objType != ''">
+            and t.obj_type= #{objType}
+        </if>
+        order by t.createTime desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
     </select>
 
 
@@ -82,19 +274,26 @@
         <if test="receiptId !=null and receiptId != ''">
             and t.receipt_id= #{receiptId}
         </if>
-
     </update>
 
     <!-- 鏌ヨ鏀舵嵁鏁伴噺 add by wuxw 2018-07-03 -->
     <select id="queryFeeReceiptsCount" parameterType="Map" resultType="Map">
         select count(1) count
         from fee_receipt t
+        inner join fee_receipt_detail frd on t.receipt_id = frd.receipt_id and frd.status_cd = '0'
+        inner join pay_fee pf on frd.fee_id = pf.fee_id and pf.status_cd = '0'
         where 1 =1
         <if test="amount !=null and amount != ''">
             and t.amount= #{amount}
         </if>
         <if test="objId !=null and objId != ''">
             and t.obj_id= #{objId}
+        </if>
+        <if test="payObjId !=null and payObjId != ''">
+            and t.pay_obj_id= #{payObjId}
+        </if>
+        <if test="payObjName !=null and payObjName != ''">
+            and t.pay_obj_name= #{payObjName}
         </if>
         <if test="remark !=null and remark != ''">
             and t.remark= #{remark}
@@ -111,11 +310,20 @@
         <if test="receiptId !=null and receiptId != ''">
             and t.receipt_id= #{receiptId}
         </if>
+        <if test="receiptIds !=null">
+            and t.receipt_id in
+            <foreach collection="receiptIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="objType !=null and objType != ''">
             and t.obj_type= #{objType}
         </if>
-
-
+        <if test="qstartTime !=null and qstartTime != ''">
+            and t.create_time &gt;= #{qstartTime}
+        </if>
+        <if test="qendTime !=null and qendTime != ''">
+            and t.create_time &lt;= #{qendTime}
+        </if>
     </select>
-
 </mapper>

--
Gitblit v1.8.0