<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.dept.dao.ibatis.DeptDaoImpl">

    <!-- 字段和属性映射 -->
    <resultMap type="DeptEntity" id="DeptEntity-Map">
        <id  property="id" column="id" />
        <result property="tid" column="tid" />
        <result property="tname" column="tname" />
        <result property="name" column="name" />
        <result property="simpleName" column="simpleName" />
        <result property="siteId" column="siteId" />
        <result property="deptAbb" column="deptAbb" />
        <result property="deptTelphone" column="deptTelphone" />
        <result property="deptNumber" column="deptNumber" />
        <result property="isAutotable" column="isAutotable" />
        <result property="isOrder" column="isOrder" />
        <result property="isBkb" column="isBkb" />
        <result property="isWorkGuide" column="isWorkGuide" />
        <result property="usValid" column="usValid" />
        <result property="isSecphone" column="isSecphone" />
        <result property="isEnglish" column="isEnglish" />
        <result property="sort" column="sort" />
        <result property="source" column="source" />
        <result property="total" column="total" />
        <result property="inNum" column="inNum" />
        <result property="createTime" column="createTime" />
        <result property="createUserId" column="createUserId" />
        <result property="updateTime" column="updateTime" />

    </resultMap>


    <!-- 表所有列 -->
    <sql id="_columns">
        <trim suffixOverrides="," suffix="">
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
                a.id,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tid') or colPickMode == 1 and data.containsKey('tid')))">
                a.tid,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tname') or colPickMode == 1 and data.containsKey('tname')))">
                a.tname,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('name') or colPickMode == 1 and data.containsKey('name')))">
                a.name,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('simpleName') or colPickMode == 1 and data.containsKey('simpleName')))">
                a.simpleName,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteId') or colPickMode == 1 and data.containsKey('siteId')))">
                a.siteId,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptAbb') or colPickMode == 1 and data.containsKey('deptAbb')))">
                a.deptAbb,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptTelphone') or colPickMode == 1 and data.containsKey('deptTelphone')))">
                a.deptTelphone,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptNumber') or colPickMode == 1 and data.containsKey('deptNumber')))">
                a.deptNumber,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isAutotable') or colPickMode == 1 and data.containsKey('isAutotable')))">
                a.isAutotable,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isOrder') or colPickMode == 1 and data.containsKey('isOrder')))">
                a.isOrder,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isBkb') or colPickMode == 1 and data.containsKey('isBkb')))">
                a.isBkb,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isWorkGuide') or colPickMode == 1 and data.containsKey('isWorkGuide')))">
                a.isWorkGuide,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('usValid') or colPickMode == 1 and data.containsKey('usValid')))">
                a.usValid,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isSecphone') or colPickMode == 1 and data.containsKey('isSecphone')))">
                a.isSecphone,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isEnglish') or colPickMode == 1 and data.containsKey('isEnglish')))">
                a.isEnglish,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sort') or colPickMode == 1 and data.containsKey('sort')))">
                a.sort,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('source') or colPickMode == 1 and data.containsKey('source')))">
                a.source,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('total') or colPickMode == 1 and data.containsKey('total')))">
                a.total,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('inNum') or colPickMode == 1 and data.containsKey('inNum')))">
                a.inNum,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
                a.createTime,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
                a.createUserId,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
                a.updateTime,
            </if>
        </trim>
    </sql>
    <!-- 新增 区分主键自增加还是业务插入 -->
    <insert id="insert" parameterType="DeptEntity"  useGeneratedKeys="true" keyProperty="id">
        insert into mortals_sys_dept
        (tid,tname,name,simpleName,siteId,deptAbb,deptTelphone,deptNumber,isAutotable,isOrder,isBkb,isWorkGuide,usValid,isSecphone,isEnglish,sort,source,total,inNum,createTime,createUserId,updateTime)
        VALUES
        (#{tid},#{tname},#{name},#{simpleName},#{siteId},#{deptAbb},#{deptTelphone},#{deptNumber},#{isAutotable},#{isOrder},#{isBkb},#{isWorkGuide},#{usValid},#{isSecphone},#{isEnglish},#{sort},#{source},#{total},#{inNum},#{createTime},#{createUserId},#{updateTime})
    </insert>

    <!-- 批量新增 -->
    <insert id="insertBatch" parameterType="paramDto">
        insert into mortals_sys_dept
        (tid,tname,name,simpleName,siteId,deptAbb,deptTelphone,deptNumber,isAutotable,isOrder,isBkb,isWorkGuide,usValid,isSecphone,isEnglish,sort,source,total,inNum,createTime,createUserId,updateTime)
        VALUES
        <foreach collection="data.dataList" item="item" index="index" separator="," >
            (#{item.tid},#{item.tname},#{item.name},#{item.simpleName},#{item.siteId},#{item.deptAbb},#{item.deptTelphone},#{item.deptNumber},#{item.isAutotable},#{item.isOrder},#{item.isBkb},#{item.isWorkGuide},#{item.usValid},#{item.isSecphone},#{item.isEnglish},#{item.sort},#{item.source},#{item.total},#{item.inNum},#{item.createTime},#{item.createUserId},#{item.updateTime})
        </foreach>
    </insert>


    <!-- 根据ParamDto更新 -->
    <update id="update" parameterType="paramDto">
        update mortals_sys_dept as a
        set
        <trim suffixOverrides="," suffix="">
            <if test="(colPickMode==0 and data.containsKey('tid')) or (colPickMode==1 and !data.containsKey('tid'))">
                a.tid=#{data.tid},
            </if>
            <if test="(colPickMode==0 and data.containsKey('tname')) or (colPickMode==1 and !data.containsKey('tname'))">
                a.tname=#{data.tname},
            </if>
            <if test="(colPickMode==0 and data.containsKey('name')) or (colPickMode==1 and !data.containsKey('name'))">
                a.name=#{data.name},
            </if>
            <if test="(colPickMode==0 and data.containsKey('simpleName')) or (colPickMode==1 and !data.containsKey('simpleName'))">
                a.simpleName=#{data.simpleName},
            </if>
            <if test="(colPickMode==0 and data.containsKey('siteId')) or (colPickMode==1 and !data.containsKey('siteId'))">
                a.siteId=#{data.siteId},
            </if>
            <if test="(colPickMode==0 and data.containsKey('siteIdIncrement')) or (colPickMode==1 and !data.containsKey('siteIdIncrement'))">
                a.siteId=ifnull(a.siteId,0) + #{data.siteIdIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('deptAbb')) or (colPickMode==1 and !data.containsKey('deptAbb'))">
                a.deptAbb=#{data.deptAbb},
            </if>
            <if test="(colPickMode==0 and data.containsKey('deptTelphone')) or (colPickMode==1 and !data.containsKey('deptTelphone'))">
                a.deptTelphone=#{data.deptTelphone},
            </if>
            <if test="(colPickMode==0 and data.containsKey('deptNumber')) or (colPickMode==1 and !data.containsKey('deptNumber'))">
                a.deptNumber=#{data.deptNumber},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isAutotable')) or (colPickMode==1 and !data.containsKey('isAutotable'))">
                a.isAutotable=#{data.isAutotable},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isAutotableIncrement')) or (colPickMode==1 and !data.containsKey('isAutotableIncrement'))">
                a.isAutotable=ifnull(a.isAutotable,0) + #{data.isAutotableIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isOrder')) or (colPickMode==1 and !data.containsKey('isOrder'))">
                a.isOrder=#{data.isOrder},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isOrderIncrement')) or (colPickMode==1 and !data.containsKey('isOrderIncrement'))">
                a.isOrder=ifnull(a.isOrder,0) + #{data.isOrderIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isBkb')) or (colPickMode==1 and !data.containsKey('isBkb'))">
                a.isBkb=#{data.isBkb},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isBkbIncrement')) or (colPickMode==1 and !data.containsKey('isBkbIncrement'))">
                a.isBkb=ifnull(a.isBkb,0) + #{data.isBkbIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isWorkGuide')) or (colPickMode==1 and !data.containsKey('isWorkGuide'))">
                a.isWorkGuide=#{data.isWorkGuide},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isWorkGuideIncrement')) or (colPickMode==1 and !data.containsKey('isWorkGuideIncrement'))">
                a.isWorkGuide=ifnull(a.isWorkGuide,0) + #{data.isWorkGuideIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('usValid')) or (colPickMode==1 and !data.containsKey('usValid'))">
                a.usValid=#{data.usValid},
            </if>
            <if test="(colPickMode==0 and data.containsKey('usValidIncrement')) or (colPickMode==1 and !data.containsKey('usValidIncrement'))">
                a.usValid=ifnull(a.usValid,0) + #{data.usValidIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isSecphone')) or (colPickMode==1 and !data.containsKey('isSecphone'))">
                a.isSecphone=#{data.isSecphone},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isSecphoneIncrement')) or (colPickMode==1 and !data.containsKey('isSecphoneIncrement'))">
                a.isSecphone=ifnull(a.isSecphone,0) + #{data.isSecphoneIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isEnglish')) or (colPickMode==1 and !data.containsKey('isEnglish'))">
                a.isEnglish=#{data.isEnglish},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isEnglishIncrement')) or (colPickMode==1 and !data.containsKey('isEnglishIncrement'))">
                a.isEnglish=ifnull(a.isEnglish,0) + #{data.isEnglishIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('sort')) or (colPickMode==1 and !data.containsKey('sort'))">
                a.sort=#{data.sort},
            </if>
            <if test="(colPickMode==0 and data.containsKey('sortIncrement')) or (colPickMode==1 and !data.containsKey('sortIncrement'))">
                a.sort=ifnull(a.sort,0) + #{data.sortIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('source')) or (colPickMode==1 and !data.containsKey('source'))">
                a.source=#{data.source},
            </if>
            <if test="(colPickMode==0 and data.containsKey('sourceIncrement')) or (colPickMode==1 and !data.containsKey('sourceIncrement'))">
                a.source=ifnull(a.source,0) + #{data.sourceIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('total')) or (colPickMode==1 and !data.containsKey('total'))">
                a.total=#{data.total},
            </if>
            <if test="(colPickMode==0 and data.containsKey('totalIncrement')) or (colPickMode==1 and !data.containsKey('totalIncrement'))">
                a.total=ifnull(a.total,0) + #{data.totalIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('inNum')) or (colPickMode==1 and !data.containsKey('inNum'))">
                a.inNum=#{data.inNum},
            </if>
            <if test="(colPickMode==0 and data.containsKey('inNumIncrement')) or (colPickMode==1 and !data.containsKey('inNumIncrement'))">
                a.inNum=ifnull(a.inNum,0) + #{data.inNumIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
                a.createTime=#{data.createTime},
            </if>
            <if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
                a.createUserId=#{data.createUserId},
            </if>
            <if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
                a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
                a.updateTime=#{data.updateTime},
            </if>
        </trim>
        <trim suffixOverrides="where" suffix="">
            where
            <trim prefixOverrides="and" prefix="">
                <include refid="_condition_"/>
            </trim>
        </trim>
    </update>
    <!-- 批量更新 -->
    <update id="updateBatch" parameterType="paramDto">
        update mortals_sys_dept as a
        <trim prefix="set" suffixOverrides=",">
            <trim prefix="tid=(case" suffix="ELSE tid end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <if test="(colPickMode==0 and item.containsKey('tid')) or (colPickMode==1 and !item.containsKey('tid'))">
                        when a.id=#{item.id} then #{item.tid}
                    </if>
                </foreach>
            </trim>
            <trim prefix="tname=(case" suffix="ELSE tname end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <if test="(colPickMode==0 and item.containsKey('tname')) or (colPickMode==1 and !item.containsKey('tname'))">
                        when a.id=#{item.id} then #{item.tname}
                    </if>
                </foreach>
            </trim>
            <trim prefix="name=(case" suffix="ELSE name end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <if test="(colPickMode==0 and item.containsKey('name')) or (colPickMode==1 and !item.containsKey('name'))">
                        when a.id=#{item.id} then #{item.name}
                    </if>
                </foreach>
            </trim>
            <trim prefix="simpleName=(case" suffix="ELSE simpleName end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <if test="(colPickMode==0 and item.containsKey('simpleName')) or (colPickMode==1 and !item.containsKey('simpleName'))">
                        when a.id=#{item.id} then #{item.simpleName}
                    </if>
                </foreach>
            </trim>
            <trim prefix="siteId=(case" suffix="ELSE siteId end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('siteId')) or (colPickMode==1 and !item.containsKey('siteId'))">
                            when a.id=#{item.id} then #{item.siteId}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('siteIdIncrement')) or (colPickMode==1 and !item.containsKey('siteIdIncrement'))">
                            when a.id=#{item.id} then ifnull(a.siteId,0) + #{item.siteIdIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="deptAbb=(case" suffix="ELSE deptAbb end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <if test="(colPickMode==0 and item.containsKey('deptAbb')) or (colPickMode==1 and !item.containsKey('deptAbb'))">
                        when a.id=#{item.id} then #{item.deptAbb}
                    </if>
                </foreach>
            </trim>
            <trim prefix="deptTelphone=(case" suffix="ELSE deptTelphone end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <if test="(colPickMode==0 and item.containsKey('deptTelphone')) or (colPickMode==1 and !item.containsKey('deptTelphone'))">
                        when a.id=#{item.id} then #{item.deptTelphone}
                    </if>
                </foreach>
            </trim>
            <trim prefix="deptNumber=(case" suffix="ELSE deptNumber end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <if test="(colPickMode==0 and item.containsKey('deptNumber')) or (colPickMode==1 and !item.containsKey('deptNumber'))">
                        when a.id=#{item.id} then #{item.deptNumber}
                    </if>
                </foreach>
            </trim>
            <trim prefix="isAutotable=(case" suffix="ELSE isAutotable end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('isAutotable')) or (colPickMode==1 and !item.containsKey('isAutotable'))">
                            when a.id=#{item.id} then #{item.isAutotable}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('isAutotableIncrement')) or (colPickMode==1 and !item.containsKey('isAutotableIncrement'))">
                            when a.id=#{item.id} then ifnull(a.isAutotable,0) + #{item.isAutotableIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="isOrder=(case" suffix="ELSE isOrder end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('isOrder')) or (colPickMode==1 and !item.containsKey('isOrder'))">
                            when a.id=#{item.id} then #{item.isOrder}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('isOrderIncrement')) or (colPickMode==1 and !item.containsKey('isOrderIncrement'))">
                            when a.id=#{item.id} then ifnull(a.isOrder,0) + #{item.isOrderIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="isBkb=(case" suffix="ELSE isBkb end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('isBkb')) or (colPickMode==1 and !item.containsKey('isBkb'))">
                            when a.id=#{item.id} then #{item.isBkb}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('isBkbIncrement')) or (colPickMode==1 and !item.containsKey('isBkbIncrement'))">
                            when a.id=#{item.id} then ifnull(a.isBkb,0) + #{item.isBkbIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="isWorkGuide=(case" suffix="ELSE isWorkGuide end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('isWorkGuide')) or (colPickMode==1 and !item.containsKey('isWorkGuide'))">
                            when a.id=#{item.id} then #{item.isWorkGuide}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('isWorkGuideIncrement')) or (colPickMode==1 and !item.containsKey('isWorkGuideIncrement'))">
                            when a.id=#{item.id} then ifnull(a.isWorkGuide,0) + #{item.isWorkGuideIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="usValid=(case" suffix="ELSE usValid end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('usValid')) or (colPickMode==1 and !item.containsKey('usValid'))">
                            when a.id=#{item.id} then #{item.usValid}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('usValidIncrement')) or (colPickMode==1 and !item.containsKey('usValidIncrement'))">
                            when a.id=#{item.id} then ifnull(a.usValid,0) + #{item.usValidIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="isSecphone=(case" suffix="ELSE isSecphone end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('isSecphone')) or (colPickMode==1 and !item.containsKey('isSecphone'))">
                            when a.id=#{item.id} then #{item.isSecphone}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('isSecphoneIncrement')) or (colPickMode==1 and !item.containsKey('isSecphoneIncrement'))">
                            when a.id=#{item.id} then ifnull(a.isSecphone,0) + #{item.isSecphoneIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="isEnglish=(case" suffix="ELSE isEnglish end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('isEnglish')) or (colPickMode==1 and !item.containsKey('isEnglish'))">
                            when a.id=#{item.id} then #{item.isEnglish}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('isEnglishIncrement')) or (colPickMode==1 and !item.containsKey('isEnglishIncrement'))">
                            when a.id=#{item.id} then ifnull(a.isEnglish,0) + #{item.isEnglishIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="sort=(case" suffix="ELSE sort end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('sort')) or (colPickMode==1 and !item.containsKey('sort'))">
                            when a.id=#{item.id} then #{item.sort}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('sortIncrement')) or (colPickMode==1 and !item.containsKey('sortIncrement'))">
                            when a.id=#{item.id} then ifnull(a.sort,0) + #{item.sortIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="source=(case" suffix="ELSE source end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('source')) or (colPickMode==1 and !item.containsKey('source'))">
                            when a.id=#{item.id} then #{item.source}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('sourceIncrement')) or (colPickMode==1 and !item.containsKey('sourceIncrement'))">
                            when a.id=#{item.id} then ifnull(a.source,0) + #{item.sourceIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="total=(case" suffix="ELSE total end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('total')) or (colPickMode==1 and !item.containsKey('total'))">
                            when a.id=#{item.id} then #{item.total}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('totalIncrement')) or (colPickMode==1 and !item.containsKey('totalIncrement'))">
                            when a.id=#{item.id} then ifnull(a.total,0) + #{item.totalIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="inNum=(case" suffix="ELSE inNum end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('inNum')) or (colPickMode==1 and !item.containsKey('inNum'))">
                            when a.id=#{item.id} then #{item.inNum}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('inNumIncrement')) or (colPickMode==1 and !item.containsKey('inNumIncrement'))">
                            when a.id=#{item.id} then ifnull(a.inNum,0) + #{item.inNumIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="createTime=(case" suffix="ELSE createTime end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
                        when a.id=#{item.id} then #{item.createTime}
                    </if>
                </foreach>
            </trim>
            <trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
                            when a.id=#{item.id} then #{item.createUserId}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
                            when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
                        when a.id=#{item.id} then #{item.updateTime}
                    </if>
                </foreach>
            </trim>
        </trim>
        where id in
        <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
            #{item.id}
        </foreach>
    </update>
    <!-- 根据主健查询 -->
    <select id="getByKey" parameterType="paramDto" resultMap="DeptEntity-Map">
        select <include refid="_columns"/>
        from mortals_sys_dept as a
        where a.id=#{condition.id}
    </select>
    <!-- 根据主健删除 -->
    <delete id="deleteByKey" parameterType="paramDto">
        delete a.* from mortals_sys_dept as a where a.id=#{condition.id}
    </delete>
    <!-- 根据主健删除一批,针对单一主健有效 -->
    <delete id="deleteByKeys">
        delete from mortals_sys_dept where id in
        <foreach collection="array" item="item" index="index" open="(" separator="," close=")">
            #{item}
        </foreach>
    </delete>
    <!-- 根据主健列表删除一批,针对单一主健有效 -->
    <delete id="deleteByKeyList">
        delete from mortals_sys_dept where id in
        <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
            #{item}
        </foreach>
    </delete>

    <!-- 根据对象列表删除一批,针对单一主健有效 -->
    <delete id="deleteByEntityList">
        delete from mortals_sys_dept where id in
        <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
            #{item.id}
        </foreach>
    </delete>
    <!-- 根据paramDto删除一批 -->
    <delete id="deleteByMap" parameterType="paramDto">
        delete a.* from mortals_sys_dept as a
        <trim suffixOverrides="where" suffix="">
            where
            <trim prefixOverrides="and" prefix="">
                <include refid="_condition_"/>
            </trim>
        </trim>
    </delete>
    <!-- 获取列表 -->
    <select id="getList" parameterType="paramDto" resultMap="DeptEntity-Map">
        select <include refid="_columns"/>
        from mortals_sys_dept as a
        <trim suffixOverrides="where" suffix="">
            where
            <trim prefixOverrides="and" prefix="">
                <include refid="_condition_"/>
            </trim>
        </trim>
        <include refid="_orderCols_"/>
    </select>



    <!-- 获取 -->
    <select id="getListCount" parameterType="paramDto" resultType="int">
        select count(1)
        from mortals_sys_dept as a
        <trim suffixOverrides="where" suffix="">
            where
            <trim prefixOverrides="and" prefix="">
                <include refid="_condition_"/>
            </trim>
        </trim>
    </select>
    <!-- 条件映射 -->
    <sql id="_condition_">
        <if test="condition != null and !condition.isEmpty()">
            <!-- 条件映射-普通条件 -->
            <include refid="_condition_param_">
                <property name="_conditionParam_" value="condition"/>
                <property name="_conditionType_" value="and"/>
            </include>
            <!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
            <if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
                and
                <foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
                    <trim prefixOverrides="or" prefix="(" suffix=")">
                        <include refid="_condition_param_">
                            <property name="_conditionParam_" value="andCondition"/>
                            <property name="_conditionType_" value="or"/>
                        </include>
                    </trim>
                </foreach>
            </if>
            <!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
            <if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
                and
                <foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
                    <trim prefixOverrides="and" prefix="(" suffix=")">
                        <include refid="_condition_param_">
                            <property name="_conditionParam_" value="orCondition"/>
                            <property name="_conditionType_" value="and"/>
                        </include>
                    </trim>
                </foreach>
            </if>
        </if>
    </sql>
    <!-- 条件映射-代参数 -->
    <sql id="_condition_param_">
        <bind name="conditionParamRef" value="${_conditionParam_}"/>
        <if test="conditionParamRef.containsKey('id')">
            <if test="conditionParamRef.id != null">
                ${_conditionType_} a.id=#{${_conditionParam_}.id}
            </if>
        </if>
        <if test="conditionParamRef.containsKey('id')">
            <if test="conditionParamRef.id != null ">
                ${_conditionType_} a.id = #{${_conditionParam_}.id}
            </if>
            <if test="conditionParamRef.id == null">
                ${_conditionType_} a.id is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
            ${_conditionType_} a.id in
            <foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
            ${_conditionType_} a.id not in
            <foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
            ${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
        </if>
        <if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
            ${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
        </if>


        <if test="conditionParamRef.containsKey('tid')">
            <if test="conditionParamRef.tid != null and conditionParamRef.tid != ''">
                ${_conditionType_} a.tid like #{${_conditionParam_}.tid}
            </if>
            <if test="conditionParamRef.tid == null">
                ${_conditionType_} a.tid is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('tidList') and conditionParamRef.tidList.size() > 0">
            ${_conditionType_} a.tid in
            <foreach collection="conditionParamRef.tidList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('tidNotList') and conditionParamRef.tidNotList.size() > 0">
            ${_conditionType_} a.tid not in
            <foreach collection="conditionParamRef.tidNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>

        <if test="conditionParamRef.containsKey('tname')">
            <if test="conditionParamRef.tname != null and conditionParamRef.tname != ''">
                ${_conditionType_} a.tname like #{${_conditionParam_}.tname}
            </if>
            <if test="conditionParamRef.tname == null">
                ${_conditionType_} a.tname is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('tnameList') and conditionParamRef.tnameList.size() > 0">
            ${_conditionType_} a.tname in
            <foreach collection="conditionParamRef.tnameList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('tnameNotList') and conditionParamRef.tnameNotList.size() > 0">
            ${_conditionType_} a.tname not in
            <foreach collection="conditionParamRef.tnameNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>

        <if test="conditionParamRef.containsKey('name')">
            <if test="conditionParamRef.name != null and conditionParamRef.name != ''">
                ${_conditionType_} a.name like #{${_conditionParam_}.name}
            </if>
            <if test="conditionParamRef.name == null">
                ${_conditionType_} a.name is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('nameList') and conditionParamRef.nameList.size() > 0">
            ${_conditionType_} a.name in
            <foreach collection="conditionParamRef.nameList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('nameNotList') and conditionParamRef.nameNotList.size() > 0">
            ${_conditionType_} a.name not in
            <foreach collection="conditionParamRef.nameNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>

        <if test="conditionParamRef.containsKey('simpleName')">
            <if test="conditionParamRef.simpleName != null and conditionParamRef.simpleName != ''">
                ${_conditionType_} a.simpleName like #{${_conditionParam_}.simpleName}
            </if>
            <if test="conditionParamRef.simpleName == null">
                ${_conditionType_} a.simpleName is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('simpleNameList') and conditionParamRef.simpleNameList.size() > 0">
            ${_conditionType_} a.simpleName in
            <foreach collection="conditionParamRef.simpleNameList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('simpleNameNotList') and conditionParamRef.simpleNameNotList.size() > 0">
            ${_conditionType_} a.simpleName not in
            <foreach collection="conditionParamRef.simpleNameNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('siteId')">
            <if test="conditionParamRef.siteId != null ">
                ${_conditionType_} a.siteId = #{${_conditionParam_}.siteId}
            </if>
            <if test="conditionParamRef.siteId == null">
                ${_conditionType_} a.siteId is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
            ${_conditionType_} a.siteId in
            <foreach collection="conditionParamRef.siteIdList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('siteIdNotList') and conditionParamRef.siteIdNotList.size() > 0">
            ${_conditionType_} a.siteId not in
            <foreach collection="conditionParamRef.siteIdNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('siteIdStart') and conditionParamRef.siteIdStart != null">
            ${_conditionType_} a.siteId <![CDATA[ >= ]]> #{${_conditionParam_}.siteIdStart}
        </if>
        <if test="conditionParamRef.containsKey('siteIdEnd') and conditionParamRef.siteIdEnd != null">
            ${_conditionType_} a.siteId <![CDATA[ <= ]]> #{${_conditionParam_}.siteIdEnd}
        </if>


        <if test="conditionParamRef.containsKey('deptAbb')">
            <if test="conditionParamRef.deptAbb != null and conditionParamRef.deptAbb != ''">
                ${_conditionType_} a.deptAbb like #{${_conditionParam_}.deptAbb}
            </if>
            <if test="conditionParamRef.deptAbb == null">
                ${_conditionType_} a.deptAbb is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('deptAbbList') and conditionParamRef.deptAbbList.size() > 0">
            ${_conditionType_} a.deptAbb in
            <foreach collection="conditionParamRef.deptAbbList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('deptAbbNotList') and conditionParamRef.deptAbbNotList.size() > 0">
            ${_conditionType_} a.deptAbb not in
            <foreach collection="conditionParamRef.deptAbbNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>

        <if test="conditionParamRef.containsKey('deptTelphone')">
            <if test="conditionParamRef.deptTelphone != null and conditionParamRef.deptTelphone != ''">
                ${_conditionType_} a.deptTelphone like #{${_conditionParam_}.deptTelphone}
            </if>
            <if test="conditionParamRef.deptTelphone == null">
                ${_conditionType_} a.deptTelphone is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('deptTelphoneList') and conditionParamRef.deptTelphoneList.size() > 0">
            ${_conditionType_} a.deptTelphone in
            <foreach collection="conditionParamRef.deptTelphoneList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('deptTelphoneNotList') and conditionParamRef.deptTelphoneNotList.size() > 0">
            ${_conditionType_} a.deptTelphone not in
            <foreach collection="conditionParamRef.deptTelphoneNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>

        <if test="conditionParamRef.containsKey('deptNumber')">
            <if test="conditionParamRef.deptNumber != null and conditionParamRef.deptNumber != ''">
                ${_conditionType_} a.deptNumber like #{${_conditionParam_}.deptNumber}
            </if>
            <if test="conditionParamRef.deptNumber == null">
                ${_conditionType_} a.deptNumber is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('deptNumberList') and conditionParamRef.deptNumberList.size() > 0">
            ${_conditionType_} a.deptNumber in
            <foreach collection="conditionParamRef.deptNumberList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('deptNumberNotList') and conditionParamRef.deptNumberNotList.size() > 0">
            ${_conditionType_} a.deptNumber not in
            <foreach collection="conditionParamRef.deptNumberNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isAutotable')">
            <if test="conditionParamRef.isAutotable != null ">
                ${_conditionType_} a.isAutotable = #{${_conditionParam_}.isAutotable}
            </if>
            <if test="conditionParamRef.isAutotable == null">
                ${_conditionType_} a.isAutotable is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('isAutotableList') and conditionParamRef.isAutotableList.size() > 0">
            ${_conditionType_} a.isAutotable in
            <foreach collection="conditionParamRef.isAutotableList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isAutotableNotList') and conditionParamRef.isAutotableNotList.size() > 0">
            ${_conditionType_} a.isAutotable not in
            <foreach collection="conditionParamRef.isAutotableNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isAutotableStart') and conditionParamRef.isAutotableStart != null">
            ${_conditionType_} a.isAutotable <![CDATA[ >= ]]> #{${_conditionParam_}.isAutotableStart}
        </if>
        <if test="conditionParamRef.containsKey('isAutotableEnd') and conditionParamRef.isAutotableEnd != null">
            ${_conditionType_} a.isAutotable <![CDATA[ <= ]]> #{${_conditionParam_}.isAutotableEnd}
        </if>

        <if test="conditionParamRef.containsKey('isOrder')">
            <if test="conditionParamRef.isOrder != null ">
                ${_conditionType_} a.isOrder = #{${_conditionParam_}.isOrder}
            </if>
            <if test="conditionParamRef.isOrder == null">
                ${_conditionType_} a.isOrder is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('isOrderList') and conditionParamRef.isOrderList.size() > 0">
            ${_conditionType_} a.isOrder in
            <foreach collection="conditionParamRef.isOrderList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isOrderNotList') and conditionParamRef.isOrderNotList.size() > 0">
            ${_conditionType_} a.isOrder not in
            <foreach collection="conditionParamRef.isOrderNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isOrderStart') and conditionParamRef.isOrderStart != null">
            ${_conditionType_} a.isOrder <![CDATA[ >= ]]> #{${_conditionParam_}.isOrderStart}
        </if>
        <if test="conditionParamRef.containsKey('isOrderEnd') and conditionParamRef.isOrderEnd != null">
            ${_conditionType_} a.isOrder <![CDATA[ <= ]]> #{${_conditionParam_}.isOrderEnd}
        </if>

        <if test="conditionParamRef.containsKey('isBkb')">
            <if test="conditionParamRef.isBkb != null ">
                ${_conditionType_} a.isBkb = #{${_conditionParam_}.isBkb}
            </if>
            <if test="conditionParamRef.isBkb == null">
                ${_conditionType_} a.isBkb is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('isBkbList') and conditionParamRef.isBkbList.size() > 0">
            ${_conditionType_} a.isBkb in
            <foreach collection="conditionParamRef.isBkbList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isBkbNotList') and conditionParamRef.isBkbNotList.size() > 0">
            ${_conditionType_} a.isBkb not in
            <foreach collection="conditionParamRef.isBkbNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isBkbStart') and conditionParamRef.isBkbStart != null">
            ${_conditionType_} a.isBkb <![CDATA[ >= ]]> #{${_conditionParam_}.isBkbStart}
        </if>
        <if test="conditionParamRef.containsKey('isBkbEnd') and conditionParamRef.isBkbEnd != null">
            ${_conditionType_} a.isBkb <![CDATA[ <= ]]> #{${_conditionParam_}.isBkbEnd}
        </if>

        <if test="conditionParamRef.containsKey('isWorkGuide')">
            <if test="conditionParamRef.isWorkGuide != null ">
                ${_conditionType_} a.isWorkGuide = #{${_conditionParam_}.isWorkGuide}
            </if>
            <if test="conditionParamRef.isWorkGuide == null">
                ${_conditionType_} a.isWorkGuide is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('isWorkGuideList') and conditionParamRef.isWorkGuideList.size() > 0">
            ${_conditionType_} a.isWorkGuide in
            <foreach collection="conditionParamRef.isWorkGuideList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isWorkGuideNotList') and conditionParamRef.isWorkGuideNotList.size() > 0">
            ${_conditionType_} a.isWorkGuide not in
            <foreach collection="conditionParamRef.isWorkGuideNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isWorkGuideStart') and conditionParamRef.isWorkGuideStart != null">
            ${_conditionType_} a.isWorkGuide <![CDATA[ >= ]]> #{${_conditionParam_}.isWorkGuideStart}
        </if>
        <if test="conditionParamRef.containsKey('isWorkGuideEnd') and conditionParamRef.isWorkGuideEnd != null">
            ${_conditionType_} a.isWorkGuide <![CDATA[ <= ]]> #{${_conditionParam_}.isWorkGuideEnd}
        </if>

        <if test="conditionParamRef.containsKey('usValid')">
            <if test="conditionParamRef.usValid != null ">
                ${_conditionType_} a.usValid = #{${_conditionParam_}.usValid}
            </if>
            <if test="conditionParamRef.usValid == null">
                ${_conditionType_} a.usValid is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('usValidList') and conditionParamRef.usValidList.size() > 0">
            ${_conditionType_} a.usValid in
            <foreach collection="conditionParamRef.usValidList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('usValidNotList') and conditionParamRef.usValidNotList.size() > 0">
            ${_conditionType_} a.usValid not in
            <foreach collection="conditionParamRef.usValidNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('usValidStart') and conditionParamRef.usValidStart != null">
            ${_conditionType_} a.usValid <![CDATA[ >= ]]> #{${_conditionParam_}.usValidStart}
        </if>
        <if test="conditionParamRef.containsKey('usValidEnd') and conditionParamRef.usValidEnd != null">
            ${_conditionType_} a.usValid <![CDATA[ <= ]]> #{${_conditionParam_}.usValidEnd}
        </if>

        <if test="conditionParamRef.containsKey('isSecphone')">
            <if test="conditionParamRef.isSecphone != null ">
                ${_conditionType_} a.isSecphone = #{${_conditionParam_}.isSecphone}
            </if>
            <if test="conditionParamRef.isSecphone == null">
                ${_conditionType_} a.isSecphone is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('isSecphoneList') and conditionParamRef.isSecphoneList.size() > 0">
            ${_conditionType_} a.isSecphone in
            <foreach collection="conditionParamRef.isSecphoneList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isSecphoneNotList') and conditionParamRef.isSecphoneNotList.size() > 0">
            ${_conditionType_} a.isSecphone not in
            <foreach collection="conditionParamRef.isSecphoneNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isSecphoneStart') and conditionParamRef.isSecphoneStart != null">
            ${_conditionType_} a.isSecphone <![CDATA[ >= ]]> #{${_conditionParam_}.isSecphoneStart}
        </if>
        <if test="conditionParamRef.containsKey('isSecphoneEnd') and conditionParamRef.isSecphoneEnd != null">
            ${_conditionType_} a.isSecphone <![CDATA[ <= ]]> #{${_conditionParam_}.isSecphoneEnd}
        </if>

        <if test="conditionParamRef.containsKey('isEnglish')">
            <if test="conditionParamRef.isEnglish != null ">
                ${_conditionType_} a.isEnglish = #{${_conditionParam_}.isEnglish}
            </if>
            <if test="conditionParamRef.isEnglish == null">
                ${_conditionType_} a.isEnglish is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('isEnglishList') and conditionParamRef.isEnglishList.size() > 0">
            ${_conditionType_} a.isEnglish in
            <foreach collection="conditionParamRef.isEnglishList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isEnglishNotList') and conditionParamRef.isEnglishNotList.size() > 0">
            ${_conditionType_} a.isEnglish not in
            <foreach collection="conditionParamRef.isEnglishNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('isEnglishStart') and conditionParamRef.isEnglishStart != null">
            ${_conditionType_} a.isEnglish <![CDATA[ >= ]]> #{${_conditionParam_}.isEnglishStart}
        </if>
        <if test="conditionParamRef.containsKey('isEnglishEnd') and conditionParamRef.isEnglishEnd != null">
            ${_conditionType_} a.isEnglish <![CDATA[ <= ]]> #{${_conditionParam_}.isEnglishEnd}
        </if>

        <if test="conditionParamRef.containsKey('sort')">
            <if test="conditionParamRef.sort != null ">
                ${_conditionType_} a.sort = #{${_conditionParam_}.sort}
            </if>
            <if test="conditionParamRef.sort == null">
                ${_conditionType_} a.sort is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('sortList') and conditionParamRef.sortList.size() > 0">
            ${_conditionType_} a.sort in
            <foreach collection="conditionParamRef.sortList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('sortNotList') and conditionParamRef.sortNotList.size() > 0">
            ${_conditionType_} a.sort not in
            <foreach collection="conditionParamRef.sortNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('sortStart') and conditionParamRef.sortStart != null">
            ${_conditionType_} a.sort <![CDATA[ >= ]]> #{${_conditionParam_}.sortStart}
        </if>
        <if test="conditionParamRef.containsKey('sortEnd') and conditionParamRef.sortEnd != null">
            ${_conditionType_} a.sort <![CDATA[ <= ]]> #{${_conditionParam_}.sortEnd}
        </if>

        <if test="conditionParamRef.containsKey('source')">
            <if test="conditionParamRef.source != null ">
                ${_conditionType_} a.source = #{${_conditionParam_}.source}
            </if>
            <if test="conditionParamRef.source == null">
                ${_conditionType_} a.source is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('sourceList') and conditionParamRef.sourceList.size() > 0">
            ${_conditionType_} a.source in
            <foreach collection="conditionParamRef.sourceList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('sourceNotList') and conditionParamRef.sourceNotList.size() > 0">
            ${_conditionType_} a.source not in
            <foreach collection="conditionParamRef.sourceNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('sourceStart') and conditionParamRef.sourceStart != null">
            ${_conditionType_} a.source <![CDATA[ >= ]]> #{${_conditionParam_}.sourceStart}
        </if>
        <if test="conditionParamRef.containsKey('sourceEnd') and conditionParamRef.sourceEnd != null">
            ${_conditionType_} a.source <![CDATA[ <= ]]> #{${_conditionParam_}.sourceEnd}
        </if>

        <if test="conditionParamRef.containsKey('total')">
            <if test="conditionParamRef.total != null ">
                ${_conditionType_} a.total = #{${_conditionParam_}.total}
            </if>
            <if test="conditionParamRef.total == null">
                ${_conditionType_} a.total is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('totalList') and conditionParamRef.totalList.size() > 0">
            ${_conditionType_} a.total in
            <foreach collection="conditionParamRef.totalList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('totalNotList') and conditionParamRef.totalNotList.size() > 0">
            ${_conditionType_} a.total not in
            <foreach collection="conditionParamRef.totalNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('totalStart') and conditionParamRef.totalStart != null">
            ${_conditionType_} a.total <![CDATA[ >= ]]> #{${_conditionParam_}.totalStart}
        </if>
        <if test="conditionParamRef.containsKey('totalEnd') and conditionParamRef.totalEnd != null">
            ${_conditionType_} a.total <![CDATA[ <= ]]> #{${_conditionParam_}.totalEnd}
        </if>

        <if test="conditionParamRef.containsKey('inNum')">
            <if test="conditionParamRef.inNum != null ">
                ${_conditionType_} a.inNum = #{${_conditionParam_}.inNum}
            </if>
            <if test="conditionParamRef.inNum == null">
                ${_conditionType_} a.inNum is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('inNumList') and conditionParamRef.inNumList.size() > 0">
            ${_conditionType_} a.inNum in
            <foreach collection="conditionParamRef.inNumList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('inNumNotList') and conditionParamRef.inNumNotList.size() > 0">
            ${_conditionType_} a.inNum not in
            <foreach collection="conditionParamRef.inNumNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('inNumStart') and conditionParamRef.inNumStart != null">
            ${_conditionType_} a.inNum <![CDATA[ >= ]]> #{${_conditionParam_}.inNumStart}
        </if>
        <if test="conditionParamRef.containsKey('inNumEnd') and conditionParamRef.inNumEnd != null">
            ${_conditionType_} a.inNum <![CDATA[ <= ]]> #{${_conditionParam_}.inNumEnd}
        </if>


        <if test="conditionParamRef.containsKey('createTime')">
            <if test="conditionParamRef.createTime != null ">
                ${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
            </if>
            <if test="conditionParamRef.createTime == null">
                ${_conditionType_} a.createTime is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
            ${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
        </if>
        <if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
            ${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
        </if>
        <if test="conditionParamRef.containsKey('createUserId')">
            <if test="conditionParamRef.createUserId != null ">
                ${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
            </if>
            <if test="conditionParamRef.createUserId == null">
                ${_conditionType_} a.createUserId is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
            ${_conditionType_} a.createUserId in
            <foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
            ${_conditionType_} a.createUserId not in
            <foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
            ${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
        </if>
        <if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
            ${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
        </if>


        <if test="conditionParamRef.containsKey('updateTime')">
            <if test="conditionParamRef.updateTime != null ">
                ${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
            </if>
            <if test="conditionParamRef.updateTime == null">
                ${_conditionType_} a.updateTime is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
            ${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
        </if>
        <if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
            ${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
        </if>
    </sql>
    <sql id="_orderCols_">
        <if test="orderColList != null and !orderColList.isEmpty()">
            order by
            <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
                field(a.id,
                <foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
                field(a.siteId,
                <foreach collection="conditionParamRef.siteIdList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isAutotableList') and conditionParamRef.isAutotableList.size() > 0">
                field(a.isAutotable,
                <foreach collection="conditionParamRef.isAutotableList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isOrderList') and conditionParamRef.isOrderList.size() > 0">
                field(a.isOrder,
                <foreach collection="conditionParamRef.isOrderList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isBkbList') and conditionParamRef.isBkbList.size() > 0">
                field(a.isBkb,
                <foreach collection="conditionParamRef.isBkbList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isWorkGuideList') and conditionParamRef.isWorkGuideList.size() > 0">
                field(a.isWorkGuide,
                <foreach collection="conditionParamRef.isWorkGuideList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('usValidList') and conditionParamRef.usValidList.size() > 0">
                field(a.usValid,
                <foreach collection="conditionParamRef.usValidList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isSecphoneList') and conditionParamRef.isSecphoneList.size() > 0">
                field(a.isSecphone,
                <foreach collection="conditionParamRef.isSecphoneList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isEnglishList') and conditionParamRef.isEnglishList.size() > 0">
                field(a.isEnglish,
                <foreach collection="conditionParamRef.isEnglishList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('sortList') and conditionParamRef.sortList.size() > 0">
                field(a.sort,
                <foreach collection="conditionParamRef.sortList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('sourceList') and conditionParamRef.sourceList.size() > 0">
                field(a.source,
                <foreach collection="conditionParamRef.sourceList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('totalList') and conditionParamRef.totalList.size() > 0">
                field(a.total,
                <foreach collection="conditionParamRef.totalList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('inNumList') and conditionParamRef.inNumList.size() > 0">
                field(a.inNum,
                <foreach collection="conditionParamRef.inNumList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
                field(a.createUserId,
                <foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <trim suffixOverrides=","  suffix="">
                <foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
                    a.${item.colName} ${item.sortKind}
                </foreach>
            </trim>
        </if>
        <if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
            order by
            <if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
                field(a.id,
                <foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
                field(a.siteId,
                <foreach collection="conditionParamRef.siteIdList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isAutotableList') and conditionParamRef.isAutotableList.size() > 0">
                field(a.isAutotable,
                <foreach collection="conditionParamRef.isAutotableList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isOrderList') and conditionParamRef.isOrderList.size() > 0">
                field(a.isOrder,
                <foreach collection="conditionParamRef.isOrderList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isBkbList') and conditionParamRef.isBkbList.size() > 0">
                field(a.isBkb,
                <foreach collection="conditionParamRef.isBkbList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isWorkGuideList') and conditionParamRef.isWorkGuideList.size() > 0">
                field(a.isWorkGuide,
                <foreach collection="conditionParamRef.isWorkGuideList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('usValidList') and conditionParamRef.usValidList.size() > 0">
                field(a.usValid,
                <foreach collection="conditionParamRef.usValidList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isSecphoneList') and conditionParamRef.isSecphoneList.size() > 0">
                field(a.isSecphone,
                <foreach collection="conditionParamRef.isSecphoneList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('isEnglishList') and conditionParamRef.isEnglishList.size() > 0">
                field(a.isEnglish,
                <foreach collection="conditionParamRef.isEnglishList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('sortList') and conditionParamRef.sortList.size() > 0">
                field(a.sort,
                <foreach collection="conditionParamRef.sortList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('sourceList') and conditionParamRef.sourceList.size() > 0">
                field(a.source,
                <foreach collection="conditionParamRef.sourceList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('totalList') and conditionParamRef.totalList.size() > 0">
                field(a.total,
                <foreach collection="conditionParamRef.totalList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('inNumList') and conditionParamRef.inNumList.size() > 0">
                field(a.inNum,
                <foreach collection="conditionParamRef.inNumList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
                field(a.createUserId,
                <foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
                ,
            </if>
            <trim suffixOverrides=","  suffix="">
                <if test="orderCol.containsKey('id')">
                    a.id
                    <if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('tid')">
                    a.tid
                    <if test='orderCol.tid != null and "DESC".equalsIgnoreCase(orderCol.tid)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('tname')">
                    a.tname
                    <if test='orderCol.tname != null and "DESC".equalsIgnoreCase(orderCol.tname)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('name')">
                    a.name
                    <if test='orderCol.name != null and "DESC".equalsIgnoreCase(orderCol.name)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('simpleName')">
                    a.simpleName
                    <if test='orderCol.simpleName != null and "DESC".equalsIgnoreCase(orderCol.simpleName)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('siteId')">
                    a.siteId
                    <if test='orderCol.siteId != null and "DESC".equalsIgnoreCase(orderCol.siteId)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('deptAbb')">
                    a.deptAbb
                    <if test='orderCol.deptAbb != null and "DESC".equalsIgnoreCase(orderCol.deptAbb)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('deptTelphone')">
                    a.deptTelphone
                    <if test='orderCol.deptTelphone != null and "DESC".equalsIgnoreCase(orderCol.deptTelphone)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('deptNumber')">
                    a.deptNumber
                    <if test='orderCol.deptNumber != null and "DESC".equalsIgnoreCase(orderCol.deptNumber)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('isAutotable')">
                    a.isAutotable
                    <if test='orderCol.isAutotable != null and "DESC".equalsIgnoreCase(orderCol.isAutotable)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('isOrder')">
                    a.isOrder
                    <if test='orderCol.isOrder != null and "DESC".equalsIgnoreCase(orderCol.isOrder)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('isBkb')">
                    a.isBkb
                    <if test='orderCol.isBkb != null and "DESC".equalsIgnoreCase(orderCol.isBkb)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('isWorkGuide')">
                    a.isWorkGuide
                    <if test='orderCol.isWorkGuide != null and "DESC".equalsIgnoreCase(orderCol.isWorkGuide)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('usValid')">
                    a.usValid
                    <if test='orderCol.usValid != null and "DESC".equalsIgnoreCase(orderCol.usValid)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('isSecphone')">
                    a.isSecphone
                    <if test='orderCol.isSecphone != null and "DESC".equalsIgnoreCase(orderCol.isSecphone)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('isEnglish')">
                    a.isEnglish
                    <if test='orderCol.isEnglish != null and "DESC".equalsIgnoreCase(orderCol.isEnglish)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('sort')">
                    a.sort
                    <if test='orderCol.sort != null and "DESC".equalsIgnoreCase(orderCol.sort)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('source')">
                    a.source
                    <if test='orderCol.source != null and "DESC".equalsIgnoreCase(orderCol.source)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('total')">
                    a.total
                    <if test='orderCol.total != null and "DESC".equalsIgnoreCase(orderCol.total)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('inNum')">
                    a.inNum
                    <if test='orderCol.inNum != null and "DESC".equalsIgnoreCase(orderCol.inNum)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('createTime')">
                    a.createTime
                    <if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('createUserId')">
                    a.createUserId
                    <if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('updateTime')">
                    a.updateTime
                    <if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
                    ,
                </if>
            </trim>
        </if>


    </sql>
    <sql id="_group_by_">
        <if test="groupList != null and !groupList.isEmpty()">
            GROUP BY
            <trim suffixOverrides=","  suffix="">
                <foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
                    ${item}
                </foreach>
            </trim>
        </if>
    </sql>
</mapper>