his-otcrealtime-mapper.xml 3.02 KB
<?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 仝玉甫 -->
<mapper namespace="com.cjs.cms.dao.report.OtcRealTimeDao">

	<!-- 成交统计 -->
	<sql id="queryOtcTradeSumCondition">
		WHERE t.OTC_PROP = '0S0' AND T.REAL_STATUS = 0
		<if test="otc_code != null and otc_code != ''">
			and t.otc_code = #{otc_code}
		</if>
		<if test="startDate != null and startDate != ''">
			<![CDATA[and t.curr_date >= #{startDate}]]>
		</if>
		<if test="endDate != null and endDate != ''">
			<![CDATA[and t.curr_date <= #{endDate}]]>
		</if>
	</sql>
	<select id="queryOtcTradeSum" parameterType="map" resultType="map">
		<include refid="common.pageStart"/>
		SELECT T.OTC_CODE,
			SUM(T.BUSINESS_AMOUNT) AMOUNT_TOTAL,
			SUM(T.BUSINESS_PRICE * T.BUSINESS_AMOUNT) PRICE_TOTAL
		FROM HS_HIS.HIS_OTCREALTIME_VIEW T
		<include refid="queryOtcTradeSumCondition" />
		GROUP BY T.OTC_CODE
		ORDER BY T.OTC_CODE
		<include refid="common.pageEnd"/>
	</select>
	<select id="queryOtcTradeSumTotal" parameterType="map" resultType="int">
		SELECT COUNT(*) 
		FROM (
			SELECT T.OTC_CODE
			FROM HS_HIS.HIS_OTCREALTIME_VIEW T
			<include refid="queryOtcTradeSumCondition" />
			GROUP BY T.OTC_CODE
		)
	</select>
	<select id="queryOtcTradeSumFoot" parameterType="map" resultType="map">
		SELECT 
			SUM(T.BUSINESS_AMOUNT) AMOUNT_TOTAL,
			SUM(T.BUSINESS_PRICE * T.BUSINESS_AMOUNT) PRICE_TOTAL
		FROM HS_HIS.HIS_OTCREALTIME_VIEW T
		<include refid="queryOtcTradeSumCondition" />
	</select>
	
	<!-- 用户累计买入量统计 -->
	<select id="queryBuyTotal" resultType="map" parameterType="map">
		SELECT * FROM(
			SELECT T.FUND_ACCOUNT, SUM(T.BUSINESS_AMOUNT) BUY_TOTAL
			FROM HS_HIS.HIS_OTCREALTIME_VIEW T
			WHERE T.OTC_PROP = '0B0' AND T.REAL_STATUS = 0 AND T.OTC_CODE = #{otc_code}
			<if test="fund_account != null and fund_account != ''">
				AND T.FUND_ACCOUNT = #{fund_account}
			</if>
			GROUP BY T.FUND_ACCOUNT) A
		<![CDATA[WHERE A.BUY_TOTAL > 0]]>
	</select>

	<!-- 查询历史成交记录 -->
	<select id="queryTrade" parameterType="map" resultType="TradeRecordInfo">
		<include refid="common.pageStart" />
		SELECT TO_CHAR(TO_DATE(T.CURR_DATE||' '||SUBSTR(DECODE(LENGTH(T.CURR_TIME), 8, '0'||T.CURR_TIME, T.CURR_TIME), 0, 6), 
			'yyyymmdd hh24miss'), 'yyyy-mm-dd hh24:mi:ss') TRADE_AT,
			T.OTC_CODE, C.OTC_NAME, T.BUSINESS_PRICE, T.BUSINESS_AMOUNT
		FROM HS_HIS.HIS_OTCREALTIME T, HS_OTC.OTCCODE C 
		<include refid="queryTradeCondition" />
		ORDER BY T.INIT_DATE DESC, T.CURR_TIME DESC
		<include refid="common.pageEnd" />
	</select>
	
	<select id="queryTradeTotal" parameterType="map" resultType="int">
		SELECT COUNT(*)
		FROM HS_HIS.HIS_OTCREALTIME T, HS_OTC.OTCCODE C 
		<include refid="queryTradeCondition" />
	</select>
	
	<sql id="queryTradeCondition">
		WHERE T.OTC_CODE = C.OTC_CODE AND T.OTC_PROP = '0B0' AND T.REAL_STATUS = '0'
		<if test="startDate != null and startDate != ''">
			<![CDATA[ AND T.INIT_DATE >= #{startDate} ]]> 
		</if>
	</sql>
</mapper>