java110
2021-03-05 cb4527a96298419ffd217d2767202dd0520457b2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="reportFeeServiceDaoImpl">
 
    <!-- 查询实收金额 -->
    <select id="getFeeReceivedAmount" parameterType="com.java110.dto.report.ReportFeeDetailDto" resultType="Map">
 
        select SUM(t.received_amount) receivedAmount
        from pay_fee_detail t
        <if test="configId != null and configId != ''">
            inner join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
        </if>
        where 1=1
        <if test="configId != null and configId != ''">
            and pf.config_id = #{configId}
            and pf.payer_obj_id = #{payerObjId}
        </if>
        <if test="feeId !=null and feeId != ''">
            and t.fee_id = #{feeId}
        </if>
        <if test="startTime != null">
            and t.create_time &gt; #{startTime}
        </if>
        <if test="endTime != null">
            and t.create_time &lt; #{endTime}
        </if>
        <if test="curStartYear != null and curStartYear != ''">
            and DATE_FORMAT(t.start_time,'%Y') = #{curStartYear}
        </if>
        <if test="curEndYear != null and curEndYear != ''">
            and DATE_FORMAT(DATE_SUB(t.end_time,INTERVAL 1 DAY),'%Y') = #{curEndYear}
        </if>
    </select>
 
    <!-- 查询房屋个数 add by wuxw 2018-07-03 -->
    <select id="getFeeCount" parameterType="com.java110.dto.report.ReportFeeDto" resultType="Map">
        select count(1) count
        from pay_fee t
        where t.status_cd = '0'
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id = #{payerObjId}
        </if>
        <if test="payerObjType !=null and payerObjType != ''">
            and t.payer_obj_type= #{payerObjType}
        </if>
    </select>
 
    <!-- 查询 费用 -->
    <select id="getFees" parameterType="com.java110.dto.report.ReportFeeDto"
            resultType="com.java110.dto.report.ReportFeeDto">
        select pfc.fee_name feeName,pfc.start_time configStartTime,pfc.end_time configEndTime,pfc.config_id
        configId,pfc.fee_type_cd feeTypeCd,
        pfc.additional_amount additionalAmount,pfc.bill_type billType,pfc.computing_formula
        computingFormula,pfc.computing_formula_text computingFormulaText,
        pfc.payment_cd paymentCd,
        pfc.payment_cycle paymentCycle,pfc.square_price squarePrice,pfc.fee_flag feeFlag,t.payer_obj_id
        payerObjId,t.payer_obj_type payerObjType,
        t.amount,t.create_time createTime,t.end_time endTime,t.fee_id feeId,t.income_obj_id incomeObjId,t.start_time
        startTime,t.state,
        br.room_id roomId,br.room_num roomNum,oc.car_num carNum,ss.store_id storeId,ss.`name` storeName,ss.store_type_cd
        storeTypeCd,
        t.community_id communityId,pfa.value importFeeName,ifd.end_time importFeeEndTime,mw.cur_degrees
        curDegrees,mw.pre_degrees preDegrees,
        mw.pre_reading_time preReadingTime,mw.cur_reading_time curReadingTime
        from pay_fee t
        INNER JOIN pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        left join building_room br on t.payer_obj_id = br.room_id and t.payer_obj_type = '3333' and br.status_cd = '0'
        left join owner_car oc on t.payer_obj_id = oc.car_id and t.payer_obj_type = '6666' and oc.status_cd = '0' and
        oc.car_type_cd='1001'
        left join s_store ss on t.income_obj_id = ss.store_id and ss.status_cd = '0'
        LEFT JOIN pay_fee_attrs pfa on t.fee_id = pfa.fee_id and pfa.spec_cd = '390002' and pfa.status_cd = '0'
        left join import_fee_detail ifd on t.fee_id = ifd.fee_id and ifd.status_cd = '0' and t.fee_flag = '2006012'
        LEFT JOIN meter_water mw on t.fee_id = mw.fee_id and mw.status_cd = '0' and mw.community_id = t.community_id
        where t.status_cd = '0'
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id= #{payerObjId}
        </if>
        <if test="payerObjType !=null and payerObjType != ''">
            and t.payer_obj_type= #{payerObjType}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="feeFlag !=null and feeFlag != ''">
            and t.fee_flag= #{feeFlag}
        </if>
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
 
 
</mapper>