<?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.FecMapper">

    <resultMap id="BaseResultMap" type="com.brilliance.isc.bo.Fec">
        <result property="inr" column="inr" jdbcType="VARCHAR"/>
        <result property="feeinr" column="feeinr" jdbcType="VARCHAR"/>
        <result property="feepri" column="feepri" jdbcType="VARCHAR"/>
        <result property="objtyp" column="objtyp" jdbcType="VARCHAR"/>
        <result property="objinr" column="objinr" jdbcType="VARCHAR"/>
        <result property="begdat" column="begdat" jdbcType="DATE"/>
        <result property="enddat" column="enddat" jdbcType="DATE"/>
        <result property="calcbs" column="calcbs" jdbcType="VARCHAR"/>
        <result property="calfcc" column="calfcc" jdbcType="VARCHAR"/>
        <result property="lowamt" column="lowamt" jdbcType="DECIMAL"/>
        <result property="higamt" column="higamt" jdbcType="DECIMAL"/>
        <result property="maxcur" column="maxcur" jdbcType="VARCHAR"/>
        <result property="maxamt" column="maxamt" jdbcType="DECIMAL"/>
        <result property="maxfcc" column="maxfcc" jdbcType="VARCHAR"/>
        <result property="mincur" column="mincur" jdbcType="VARCHAR"/>
        <result property="minamt" column="minamt" jdbcType="DECIMAL"/>
        <result property="minamttot" column="minamttot" jdbcType="DECIMAL"/>
        <result property="amtsetall" column="amtsetall" jdbcType="DECIMAL"/>
        <result property="minfcc" column="minfcc" jdbcType="VARCHAR"/>
        <result property="untamt" column="untamt" jdbcType="DECIMAL"/>
        <result property="ratcal" column="ratcal" jdbcType="DECIMAL"/>
        <result property="ratcur" column="ratcur" jdbcType="VARCHAR"/>
        <result property="ratfcc" column="ratfcc" jdbcType="VARCHAR"/>
        <result property="ratirs" column="ratirs" jdbcType="VARCHAR"/>
        <result property="ratirsinc" column="ratirsinc" jdbcType="VARCHAR"/>
        <result property="setmod" column="setmod" jdbcType="VARCHAR"/>
        <result property="setbeg" column="setbeg" jdbcType="VARCHAR"/>
        <result property="setend" column="setend" jdbcType="VARCHAR"/>
        <result property="pertyp" column="pertyp" jdbcType="VARCHAR"/>
        <result property="tirtyp" column="tirtyp" jdbcType="VARCHAR"/>
        <result property="permin" column="permin" jdbcType="INTEGER"/>
        <result property="perbegtr2" column="perbegtr2" jdbcType="INTEGER"/>
        <result property="perrattr2" column="perrattr2" jdbcType="DECIMAL"/>
        <result property="permintr2" column="permintr2" jdbcType="DECIMAL"/>
        <result property="perbegtr3" column="perbegtr3" jdbcType="INTEGER"/>
        <result property="perrattr3" column="perrattr3" jdbcType="DECIMAL"/>
        <result property="permintr3" column="permintr3" jdbcType="DECIMAL"/>
        <result property="perbegtr4" column="perbegtr4" jdbcType="INTEGER"/>
        <result property="perrattr4" column="perrattr4" jdbcType="DECIMAL"/>
        <result property="permintr4" column="permintr4" jdbcType="DECIMAL"/>
        <result property="perbegtr5" column="perbegtr5" jdbcType="INTEGER"/>
        <result property="perrattr5" column="perrattr5" jdbcType="DECIMAL"/>
        <result property="permintr5" column="permintr5" jdbcType="DECIMAL"/>
        <result property="perbegtr6" column="perbegtr6" jdbcType="INTEGER"/>
        <result property="perrattr6" column="perrattr6" jdbcType="DECIMAL"/>
        <result property="permintr6" column="permintr6" jdbcType="DECIMAL"/>
        <result property="perbegtr7" column="perbegtr7" jdbcType="INTEGER"/>
        <result property="perrattr7" column="perrattr7" jdbcType="DECIMAL"/>
        <result property="permintr7" column="permintr7" jdbcType="DECIMAL"/>
        <result property="amtbegtr2" column="amtbegtr2" jdbcType="DECIMAL"/>
        <result property="amtrattr2" column="amtrattr2" jdbcType="DECIMAL"/>
        <result property="amtbegtr3" column="amtbegtr3" jdbcType="DECIMAL"/>
        <result property="amtrattr3" column="amtrattr3" jdbcType="DECIMAL"/>
        <result property="amtbegtr4" column="amtbegtr4" jdbcType="DECIMAL"/>
        <result property="amtrattr4" column="amtrattr4" jdbcType="DECIMAL"/>
        <result property="ver" column="ver" jdbcType="VARCHAR"/>
        <result property="colltr" column="colltr" jdbcType="VARCHAR"/>
        <result property="settyp" column="settyp" jdbcType="VARCHAR"/>
        <result property="setflg" column="setflg" jdbcType="VARCHAR"/>
        <result property="setperflg" column="setperflg" jdbcType="VARCHAR"/>
        <result property="setchgflg" column="setchgflg" jdbcType="VARCHAR"/>
        <result property="pertypprv" column="pertypprv" jdbcType="VARCHAR"/>
        <result property="minpercnt" column="minpercnt" jdbcType="INTEGER"/>
        <result property="maxpercnt" column="maxpercnt" jdbcType="INTEGER"/>
        <result property="maxpercov" column="maxpercov" jdbcType="INTEGER"/>
        <result property="basamt" column="basamt" jdbcType="DECIMAL"/>
        <result property="permaxtr2" column="permaxtr2" jdbcType="DECIMAL"/>
        <result property="permaxtr3" column="permaxtr3" jdbcType="DECIMAL"/>
        <result property="permaxtr4" column="permaxtr4" jdbcType="DECIMAL"/>
        <result property="permaxtr5" column="permaxtr5" jdbcType="DECIMAL"/>
        <result property="permaxtr6" column="permaxtr6" jdbcType="DECIMAL"/>
        <result property="permaxtr7" column="permaxtr7" jdbcType="DECIMAL"/>
        <result property="clcdifflg" column="clcdifflg" jdbcType="VARCHAR"/>
        <result property="etgextkey" column="etgextkey" jdbcType="VARCHAR"/>
        <result property="calrul" column="calrul" jdbcType="VARCHAR"/>
        <result property="amtflg" column="amtflg" jdbcType="VARCHAR"/>
    </resultMap>

    <sql id="Base_Column_List">
        inr,feeinr,feepri,objtyp,objinr,begdat,enddat,calcbs,calfcc,lowamt,higamt,maxcur,maxamt,maxfcc,mincur,minamt,minamttot,amtsetall,minfcc,untamt,ratcal,ratcur,ratfcc,ratirs,ratirsinc,setmod,setbeg,setend,pertyp,tirtyp,permin,perbegtr2,perrattr2,permintr2,perbegtr3,perrattr3,permintr3,perbegtr4,perrattr4,permintr4,perbegtr5,perrattr5,permintr5,perbegtr6,perrattr6,permintr6,perbegtr7,perrattr7,permintr7,amtbegtr2,amtrattr2,amtbegtr3,amtrattr3,amtbegtr4,amtrattr4,ver,colltr,settyp,setflg,setperflg,setchgflg,pertypprv,minpercnt,maxpercnt,maxpercov,basamt,permaxtr2,permaxtr3,permaxtr4,permaxtr5,permaxtr6,permaxtr7,clcdifflg,etgextkey,calrul,amtflg
    </sql>

    <select id="selectByPrimaryKey" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from fec
        where inr = #{inr,jdbcType=VARCHAR}
    </select>

    <select id="selectByInr" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from fec
        where inr = #{inr,jdbcType=VARCHAR}
    </select>

    <select id="selectByFeeInrLowAmtHigAmt" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from fec
        where feeinr = #{feeinr,jdbcType=VARCHAR}
        <![CDATA[and lowamt<= #{amt,jdbcType=DECIMAL} and higamt >= #{amt,jdbcType=DECIMAL}
        and (begdat <= #{fecRefDat,jdbcType=DATE} and engdat > #{fecRefDat,jdbcType=DATE})]]>
    </select>

    <select id="selectBegDat" resultMap="BaseResultMap">
        select begdat from fec where objinr = #{objInr,jdbcType=VARCHAR} and objtyp ='PTE'
        <![CDATA[and begdat >= #{begdat1,jdbcType=DATE} and begdat <= #{begdat2,jdbcType=DATE}]]>
        order by begdat
    </select>

    <delete id="deleteByPrimaryKey">
        delete from fec
        where inr = #{inr,jdbcType=VARCHAR}
    </delete>

    <insert id="insert">
        insert into fec (<include refid="Base_Column_List"/>)
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            #{inr,jdbcType=VARCHAR},
            #{feeinr,jdbcType=VARCHAR},
            #{feepri,jdbcType=VARCHAR},
            #{objtyp,jdbcType=VARCHAR},
            #{objinr,jdbcType=VARCHAR},
            #{begdat,jdbcType=DATE},
            #{enddat,jdbcType=DATE},
            #{calcbs,jdbcType=VARCHAR},
            #{calfcc,jdbcType=VARCHAR},
            #{lowamt,jdbcType=DECIMAL},
            #{higamt,jdbcType=DECIMAL},
            #{maxcur,jdbcType=VARCHAR},
            #{maxamt,jdbcType=DECIMAL},
            #{maxfcc,jdbcType=VARCHAR},
            #{mincur,jdbcType=VARCHAR},
            #{minamt,jdbcType=DECIMAL},
            #{minamttot,jdbcType=DECIMAL},
            #{amtsetall,jdbcType=DECIMAL},
            #{minfcc,jdbcType=VARCHAR},
            #{untamt,jdbcType=DECIMAL},
            #{ratcal,jdbcType=DECIMAL},
            #{ratcur,jdbcType=VARCHAR},
            #{ratfcc,jdbcType=VARCHAR},
            #{ratirs,jdbcType=VARCHAR},
            #{ratirsinc,jdbcType=VARCHAR},
            #{setmod,jdbcType=VARCHAR},
            #{setbeg,jdbcType=VARCHAR},
            #{setend,jdbcType=VARCHAR},
            #{pertyp,jdbcType=VARCHAR},
            #{tirtyp,jdbcType=VARCHAR},
            #{permin,jdbcType=INTEGER},
            #{perbegtr2,jdbcType=INTEGER},
            #{perrattr2,jdbcType=DECIMAL},
            #{permintr2,jdbcType=DECIMAL},
            #{perbegtr3,jdbcType=INTEGER},
            #{perrattr3,jdbcType=DECIMAL},
            #{permintr3,jdbcType=DECIMAL},
            #{perbegtr4,jdbcType=INTEGER},
            #{perrattr4,jdbcType=DECIMAL},
            #{permintr4,jdbcType=DECIMAL},
            #{perbegtr5,jdbcType=INTEGER},
            #{perrattr5,jdbcType=DECIMAL},
            #{permintr5,jdbcType=DECIMAL},
            #{perbegtr6,jdbcType=INTEGER},
            #{perrattr6,jdbcType=DECIMAL},
            #{permintr6,jdbcType=DECIMAL},
            #{perbegtr7,jdbcType=INTEGER},
            #{perrattr7,jdbcType=DECIMAL},
            #{permintr7,jdbcType=DECIMAL},
            #{amtbegtr2,jdbcType=DECIMAL},
            #{amtrattr2,jdbcType=DECIMAL},
            #{amtbegtr3,jdbcType=DECIMAL},
            #{amtrattr3,jdbcType=DECIMAL},
            #{amtbegtr4,jdbcType=DECIMAL},
            #{amtrattr4,jdbcType=DECIMAL},
            #{ver,jdbcType=VARCHAR},
            #{colltr,jdbcType=VARCHAR},
            #{settyp,jdbcType=VARCHAR},
            #{setflg,jdbcType=VARCHAR},
            #{setperflg,jdbcType=VARCHAR},
            #{setchgflg,jdbcType=VARCHAR},
            #{pertypprv,jdbcType=VARCHAR},
            #{minpercnt,jdbcType=INTEGER},
            #{maxpercnt,jdbcType=INTEGER},
            #{maxpercov,jdbcType=INTEGER},
            #{basamt,jdbcType=DECIMAL},
            #{permaxtr2,jdbcType=DECIMAL},
            #{permaxtr3,jdbcType=DECIMAL},
            #{permaxtr4,jdbcType=DECIMAL},
            #{permaxtr5,jdbcType=DECIMAL},
            #{permaxtr6,jdbcType=DECIMAL},
            #{permaxtr7,jdbcType=DECIMAL},
            #{clcdifflg,jdbcType=VARCHAR},
            'CEBGRP',
            #{calrul,jdbcType=VARCHAR},
            #{amtflg,jdbcType=VARCHAR},
        </trim>
    </insert>

    <insert id="insertSelective">
        insert into fec
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="inr != null">inr,</if>
            <if test="feeinr != null">feeinr,</if>
            <if test="feepri != null">feepri,</if>
            <if test="objtyp != null">objtyp,</if>
            <if test="objinr != null">objinr,</if>
            <if test="begdat != null">begdat,</if>
            <if test="enddat != null">enddat,</if>
            <if test="calcbs != null">calcbs,</if>
            <if test="calfcc != null">calfcc,</if>
            <if test="lowamt != null">lowamt,</if>
            <if test="higamt != null">higamt,</if>
            <if test="maxcur != null">maxcur,</if>
            <if test="maxamt != null">maxamt,</if>
            <if test="maxfcc != null">maxfcc,</if>
            <if test="mincur != null">mincur,</if>
            <if test="minamt != null">minamt,</if>
            <if test="minamttot != null">minamttot,</if>
            <if test="amtsetall != null">amtsetall,</if>
            <if test="minfcc != null">minfcc,</if>
            <if test="untamt != null">untamt,</if>
            <if test="ratcal != null">ratcal,</if>
            <if test="ratcur != null">ratcur,</if>
            <if test="ratfcc != null">ratfcc,</if>
            <if test="ratirs != null">ratirs,</if>
            <if test="ratirsinc != null">ratirsinc,</if>
            <if test="setmod != null">setmod,</if>
            <if test="setbeg != null">setbeg,</if>
            <if test="setend != null">setend,</if>
            <if test="pertyp != null">pertyp,</if>
            <if test="tirtyp != null">tirtyp,</if>
            <if test="permin != null">permin,</if>
            <if test="perbegtr2 != null">perbegtr2,</if>
            <if test="perrattr2 != null">perrattr2,</if>
            <if test="permintr2 != null">permintr2,</if>
            <if test="perbegtr3 != null">perbegtr3,</if>
            <if test="perrattr3 != null">perrattr3,</if>
            <if test="permintr3 != null">permintr3,</if>
            <if test="perbegtr4 != null">perbegtr4,</if>
            <if test="perrattr4 != null">perrattr4,</if>
            <if test="permintr4 != null">permintr4,</if>
            <if test="perbegtr5 != null">perbegtr5,</if>
            <if test="perrattr5 != null">perrattr5,</if>
            <if test="permintr5 != null">permintr5,</if>
            <if test="perbegtr6 != null">perbegtr6,</if>
            <if test="perrattr6 != null">perrattr6,</if>
            <if test="permintr6 != null">permintr6,</if>
            <if test="perbegtr7 != null">perbegtr7,</if>
            <if test="perrattr7 != null">perrattr7,</if>
            <if test="permintr7 != null">permintr7,</if>
            <if test="amtbegtr2 != null">amtbegtr2,</if>
            <if test="amtrattr2 != null">amtrattr2,</if>
            <if test="amtbegtr3 != null">amtbegtr3,</if>
            <if test="amtrattr3 != null">amtrattr3,</if>
            <if test="amtbegtr4 != null">amtbegtr4,</if>
            <if test="amtrattr4 != null">amtrattr4,</if>
            <if test="ver != null">ver,</if>
            <if test="colltr != null">colltr,</if>
            <if test="settyp != null">settyp,</if>
            <if test="setflg != null">setflg,</if>
            <if test="setperflg != null">setperflg,</if>
            <if test="setchgflg != null">setchgflg,</if>
            <if test="pertypprv != null">pertypprv,</if>
            <if test="minpercnt != null">minpercnt,</if>
            <if test="maxpercnt != null">maxpercnt,</if>
            <if test="maxpercov != null">maxpercov,</if>
            <if test="basamt != null">basamt,</if>
            <if test="permaxtr2 != null">permaxtr2,</if>
            <if test="permaxtr3 != null">permaxtr3,</if>
            <if test="permaxtr4 != null">permaxtr4,</if>
            <if test="permaxtr5 != null">permaxtr5,</if>
            <if test="permaxtr6 != null">permaxtr6,</if>
            <if test="permaxtr7 != null">permaxtr7,</if>
            <if test="clcdifflg != null">clcdifflg,</if>
            etgextkey,
            <if test="calrul != null">calrul,</if>
            <if test="amtflg != null">amtflg,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="inr != null">#{inr,jdbcType=VARCHAR},</if>
            <if test="feeinr != null">#{feeinr,jdbcType=VARCHAR},</if>
            <if test="feepri != null">#{feepri,jdbcType=VARCHAR},</if>
            <if test="objtyp != null">#{objtyp,jdbcType=VARCHAR},</if>
            <if test="objinr != null">#{objinr,jdbcType=VARCHAR},</if>
            <if test="begdat != null">#{begdat,jdbcType=DATE},</if>
            <if test="enddat != null">#{enddat,jdbcType=DATE},</if>
            <if test="calcbs != null">#{calcbs,jdbcType=VARCHAR},</if>
            <if test="calfcc != null">#{calfcc,jdbcType=VARCHAR},</if>
            <if test="lowamt != null">#{lowamt,jdbcType=DECIMAL},</if>
            <if test="higamt != null">#{higamt,jdbcType=DECIMAL},</if>
            <if test="maxcur != null">#{maxcur,jdbcType=VARCHAR},</if>
            <if test="maxamt != null">#{maxamt,jdbcType=DECIMAL},</if>
            <if test="maxfcc != null">#{maxfcc,jdbcType=VARCHAR},</if>
            <if test="mincur != null">#{mincur,jdbcType=VARCHAR},</if>
            <if test="minamt != null">#{minamt,jdbcType=DECIMAL},</if>
            <if test="minamttot != null">#{minamttot,jdbcType=DECIMAL},</if>
            <if test="amtsetall != null">#{amtsetall,jdbcType=DECIMAL},</if>
            <if test="minfcc != null">#{minfcc,jdbcType=VARCHAR},</if>
            <if test="untamt != null">#{untamt,jdbcType=DECIMAL},</if>
            <if test="ratcal != null">#{ratcal,jdbcType=DECIMAL},</if>
            <if test="ratcur != null">#{ratcur,jdbcType=VARCHAR},</if>
            <if test="ratfcc != null">#{ratfcc,jdbcType=VARCHAR},</if>
            <if test="ratirs != null">#{ratirs,jdbcType=VARCHAR},</if>
            <if test="ratirsinc != null">#{ratirsinc,jdbcType=VARCHAR},</if>
            <if test="setmod != null">#{setmod,jdbcType=VARCHAR},</if>
            <if test="setbeg != null">#{setbeg,jdbcType=VARCHAR},</if>
            <if test="setend != null">#{setend,jdbcType=VARCHAR},</if>
            <if test="pertyp != null">#{pertyp,jdbcType=VARCHAR},</if>
            <if test="tirtyp != null">#{tirtyp,jdbcType=VARCHAR},</if>
            <if test="permin != null">#{permin,jdbcType=INTEGER},</if>
            <if test="perbegtr2 != null">#{perbegtr2,jdbcType=INTEGER},</if>
            <if test="perrattr2 != null">#{perrattr2,jdbcType=DECIMAL},</if>
            <if test="permintr2 != null">#{permintr2,jdbcType=DECIMAL},</if>
            <if test="perbegtr3 != null">#{perbegtr3,jdbcType=INTEGER},</if>
            <if test="perrattr3 != null">#{perrattr3,jdbcType=DECIMAL},</if>
            <if test="permintr3 != null">#{permintr3,jdbcType=DECIMAL},</if>
            <if test="perbegtr4 != null">#{perbegtr4,jdbcType=INTEGER},</if>
            <if test="perrattr4 != null">#{perrattr4,jdbcType=DECIMAL},</if>
            <if test="permintr4 != null">#{permintr4,jdbcType=DECIMAL},</if>
            <if test="perbegtr5 != null">#{perbegtr5,jdbcType=INTEGER},</if>
            <if test="perrattr5 != null">#{perrattr5,jdbcType=DECIMAL},</if>
            <if test="permintr5 != null">#{permintr5,jdbcType=DECIMAL},</if>
            <if test="perbegtr6 != null">#{perbegtr6,jdbcType=INTEGER},</if>
            <if test="perrattr6 != null">#{perrattr6,jdbcType=DECIMAL},</if>
            <if test="permintr6 != null">#{permintr6,jdbcType=DECIMAL},</if>
            <if test="perbegtr7 != null">#{perbegtr7,jdbcType=INTEGER},</if>
            <if test="perrattr7 != null">#{perrattr7,jdbcType=DECIMAL},</if>
            <if test="permintr7 != null">#{permintr7,jdbcType=DECIMAL},</if>
            <if test="amtbegtr2 != null">#{amtbegtr2,jdbcType=DECIMAL},</if>
            <if test="amtrattr2 != null">#{amtrattr2,jdbcType=DECIMAL},</if>
            <if test="amtbegtr3 != null">#{amtbegtr3,jdbcType=DECIMAL},</if>
            <if test="amtrattr3 != null">#{amtrattr3,jdbcType=DECIMAL},</if>
            <if test="amtbegtr4 != null">#{amtbegtr4,jdbcType=DECIMAL},</if>
            <if test="amtrattr4 != null">#{amtrattr4,jdbcType=DECIMAL},</if>
            <if test="ver != null">#{ver,jdbcType=VARCHAR},</if>
            <if test="colltr != null">#{colltr,jdbcType=VARCHAR},</if>
            <if test="settyp != null">#{settyp,jdbcType=VARCHAR},</if>
            <if test="setflg != null">#{setflg,jdbcType=VARCHAR},</if>
            <if test="setperflg != null">#{setperflg,jdbcType=VARCHAR},</if>
            <if test="setchgflg != null">#{setchgflg,jdbcType=VARCHAR},</if>
            <if test="pertypprv != null">#{pertypprv,jdbcType=VARCHAR},</if>
            <if test="minpercnt != null">#{minpercnt,jdbcType=INTEGER},</if>
            <if test="maxpercnt != null">#{maxpercnt,jdbcType=INTEGER},</if>
            <if test="maxpercov != null">#{maxpercov,jdbcType=INTEGER},</if>
            <if test="basamt != null">#{basamt,jdbcType=DECIMAL},</if>
            <if test="permaxtr2 != null">#{permaxtr2,jdbcType=DECIMAL},</if>
            <if test="permaxtr3 != null">#{permaxtr3,jdbcType=DECIMAL},</if>
            <if test="permaxtr4 != null">#{permaxtr4,jdbcType=DECIMAL},</if>
            <if test="permaxtr5 != null">#{permaxtr5,jdbcType=DECIMAL},</if>
            <if test="permaxtr6 != null">#{permaxtr6,jdbcType=DECIMAL},</if>
            <if test="permaxtr7 != null">#{permaxtr7,jdbcType=DECIMAL},</if>
            <if test="clcdifflg != null">#{clcdifflg,jdbcType=VARCHAR},</if>
            'CEBGRP',
            <if test="calrul != null">#{calrul,jdbcType=VARCHAR},</if>
            <if test="amtflg != null">#{amtflg,jdbcType=VARCHAR},</if>
        </trim>
    </insert>

    <update id="updateByPrimaryKeySelective">
        update fec
        <set>
            <if test="feeinr != null">feeinr = #{feeinr,jdbcType=VARCHAR},</if>
            <if test="feepri != null">feepri = #{feepri,jdbcType=VARCHAR},</if>
            <if test="objtyp != null">objtyp = #{objtyp,jdbcType=VARCHAR},</if>
            <if test="objinr != null">objinr = #{objinr,jdbcType=VARCHAR},</if>
            <if test="begdat != null">begdat = #{begdat,jdbcType=DATE},</if>
            <if test="enddat != null">enddat = #{enddat,jdbcType=DATE},</if>
            <if test="calcbs != null">calcbs = #{calcbs,jdbcType=VARCHAR},</if>
            <if test="calfcc != null">calfcc = #{calfcc,jdbcType=VARCHAR},</if>
            <if test="lowamt != null">lowamt = #{lowamt,jdbcType=DECIMAL},</if>
            <if test="higamt != null">higamt = #{higamt,jdbcType=DECIMAL},</if>
            <if test="maxcur != null">maxcur = #{maxcur,jdbcType=VARCHAR},</if>
            <if test="maxamt != null">maxamt = #{maxamt,jdbcType=DECIMAL},</if>
            <if test="maxfcc != null">maxfcc = #{maxfcc,jdbcType=VARCHAR},</if>
            <if test="mincur != null">mincur = #{mincur,jdbcType=VARCHAR},</if>
            <if test="minamt != null">minamt = #{minamt,jdbcType=DECIMAL},</if>
            <if test="minamttot != null">minamttot = #{minamttot,jdbcType=DECIMAL},</if>
            <if test="amtsetall != null">amtsetall = #{amtsetall,jdbcType=DECIMAL},</if>
            <if test="minfcc != null">minfcc = #{minfcc,jdbcType=VARCHAR},</if>
            <if test="untamt != null">untamt = #{untamt,jdbcType=DECIMAL},</if>
            <if test="ratcal != null">ratcal = #{ratcal,jdbcType=DECIMAL},</if>
            <if test="ratcur != null">ratcur = #{ratcur,jdbcType=VARCHAR},</if>
            <if test="ratfcc != null">ratfcc = #{ratfcc,jdbcType=VARCHAR},</if>
            <if test="ratirs != null">ratirs = #{ratirs,jdbcType=VARCHAR},</if>
            <if test="ratirsinc != null">ratirsinc = #{ratirsinc,jdbcType=VARCHAR},</if>
            <if test="setmod != null">setmod = #{setmod,jdbcType=VARCHAR},</if>
            <if test="setbeg != null">setbeg = #{setbeg,jdbcType=VARCHAR},</if>
            <if test="setend != null">setend = #{setend,jdbcType=VARCHAR},</if>
            <if test="pertyp != null">pertyp = #{pertyp,jdbcType=VARCHAR},</if>
            <if test="tirtyp != null">tirtyp = #{tirtyp,jdbcType=VARCHAR},</if>
            <if test="permin != null">permin = #{permin,jdbcType=INTEGER},</if>
            <if test="perbegtr2 != null">perbegtr2 = #{perbegtr2,jdbcType=INTEGER},</if>
            <if test="perrattr2 != null">perrattr2 = #{perrattr2,jdbcType=DECIMAL},</if>
            <if test="permintr2 != null">permintr2 = #{permintr2,jdbcType=DECIMAL},</if>
            <if test="perbegtr3 != null">perbegtr3 = #{perbegtr3,jdbcType=INTEGER},</if>
            <if test="perrattr3 != null">perrattr3 = #{perrattr3,jdbcType=DECIMAL},</if>
            <if test="permintr3 != null">permintr3 = #{permintr3,jdbcType=DECIMAL},</if>
            <if test="perbegtr4 != null">perbegtr4 = #{perbegtr4,jdbcType=INTEGER},</if>
            <if test="perrattr4 != null">perrattr4 = #{perrattr4,jdbcType=DECIMAL},</if>
            <if test="permintr4 != null">permintr4 = #{permintr4,jdbcType=DECIMAL},</if>
            <if test="perbegtr5 != null">perbegtr5 = #{perbegtr5,jdbcType=INTEGER},</if>
            <if test="perrattr5 != null">perrattr5 = #{perrattr5,jdbcType=DECIMAL},</if>
            <if test="permintr5 != null">permintr5 = #{permintr5,jdbcType=DECIMAL},</if>
            <if test="perbegtr6 != null">perbegtr6 = #{perbegtr6,jdbcType=INTEGER},</if>
            <if test="perrattr6 != null">perrattr6 = #{perrattr6,jdbcType=DECIMAL},</if>
            <if test="permintr6 != null">permintr6 = #{permintr6,jdbcType=DECIMAL},</if>
            <if test="perbegtr7 != null">perbegtr7 = #{perbegtr7,jdbcType=INTEGER},</if>
            <if test="perrattr7 != null">perrattr7 = #{perrattr7,jdbcType=DECIMAL},</if>
            <if test="permintr7 != null">permintr7 = #{permintr7,jdbcType=DECIMAL},</if>
            <if test="amtbegtr2 != null">amtbegtr2 = #{amtbegtr2,jdbcType=DECIMAL},</if>
            <if test="amtrattr2 != null">amtrattr2 = #{amtrattr2,jdbcType=DECIMAL},</if>
            <if test="amtbegtr3 != null">amtbegtr3 = #{amtbegtr3,jdbcType=DECIMAL},</if>
            <if test="amtrattr3 != null">amtrattr3 = #{amtrattr3,jdbcType=DECIMAL},</if>
            <if test="amtbegtr4 != null">amtbegtr4 = #{amtbegtr4,jdbcType=DECIMAL},</if>
            <if test="amtrattr4 != null">amtrattr4 = #{amtrattr4,jdbcType=DECIMAL},</if>
            <if test="ver != null">ver = #{ver,jdbcType=VARCHAR},</if>
            <if test="colltr != null">colltr = #{colltr,jdbcType=VARCHAR},</if>
            <if test="settyp != null">settyp = #{settyp,jdbcType=VARCHAR},</if>
            <if test="setflg != null">setflg = #{setflg,jdbcType=VARCHAR},</if>
            <if test="setperflg != null">setperflg = #{setperflg,jdbcType=VARCHAR},</if>
            <if test="setchgflg != null">setchgflg = #{setchgflg,jdbcType=VARCHAR},</if>
            <if test="pertypprv != null">pertypprv = #{pertypprv,jdbcType=VARCHAR},</if>
            <if test="minpercnt != null">minpercnt = #{minpercnt,jdbcType=INTEGER},</if>
            <if test="maxpercnt != null">maxpercnt = #{maxpercnt,jdbcType=INTEGER},</if>
            <if test="maxpercov != null">maxpercov = #{maxpercov,jdbcType=INTEGER},</if>
            <if test="basamt != null">basamt = #{basamt,jdbcType=DECIMAL},</if>
            <if test="permaxtr2 != null">permaxtr2 = #{permaxtr2,jdbcType=DECIMAL},</if>
            <if test="permaxtr3 != null">permaxtr3 = #{permaxtr3,jdbcType=DECIMAL},</if>
            <if test="permaxtr4 != null">permaxtr4 = #{permaxtr4,jdbcType=DECIMAL},</if>
            <if test="permaxtr5 != null">permaxtr5 = #{permaxtr5,jdbcType=DECIMAL},</if>
            <if test="permaxtr6 != null">permaxtr6 = #{permaxtr6,jdbcType=DECIMAL},</if>
            <if test="permaxtr7 != null">permaxtr7 = #{permaxtr7,jdbcType=DECIMAL},</if>
            <if test="clcdifflg != null">clcdifflg = #{clcdifflg,jdbcType=VARCHAR},</if>
            etgextkey = 'CEBGRP',
            <if test="calrul != null">calrul = #{calrul,jdbcType=VARCHAR},</if>
            <if test="amtflg != null">amtflg = #{amtflg,jdbcType=VARCHAR},</if>
        </set>
        where inr = #{inr,jdbcType=VARCHAR}
    </update>

    <update id="updateByPrimaryKey">
        update fec
        <set>
            feeinr = #{feeinr,jdbcType=VARCHAR},
            feepri = #{feepri,jdbcType=VARCHAR},
            objtyp = #{objtyp,jdbcType=VARCHAR},
            objinr = #{objinr,jdbcType=VARCHAR},
            begdat = #{begdat,jdbcType=DATE},
            enddat = #{enddat,jdbcType=DATE},
            calcbs = #{calcbs,jdbcType=VARCHAR},
            calfcc = #{calfcc,jdbcType=VARCHAR},
            lowamt = #{lowamt,jdbcType=DECIMAL},
            higamt = #{higamt,jdbcType=DECIMAL},
            maxcur = #{maxcur,jdbcType=VARCHAR},
            maxamt = #{maxamt,jdbcType=DECIMAL},
            maxfcc = #{maxfcc,jdbcType=VARCHAR},
            mincur = #{mincur,jdbcType=VARCHAR},
            minamt = #{minamt,jdbcType=DECIMAL},
            minamttot = #{minamttot,jdbcType=DECIMAL},
            amtsetall = #{amtsetall,jdbcType=DECIMAL},
            minfcc = #{minfcc,jdbcType=VARCHAR},
            untamt = #{untamt,jdbcType=DECIMAL},
            ratcal = #{ratcal,jdbcType=DECIMAL},
            ratcur = #{ratcur,jdbcType=VARCHAR},
            ratfcc = #{ratfcc,jdbcType=VARCHAR},
            ratirs = #{ratirs,jdbcType=VARCHAR},
            ratirsinc = #{ratirsinc,jdbcType=VARCHAR},
            setmod = #{setmod,jdbcType=VARCHAR},
            setbeg = #{setbeg,jdbcType=VARCHAR},
            setend = #{setend,jdbcType=VARCHAR},
            pertyp = #{pertyp,jdbcType=VARCHAR},
            tirtyp = #{tirtyp,jdbcType=VARCHAR},
            permin = #{permin,jdbcType=INTEGER},
            perbegtr2 = #{perbegtr2,jdbcType=INTEGER},
            perrattr2 = #{perrattr2,jdbcType=DECIMAL},
            permintr2 = #{permintr2,jdbcType=DECIMAL},
            perbegtr3 = #{perbegtr3,jdbcType=INTEGER},
            perrattr3 = #{perrattr3,jdbcType=DECIMAL},
            permintr3 = #{permintr3,jdbcType=DECIMAL},
            perbegtr4 = #{perbegtr4,jdbcType=INTEGER},
            perrattr4 = #{perrattr4,jdbcType=DECIMAL},
            permintr4 = #{permintr4,jdbcType=DECIMAL},
            perbegtr5 = #{perbegtr5,jdbcType=INTEGER},
            perrattr5 = #{perrattr5,jdbcType=DECIMAL},
            permintr5 = #{permintr5,jdbcType=DECIMAL},
            perbegtr6 = #{perbegtr6,jdbcType=INTEGER},
            perrattr6 = #{perrattr6,jdbcType=DECIMAL},
            permintr6 = #{permintr6,jdbcType=DECIMAL},
            perbegtr7 = #{perbegtr7,jdbcType=INTEGER},
            perrattr7 = #{perrattr7,jdbcType=DECIMAL},
            permintr7 = #{permintr7,jdbcType=DECIMAL},
            amtbegtr2 = #{amtbegtr2,jdbcType=DECIMAL},
            amtrattr2 = #{amtrattr2,jdbcType=DECIMAL},
            amtbegtr3 = #{amtbegtr3,jdbcType=DECIMAL},
            amtrattr3 = #{amtrattr3,jdbcType=DECIMAL},
            amtbegtr4 = #{amtbegtr4,jdbcType=DECIMAL},
            amtrattr4 = #{amtrattr4,jdbcType=DECIMAL},
            ver = #{ver,jdbcType=VARCHAR},
            colltr = #{colltr,jdbcType=VARCHAR},
            settyp = #{settyp,jdbcType=VARCHAR},
            setflg = #{setflg,jdbcType=VARCHAR},
            setperflg = #{setperflg,jdbcType=VARCHAR},
            setchgflg = #{setchgflg,jdbcType=VARCHAR},
            pertypprv = #{pertypprv,jdbcType=VARCHAR},
            minpercnt = #{minpercnt,jdbcType=INTEGER},
            maxpercnt = #{maxpercnt,jdbcType=INTEGER},
            maxpercov = #{maxpercov,jdbcType=INTEGER},
            basamt = #{basamt,jdbcType=DECIMAL},
            permaxtr2 = #{permaxtr2,jdbcType=DECIMAL},
            permaxtr3 = #{permaxtr3,jdbcType=DECIMAL},
            permaxtr4 = #{permaxtr4,jdbcType=DECIMAL},
            permaxtr5 = #{permaxtr5,jdbcType=DECIMAL},
            permaxtr6 = #{permaxtr6,jdbcType=DECIMAL},
            permaxtr7 = #{permaxtr7,jdbcType=DECIMAL},
            clcdifflg = #{clcdifflg,jdbcType=VARCHAR},
            etgextkey = 'CEBGRP',
            calrul = #{calrul,jdbcType=VARCHAR},
            amtflg = #{amtflg,jdbcType=VARCHAR},
        </set>
        where inr = #{inr,jdbcType=VARCHAR}
    </update>

    <delete id="deleteByIds">
        delete from act where inr in
        <foreach item="item" index="index" collection="collection" open="(" separator="," close=")">
            #{item}
        </foreach>
    </delete>

    <update id="dyncUpdate">
        update fec
        <set>
            <if test="module.feeinr != null">feeinr = #{module.feeinr,jdbcType=VARCHAR},</if>
            <if test="module.feepri != null">feepri = #{module.feepri,jdbcType=VARCHAR},</if>
            <if test="module.objtyp != null">objtyp = #{module.objtyp,jdbcType=VARCHAR},</if>
            <if test="module.objinr != null">objinr = #{module.objinr,jdbcType=VARCHAR},</if>
            <if test="module.begdat != null">begdat = #{module.begdat,jdbcType=DATE},</if>
            <if test="module.enddat != null">enddat = #{module.enddat,jdbcType=DATE},</if>
            <if test="module.calcbs != null">calcbs = #{module.calcbs,jdbcType=VARCHAR},</if>
            <if test="module.calfcc != null">calfcc = #{module.calfcc,jdbcType=VARCHAR},</if>
            <if test="module.lowamt != null">lowamt = #{module.lowamt,jdbcType=DECIMAL},</if>
            <if test="module.higamt != null">higamt = #{module.higamt,jdbcType=DECIMAL},</if>
            <if test="module.maxcur != null">maxcur = #{module.maxcur,jdbcType=VARCHAR},</if>
            <if test="module.maxamt != null">maxamt = #{module.maxamt,jdbcType=DECIMAL},</if>
            <if test="module.maxfcc != null">maxfcc = #{module.maxfcc,jdbcType=VARCHAR},</if>
            <if test="module.mincur != null">mincur = #{module.mincur,jdbcType=VARCHAR},</if>
            <if test="module.minamt != null">minamt = #{module.minamt,jdbcType=DECIMAL},</if>
            <if test="module.minamttot != null">minamttot = #{module.minamttot,jdbcType=DECIMAL},</if>
            <if test="module.amtsetall != null">amtsetall = #{module.amtsetall,jdbcType=DECIMAL},</if>
            <if test="module.minfcc != null">minfcc = #{module.minfcc,jdbcType=VARCHAR},</if>
            <if test="module.untamt != null">untamt = #{module.untamt,jdbcType=DECIMAL},</if>
            <if test="module.ratcal != null">ratcal = #{module.ratcal,jdbcType=DECIMAL},</if>
            <if test="module.ratcur != null">ratcur = #{module.ratcur,jdbcType=VARCHAR},</if>
            <if test="module.ratfcc != null">ratfcc = #{module.ratfcc,jdbcType=VARCHAR},</if>
            <if test="module.ratirs != null">ratirs = #{module.ratirs,jdbcType=VARCHAR},</if>
            <if test="module.ratirsinc != null">ratirsinc = #{module.ratirsinc,jdbcType=VARCHAR},</if>
            <if test="module.setmod != null">setmod = #{module.setmod,jdbcType=VARCHAR},</if>
            <if test="module.setbeg != null">setbeg = #{module.setbeg,jdbcType=VARCHAR},</if>
            <if test="module.setend != null">setend = #{module.setend,jdbcType=VARCHAR},</if>
            <if test="module.pertyp != null">pertyp = #{module.pertyp,jdbcType=VARCHAR},</if>
            <if test="module.tirtyp != null">tirtyp = #{module.tirtyp,jdbcType=VARCHAR},</if>
            <if test="module.permin != null">permin = #{module.permin,jdbcType=INTEGER},</if>
            <if test="module.perbegtr2 != null">perbegtr2 = #{module.perbegtr2,jdbcType=INTEGER},</if>
            <if test="module.perrattr2 != null">perrattr2 = #{module.perrattr2,jdbcType=DECIMAL},</if>
            <if test="module.permintr2 != null">permintr2 = #{module.permintr2,jdbcType=DECIMAL},</if>
            <if test="module.perbegtr3 != null">perbegtr3 = #{module.perbegtr3,jdbcType=INTEGER},</if>
            <if test="module.perrattr3 != null">perrattr3 = #{module.perrattr3,jdbcType=DECIMAL},</if>
            <if test="module.permintr3 != null">permintr3 = #{module.permintr3,jdbcType=DECIMAL},</if>
            <if test="module.perbegtr4 != null">perbegtr4 = #{module.perbegtr4,jdbcType=INTEGER},</if>
            <if test="module.perrattr4 != null">perrattr4 = #{module.perrattr4,jdbcType=DECIMAL},</if>
            <if test="module.permintr4 != null">permintr4 = #{module.permintr4,jdbcType=DECIMAL},</if>
            <if test="module.perbegtr5 != null">perbegtr5 = #{module.perbegtr5,jdbcType=INTEGER},</if>
            <if test="module.perrattr5 != null">perrattr5 = #{module.perrattr5,jdbcType=DECIMAL},</if>
            <if test="module.permintr5 != null">permintr5 = #{module.permintr5,jdbcType=DECIMAL},</if>
            <if test="module.perbegtr6 != null">perbegtr6 = #{module.perbegtr6,jdbcType=INTEGER},</if>
            <if test="module.perrattr6 != null">perrattr6 = #{module.perrattr6,jdbcType=DECIMAL},</if>
            <if test="module.permintr6 != null">permintr6 = #{module.permintr6,jdbcType=DECIMAL},</if>
            <if test="module.perbegtr7 != null">perbegtr7 = #{module.perbegtr7,jdbcType=INTEGER},</if>
            <if test="module.perrattr7 != null">perrattr7 = #{module.perrattr7,jdbcType=DECIMAL},</if>
            <if test="module.permintr7 != null">permintr7 = #{module.permintr7,jdbcType=DECIMAL},</if>
            <if test="module.amtbegtr2 != null">amtbegtr2 = #{module.amtbegtr2,jdbcType=DECIMAL},</if>
            <if test="module.amtrattr2 != null">amtrattr2 = #{module.amtrattr2,jdbcType=DECIMAL},</if>
            <if test="module.amtbegtr3 != null">amtbegtr3 = #{module.amtbegtr3,jdbcType=DECIMAL},</if>
            <if test="module.amtrattr3 != null">amtrattr3 = #{module.amtrattr3,jdbcType=DECIMAL},</if>
            <if test="module.amtbegtr4 != null">amtbegtr4 = #{module.amtbegtr4,jdbcType=DECIMAL},</if>
            <if test="module.amtrattr4 != null">amtrattr4 = #{module.amtrattr4,jdbcType=DECIMAL},</if>
            <if test="module.ver != null">ver = #{module.ver,jdbcType=VARCHAR},</if>
            <if test="module.colltr != null">colltr = #{module.colltr,jdbcType=VARCHAR},</if>
            <if test="module.settyp != null">settyp = #{module.settyp,jdbcType=VARCHAR},</if>
            <if test="module.setflg != null">setflg = #{module.setflg,jdbcType=VARCHAR},</if>
            <if test="module.setperflg != null">setperflg = #{module.setperflg,jdbcType=VARCHAR},</if>
            <if test="module.setchgflg != null">setchgflg = #{module.setchgflg,jdbcType=VARCHAR},</if>
            <if test="module.pertypprv != null">pertypprv = #{module.pertypprv,jdbcType=VARCHAR},</if>
            <if test="module.minpercnt != null">minpercnt = #{module.minpercnt,jdbcType=INTEGER},</if>
            <if test="module.maxpercnt != null">maxpercnt = #{module.maxpercnt,jdbcType=INTEGER},</if>
            <if test="module.maxpercov != null">maxpercov = #{module.maxpercov,jdbcType=INTEGER},</if>
            <if test="module.basamt != null">basamt = #{module.basamt,jdbcType=DECIMAL},</if>
            <if test="module.permaxtr2 != null">permaxtr2 = #{module.permaxtr2,jdbcType=DECIMAL},</if>
            <if test="module.permaxtr3 != null">permaxtr3 = #{module.permaxtr3,jdbcType=DECIMAL},</if>
            <if test="module.permaxtr4 != null">permaxtr4 = #{module.permaxtr4,jdbcType=DECIMAL},</if>
            <if test="module.permaxtr5 != null">permaxtr5 = #{module.permaxtr5,jdbcType=DECIMAL},</if>
            <if test="module.permaxtr6 != null">permaxtr6 = #{module.permaxtr6,jdbcType=DECIMAL},</if>
            <if test="module.permaxtr7 != null">permaxtr7 = #{module.permaxtr7,jdbcType=DECIMAL},</if>
            <if test="module.clcdifflg != null">clcdifflg = #{module.clcdifflg,jdbcType=VARCHAR},</if>
            etgextkey = 'CEBGRP',
            <if test="module.calrul != null">calrul = #{module.calrul,jdbcType=VARCHAR},</if>
            <if test="module.amtflg != null">amtflg = #{module.amtflg,jdbcType=VARCHAR},</if>
        </set>
        ${conditions}
    </update>

    <delete id="dyncDelete">
        ${sql}
    </delete>

    <select id="dyncRead" resultMap="BaseResultMap">
        ${sql}
    </select>

    <select id="selectFecByObjtypAndObjinrAndFeeinrAndFeepri" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from fec
        where objtyp = #{objtyp,jdbcType=VARCHAR}
        and objinr = #{objinr,jdbcType=VARCHAR}
        <if test='feeinr != null and feeinr != ""'>
            and feeinr = #{feeinr,jdbcType=VARCHAR}
        </if>
        and feepri = #{feepri,jdbcType=VARCHAR}
    </select>

    <select id="selectFecByConditionSql" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from fec
        ${conditionSql}
    </select>

    <select id="selectFecByConditionSqlAndParams" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from fec
        ${conditionSql}
    </select>

    <select id="queryById" resultType="com.brilliance.isc.vo.manager.FecVo">
        select B.INR inr, B.FEEINR feeinr, B.FEEPRI feepri, B.OBJTYP objtyp, B.OBJINR objinr, date_format(B.BEGDAT,'%Y-%m-%d') begdat, date_format(B.ENDDAT,'%Y-%m-%d')
        enddat, B.CALCBS calcbs, B.CALFCC calfcc, B.LOWAMT lowamt, B.HIGAMT higamt, B.MAXCUR maxcur, B.MAXAMT maxamt,
        B.MAXFCC maxfcc, B.MINCUR mincur, B.MINAMT minamt, B.MINAMTTOT minamttot, B.AMTSETALL amtsetall, B.MINFCC
        minfcc, B.UNTAMT untamt, B.RATCAL ratcal, B.RATCUR ratcur, B.RATFCC ratfcc, B.RATIRS ratirs, B.RATIRSINC
        ratirsinc, B.SETMOD setmod, B.SETBEG setbeg, B.SETEND setend, rtrim(B.PERTYP) pertyp, B.TIRTYP tirtyp, B.PERMIN permin,
        B.PERBEGTR2 perbegtr2, B.PERRATTR2 perrattr2, B.PERMINTR2 permintr2, B.PERBEGTR3 perbegtr3, B.PERRATTR3
        perrattr3, B.PERMINTR3 permintr3, B.PERBEGTR4 perbegtr4, B.PERRATTR4 perrattr4, B.PERMINTR4 permintr4,
        B.PERBEGTR5 perbegtr5, B.PERRATTR5 perrattr5, B.PERMINTR5 permintr5, B.PERBEGTR6 perbegtr6, B.PERRATTR6
        perrattr6, B.PERMINTR6 permintr6, B.PERBEGTR7 perbegtr7, B.PERRATTR7 perrattr7, B.PERMINTR7 permintr7,
        B.AMTBEGTR2 amtbegtr2, B.AMTRATTR2 amtrattr2, B.AMTBEGTR3 amtbegtr3, B.AMTRATTR3 amtrattr3, B.AMTBEGTR4
        amtbegtr4, B.AMTRATTR4 amtrattr4, B.VER ver, trim(B.COLLTR) colltr, B.SETTYP settyp, B.SETFLG setflg, B.SETPERFLG
        setperflg, trim(B.SETCHGFLG) setchgflg, B.PERTYPPRV pertypprv, B.MINPERCNT minpercnt, B.MAXPERCNT maxpercnt,
        B.MAXPERCOV maxpercov, B.BASAMT basamt, B.PERMAXTR2 permaxtr2, B.PERMAXTR3 permaxtr3, B.PERMAXTR4 permaxtr4,
        B.PERMAXTR5 permaxtr5, B.PERMAXTR6 permaxtr6, B.PERMAXTR7 permaxtr7, B.CLCDIFFLG clcdifflg, B.ETGEXTKEY
        etgextkey, B.CALRUL calrul, B.AMTFLG amtflg,C.COD codFee from FEC B,FEE C where B.INR = #{inr} and B.FEEINR = C.INR
    </select>

    <select id="queryById1" resultType="com.brilliance.isc.vo.manager.FecVo">

select
FEC.INR INR,
FEE.INR FEEINR,
FEE.COD codFee,
FEC.OBJTYP,
FEC.OBJINR,
(case
when FEC.OBJTYP='GID' then (select ownref from GID where inr=fec.objinr)
when FEC.OBJTYP='NID' then (select ownref from NID where inr=fec.objinr)
when FEC.OBJTYP='REG' then (select COD from REG where inr=fec.objinr)
when FEC.OBJTYP='CTY' then (select COD from CTY where inr=fec.objinr)
when FEC.OBJTYP='PTY' then (select EXTKEY from PTY where inr=fec.objinr)
when FEC.OBJTYP='PTE' then (select ownref from PTE where inr=fec.objinr)
else fec.objinr
end) objcod ,
(case
when FEC.OBJTYP='GID' then (select nam from GID where inr=fec.objinr)
when FEC.OBJTYP='NID' then (select nam from NID where inr=fec.objinr)
when FEC.OBJTYP='REG' then (select STB.TXT from REG,STB where REG.inr=fec.objinr and REG.COD=STB.COD and STB.TBL='REGTXT' and stb.uil='EN')
when FEC.OBJTYP='CTY' then (select STB.TXT from CTY,STB where CTY.inr=fec.objinr and CTY.COD=STB.COD and STB.TBL='CTYTXT' and stb.uil='EN')
when FEC.OBJTYP='PTY' then (select NAM from PTY where inr=fec.objinr)
when FEC.OBJTYP='PTE' then (select NAM from PTE where inr=fec.objinr)
else fec.objinr
end) objnam
from fec,fee where
FEC.FEEINR=FEE.INR and fec.inr= #{inr}
    </select>

    <!--查询指定行数据-->
    <select id="queryAllByLimit" resultType="com.brilliance.isc.vo.manager.FecVo">
        select distinct B.INR inr, B.FEEINR feeinr, B.FEEPRI feepri, B.OBJTYP objtyp, B.OBJINR objinr, date_format(B.BEGDAT,'%Y-%m-%d') begdat, date_format(B.ENDDAT,'%Y-%m-%d')
        enddat, B.CALCBS calcbs, B.CALFCC calfcc, B.LOWAMT lowamt, B.HIGAMT higamt, B.MAXCUR maxcur, B.MAXAMT maxamt,
        B.MAXFCC maxfcc, B.MINCUR mincur, B.MINAMT minamt, B.MINAMTTOT minamttot, B.AMTSETALL amtsetall, B.MINFCC
        minfcc, B.UNTAMT untamt, B.RATCAL ratcal, B.RATCUR ratcur, B.RATFCC ratfcc, B.RATIRS ratirs, B.RATIRSINC
        ratirsinc, B.SETMOD setmod, B.SETBEG setbeg, B.SETEND setend, trim(B.PERTYP) pertyp, B.TIRTYP tirtyp, B.PERMIN permin,
        B.PERBEGTR2 perbegtr2, B.PERRATTR2 perrattr2, B.PERMINTR2 permintr2, B.PERBEGTR3 perbegtr3, B.PERRATTR3
        perrattr3, B.PERMINTR3 permintr3, B.PERBEGTR4 perbegtr4, B.PERRATTR4 perrattr4, B.PERMINTR4 permintr4,
        B.PERBEGTR5 perbegtr5, B.PERRATTR5 perrattr5, B.PERMINTR5 permintr5, B.PERBEGTR6 perbegtr6, B.PERRATTR6
        perrattr6, B.PERMINTR6 permintr6, B.PERBEGTR7 perbegtr7, B.PERRATTR7 perrattr7, B.PERMINTR7 permintr7,
        B.AMTBEGTR2 amtbegtr2, B.AMTRATTR2 amtrattr2, B.AMTBEGTR3 amtbegtr3, B.AMTRATTR3 amtrattr3, B.AMTBEGTR4
        amtbegtr4, B.AMTRATTR4 amtrattr4, B.VER ver, B.COLLTR colltr, B.SETTYP settyp, B.SETFLG setflg, B.SETPERFLG
        setperflg, B.SETCHGFLG setchgflg, B.PERTYPPRV pertypprv, B.MINPERCNT minpercnt, B.MAXPERCNT maxpercnt,
        B.MAXPERCOV maxpercov, B.BASAMT basamt, B.PERMAXTR2 permaxtr2, B.PERMAXTR3 permaxtr3, B.PERMAXTR4 permaxtr4,
        B.PERMAXTR5 permaxtr5, B.PERMAXTR6 permaxtr6, B.PERMAXTR7 permaxtr7, B.CLCDIFFLG clcdifflg, B.ETGEXTKEY
        etgextkey, B.CALRUL calrul, B.AMTFLG amtflg, C.COD codFee
        from FEC B
        left join FEE C ON B.FEEINR = C.INR
        <if test='entity.feepri != null and entity.feepri != "" and entity.feepri == "4"'>
            left join PTA A ON B.objinr = A.ptyinr
        </if>
        <where>
        <if test="entity.codFee != null and entity.codFee != ''">
            and C.COD like concat(concat('%',#{entity.codFee}),'%')
        </if>
        <if test='entity.feepri != null and entity.feepri != "" and entity.feepri != "4"'>
            and B.FEEPRI = #{entity.feepri}
        </if>
        <if test='entity.feepri != null and entity.feepri != "" and entity.feepri == "4"'>
            and B.FEEPRI = #{entity.feepri}
            <if test="entity.branchList != null and entity.branchList.size() >0">
                and (
                A.branchinr in
                <foreach item="item" index="index" collection="entity.branchList" open="(" separator="," close=")">
                    #{item}
                </foreach>
                or A.bchkeyinr in
                <foreach item="item" index="index" collection="entity.branchList" open="(" separator="," close=")">
                    #{item}
                </foreach>
                )
            </if>
        </if>
        <if test="entity.objtyp != null and entity.objtyp != ''">
            and B.OBJTYP = #{entity.objtyp}
        </if>
        <if test="entity.objinr != null and entity.objinr != ''">
            and B.OBJINR = #{entity.objinr}
        </if>
        order by B.INR desc
        </where>
    </select>

    <!--通过主键修改数据-->
    <update id="update">
        update FEC
        <set>
            <if test="item.inr != null and item.inr != ''">
                INR = #{item.inr},
            </if>
            <if test="item.feeinr != null and item.feeinr != ''">
                FEEINR = #{item.feeinr},
            </if>
            <if test="item.feepri != null and item.feepri != ''">
                FEEPRI = #{item.feepri},
            </if>
            <if test=" item.objtyp!= null and item.objtyp != ''">
                OBJTYP = #{item.objtyp},
            </if>
            <if test="item.objinr != null and item.objinr != ''">
                OBJINR = #{item.objinr},
            </if>
            <if test="item.begdat != null">
                BEGDAT = #{item.begdat},
            </if>
            <if test="item.enddat != null">
                ENDDAT = #{item.enddat},
            </if>
            CALCBS = #{item.calcbs},
            <if test="item.calfcc != null">
                CALFCC = #{item.calfcc},
            </if>
            <if test="item.lowamt != null and item.lowamt != ''">
                LOWAMT = #{item.lowamt},
            </if>
            <if test="item.higamt != null and item.higamt != ''">
                HIGAMT = #{item.higamt},
            </if>
            MAXCUR = #{item.maxcur},
            MAXAMT = #{item.maxamt},
            MAXFCC = #{item.maxfcc},
            MINCUR = #{item.mincur},
            MINAMT = #{item.minamt},
            <if test="item.minamttot != null and item.minamttot != ''">
                MINAMTTOT = #{item.minamttot},
            </if>
            <if test="item.amtsetall != null and item.amtsetall != ''">
                AMTSETALL = #{item.amtsetall},
            </if>
            MINFCC = #{item.minfcc},
            UNTAMT = #{item.untamt},
            RATCAL = #{item.ratcal},
            RATCUR = #{item.ratcur},
            <if test="item.ratfcc != null and item.ratfcc != ''">
                RATFCC = #{item.ratfcc},
            </if>
            <if test="item.ratirs != null and item.ratirs != ''">
                RATIRS = #{item.ratirs},
            </if>
            <if test="item.ratirsinc != null and item.ratirsinc != ''">
                RATIRSINC = #{item.ratirsinc},
            </if>
            <if test="item.setmod != null and item.setmod != ''">
                SETMOD = #{item.setmod},
            </if>
            <if test="item.setbeg != null and item.setbeg != ''">
                SETBEG = #{item.setbeg},
            </if>
            <if test="item.setend != null and item.setend != ''">
                SETEND = #{item.setend},
            </if>
            PERTYP = #{item.pertyp},
            <if test="item.tirtyp != null and item.tirtyp != ''">
                TIRTYP = #{item.tirtyp},
            </if>
            PERMIN = #{item.permin},
            PERBEGTR2 = #{item.perbegtr2},
            PERRATTR2 = #{item.perrattr2},
            <if test="item.permintr2 != null and item.permintr2 != ''">
                PERMINTR2 = #{item.permintr2},
            </if>
            PERBEGTR3 = #{item.perbegtr3},
            PERRATTR3 = #{item.perrattr3},
            <if test="item.permintr3 != null and item.permintr3 != ''">
                PERMINTR3 = #{item.permintr3},
            </if>
            PERBEGTR4 = #{item.perbegtr4},
            PERRATTR4 = #{item.perrattr4},
            <if test="item.permintr4 != null and item.permintr4 != ''">
                PERMINTR4 = #{item.permintr4},
            </if>
            PERBEGTR5 = #{item.perbegtr5},
            PERRATTR5 = #{item.perrattr5},
            <if test="item.permintr5 != null and item.permintr5 != ''">
                PERMINTR5 = #{item.permintr5},
            </if>
            <if test="item.perbegtr6 != null and item.perbegtr6 != ''">
                PERBEGTR6 = #{item.perbegtr6},
            </if>
            <if test="item.perrattr6 != null and item.perrattr6 != ''">
                PERRATTR6 = #{item.perrattr6},
            </if>
            <if test="item.permintr6 != null and item.permintr6 != ''">
                PERMINTR6 = #{item.permintr6},
            </if>
            <if test="item.perbegtr7 != null and item.perbegtr7 != ''">
                PERBEGTR7 = #{item.perbegtr7},
            </if>
            <if test="item.perrattr7 != null and item.perrattr7 != ''">
                PERRATTR7 = #{item.perrattr7},
            </if>
            <if test="item.permintr7 != null and item.permintr7 != ''">
                PERMINTR7 = #{item.permintr7},
            </if>
            <if test="item.amtbegtr2 != null and item.amtbegtr2 != ''">
                AMTBEGTR2 = #{item.amtbegtr2},
            </if>
            <if test="item.amtrattr2 != null and item.amtrattr2 != ''">
                AMTRATTR2 = #{item.amtrattr2},
            </if>
            <if test="item.amtbegtr3 != null and item.amtbegtr3 != ''">
                AMTBEGTR3 = #{item.amtbegtr3},
            </if>
            <if test="item.amtrattr3 != null and item.amtrattr3 != ''">
                AMTRATTR3 = #{item.amtrattr3},
            </if>
            <if test="item.amtbegtr4 != null and item.amtbegtr4 != ''">
                AMTBEGTR4 = #{item.amtbegtr4},
            </if>
            <if test="item.amtrattr4 != null and item.amtrattr4 != ''">
                AMTRATTR4 = #{item.amtrattr4},
            </if>
            <if test="item.ver != null and item.ver != ''">
                VER = #{item.ver},
            </if>
            COLLTR = #{item.colltr},
            <if test="item.settyp != null and item.settyp != ''">
                SETTYP = #{item.settyp},
            </if>
            <if test="item.setflg != null and item.setflg != ''">
                SETFLG = #{item.setflg},
            </if>
            <if test="item.setperflg != null and item.setperflg != ''">
                SETPERFLG = #{item.setperflg},
            </if>
            SETCHGFLG = #{item.setchgflg},
            <if test="item.pertypprv != null and item.pertypprv != ''">
                PERTYPPRV = #{item.pertypprv},
            </if>
            <if test="item.minpercnt != null and item.minpercnt != ''">
                MINPERCNT = #{item.minpercnt},
            </if>
            <if test="item.maxpercnt != null and item.maxpercnt != ''">
                MAXPERCNT = #{item.maxpercnt},
            </if>
            <if test="item.maxpercov != null and item.maxpercov != ''">
                MAXPERCOV = #{item.maxpercov},
            </if>
            <if test="item.basamt != null and item.basamt != ''">
                BASAMT = #{item.basamt},
            </if>
            <if test="item.permaxtr2 != null and item.permaxtr2 != ''">
                PERMAXTR2 = #{item.permaxtr2},
            </if>
            <if test="item.permaxtr3 != null and item.permaxtr3 != ''">
                PERMAXTR3 = #{item.permaxtr3},
            </if>
            <if test="item.permaxtr4 != null and item.permaxtr4 != ''">
                PERMAXTR4 = #{item.permaxtr4},
            </if>
            <if test="item.permaxtr5 != null and item.permaxtr5 != ''">
                PERMAXTR5 = #{item.permaxtr5},
            </if>
            <if test="item.permaxtr6 != null and item.permaxtr6 != ''">
                PERMAXTR6 = #{item.permaxtr6},
            </if>
            <if test="item.permaxtr7 != null and item.permaxtr7 != ''">
                PERMAXTR7 = #{item.permaxtr7},
            </if>
            <if test="item.clcdifflg != null and item.clcdifflg != ''">
                CLCDIFFLG = #{item.clcdifflg},
            </if>
                ETGEXTKEY = 'CEBGRP',
            <if test="item.calrul != null and item.calrul != ''">
                CALRUL = #{item.calrul},
            </if>
            <if test="item.amtflg != null and item.amtflg != ''">
                AMTFLG = #{item.amtflg},
            </if>
        </set>
        where INR = #{item.inr}
    </update>

    <!--新增fec数据-->
    <insert id="insertFec">
        insert into FEC(INR, FEEINR, FEEPRI, OBJTYP, OBJINR, BEGDAT, ENDDAT, CALCBS, CALFCC, LOWAMT, HIGAMT, MAXCUR,
        MAXAMT, MAXFCC, MINCUR, MINAMT, MINAMTTOT, AMTSETALL, MINFCC, UNTAMT, RATCAL, RATCUR, RATFCC, RATIRS, RATIRSINC,
        SETMOD, SETBEG, SETEND, PERTYP, TIRTYP, PERMIN, PERBEGTR2, PERRATTR2, PERMINTR2, PERBEGTR3, PERRATTR3, PERMINTR3,
        PERBEGTR4, PERRATTR4, PERMINTR4, PERBEGTR5, PERRATTR5, PERMINTR5, PERBEGTR6, PERRATTR6, PERMINTR6, PERBEGTR7, PERRATTR7,
        PERMINTR7, AMTBEGTR2, AMTRATTR2, AMTBEGTR3, AMTRATTR3, AMTBEGTR4, AMTRATTR4, VER, COLLTR, SETTYP, SETFLG, SETPERFLG,
        SETCHGFLG, PERTYPPRV, MINPERCNT, MAXPERCNT, MAXPERCOV, BASAMT, PERMAXTR2, PERMAXTR3, PERMAXTR4, PERMAXTR5, PERMAXTR6, PERMAXTR7, CLCDIFFLG, ETGEXTKEY, CALRUL, AMTFLG)
        values (#{item.inr}, #{item.feeinr}, #{item.feepri}, #{item.objtyp}, #{item.objinr}, #{item.begdat}, #{item.enddat}, #{item.calcbs}, #{item.calfcc}, #{item.lowamt}
        , #{item.higamt}, #{item.maxcur}, #{item.maxamt}, #{item.maxfcc}, #{item.mincur}, #{item.minamt}, #{item.minamttot}, #{item.amtsetall}, #{item.minfcc}, #{item.untamt}
        , #{item.ratcal}, #{item.ratcur}, #{item.ratfcc}, #{item.ratirs}, #{item.ratirsinc}, #{item.setmod}, #{item.setbeg}, #{item.setend}, #{item.pertyp}, #{item.tirtyp}
        , #{item.permin}, #{item.perbegtr2}, #{item.perrattr2}, #{item.permintr2}, #{item.perbegtr3}, #{item.perrattr3}, #{item.permintr3}, #{item.perbegtr4}, #{item.perrattr4}, #{item.permintr4}
        , #{item.perbegtr5}, #{item.perrattr5}, #{item.permintr5}, #{item.perbegtr6}, #{item.item.perrattr6}, #{item.permintr6}, #{item.perbegtr7}, #{item.perrattr7}, #{item.permintr7}, #{item.amtbegtr2}
        , #{item.amtrattr2}, #{item.amtbegtr3}, #{item.amtrattr3}, #{item.amtbegtr4}, #{item.amtrattr4}, '0000', #{item.colltr}, #{item.settyp}, #{item.setflg}, #{item.setperflg}, #{item.setchgflg}
        , #{item.pertypprv}, #{item.minpercnt}, #{item.maxpercnt}, #{item.maxpercov}, #{item.basamt}, #{item.permaxtr2}, #{item.permaxtr3}, #{item.permaxtr4}, #{item.permaxtr5}, #{item.permaxtr6}, #{item.permaxtr7}
        , #{item.clcdifflg}, 'CEBGRP', #{item.calrul}, #{item.amtflg})
    </insert>

    <!--通过主键删除-->
    <delete id="deleteById">
        delete from FEC where INR= #{inr}
    </delete>

    <select id="getFeecodPriOnly" resultType="int">
        select count(1) from fee, fec where fee.inr = fec.FEEINR and fee.COD = #{codFee} and fec.FEEPRI = #{feepri} and fec.OBJTYP = #{objtyp} and fec.OBJINR = #{objinr}
    </select>

    <select id="queryOitFecExt" resultType="int">
        select count(1) from oit where oit.OBJTYP = 'FEC' and oit.OBJINR = #{inr} and oit.SUBTYP = 'INF'
    </select>

    <select id="queryOitFecMsg" resultType="com.brilliance.isc.vo.manager.FecVo">
        select oit.INFLEV inflev, oit.INFTXT inftxt from oit where oit.OBJTYP = 'FEC' and oit.OBJINR = #{inr} and oit.SUBTYP = 'INF'
    </select>

    <insert id="addOitFecMsg">
        insert into OIT(INR, OBJTYP, OBJINR, SUBTYP, INFLEV, INFTXT)
        values (#{oitinr}, 'FEC', #{item.inr}, 'INF', #{item.inflev}, #{item.inftxt})
    </insert>

    <update id="updateOitFecMsg">
        update oit set INFLEV=#{inflev}, INFTXT=#{inftxt} where oit.OBJTYP = 'FEC' and oit.OBJINR = #{inr} and oit.SUBTYP = 'INF'
    </update>

    <delete id="deleteOitFecMsg">
        delete from oit where oit.OBJTYP = 'FEC' and oit.OBJINR = #{inr} and oit.SUBTYP = 'INF'
    </delete>

    <select id="getFeeInr" resultType="String">
        select inr from fee where fee.COD = #{codFee}
    </select>

    <select id="getFeeCodList" resultType="String">
        select distinct cod from fee
    </select>

    <select id="queryByRepeatCondition" resultMap="BaseResultMap">
        select * from fec where
        etgextkey = 'CEBGRP'
        and (
        feeinr = #{feeinr}
        and feepri = #{feepri}
        and objinr = #{objinr}
        and objtyp = #{objtyp}
        and feeinr = #{feeinr}
        and(
        (BEGDAT &gt;= #{begdat} and BEGDAT &lt;= #{enddat})
        or (ENDDAT &gt;= #{begdat} and ENDDAT &lt;= #{enddat})
        or (BEGDAT &lt;= #{begdat} and ENDDAT &gt; #{begdat})
        or (BEGDAT &lt;= #{enddat} and ENDDAT &gt; #{enddat})
        ))
    </select>

</mapper>