ChargerIncomeStatisticSmapper.xml
4.06 KB
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<?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="com.zteits.pay.mapper.smapper.ChargerIncomeStatisticSmapper">
<!-- 收费员今日统计明细-按照支付单类型和支付方式统计 -->
<select id="todayStatisticsForDetail" resultType="com.zteits.pay.domain.RealChargeDO">
SELECT
pay_order_type item,
sum(case pay_type when 1 then order_payed_fee else 0 end) aliPay,
sum(case pay_type when 2 then order_payed_fee else 0 end) wxPay,
sum(case pay_type when 6 then order_payed_fee else 0 end) cashPay,
sum(order_payed_fee) totalPay
FROM
td_b_pay_order
where data_state = 1
and pay_src_type = 1
and pay_order_state = 1
and pay_source = 2
and pay_type in (1,2,6)
and pay_order_type in (5,1,6)
AND create_empid = #{chargerCode}
AND date(create_date) between date(#{beginDate}) and date(#{endDate})
group by pay_order_type
</select>
<!-- 查询收费员今日收入 -->
<select id="queryTodayTotalFee" resultType="java.lang.Long">
SELECT
sum(order_payed_fee) totaPayedFee
FROM
td_b_pay_order
WHERE data_state = 1
AND pay_src_type = 1
and pay_order_state = 1
AND pay_source = 2
and pay_type in (1,2,6)
and pay_order_type in (5,1,6)
AND create_empid = #{chargerCode}
AND date(create_date) between date(#{beginDate}) and date(#{endDate})
</select>
<!-- 收费员今日应收统计 -->
<select id="todayActFeeStatistic" resultType="com.zteits.pay.domain.ActFeeStatisticDO">
SELECT
sum(order_act_fee) totalActFee,
sum(order_payed_fee) totalPayedFee,
(
SELECT
sum(b.order_not_pay_fee) totalNoPayedFee
FROM
td_b_order b
JOIN td_b_order_detail_park d ON b.order_id = d.order_id
WHERE
b.data_state = 1
AND d.data_state = 1
AND b.order_type = 1
AND b.order_state = 5
AND b.order_resource = 1
AND d.park_out_source_code = #{chargerCode}
AND date(d.park_out_time) between date(#{beginDate}) and date(#{endDate})
) totalNoPayedFee
FROM
td_b_pay_order
WHERE
data_state = 1
AND pay_src_type = 1
AND pay_order_state = 1
AND pay_source = 2
AND pay_type IN (1, 2, 6)
AND pay_order_type IN (5, 1)
AND create_empid = #{chargerCode}
AND date(create_date) between date(#{beginDate}) and date(#{endDate})
</select>
<!-- 收费员今日车辆统计 -->
<select id="todayCarNumStatistic" resultType="com.zteits.clouds.api.dto.pda.dto.TodayStatisticsDTO">
select
sum(case tag when 'carInCount' then num else 0 end) carInCount,
sum(case tag when 'carStayCount' then num else 0 end) carStayCount,
sum(case tag when 'carNoPayCount' then num else 0 end) carNoPayCount
from(
SELECT
count(1) num,'carInCount' tag
FROM
td_b_order b
JOIN td_b_order_detail_park d ON b.order_id = d.order_id
WHERE
b.data_state = 1
AND d.data_state = 1
AND b.order_type = 1
AND b.park_id = #{parkId}
AND b.order_resource = 1
AND d.park_in_source_code = #{chargerCode}
AND date(d.park_in_time) between date(#{beginDate}) and date(#{endDate})
union ALL
SELECT
count(1),'carStayCount'
FROM
td_b_order b
JOIN td_b_order_detail_park d ON b.order_id = d.order_id
WHERE
b.data_state = 1
AND d.data_state = 1
AND b.order_type = 1
AND b.park_id = #{parkId}
AND b.order_resource = 1
AND d.berth_range_no in
<foreach collection="berthRangeNos" open="(" close=")" item="berthRangeNo" separator=",">
#{berthRangeNo}
</foreach>
AND d.park_out_time is NULL
union ALL
SELECT
count(1),'carNoPayCount'
FROM
td_b_order b
JOIN td_b_order_detail_park d ON b.order_id = d.order_id
WHERE
b.data_state = 1
AND d.data_state = 1
AND b.order_type = 1
AND b.order_state = 5
AND b.park_id = #{parkId}
AND b.order_resource = 1
AND d.park_out_source_code = #{chargerCode}
AND date(d.park_out_time) between date(#{beginDate}) and date(#{endDate})
) t
</select>
</mapper>