<?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.brilliance.isc.mda.dao.TaskPoolConfigMapper">

    <resultMap id="BaseResultMap" type="com.brilliance.isc.bo.TaskPoolConfig">
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="branchinr" column="branchinr" jdbcType="CHAR"/>
        <result property="poolNumber" column="pool_number" jdbcType="VARCHAR"/>
        <result property="poolName" column="pool_name" jdbcType="VARCHAR"/>
        <result property="bizGroup" column="biz_group" jdbcType="VARCHAR"/>
        <result property="trades" column="trades" jdbcType="VARCHAR"/>
        <result property="autoSwitch" column="auto_switch" jdbcType="CHAR"/>
        <result property="handleDistMode" column="handle_dist_mode" jdbcType="VARCHAR"/>
        <result property="reviewDistMode" column="review_dist_mode" jdbcType="VARCHAR"/>
        <result property="remark" column="remark" jdbcType="VARCHAR"/>
        <result property="designatedReviewer" column="designated_reviewer" jdbcType="VARCHAR"/>
        <result property="overflowLimit" column="overflow_limit" jdbcType="INTEGER"/>
        <result property="overflowTime" column="overflow_time" jdbcType="VARCHAR"/>

    </resultMap>

    <sql id="Base_Column_List">
        id,branchinr,pool_number,
        pool_name,biz_group,trades,
        auto_switch,handle_dist_mode,review_dist_mode,
        remark,designated_reviewer,overflow_limit,overflow_time
    </sql>

    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from tskpol
        where  id = #{id,jdbcType=BIGINT}
    </select>

    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
        delete from tskpol
        where  id = #{id,jdbcType=BIGINT}
    </delete>
    <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.brilliance.isc.bo.TaskPoolConfig" useGeneratedKeys="true">
        insert into tskpol
        ( id,branchinr,pool_number
        ,pool_name,biz_group,trades
        ,auto_switch,handle_dist_mode,review_dist_mode
        ,remark,designated_reviewer,overflow_limit,overflow_time)
        values (#{id,jdbcType=BIGINT},#{branchinr,jdbcType=CHAR},#{poolNumber,jdbcType=VARCHAR}
               ,#{poolName,jdbcType=VARCHAR},#{bizGroup,jdbcType=VARCHAR},#{trades,jdbcType=VARCHAR}
               ,#{autoSwitch,jdbcType=CHAR},#{handleDistMode,jdbcType=VARCHAR},#{reviewDistMode,jdbcType=VARCHAR}
               ,#{remark,jdbcType=VARCHAR},#{designatedReviewer,jdbcType=VARCHAR},#{overflowLimit,jdbcType=INTEGER},#{overflowTime,jdbcType=VARCHAR})
    </insert>
    <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.brilliance.isc.bo.TaskPoolConfig" useGeneratedKeys="true">
        insert into tskpol
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="branchinr != null">branchinr,</if>
            <if test="poolNumber != null">pool_number,</if>
            <if test="poolName != null">pool_name,</if>
            <if test="bizGroup != null">biz_group,</if>
            <if test="trades != null">trades,</if>
            <if test="autoSwitch != null">auto_switch,</if>
            <if test="handleDistMode != null">handle_dist_mode,</if>
            <if test="reviewDistMode != null">review_dist_mode,</if>
            <if test="remark != null">remark,</if>
            <if test="designatedReviewer != null">designated_reviewer,</if>
            <if test="overflowLimit != null">overflow_limit,</if>
            <if test="overflowTime != null">overflow_time,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id,jdbcType=BIGINT},</if>
            <if test="branchinr != null">#{branchinr,jdbcType=CHAR},</if>
            <if test="poolNumber != null">#{poolNumber,jdbcType=VARCHAR},</if>
            <if test="poolName != null">#{poolName,jdbcType=VARCHAR},</if>
            <if test="bizGroup != null">#{bizGroup,jdbcType=VARCHAR},</if>
            <if test="trades != null">#{trades,jdbcType=VARCHAR},</if>
            <if test="autoSwitch != null">#{autoSwitch,jdbcType=CHAR},</if>
            <if test="handleDistMode != null">#{handleDistMode,jdbcType=VARCHAR},</if>
            <if test="reviewDistMode != null">#{reviewDistMode,jdbcType=VARCHAR},</if>
            <if test="remark != null">#{remark,jdbcType=VARCHAR},</if>
            <if test="designatedReviewer != null">designatedReviewer,</if>
            <if test="overflowLimit != null">overflowLimit,</if>
            <if test="overflowTime != null">overflowTime,</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKeySelective" parameterType="com.brilliance.isc.bo.TaskPoolConfig">
        update tskpol
        <set>
            <if test="branchinr != null">
                branchinr = #{branchinr,jdbcType=CHAR},
            </if>
            <if test="poolNumber != null">
                pool_number = #{poolNumber,jdbcType=VARCHAR},
            </if>
            <if test="poolName != null">
                pool_name = #{poolName,jdbcType=VARCHAR},
            </if>
            <if test="bizGroup != null">
                biz_group = #{bizGroup,jdbcType=VARCHAR},
            </if>
            <if test="trades != null">
                trades = #{trades,jdbcType=VARCHAR},
            </if>
            <if test="autoSwitch != null">
                auto_switch = #{autoSwitch,jdbcType=CHAR},
            </if>
            <if test="handleDistMode != null">
                handle_dist_mode = #{handleDistMode,jdbcType=VARCHAR},
            </if>
            <if test="reviewDistMode != null">
                review_dist_mode = #{reviewDistMode,jdbcType=VARCHAR},
            </if>
            <if test="remark != null">
                remark = #{remark,jdbcType=VARCHAR},
            </if>
            <if test="designatedReviewer != null">
                designated_reviewer = #{designatedReviewer,jdbcType=VARCHAR},
            </if>

            <if test="overflowLimit != null">
                overflow_limit = #{overflowLimit,jdbcType=INTEGER},
            </if>
            <if test="overflowTime != null">
                overflow_time = #{overflowTime,jdbcType=VARCHAR},
            </if>
        </set>
        where   id = #{id,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKey" parameterType="com.brilliance.isc.bo.TaskPoolConfig">
        update tskpol
        set
            branchinr =  #{branchinr,jdbcType=CHAR},
            pool_number =  #{poolNumber,jdbcType=VARCHAR},
            pool_name =  #{poolName,jdbcType=VARCHAR},
            biz_group =  #{bizGroup,jdbcType=VARCHAR},
            trades =  #{trades,jdbcType=VARCHAR},
            auto_switch =  #{autoSwitch,jdbcType=CHAR},
            handle_dist_mode =  #{handleDistMode,jdbcType=VARCHAR},
            review_dist_mode =  #{reviewDistMode,jdbcType=VARCHAR},
            remark =  #{remark,jdbcType=VARCHAR},
            designated_reviewer = #{designatedReviewer,jdbcType=VARCHAR},
            overflow_limit = #{overflowLimit,jdbcType=INTEGER},
            overflow_time = #{overflowTime,jdbcType=VARCHAR},
        where   id = #{id,jdbcType=BIGINT}
    </update>
    <select id="selectAll" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from tskpol
    </select>
    <select id="selectAllByBranchinr" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from tskpol
        where
        branchinr = #{branchinr,jdbcType=VARCHAR}
    </select>
    <select id="selectConditionList" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from tskpol
        where 1=1
        <if test="branchinr != null">
            and branchinr = #{branchinr,jdbcType=CHAR}
        </if>
        <if test="poolNumber != null">
            and pool_number = #{poolNumber,jdbcType=VARCHAR}
        </if>
        <if test="poolName != null">
            and pool_name = #{poolName,jdbcType=VARCHAR}
        </if>
        <if test="bizGroup != null">
            and biz_group = #{bizGroup,jdbcType=VARCHAR}
        </if>
        <if test="trades != null">
            and trades = #{trades,jdbcType=VARCHAR}
        </if>
        <if test="autoSwitch != null">
            and auto_switch = #{autoSwitch,jdbcType=CHAR}
        </if>
        <if test="handleDistMode != null">
            and handle_dist_mode = #{handleDistMode,jdbcType=VARCHAR}
        </if>
        <if test="reviewDistMode != null">
            and review_dist_mode = #{reviewDistMode,jdbcType=VARCHAR}
        </if>
        <if test="remark != null">
            and remark = #{remark,jdbcType=VARCHAR}
        </if>
        <if test="designatedReviewer != null">
            and designated_reviewer = #{designatedReviewer,jdbcType=VARCHAR}
        </if>
        <if test="overflowLimit != null">
            and  overflow_limit = #{overflowLimit,jdbcType=INTEGER}
        </if>
        <if test="overflowTime != null">
            and  overflow_time = #{overflowTime,jdbcType=VARCHAR}
        </if>
    </select>
    <select id="getTskPool" resultMap="BaseResultMap">
        select
            <include refid="Base_Column_List"/>
        from tskpol
        where branchinr = #{branchinr}
        and biz_group = #{bizGroup}
    </select>
</mapper>