java110
2021-08-05 87b25901ef5c2ae19e5e991b9762388b7742425c
java110-db/src/main/resources/mapper/fee/FeeReceiptServiceDaoImplMapper.xml
old mode 100644 new mode 100755
@@ -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>