<?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.dhcc.finance.main.dao.CwBdSubjTransformationMapper"> <resultMap id="BaseResultMap" type="com.dhcc.finance.main.domain.CwBdSubjTransformation"> <result column="CPMC" jdbcType="VARCHAR" property="cpmc" /> <result column="SUBJCODE" jdbcType="VARCHAR" property="subjcode" /> <result column="SUBJNAME" jdbcType="VARCHAR" property="subjname" /> <result column="BALANORIENT" jdbcType="VARCHAR" property="balanorient" /> <result column="CWYE" jdbcType="VARCHAR" property="cwye" /> <result column="PK_ACCSUBJ" jdbcType="VARCHAR" property="pk_accsubj" /> <result column="PK_GLORGBOOK" jdbcType="VARCHAR" property="pkGlorgbook" /> <result column="PK_SUBJSCHEME" jdbcType="VARCHAR" property="PK_SUBJSCHEME" /> </resultMap> <select id="searchSubjTransInfo" resultMap="BaseResultMap" parameterType="string"> select (SELECT NAME FROM CW_BD_GLORGBOOK where PK_GLORGBOOK = A.PK_GLORGBOOK) CPMC,A.PK_GLORGBOOK,b.PK_SUBJSCHEME ,b.SUBJCODE,b.SUBJNAME,b.BALANORIENT,b.PK_ACCSUBJ, CASE WHEN b.BALANORIENT ='1' THEN IFNULL(a.LOCALDEBITAMOUNT,0)-IFNULL(LOCALCREDITAMOUNT,0) ELSE IFNULL(a.LOCALCREDITAMOUNT,0)-IFNULL(a.LOCALDEBITAMOUNT,0) end CWYE from ( select a.PK_GLORGBOOK,a.SUBJCODE,sum(a.LOCALDEBITAMOUNT) LOCALDEBITAMOUNT,sum(a.LOCALCREDITAMOUNT) LOCALCREDITAMOUNT from CW_GL_DETAIL a inner join ( select PK_VOUCHER from CW_GL_VOUCHER where PK_GLORGBOOK = #{pkGlorgbook,jdbcType=VARCHAR} and USE_STATE= '1') b on a.PK_VOUCHER=b.PK_VOUCHER where a.USE_STATE= '1' GROUP BY a.SUBJCODE )a left join ( SELECT * FROM CW_BD_ACCSUBJ WHERE PK_SUBJSCHEME=(SELECT PK_SUBJSCHEME FROM cw_bd_subjscheme WHERE ENABLESTATE='1')) b on a.SUBJCODE=b.SUBJCODE </select> <update id="updateSubjTransInfo" parameterType="string"> UPDATE CW_GL_DETAIL <set> <if test="pk_accsubj !=null"> PK_ACCSUBJ=#{pk_accsubj ,jdbcType=VARCHAR}, </if> <if test="subjcodeN !=null"> SUBJCODE=#{subjcodeN ,jdbcType=VARCHAR}, </if> <if test="subjname !=null"> SUBJNAME=#{subjname ,jdbcType=VARCHAR} </if> </set> WHERE PK_VOUCHER IN ( SELECT PK_VOUCHER FROM CW_GL_VOUCHER WHERE PK_GLORGBOOK=#{pkGlorgbook ,jdbcType=VARCHAR} ) AND SUBJCODE=#{subjcodeO ,jdbcType=VARCHAR} </update> </mapper>