<?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.CwBdAccsubjMapper"> <resultMap id="BaseResultMap" type="com.dhcc.finance.main.domain.CwBdAccsubj"> <id column="PK_ACCSUBJ" jdbcType="VARCHAR" property="pkAccsubj" /> <result column="PK_SUBJSCHEME" jdbcType="VARCHAR" property="pkSubjscheme" /> <result column="SUBJCODE" jdbcType="VARCHAR" property="subjcode" /> <result column="SUBJNAME" jdbcType="VARCHAR" property="subjname" /> <result column="SUBJLEV" jdbcType="VARCHAR" property="subjlev" /> <result column="DISPNAME" jdbcType="VARCHAR" property="dispname" /> <result column="RULE" jdbcType="VARCHAR" property="rule" /> <result column="PK_SUBJTYPE" jdbcType="VARCHAR" property="pkSubjtype" /> <result column="PK_SUBJTYPE_SUB" jdbcType="VARCHAR" property="pkSubjtypeSub" /> <result column="BALANORIENT" jdbcType="VARCHAR" property="balanorient" /> <result column="BALANFLAG" jdbcType="VARCHAR" property="balanflag" /> <result column="ICURFLAG" jdbcType="VARCHAR" property="icurflag" /> <result column="CURRENCY" jdbcType="VARCHAR" property="currency" /> <result column="AUXFLAG" jdbcType="VARCHAR" property="auxflag" /> <result column="PARENTID" jdbcType="VARCHAR" property="parentid" /> <result column="FINALSTAGE" jdbcType="VARCHAR" property="finalstage" /> <result column="UNITS" jdbcType="VARCHAR" property="units" /> <result column="ENABLESTATE" jdbcType="VARCHAR" property="enablestate" /> <result column="USE_STATE" jdbcType="VARCHAR" property="useState" /> <result column="CREATE_USER" jdbcType="VARCHAR" property="createUser" /> <result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime" /> <result column="UPDATE_USER" jdbcType="VARCHAR" property="updateUser" /> <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" /> <result column="REMARK" jdbcType="VARCHAR" property="remark" /> </resultMap> <sql id="Example_Where_Clause"> <where> <foreach collection="oredCriteria" item="criteria" separator="or"> <if test="criteria.valid"> <trim prefix="(" prefixOverrides="and" suffix=")"> <foreach collection="criteria.criteria" item="criterion"> <choose> <when test="criterion.noValue"> and ${criterion.condition} </when> <when test="criterion.singleValue"> and ${criterion.condition} #{criterion.value} </when> <when test="criterion.betweenValue"> and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} </when> <when test="criterion.listValue"> and ${criterion.condition} <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> #{listItem} </foreach> </when> </choose> </foreach> </trim> </if> </foreach> </where> </sql> <sql id="Update_By_Example_Where_Clause"> <where> <foreach collection="example.oredCriteria" item="criteria" separator="or"> <if test="criteria.valid"> <trim prefix="(" prefixOverrides="and" suffix=")"> <foreach collection="criteria.criteria" item="criterion"> <choose> <when test="criterion.noValue"> and ${criterion.condition} </when> <when test="criterion.singleValue"> and ${criterion.condition} #{criterion.value} </when> <when test="criterion.betweenValue"> and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} </when> <when test="criterion.listValue"> and ${criterion.condition} <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> #{listItem} </foreach> </when> </choose> </foreach> </trim> </if> </foreach> </where> </sql> <sql id="Base_Column_List"> PK_ACCSUBJ, PK_SUBJSCHEME, SUBJCODE, SUBJNAME, SUBJLEV, DISPNAME, RULE, PK_SUBJTYPE,PK_SUBJTYPE_SUB, BALANORIENT, BALANFLAG, ICURFLAG, CURRENCY, AUXFLAG, PARENTID, FINALSTAGE, UNITS, ENABLESTATE, USE_STATE, CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME, REMARK </sql> <select id="selectByExample" parameterType="com.dhcc.finance.main.domain.CwBdAccsubjExample" resultMap="BaseResultMap"> select <if test="distinct"> distinct </if> <include refid="Base_Column_List" /> from cw_bd_accsubj <if test="_parameter != null"> <include refid="Example_Where_Clause" /> </if> <if test="orderByClause != null"> order by ${orderByClause} </if> </select> <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from cw_bd_accsubj where PK_ACCSUBJ = #{pkAccsubj,jdbcType=VARCHAR} and USE_STATE='1' </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.String"> delete from cw_bd_accsubj where PK_ACCSUBJ = #{pkAccsubj,jdbcType=VARCHAR} </delete> <delete id="deleteByExample" parameterType="com.dhcc.finance.main.domain.CwBdAccsubjExample"> delete from cw_bd_accsubj <if test="_parameter != null"> <include refid="Example_Where_Clause" /> </if> </delete> <insert id="insert" parameterType="com.dhcc.finance.main.domain.CwBdAccsubj"> insert into cw_bd_accsubj (PK_ACCSUBJ, PK_SUBJSCHEME, SUBJCODE, SUBJNAME, SUBJLEV, DISPNAME, RULE, PK_SUBJTYPE,PK_SUBJTYPE_SUB,BALANORIENT, BALANFLAG, ICURFLAG, CURRENCY, AUXFLAG, PARENTID, FINALSTAGE, UNITS, ENABLESTATE, USE_STATE, CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME, REMARK) values (#{pkAccsubj,jdbcType=VARCHAR}, #{pkSubjscheme,jdbcType=VARCHAR}, #{subjcode,jdbcType=VARCHAR}, #{subjname,jdbcType=VARCHAR}, #{subjlev,jdbcType=VARCHAR}, #{dispname,jdbcType=VARCHAR}, #{rule,jdbcType=VARCHAR}, #{pkSubjtype,jdbcType=VARCHAR},#{pkSubjtypeSub,jdbcType=VARCHAR}, #{balanorient,jdbcType=VARCHAR}, #{balanflag,jdbcType=VARCHAR}, #{icurflag,jdbcType=VARCHAR}, #{currency,jdbcType=VARCHAR}, #{auxflag,jdbcType=VARCHAR}, #{parentid,jdbcType=VARCHAR}, #{finalstage,jdbcType=VARCHAR}, #{units,jdbcType=VARCHAR}, #{enablestate,jdbcType=VARCHAR}, #{useState,jdbcType=VARCHAR}, #{createUser,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateUser,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR}) </insert> <insert id="inserts" parameterType="java.util.List"> insert into cw_bd_accsubj (PK_ACCSUBJ, PK_SUBJSCHEME, SUBJCODE, SUBJNAME, SUBJLEV, DISPNAME, RULE, PK_SUBJTYPE, BALANORIENT, BALANFLAG, ICURFLAG, CURRENCY, AUXFLAG, PARENTID, FINALSTAGE, UNITS, ENABLESTATE, USE_STATE, CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME, REMARK) values <foreach collection="records" item="item" index="index" separator=","> (#{item.pkAccsubj,jdbcType=VARCHAR}, #{item.pkSubjscheme,jdbcType=VARCHAR}, #{item.subjcode,jdbcType=VARCHAR}, #{item.subjname,jdbcType=VARCHAR}, #{item.subjlev,jdbcType=VARCHAR}, #{item.dispname,jdbcType=VARCHAR}, #{item.rule,jdbcType=VARCHAR}, #{item.pkSubjtype,jdbcType=VARCHAR}, #{item.balanorient,jdbcType=VARCHAR}, #{item.balanflag,jdbcType=VARCHAR}, #{item.icurflag,jdbcType=VARCHAR}, #{item.currency,jdbcType=VARCHAR}, #{item.auxflag,jdbcType=VARCHAR}, #{item.parentid,jdbcType=VARCHAR}, #{item.finalstage,jdbcType=VARCHAR}, #{item.units,jdbcType=VARCHAR}, #{item.enablestate,jdbcType=VARCHAR}, #{item.useState,jdbcType=VARCHAR}, #{item.createUser,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, #{item.updateUser,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, #{item.remark,jdbcType=VARCHAR}) </foreach> </insert> <insert id="insertSelective" parameterType="com.dhcc.finance.main.domain.CwBdAccsubj"> insert into cw_bd_accsubj <trim prefix="(" suffix=")" suffixOverrides=","> <if test="pkAccsubj != null"> PK_ACCSUBJ, </if> <if test="pkSubjscheme != null"> PK_SUBJSCHEME, </if> <if test="subjcode != null"> SUBJCODE, </if> <if test="subjname != null"> SUBJNAME, </if> <if test="subjlev != null"> SUBJLEV, </if> <if test="dispname != null"> DISPNAME, </if> <if test="rule != null"> RULE, </if> <if test="pkSubjtype != null"> PK_SUBJTYPE, </if> <if test="balanorient != null"> BALANORIENT, </if> <if test="balanflag != null"> BALANFLAG, </if> <if test="icurflag != null"> ICURFLAG, </if> <if test="currency != null"> CURRENCY, </if> <if test="auxflag != null"> AUXFLAG, </if> <if test="parentid != null"> PARENTID, </if> <if test="finalstage != null"> FINALSTAGE, </if> <if test="units != null"> UNITS, </if> <if test="enablestate != null"> ENABLESTATE, </if> <if test="useState != null"> USE_STATE, </if> <if test="createUser != null"> CREATE_USER, </if> <if test="createTime != null"> CREATE_TIME, </if> <if test="updateUser != null"> UPDATE_USER, </if> <if test="updateTime != null"> UPDATE_TIME, </if> <if test="remark != null"> REMARK, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="pkAccsubj != null"> #{pkAccsubj,jdbcType=VARCHAR}, </if> <if test="pkSubjscheme != null"> #{pkSubjscheme,jdbcType=VARCHAR}, </if> <if test="subjcode != null"> #{subjcode,jdbcType=VARCHAR}, </if> <if test="subjname != null"> #{subjname,jdbcType=VARCHAR}, </if> <if test="subjlev != null"> #{subjlev,jdbcType=VARCHAR}, </if> <if test="dispname != null"> #{dispname,jdbcType=VARCHAR}, </if> <if test="rule != null"> #{rule,jdbcType=VARCHAR}, </if> <if test="pkSubjtype != null"> #{pkSubjtype,jdbcType=VARCHAR}, </if> <if test="balanorient != null"> #{balanorient,jdbcType=VARCHAR}, </if> <if test="balanflag != null"> #{balanflag,jdbcType=VARCHAR}, </if> <if test="icurflag != null"> #{icurflag,jdbcType=VARCHAR}, </if> <if test="currency != null"> #{currency,jdbcType=VARCHAR}, </if> <if test="auxflag != null"> #{auxflag,jdbcType=VARCHAR}, </if> <if test="parentid != null"> #{parentid,jdbcType=VARCHAR}, </if> <if test="finalstage != null"> #{finalstage,jdbcType=VARCHAR}, </if> <if test="units != null"> #{units,jdbcType=VARCHAR}, </if> <if test="enablestate != null"> #{enablestate,jdbcType=VARCHAR}, </if> <if test="useState != null"> #{useState,jdbcType=VARCHAR}, </if> <if test="createUser != null"> #{createUser,jdbcType=VARCHAR}, </if> <if test="createTime != null"> #{createTime,jdbcType=TIMESTAMP}, </if> <if test="updateUser != null"> #{updateUser,jdbcType=VARCHAR}, </if> <if test="updateTime != null"> #{updateTime,jdbcType=TIMESTAMP}, </if> <if test="remark != null"> #{remark,jdbcType=VARCHAR}, </if> </trim> </insert> <select id="countByExample" parameterType="com.dhcc.finance.main.domain.CwBdAccsubjExample" resultType="java.lang.Long"> select count(*) from cw_bd_accsubj <if test="_parameter != null"> <include refid="Example_Where_Clause" /> </if> </select> <update id="updateByExampleSelective" parameterType="map"> update cw_bd_accsubj <set> <if test="record.pkAccsubj != null"> PK_ACCSUBJ = #{record.pkAccsubj,jdbcType=VARCHAR}, </if> <if test="record.pkSubjscheme != null"> PK_SUBJSCHEME = #{record.pkSubjscheme,jdbcType=VARCHAR}, </if> <if test="record.subjcode != null"> SUBJCODE = #{record.subjcode,jdbcType=VARCHAR}, </if> <if test="record.subjname != null"> SUBJNAME = #{record.subjname,jdbcType=VARCHAR}, </if> <if test="record.subjlev != null"> SUBJLEV = #{record.subjlev,jdbcType=VARCHAR}, </if> <if test="record.dispname != null"> DISPNAME = #{record.dispname,jdbcType=VARCHAR}, </if> <if test="record.rule != null"> RULE = #{record.rule,jdbcType=VARCHAR}, </if> <if test="record.pkSubjtype != null"> PK_SUBJTYPE = #{record.pkSubjtype,jdbcType=VARCHAR}, </if> <if test="record.balanorient != null"> BALANORIENT = #{record.balanorient,jdbcType=VARCHAR}, </if> <if test="record.balanflag != null"> BALANFLAG = #{record.balanflag,jdbcType=VARCHAR}, </if> <if test="record.icurflag != null"> ICURFLAG = #{record.icurflag,jdbcType=VARCHAR}, </if> <if test="record.currency != null"> CURRENCY = #{record.currency,jdbcType=VARCHAR}, </if> <if test="record.auxflag != null"> AUXFLAG = #{record.auxflag,jdbcType=VARCHAR}, </if> <if test="record.parentid != null"> PARENTID = #{record.parentid,jdbcType=VARCHAR}, </if> <if test="record.finalstage != null"> FINALSTAGE = #{record.finalstage,jdbcType=VARCHAR}, </if> <if test="record.units != null"> UNITS = #{record.units,jdbcType=VARCHAR}, </if> <if test="record.enablestate != null"> ENABLESTATE = #{record.enablestate,jdbcType=VARCHAR}, </if> <if test="record.useState != null"> USE_STATE = #{record.useState,jdbcType=VARCHAR}, </if> <if test="record.createUser != null"> CREATE_USER = #{record.createUser,jdbcType=VARCHAR}, </if> <if test="record.createTime != null"> CREATE_TIME = #{record.createTime,jdbcType=TIMESTAMP}, </if> <if test="record.updateUser != null"> UPDATE_USER = #{record.updateUser,jdbcType=VARCHAR}, </if> <if test="record.updateTime != null"> UPDATE_TIME = #{record.updateTime,jdbcType=TIMESTAMP}, </if> <if test="record.remark != null"> REMARK = #{record.remark,jdbcType=VARCHAR}, </if> </set> <if test="_parameter != null"> <include refid="Update_By_Example_Where_Clause" /> </if> </update> <update id="updateByExample" parameterType="map"> update cw_bd_accsubj set PK_ACCSUBJ = #{record.pkAccsubj,jdbcType=VARCHAR}, PK_SUBJSCHEME = #{record.pkSubjscheme,jdbcType=VARCHAR}, SUBJCODE = #{record.subjcode,jdbcType=VARCHAR}, SUBJNAME = #{record.subjname,jdbcType=VARCHAR}, SUBJLEV = #{record.subjlev,jdbcType=VARCHAR}, DISPNAME = #{record.dispname,jdbcType=VARCHAR}, RULE = #{record.rule,jdbcType=VARCHAR}, PK_SUBJTYPE = #{record.pkSubjtype,jdbcType=VARCHAR}, BALANORIENT = #{record.balanorient,jdbcType=VARCHAR}, BALANFLAG = #{record.balanflag,jdbcType=VARCHAR}, ICURFLAG = #{record.icurflag,jdbcType=VARCHAR}, CURRENCY = #{record.currency,jdbcType=VARCHAR}, AUXFLAG = #{record.auxflag,jdbcType=VARCHAR}, PARENTID = #{record.parentid,jdbcType=VARCHAR}, FINALSTAGE = #{record.finalstage,jdbcType=VARCHAR}, UNITS = #{record.units,jdbcType=VARCHAR}, ENABLESTATE = #{record.enablestate,jdbcType=VARCHAR}, USE_STATE = #{record.useState,jdbcType=VARCHAR}, CREATE_USER = #{record.createUser,jdbcType=VARCHAR}, CREATE_TIME = #{record.createTime,jdbcType=TIMESTAMP}, UPDATE_USER = #{record.updateUser,jdbcType=VARCHAR}, UPDATE_TIME = #{record.updateTime,jdbcType=TIMESTAMP}, REMARK = #{record.remark,jdbcType=VARCHAR} <if test="_parameter != null"> <include refid="Update_By_Example_Where_Clause" /> </if> </update> <update id="updateByPrimaryKeySelective" parameterType="com.dhcc.finance.main.domain.CwBdAccsubj"> update cw_bd_accsubj <set> <if test="pkSubjscheme != null"> PK_SUBJSCHEME = #{pkSubjscheme,jdbcType=VARCHAR}, </if> <if test="subjcode != null"> SUBJCODE = #{subjcode,jdbcType=VARCHAR}, </if> <if test="subjname != null"> SUBJNAME = #{subjname,jdbcType=VARCHAR}, </if> <if test="subjlev != null"> SUBJLEV = #{subjlev,jdbcType=VARCHAR}, </if> <if test="dispname != null"> DISPNAME = #{dispname,jdbcType=VARCHAR}, </if> <if test="rule != null"> RULE = #{rule,jdbcType=VARCHAR}, </if> <if test="pkSubjtype != null"> PK_SUBJTYPE = #{pkSubjtype,jdbcType=VARCHAR}, </if> <if test="pkSubjtypeSub != null"> PK_SUBJTYPE_SUB = #{pkSubjtypeSub,jdbcType=VARCHAR}, </if> <if test="balanorient != null"> BALANORIENT = #{balanorient,jdbcType=VARCHAR}, </if> <if test="balanflag != null"> BALANFLAG = #{balanflag,jdbcType=VARCHAR}, </if> <if test="icurflag != null"> ICURFLAG = #{icurflag,jdbcType=VARCHAR}, </if> <if test="currency != null"> CURRENCY = #{currency,jdbcType=VARCHAR}, </if> <if test="auxflag != null"> AUXFLAG = #{auxflag,jdbcType=VARCHAR}, </if> <if test="parentid != null"> PARENTID = #{parentid,jdbcType=VARCHAR}, </if> <if test="finalstage != null"> FINALSTAGE = #{finalstage,jdbcType=VARCHAR}, </if> <if test="units != null"> UNITS = #{units,jdbcType=VARCHAR}, </if> <if test="enablestate != null"> ENABLESTATE = #{enablestate,jdbcType=VARCHAR}, </if> <if test="useState != null"> USE_STATE = #{useState,jdbcType=VARCHAR}, </if> <if test="createUser != null"> CREATE_USER = #{createUser,jdbcType=VARCHAR}, </if> <if test="createTime != null"> CREATE_TIME = #{createTime,jdbcType=TIMESTAMP}, </if> <if test="updateUser != null"> UPDATE_USER = #{updateUser,jdbcType=VARCHAR}, </if> <if test="updateTime != null"> UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP}, </if> <if test="remark != null"> REMARK = #{remark,jdbcType=VARCHAR}, </if> </set> where PK_ACCSUBJ = #{pkAccsubj,jdbcType=VARCHAR} </update> <update id="updateByPrimaryKey" parameterType="com.dhcc.finance.main.domain.CwBdAccsubj"> update cw_bd_accsubj set PK_SUBJSCHEME = #{pkSubjscheme,jdbcType=VARCHAR}, SUBJCODE = #{subjcode,jdbcType=VARCHAR}, SUBJNAME = #{subjname,jdbcType=VARCHAR}, SUBJLEV = #{subjlev,jdbcType=VARCHAR}, DISPNAME = #{dispname,jdbcType=VARCHAR}, RULE = #{rule,jdbcType=VARCHAR}, PK_SUBJTYPE = #{pkSubjtype,jdbcType=VARCHAR}, BALANORIENT = #{balanorient,jdbcType=VARCHAR}, BALANFLAG = #{balanflag,jdbcType=VARCHAR}, ICURFLAG = #{icurflag,jdbcType=VARCHAR}, CURRENCY = #{currency,jdbcType=VARCHAR}, AUXFLAG = #{auxflag,jdbcType=VARCHAR}, PARENTID = #{parentid,jdbcType=VARCHAR}, FINALSTAGE = #{finalstage,jdbcType=VARCHAR}, UNITS = #{units,jdbcType=VARCHAR}, ENABLESTATE = #{enablestate,jdbcType=VARCHAR}, USE_STATE = #{useState,jdbcType=VARCHAR}, CREATE_USER = #{createUser,jdbcType=VARCHAR}, CREATE_TIME = #{createTime,jdbcType=TIMESTAMP}, UPDATE_USER = #{updateUser,jdbcType=VARCHAR}, UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP}, REMARK = #{remark,jdbcType=VARCHAR} where PK_ACCSUBJ = #{pkAccsubj,jdbcType=VARCHAR} </update> <sql id="Ex_Base_Column_List2"> b.PK_ACCASS, b.PK_SUBJSCHEME, b.PK_ACCSUBJ, b.ASSORDER, b.PK_ACCASSITEM, b.ISMUST, b.USE_STATE, b.CREATE_USER, b.CREATE_TIME, b.UPDATE_USER, b.UPDATE_TIME, b.REMARK </sql> <sql id="Ex_Base_Column_List"> a.PK_ACCSUBJ, a.PK_SUBJSCHEME, a.SUBJCODE, a.SUBJNAME, a.SUBJLEV, a.DISPNAME, a.RULE, a.PK_SUBJTYPE, a.BALANORIENT, a.BALANFLAG, a.ICURFLAG, a.CURRENCY, a.AUXFLAG, a.PARENTID, a.FINALSTAGE, a.UNITS, a.ENABLESTATE, a.USE_STATE, a.CREATE_USER, a.CREATE_TIME, a.UPDATE_USER, a.UPDATE_TIME, a.REMARK </sql> <!-- dml查询节点和节点下所有子节点数据 --> <!--修改查询节点语句在新版mysql里查询慢的问题--> <select id="selectByNode" parameterType="java.lang.String" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from ( select <include refid="Base_Column_List" /> from cw_bd_accsubj where PK_ACCSUBJ in ( select PK_ACCSUBJ from ( select t1.PK_ACCSUBJ,if(find_in_set(PARENTID,CONVERT(@pids2 USING utf8) COLLATE utf8_unicode_ci) > 0, @pids2 := concat(@pids2, ',', PK_ACCSUBJ), '0') as ischild from ( select PK_ACCSUBJ,PARENTID from CW_BD_ACCSUBJ t where t.PK_SUBJSCHEME=#{pkSubjscheme,jdbcType=VARCHAR} and USE_STATE='1' order by SUBJCODE,PARENTID ) t1, (select @pids2 :=(#{pkAccsubj,jdbcType=VARCHAR}) ) t2 ) t3 where ischild != '0') union select <include refid="Base_Column_List" /> from cw_bd_accsubj where PK_ACCSUBJ = #{pkAccsubj,jdbcType=VARCHAR} ) a where <![CDATA[ SUBJLEV <> '0']]> order by SUBJCODE </select> <!-- <select id="selectByNode" parameterType="java.lang.String" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from cw_bd_accsubj where PK_ACCSUBJ in ( select PK_ACCSUBJ from ( select t1.PK_ACCSUBJ,if(find_in_set(PARENTID,CONVERT(@pids2 USING utf8) COLLATE utf8_unicode_ci) > 0, @pids2 := concat(@pids2, ',', PK_ACCSUBJ), '0') as ischild from ( select PK_ACCSUBJ,PARENTID from CW_BD_ACCSUBJ t where t.PK_SUBJSCHEME=#{pkSubjscheme,jdbcType=VARCHAR} and USE_STATE='1' order by SUBJCODE,PARENTID ) t1, (select @pids2 :=(#{pkAccsubj,jdbcType=VARCHAR}) ) t2 ) t3 where ischild != '0' union select PK_ACCSUBJ from cw_bd_accsubj where PK_ACCSUBJ = #{pkAccsubj,jdbcType=VARCHAR} ) <![CDATA[ and SUBJLEV <> '0']]> order by SUBJCODE </select> --> <!-- <select id="selectByNode" resultMap="BaseResultMap" statementType="CALLABLE"> { call allSubjNodeChild( #{pkAccsubj,jdbcType=VARCHAR}, #{pkSubjscheme,jdbcType=VARCHAR} ) } </select> --> <!-- select <include refid="Base_Column_List" /> from ( <if test="subjcode != null"> select <include refid="Base_Column_List" /> from cw_bd_accsubj where SUBJCODE= #{subjcode,jdbcType=VARCHAR} and SYZT='1' union all select <include refid="Base_Column_List" /> from cw_bd_accsubj where PARENTID=#{subjcode,jdbcType=VARCHAR} and SYZT='1' union all select <include refid="Base_Column_List" /> from cw_bd_accsubj where PARENTID in (select SUBJCODE from cw_bd_accsubj where PARENTID=#{subjcode,jdbcType=VARCHAR} and SYZT='1' ) and SYZT='1' union all select <include refid="Base_Column_List" /> from cw_bd_accsubj where PARENTID in (select SUBJCODE from cw_bd_accsubj where PARENTID in (select SUBJCODE from cw_bd_accsubj where PARENTID=#{subjcode,jdbcType=VARCHAR} and SYZT='1' ) and SYZT='1' ) and SYZT='1' union all select <include refid="Base_Column_List" /> from cw_bd_accsubj where PARENTID in( select SUBJCODE from cw_bd_accsubj where PARENTID in (select SUBJCODE from cw_bd_accsubj where PARENTID in (select SUBJCODE from cw_bd_accsubj where PARENTID=#{subjcode,jdbcType=VARCHAR}and SYZT='1' ) and SYZT='1' ) and SYZT='1' )and SYZT='1' union all select <include refid="Base_Column_List" /> from cw_bd_accsubj where PARENTID in( select SUBJCODE from cw_bd_accsubj where PARENTID in( select SUBJCODE from cw_bd_accsubj where PARENTID in (select SUBJCODE from cw_bd_accsubj where PARENTID in (select SUBJCODE from cw_bd_accsubj where PARENTID=#{subjcode,jdbcType=VARCHAR} and SYZT='1' ) and SYZT='1' ) and SYZT='1' )and SYZT='1' )and SYZT='1' </if> ) a where <![CDATA[ a.SYZT='1' and a.SUBJLEV <> '0' and a.PK_SUBJSCHEME = #{pkSubjscheme,jdbcType=VARCHAR} order by a.SUBJCODE ]]> --> <!-- 逻辑删除某节点所有会计科目 --> <update id="updateSubjschemeBatch" parameterType="java.util.Map"> update cw_bd_accsubj set USE_STATE = '0', UPDATE_USER = #{updateUser,jdbcType=VARCHAR}, UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP} where PK_ACCSUBJ in <foreach collection="list" item="item" index="index" open="(" close=")" separator=","> #{item} </foreach> </update> <!-- 逻辑删除某版本下所有会计科目 --> <update id="updateByPkSubjscheme" parameterType="com.dhcc.finance.main.domain.CwBdSubjscheme"> update cw_bd_accsubj set USE_STATE = '0', UPDATE_USER = #{updateUser,jdbcType=VARCHAR}, UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP} where PK_SUBJSCHEME = #{pkSubjscheme,jdbcType=VARCHAR} </update> <!-- 会计科目复制 --> <insert id="insertCpCwBdAccsubj" parameterType="com.dhcc.finance.main.model.CwBdSubjschemeAdd"> insert into cw_bd_accsubj (PK_ACCSUBJ, PK_SUBJSCHEME, SUBJCODE, SUBJNAME, SUBJLEV, DISPNAME, RULE, PK_SUBJTYPE, BALANORIENT, BALANFLAG, ICURFLAG, CURRENCY, AUXFLAG, PARENTID, FINALSTAGE, UNITS, ENABLESTATE, USE_STATE, CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME, REMARK) select MD5(uuid()) as PK_ACCSUBJ,#{pkSubjscheme,jdbcType=VARCHAR} as PK_SUBJSCHEME, SUBJCODE, SUBJNAME, SUBJLEV, DISPNAME, RULE, PK_SUBJTYPE, BALANORIENT, BALANFLAG, ICURFLAG, CURRENCY, AUXFLAG, PARENTID, FINALSTAGE, UNITS, ENABLESTATE, USE_STATE, #{createUser,jdbcType=VARCHAR} as CREATE_USER, #{createTime,jdbcType=TIMESTAMP} as CREATE_TIME, UPDATE_USER, UPDATE_TIME, REMARK from cw_bd_accsubj where PK_SUBJSCHEME= #{choosesubject,jdbcType=VARCHAR} and USE_STATE='1' </insert> <!-- 查询现在正启用的版本下的所有科目 --> <select id="selectNowUseCwBdAccsubj" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from CW_BD_ACCSUBJ where PK_SUBJSCHEME= (select PK_SUBJSCHEME from cw_bd_subjscheme b where b.ENABLESTATE='1' and b.USE_STATE='1') and USE_STATE='1' </select> <!-- 查询全部会计科目及其相关联的全部会计科目辅助信息--> <!-- <select id="selectAllAccassAndAccsubj" parameterType="java.lang.String" resultMap="BaseResultMap2"> select <include refid="Ex_Base_Column_List" />, <include refid="Ex_Base_Column_List2" /> from cw_bd_accsubj a left join ( select <include refid="Ex_Base_Column_List2" /> from cw_bd_accass b where b.SYZT='1') b on a.PK_ACCSUBJ=b.PK_ACCSUBJ where a.PK_SUBJSCHEME= #{pkSubjscheme,jdbcType=VARCHAR} and a.SYZT='1' </select> --> <!-- 复制完毕后刷新科目父节点 --> <update id="updateParentid" parameterType="com.dhcc.finance.main.model.CwBdSubjschemeAdd"> update CW_BD_ACCSUBJ m inner join ( select a.PK_ACCSUBJ ,temp.ONE_PK_ACCSUBJ from CW_BD_ACCSUBJ a inner join ( select b.PK_ACCSUBJ ONE_PK_ACCSUBJ ,c.SUBJCODE OLD_SUBJCODE from CW_BD_ACCSUBJ b inner join CW_BD_ACCSUBJ c on b.PARENTID = c.PK_ACCSUBJ and c.PK_SUBJSCHEME =#{choosesubject,jdbcType=VARCHAR} AND c.USE_STATE='1' where b.PK_SUBJSCHEME =#{pkSubjscheme,jdbcType=VARCHAR} AND b.USE_STATE='1' )temp on a.SUBJCODE=temp.OLD_SUBJCODE where a.PK_SUBJSCHEME =#{pkSubjscheme,jdbcType=VARCHAR} and a.USE_STATE='1' ) n on m.PK_ACCSUBJ=n.ONE_PK_ACCSUBJ set m.PARENTID=n.PK_ACCSUBJ where m.PK_SUBJSCHEME =#{pkSubjscheme,jdbcType=VARCHAR} and m.USE_STATE='1' </update> <!-- 根据subjcode去查询信息 --> <select id="selectCwBdAccsubjBySubcode" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from CW_BD_ACCSUBJ where SUBJCODE = #{subjcode,jdbcType=VARCHAR} and USE_STATE='1' and PK_SUBJSCHEME =#{pkSubjscheme,jdbcType=VARCHAR} </select> <!-- 查询科目下凭证的数量 --> <select id="selectIsExistsSubForVoucher" parameterType="java.lang.String" resultType="java.lang.Long"> select count(*) from cw_bd_accsubj as a where SUBJCODE in (select distinct SUBJCODE from (select * from cw_gl_detail as b where b. PK_VOUCHER in(select PK_VOUCHER from cw_gl_voucher as c where c.USE_STATE='1')and b. USE_STATE='1')g where g.USE_STATE='1') and PK_ACCSUBJ=#{pkAccsubj,jdbcType=VARCHAR} and a.USE_STATE='1' </select> <!-- 查询科目的子级科目 --> <select id="selectParentSubject" parameterType="java.lang.String" resultType="java.lang.String"> select PK_ACCSUBJ from CW_BD_ACCSUBJ a where a.PK_SUBJSCHEME= #{pkSubjscheme,jdbcType=VARCHAR} and a.PK_ACCSUBJ=#{pkSrcaccsubj,jdbcType=VARCHAR} union select PK_ACCSUBJ from ( select t1.PK_ACCSUBJ,if(find_in_set(PARENTID, CONVERT(@pids USING utf8) COLLATE utf8_unicode_ci) > 0, @pids := concat(@pids, ',', PK_ACCSUBJ), '0') as ischild from ( select PK_ACCSUBJ,PARENTID from CW_BD_ACCSUBJ t where t.PK_SUBJSCHEME= #{pkSubjscheme,jdbcType=VARCHAR} and t.USE_STATE = '1' order by SUBJCODE,PARENTID ) t1, (select @pids := #{pkSrcaccsubj,jdbcType=VARCHAR} ) t2 ) t3 where ischild != '0' </select> </mapper>