his-otcdeliver-mapper.xml
5.42 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
<?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">
<!-- 交易明细 @author tongxiaochuan -->
<mapper namespace="com.cjs.cms.dao.agent.HisOtcDeliverDao">
<!-- 一级代理商相关查询 -->
<sql id="memberCondition">
WHERE A.AGENT_NO IS NOT NULL
AND H.FARE0 != 0
<if test="agentNo != null and agentNo != ''">
AND (A.AGENT_NO = #{agentNo} OR A.UP_AGENT_NO = #{agentNo})
</if>
<if test="fundAccount != null and fundAccount != ''">
AND H.FUND_ACCOUNT = #{fundAccount}
</if>
<if test="startDate != null and startDate != ''">
<![CDATA[AND H.ENTRUST_DATE >= #{startDate} ]]>
</if>
<if test="endDate != null and endDate != ''">
<![CDATA[AND H.ENTRUST_DATE <= #{endDate} ]]>
</if>
</sql>
<select id="queryTradeMember" parameterType="map" resultType="map">
<include refid="common.pageStart" />
SELECT A.AGENT_NO, A.FUND_ACCOUNT AGENT_CLIENT_ID, H.FUND_ACCOUNT, H.FARE0, A.AGENT_LEVEL FROM HS_HIS.HIS_OTCDELIVER_VIEW H
LEFT JOIN HS_ASSET.ASSET_CLIENT_INFO_VIEW C ON H.FUND_ACCOUNT = C.CLIENT_ID
LEFT JOIN HS_ASSET.AGENTINFO A ON C.DEVELOPER = A.AGENT_NO
<include refid="memberCondition" />
ORDER BY H.ENTRUST_DATE DESC
<include refid="common.pageEnd" />
</select>
<select id="queryTradeMemberTotal" parameterType="map" resultType="int">
SELECT COUNT(1) FROM HS_HIS.HIS_OTCDELIVER_VIEW H
LEFT JOIN HS_ASSET.ASSET_CLIENT_INFO_VIEW C ON H.FUND_ACCOUNT = C.CLIENT_ID
LEFT JOIN HS_ASSET.AGENTINFO A ON C.DEVELOPER = A.AGENT_NO
<include refid="memberCondition" />
</select>
<select id="queryTradeMemberSum" parameterType="map" resultType="map">
SELECT '汇总' FUND_ACCOUNT, SUM(H.FARE0) FARE0 FROM HS_HIS.HIS_OTCDELIVER_VIEW H
LEFT JOIN HS_ASSET.ASSET_CLIENT_INFO_VIEW C ON H.FUND_ACCOUNT = C.CLIENT_ID
LEFT JOIN HS_ASSET.AGENTINFO A ON C.DEVELOPER = A.AGENT_NO
<include refid="memberCondition" />
</select>
<!-- 二级代理商相关查询 -->
<sql id="agentCondition">
WHERE A.AGENT_NO IS NOT NULL
AND A.AGENT_LEVEL = 1 AND H.FARE0 != 0
<if test="agentNo != null and agentNo != ''">
AND A.AGENT_NO = #{agentNo}
</if>
<if test="fundAccount != null and fundAccount != ''">
AND H.FUND_ACCOUNT = #{fundAccount}
</if>
<if test="startDate != null and startDate != ''">
<![CDATA[AND H.ENTRUST_DATE >= #{startDate} ]]>
</if>
<if test="endDate != null and endDate != ''">
<![CDATA[AND H.ENTRUST_DATE <= #{endDate} ]]>
</if>
</sql>
<select id="queryTradeAgent" parameterType="map" resultType="map">
<include refid="common.pageStart" />
SELECT A.AGENT_NO, A.FUND_ACCOUNT AGENT_CLIENT_ID, H.FUND_ACCOUNT, H.FARE0 FROM HS_HIS.HIS_OTCDELIVER_VIEW H
LEFT JOIN HS_ASSET.ASSET_CLIENT_INFO_VIEW C ON H.FUND_ACCOUNT = C.CLIENT_ID
LEFT JOIN HS_ASSET.AGENTINFO A ON C.DEVELOPER = A.AGENT_NO
<include refid="agentCondition" />
ORDER BY H.ENTRUST_DATE DESC
<include refid="common.pageEnd" />
</select>
<select id="queryTradeAgentTotal" parameterType="map" resultType="int">
SELECT COUNT(1) FROM HS_HIS.HIS_OTCDELIVER_VIEW H
LEFT JOIN HS_ASSET.ASSET_CLIENT_INFO_VIEW C ON H.FUND_ACCOUNT = C.CLIENT_ID
LEFT JOIN HS_ASSET.AGENTINFO A ON C.DEVELOPER = A.AGENT_NO
<include refid="agentCondition" />
</select>
<select id="queryTradeAgentSum" parameterType="map" resultType="map">
SELECT '汇总' FUND_ACCOUNT, SUM(H.FARE0) FARE0 FROM HS_HIS.HIS_OTCDELIVER_VIEW H
LEFT JOIN HS_ASSET.ASSET_CLIENT_INFO_VIEW C ON H.FUND_ACCOUNT = C.CLIENT_ID
LEFT JOIN HS_ASSET.AGENTINFO A ON C.DEVELOPER = A.AGENT_NO
<include refid="agentCondition" />
</select>
<select id="queryDailyBusinessBalance" parameterType="map" resultType="map">
SELECT O.CLIENT_ID,SUM(T.BUSINESS_BALANCE) BUSINESS_BALANCE
FROM HS_HIS.HIS_OTCDELIVER T
INNER JOIN HS_ASSET.OTCHOLDER O ON T.OTC_ACCOUNT = O.OTC_ACCOUNT
WHERE T.INIT_DATE = #{initDate}
AND T.BUSINESS_FLAG = '35018' AND T.OTC_CODE IN
<foreach collection="otcCode" item="item" index="index" open="(" separator="," close=")">#{item}</foreach>
GROUP BY O.CLIENT_ID
</select>
<!-- 查询用户首次买入日为指定日期的买入额达标用户列表 -->
<select id="queryUserForFirstBuyDay" parameterType="map" resultType="string">
<![CDATA[SELECT R.CLIENT_ID FROM
(SELECT SUM(H.BUSINESS_BALANCE) BUSINESS_BALANCE,H.CLIENT_ID FROM HS_HIS.HIS_OTCDELIVER H
WHERE H.BUSINESS_FLAG = '35018' AND H.INIT_DATE <= #{initDate}
GROUP BY H.CLIENT_ID ) D
RIGHT JOIN
(SELECT SUM(T.BUSINESS_BALANCE) BUSINESS_BALANCE,T.CLIENT_ID FROM HS_HIS.HIS_OTCDELIVER T
WHERE T.BUSINESS_FLAG = '35018' AND T.INIT_DATE = #{initDate}
GROUP BY T.CLIENT_ID HAVING SUM(T.BUSINESS_BALANCE) >= #{minAmount}) R
ON D.CLIENT_ID = R.CLIENT_ID
WHERE D.BUSINESS_BALANCE = R.BUSINESS_BALANCE
ORDER BY R.CLIENT_ID]]>
</select>
<select id="queryListForTradeRecord" parameterType="map" resultType="map">
SELECT #{initDate} INIT_DATE,M.CLIENT_ID CLIENT_ID,SUM(M.TOTAL) TOTAL,COUNT(1) NUM FROM
(SELECT T.CLIENT_ID,T.OTC_CODE,SUM(T.BUSINESS_BALANCE) TOTAL FROM HS_HIS.HIS_OTCDELIVER T
WHERE T.BUSINESS_FLAG = '35018' AND T.INIT_DATE = #{initDate}
AND T.OTC_CODE IN
<foreach collection="otcCode" item="item" index="index" open="(" separator="," close=")">#{item}</foreach>
GROUP BY T.CLIENT_ID,T.OTC_CODE
HAVING SUM(T.BUSINESS_BALANCE) >= #{limitBalance}
ORDER BY T.CLIENT_ID ASC, T.OTC_CODE ASC) M
GROUP BY CLIENT_ID
</select>
</mapper>