otc-trust-eecode-mapper.xml 2.33 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 tongxiaochuan -->
<mapper namespace="com.cjs.cms.dao.ration.OtcTrustEECodeDao">

	<sql id="otctrusteecode_field">
		T.OTC_CODE, T.OTC_NAME, T.TRUSTEE_UNIT, T.LOW_AMOUNT,
		T.ISSUE_PRICE, T.APPRAISAL_FARE,
		T.TRUSTEE_FARE, T.BEGIN_DATE,
		T.END_DATE, T.APPLICABLE_AMOUNT, T.TOTAL_AMOUNT
	</sql>
	
	<select id="search" parameterType="map" resultType="OtcTrusteeCodeInfo">
		<include refid="common.pageStart"/>
		SELECT T.OTC_CODE, T.OTC_NAME, T.APPLICABLE_AMOUNT, T.TOTAL_AMOUNT,
		    (SELECT NVL(SUM(A.APPLY_COUNT), 0) FROM HS_ASSET.TRUSTAPPLY A
				WHERE A.OTC_CODE = T.OTC_CODE AND A.APPLY_TYPE IN ('0', '2', '4')	AND A.APPLY_DATE > T.BEGIN_DATE) AS APPLY_COUNT,
			(SELECT NVL(SUM(B.OCCUR_AMOUNT), 0) FROM HS_HIS.HIS_SDCOSTOCKJOUR B
			WHERE B.BUSINESS_FLAG = '22003' AND B.SDC_CODE = T.OTC_CODE) AS TURNOVER
		FROM HS_ASSET.OTCTRUSTEECODE T
		<include refid="searchCondition" />
		ORDER BY T.OTC_CODE
		<include refid="common.pageEnd"/>
	</select>
	
	<select id="searchTotal" parameterType="map" resultType="int">
		SELECT COUNT(*)
		FROM HS_ASSET.OTCTRUSTEECODE T
		<include refid="searchCondition" />
	</select>
	
	<sql id="searchCondition">
		WHERE T.APPLICABLE_AMOUNT > 0 AND TO_CHAR(SYSDATE, 'yyyymmdd') BETWEEN T.BEGIN_DATE AND T.END_DATE
		      AND T.APPLICABLE_AMOUNT >= T.LOW_AMOUNT
		<if test="otcCode != null and otcCode != ''"> AND T.OTC_CODE = #{otcCode} </if>
		<if test="otcName != null and otcName != ''"> AND T.OTC_NAME LIKE '%'||#{otcName}||'%' </if>
	</sql>
	
	<!-- 修改入库总量 -->
	<update id="updateTotalAmount" parameterType="OtcTrusteeCodeInfo">
		UPDATE HS_ASSET.OTCTRUSTEECODE T
		SET T.TOTAL_AMOUNT = #{totalAmount}, T.APPLICABLE_AMOUNT = NVL(#{applicableAmount}, 0)
		WHERE T.OTC_CODE = #{otcCode}
	</update>
	
	<select id="queryByOtcCode" resultType="OtcTrusteeCodeInfo" parameterType="string">
		SELECT <include refid="otctrusteecode_field" />
		FROM HS_ASSET.OTCTRUSTEECODE T
		WHERE OTC_CODE = #{otcCode, jdbcType=VARCHAR}
	</select>
	
	<!-- 增加可申请量 -->
	<update id="addApplicableAmount">
		UPDATE HS_ASSET.OTCTRUSTEECODE T
		SET T.APPLICABLE_AMOUNT = T.APPLICABLE_AMOUNT + NVL(#{applicableAmount}, 0)
		WHERE T.OTC_CODE = #{otcCode}
	</update>
</mapper>