<?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="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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as 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 as sort,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
                    a.createTime as 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 as 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 as 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,createTime,createUserId,updateTime)
        VALUES
        (#{tid},#{tname},#{name},#{simpleName},#{siteId},#{deptAbb},#{deptTelphone},#{deptNumber},#{isAutotable},#{isOrder},#{isBkb},#{isWorkGuide},#{usValid},#{isSecphone},#{isEnglish},#{sort},#{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,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.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('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="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>
    <!-- 根据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')">
                ${_conditionType_} a.id in
                <foreach collection="conditionParamRef.idList" 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')">
                ${_conditionType_} a.tid in
                <foreach collection="conditionParamRef.tidList" 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')">
                ${_conditionType_} a.tname in
                <foreach collection="conditionParamRef.tnameList" 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')">
                ${_conditionType_} a.name in
                <foreach collection="conditionParamRef.nameList" 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')">
                ${_conditionType_} a.simpleName in
                <foreach collection="conditionParamRef.simpleNameList" 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')">
                ${_conditionType_} a.siteId in
                <foreach collection="conditionParamRef.siteIdList" 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')">
                ${_conditionType_} a.deptAbb in
                <foreach collection="conditionParamRef.deptAbbList" 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')">
                ${_conditionType_} a.deptTelphone in
                <foreach collection="conditionParamRef.deptTelphoneList" 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')">
                ${_conditionType_} a.deptNumber in
                <foreach collection="conditionParamRef.deptNumberList" 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')">
                ${_conditionType_} a.isAutotable in
                <foreach collection="conditionParamRef.isAutotableList" 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')">
                ${_conditionType_} a.isOrder in
                <foreach collection="conditionParamRef.isOrderList" 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')">
                ${_conditionType_} a.isBkb in
                <foreach collection="conditionParamRef.isBkbList" 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')">
                ${_conditionType_} a.isWorkGuide in
                <foreach collection="conditionParamRef.isWorkGuideList" 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')">
                ${_conditionType_} a.usValid in
                <foreach collection="conditionParamRef.usValidList" 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')">
                ${_conditionType_} a.isSecphone in
                <foreach collection="conditionParamRef.isSecphoneList" 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')">
                ${_conditionType_} a.isEnglish in
                <foreach collection="conditionParamRef.isEnglishList" 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')">
                ${_conditionType_} a.sort in
                <foreach collection="conditionParamRef.sortList" 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('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')">
                ${_conditionType_} a.createUserId in
                <foreach collection="conditionParamRef.createUserIdList" 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
            <trim suffixOverrides=","  suffix="">
                <foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
                     ${item.colName} ${item.sortKind}
                </foreach>
            </trim>
        </if>
        <if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
            order by
            <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('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>