<?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.modules.supplement.dao.ibatis.SupplementDaoImpl">

    <!-- 字段和属性映射 -->
    <resultMap type="SupplementEntity" id="SupplementEntity-Map">
        <result property="id" column="id" />
        <result property="implName" column="impl_name" />
        <result property="implCode" column="impl_code" />
        <result property="applicationType" column="application_type" />
        <result property="applicationCardType" column="application_card_type" />
        <result property="applicationName" column="application_name" />
        <result property="applicationId" column="application_id" />
        <result property="applicationPhone" column="application_phone" />
        <result property="mechanismName" column="mechanism_name" />
        <result property="mechanismAddress" column="mechanism_address" />
        <result property="mechanismType" column="mechanism_type" />
        <result property="mechanismIdType" column="mechanism_id_type" />
        <result property="mechanismId" column="mechanism_id" />
        <result property="legalPerson" column="legal_person" />
        <result property="applyTime" column="apply_time" />
        <result property="acceptName" column="accept_name" />
        <result property="acceptId" column="accept_id" />
        <result property="acceptPhone" column="accept_phone" />
        <result property="sysCode" column="sys_code" />
        <result property="isExecute" column="is_execute" />
        <result property="isSuccess" column="is_success" />
        <result property="failReason" column="fail_reason" />
        <result property="createDate" column="createDate" />
        <result property="updateDate" column="updateDate" />
    </resultMap>
    <update id="createTable" parameterType="paramDto">
        CREATE TABLE `${tableName}`(
                `id` bigint(20) NOT NULL   COMMENT '主键ID,主键,业务生成',
            `impl_name` varchar(1024) DEFAULT NULL COMMENT '实施清单名称',
            `impl_code` varchar(255) DEFAULT NULL COMMENT '实施清单编码',
            `application_type` varchar(255) DEFAULT NULL COMMENT '申请人属性',
            `application_card_type` varchar(255) DEFAULT NULL COMMENT '申请人证件类型',
            `application_name` varchar(255) DEFAULT NULL COMMENT '申请人姓名',
            `application_id` varchar(255) DEFAULT NULL COMMENT '申请人证件号码',
            `application_phone` varchar(255) DEFAULT NULL COMMENT '申请人手机号码',
            `mechanism_name` varchar(255) DEFAULT NULL COMMENT '机构名称',
            `mechanism_address` varchar(255) DEFAULT NULL COMMENT '机构地址',
            `mechanism_type` varchar(255) DEFAULT NULL COMMENT '机构性质',
            `mechanism_id_type` varchar(255) DEFAULT NULL COMMENT '机构证件类型',
            `mechanism_id` varchar(255) DEFAULT NULL COMMENT '机构编码',
            `legal_person` varchar(255) DEFAULT NULL COMMENT '法人姓名',
            `apply_time` varchar(255) DEFAULT NULL COMMENT '办件申请日期',
            `accept_name` varchar(255) DEFAULT NULL COMMENT '受理人姓名',
            `accept_id` varchar(255) DEFAULT NULL COMMENT '受理人身份证号码',
            `accept_phone` varchar(255) DEFAULT NULL COMMENT '受理人手机号',
            `sys_code` varchar(255) DEFAULT NULL COMMENT '系统编码',
            `is_execute` varchar(1) DEFAULT NULL COMMENT '是否执行转化(0.未执行  1.已执行)',
            `is_success` varchar(1) DEFAULT NULL COMMENT '是否转化成功(0默认 1成功)',
            `fail_reason` varchar(255) DEFAULT NULL COMMENT '失败原因',
            `createDate` datetime DEFAULT NULL COMMENT '创建时间',
            `updateDate` datetime DEFAULT NULL COMMENT '更新时间',
        PRIMARY KEY  (`id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='办件信息临时表';

    </update>

    <!-- 表所有列 -->
    <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('implName') or colPickMode == 1 and data.containsKey('implName')))">
                    a.impl_name as impl_name,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('implCode') or colPickMode == 1 and data.containsKey('implCode')))">
                    a.impl_code as impl_code,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applicationType') or colPickMode == 1 and data.containsKey('applicationType')))">
                    a.application_type as application_type,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applicationCardType') or colPickMode == 1 and data.containsKey('applicationCardType')))">
                    a.application_card_type as application_card_type,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applicationName') or colPickMode == 1 and data.containsKey('applicationName')))">
                    a.application_name as application_name,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applicationId') or colPickMode == 1 and data.containsKey('applicationId')))">
                    a.application_id as application_id,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applicationPhone') or colPickMode == 1 and data.containsKey('applicationPhone')))">
                    a.application_phone as application_phone,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('mechanismName') or colPickMode == 1 and data.containsKey('mechanismName')))">
                    a.mechanism_name as mechanism_name,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('mechanismAddress') or colPickMode == 1 and data.containsKey('mechanismAddress')))">
                    a.mechanism_address as mechanism_address,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('mechanismType') or colPickMode == 1 and data.containsKey('mechanismType')))">
                    a.mechanism_type as mechanism_type,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('mechanismIdType') or colPickMode == 1 and data.containsKey('mechanismIdType')))">
                    a.mechanism_id_type as mechanism_id_type,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('mechanismId') or colPickMode == 1 and data.containsKey('mechanismId')))">
                    a.mechanism_id as mechanism_id,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('legalPerson') or colPickMode == 1 and data.containsKey('legalPerson')))">
                    a.legal_person as legal_person,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applyTime') or colPickMode == 1 and data.containsKey('applyTime')))">
                    a.apply_time as apply_time,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('acceptName') or colPickMode == 1 and data.containsKey('acceptName')))">
                    a.accept_name as accept_name,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('acceptId') or colPickMode == 1 and data.containsKey('acceptId')))">
                    a.accept_id as accept_id,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('acceptPhone') or colPickMode == 1 and data.containsKey('acceptPhone')))">
                    a.accept_phone as accept_phone,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sysCode') or colPickMode == 1 and data.containsKey('sysCode')))">
                    a.sys_code as sys_code,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isExecute') or colPickMode == 1 and data.containsKey('isExecute')))">
                    a.is_execute as is_execute,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isSuccess') or colPickMode == 1 and data.containsKey('isSuccess')))">
                    a.is_success as is_success,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('failReason') or colPickMode == 1 and data.containsKey('failReason')))">
                    a.fail_reason as fail_reason,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createDate') or colPickMode == 1 and data.containsKey('createDate')))">
                    a.createDate as createDate,
                </if>
                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateDate') or colPickMode == 1 and data.containsKey('updateDate')))">
                    a.updateDate as updateDate,
                </if>
        </trim>
    </sql>
    <!-- 新增 -->
            <insert id="insert" parameterType="SupplementEntity" >
                insert into ${tableName}
                (id,impl_name,impl_code,application_type,application_card_type,application_name,application_id,application_phone,mechanism_name,mechanism_address,mechanism_type,mechanism_id_type,mechanism_id,legal_person,apply_time,accept_name,accept_id,accept_phone,sys_code,is_execute,is_success,fail_reason,createDate,updateDate)
                VALUES
                (#{id},#{implName},#{implCode},#{applicationType},#{applicationCardType},#{applicationName},#{applicationId},#{applicationPhone},#{mechanismName},#{mechanismAddress},#{mechanismType},#{mechanismIdType},#{mechanismId},#{legalPerson},#{applyTime},#{acceptName},#{acceptId},#{acceptPhone},#{sysCode},#{isExecute},#{isSuccess},#{failReason},#{createDate},#{updateDate})
            </insert>

            <!-- 批量新增 -->
            <insert id="insertBatch" parameterType="paramDto">
                insert into ${tableName}
                (id,impl_name,impl_code,application_type,application_card_type,application_name,application_id,application_phone,mechanism_name,mechanism_address,mechanism_type,mechanism_id_type,mechanism_id,legal_person,apply_time,accept_name,accept_id,accept_phone,sys_code,is_execute,is_success,fail_reason,createDate,updateDate)
                VALUES
                <foreach collection="data.dataList" item="item" index="index" separator="," >
                    (#{item.id},#{item.implName},#{item.implCode},#{item.applicationType},#{item.applicationCardType},#{item.applicationName},#{item.applicationId},#{item.applicationPhone},#{item.mechanismName},#{item.mechanismAddress},#{item.mechanismType},#{item.mechanismIdType},#{item.mechanismId},#{item.legalPerson},#{item.applyTime},#{item.acceptName},#{item.acceptId},#{item.acceptPhone},#{item.sysCode},#{item.isExecute},#{item.isSuccess},#{item.failReason},#{item.createDate},#{item.updateDate})
                </foreach>
            </insert>
    <!-- 根据ParamDto更新 -->
    <update id="update" parameterType="paramDto">
        update   ${tableName} as a
        set
        <trim suffixOverrides="," suffix="">
            <if test="(colPickMode==0 and data.containsKey('implName')) or (colPickMode==1 and !data.containsKey('implName'))">
                a.impl_name=#{data.implName},
            </if>
            <if test="(colPickMode==0 and data.containsKey('implCode')) or (colPickMode==1 and !data.containsKey('implCode'))">
                a.impl_code=#{data.implCode},
            </if>
            <if test="(colPickMode==0 and data.containsKey('applicationType')) or (colPickMode==1 and !data.containsKey('applicationType'))">
                a.application_type=#{data.applicationType},
            </if>
            <if test="(colPickMode==0 and data.containsKey('applicationCardType')) or (colPickMode==1 and !data.containsKey('applicationCardType'))">
                a.application_card_type=#{data.applicationCardType},
            </if>
            <if test="(colPickMode==0 and data.containsKey('applicationName')) or (colPickMode==1 and !data.containsKey('applicationName'))">
                a.application_name=#{data.applicationName},
            </if>
            <if test="(colPickMode==0 and data.containsKey('applicationId')) or (colPickMode==1 and !data.containsKey('applicationId'))">
                a.application_id=#{data.applicationId},
            </if>
            <if test="(colPickMode==0 and data.containsKey('applicationPhone')) or (colPickMode==1 and !data.containsKey('applicationPhone'))">
                a.application_phone=#{data.applicationPhone},
            </if>
            <if test="(colPickMode==0 and data.containsKey('mechanismName')) or (colPickMode==1 and !data.containsKey('mechanismName'))">
                a.mechanism_name=#{data.mechanismName},
            </if>
            <if test="(colPickMode==0 and data.containsKey('mechanismAddress')) or (colPickMode==1 and !data.containsKey('mechanismAddress'))">
                a.mechanism_address=#{data.mechanismAddress},
            </if>
            <if test="(colPickMode==0 and data.containsKey('mechanismType')) or (colPickMode==1 and !data.containsKey('mechanismType'))">
                a.mechanism_type=#{data.mechanismType},
            </if>
            <if test="(colPickMode==0 and data.containsKey('mechanismIdType')) or (colPickMode==1 and !data.containsKey('mechanismIdType'))">
                a.mechanism_id_type=#{data.mechanismIdType},
            </if>
            <if test="(colPickMode==0 and data.containsKey('mechanismId')) or (colPickMode==1 and !data.containsKey('mechanismId'))">
                a.mechanism_id=#{data.mechanismId},
            </if>
            <if test="(colPickMode==0 and data.containsKey('legalPerson')) or (colPickMode==1 and !data.containsKey('legalPerson'))">
                a.legal_person=#{data.legalPerson},
            </if>
            <if test="(colPickMode==0 and data.containsKey('applyTime')) or (colPickMode==1 and !data.containsKey('applyTime'))">
                a.apply_time=#{data.applyTime},
            </if>
            <if test="(colPickMode==0 and data.containsKey('acceptName')) or (colPickMode==1 and !data.containsKey('acceptName'))">
                a.accept_name=#{data.acceptName},
            </if>
            <if test="(colPickMode==0 and data.containsKey('acceptId')) or (colPickMode==1 and !data.containsKey('acceptId'))">
                a.accept_id=#{data.acceptId},
            </if>
            <if test="(colPickMode==0 and data.containsKey('acceptPhone')) or (colPickMode==1 and !data.containsKey('acceptPhone'))">
                a.accept_phone=#{data.acceptPhone},
            </if>
            <if test="(colPickMode==0 and data.containsKey('sysCode')) or (colPickMode==1 and !data.containsKey('sysCode'))">
                a.sys_code=#{data.sysCode},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isExecute')) or (colPickMode==1 and !data.containsKey('isExecute'))">
                a.is_execute=#{data.isExecute},
            </if>
            <if test="(colPickMode==0 and data.containsKey('isSuccess')) or (colPickMode==1 and !data.containsKey('isSuccess'))">
                a.is_success=#{data.isSuccess},
            </if>
            <if test="(colPickMode==0 and data.containsKey('failReason')) or (colPickMode==1 and !data.containsKey('failReason'))">
                a.fail_reason=#{data.failReason},
            </if>
            <if test="(colPickMode==0 and data.containsKey('createDate')) or (colPickMode==1 and !data.containsKey('createDate'))">
                a.createDate=#{data.createDate},
            </if>
            <if test="(colPickMode==0 and data.containsKey('updateDate')) or (colPickMode==1 and !data.containsKey('updateDate'))">
                a.updateDate=#{data.updateDate},
            </if>
        </trim>
        <trim suffixOverrides="where" suffix="">
            where
            <trim prefixOverrides="and" prefix="">
                <include refid="_condition_"/>
            </trim>
        </trim>
    </update>
    <!-- 批量更新 -->
    <update id="updateBatch" parameterType="paramDto">
        update ${tableName} as a
        <trim prefix="set" suffixOverrides=",">


                <trim prefix="impl_name=(case" suffix="ELSE impl_name end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('implName')) or (colPickMode==1 and !item.containsKey('implName'))">
                            when a.id=#{item.id} then #{item.implName}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="impl_code=(case" suffix="ELSE impl_code end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('implCode')) or (colPickMode==1 and !item.containsKey('implCode'))">
                            when a.id=#{item.id} then #{item.implCode}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="application_type=(case" suffix="ELSE application_type end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('applicationType')) or (colPickMode==1 and !item.containsKey('applicationType'))">
                            when a.id=#{item.id} then #{item.applicationType}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="application_card_type=(case" suffix="ELSE application_card_type end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('applicationCardType')) or (colPickMode==1 and !item.containsKey('applicationCardType'))">
                            when a.id=#{item.id} then #{item.applicationCardType}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="application_name=(case" suffix="ELSE application_name end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('applicationName')) or (colPickMode==1 and !item.containsKey('applicationName'))">
                            when a.id=#{item.id} then #{item.applicationName}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="application_id=(case" suffix="ELSE application_id end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('applicationId')) or (colPickMode==1 and !item.containsKey('applicationId'))">
                            when a.id=#{item.id} then #{item.applicationId}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="application_phone=(case" suffix="ELSE application_phone end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('applicationPhone')) or (colPickMode==1 and !item.containsKey('applicationPhone'))">
                            when a.id=#{item.id} then #{item.applicationPhone}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="mechanism_name=(case" suffix="ELSE mechanism_name end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('mechanismName')) or (colPickMode==1 and !item.containsKey('mechanismName'))">
                            when a.id=#{item.id} then #{item.mechanismName}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="mechanism_address=(case" suffix="ELSE mechanism_address end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('mechanismAddress')) or (colPickMode==1 and !item.containsKey('mechanismAddress'))">
                            when a.id=#{item.id} then #{item.mechanismAddress}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="mechanism_type=(case" suffix="ELSE mechanism_type end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('mechanismType')) or (colPickMode==1 and !item.containsKey('mechanismType'))">
                            when a.id=#{item.id} then #{item.mechanismType}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="mechanism_id_type=(case" suffix="ELSE mechanism_id_type end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('mechanismIdType')) or (colPickMode==1 and !item.containsKey('mechanismIdType'))">
                            when a.id=#{item.id} then #{item.mechanismIdType}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="mechanism_id=(case" suffix="ELSE mechanism_id end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('mechanismId')) or (colPickMode==1 and !item.containsKey('mechanismId'))">
                            when a.id=#{item.id} then #{item.mechanismId}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="legal_person=(case" suffix="ELSE legal_person end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('legalPerson')) or (colPickMode==1 and !item.containsKey('legalPerson'))">
                            when a.id=#{item.id} then #{item.legalPerson}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="apply_time=(case" suffix="ELSE apply_time end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('applyTime')) or (colPickMode==1 and !item.containsKey('applyTime'))">
                            when a.id=#{item.id} then #{item.applyTime}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="accept_name=(case" suffix="ELSE accept_name end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('acceptName')) or (colPickMode==1 and !item.containsKey('acceptName'))">
                            when a.id=#{item.id} then #{item.acceptName}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="accept_id=(case" suffix="ELSE accept_id end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('acceptId')) or (colPickMode==1 and !item.containsKey('acceptId'))">
                            when a.id=#{item.id} then #{item.acceptId}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="accept_phone=(case" suffix="ELSE accept_phone end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('acceptPhone')) or (colPickMode==1 and !item.containsKey('acceptPhone'))">
                            when a.id=#{item.id} then #{item.acceptPhone}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="sys_code=(case" suffix="ELSE sys_code end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('sysCode')) or (colPickMode==1 and !item.containsKey('sysCode'))">
                            when a.id=#{item.id} then #{item.sysCode}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="is_execute=(case" suffix="ELSE is_execute end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('isExecute')) or (colPickMode==1 and !item.containsKey('isExecute'))">
                            when a.id=#{item.id} then #{item.isExecute}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="is_success=(case" suffix="ELSE is_success end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('isSuccess')) or (colPickMode==1 and !item.containsKey('isSuccess'))">
                            when a.id=#{item.id} then #{item.isSuccess}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="fail_reason=(case" suffix="ELSE fail_reason end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('failReason')) or (colPickMode==1 and !item.containsKey('failReason'))">
                            when a.id=#{item.id} then #{item.failReason}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="createDate=(case" suffix="ELSE createDate end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('createDate')) or (colPickMode==1 and !item.containsKey('createDate'))">
                            when a.id=#{item.id} then #{item.createDate}
                        </if>
                    </foreach>
                </trim>

                <trim prefix="updateDate=(case" suffix="ELSE updateDate end),">
                    <foreach collection="data.dataList" item="item" index="index" separator="" >
                        <if test="(colPickMode==0 and item.containsKey('updateDate')) or (colPickMode==1 and !item.containsKey('updateDate'))">
                            when a.id=#{item.id} then #{item.updateDate}
                        </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="SupplementEntity-Map">
        select <include refid="_columns"/>
        from ${tableName} as a
        where a.id=#{condition.id}
    </select>
    <!-- 根据主健删除 -->
    <delete id="deleteByKey" parameterType="paramDto">
        delete a.* from ${tableName} as a where a.id=#{condition.id}
    </delete>
    <!-- 根据主健删除一批,针对单一主健有效 -->
    <delete id="deleteByKeys">
        delete from ${tableName} 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 ${tableName} as a
        <trim suffixOverrides="where" suffix="">
            where
            <trim prefixOverrides="and" prefix="">
                <include refid="_condition_"/>
            </trim>
        </trim>
    </delete>
    <!-- 获取列表 -->
    <select id="getList" parameterType="paramDto" resultMap="SupplementEntity-Map">
        select <include refid="_columns"/>
        from ${tableName} 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 ${tableName} 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('implName')">
                <if test="conditionParamRef.implName != null and conditionParamRef.implName != ''">
                    ${_conditionType_} a.impl_name like #{${_conditionParam_}.implName}
                </if>
                <if test="conditionParamRef.implName == null">
                    ${_conditionType_} a.impl_name is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('implNameList')">
                ${_conditionType_} a.impl_name in
                <foreach collection="conditionParamRef.implNameList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('implCode')">
                <if test="conditionParamRef.implCode != null and conditionParamRef.implCode != ''">
                    ${_conditionType_} a.impl_code like #{${_conditionParam_}.implCode}
                </if>
                <if test="conditionParamRef.implCode == null">
                    ${_conditionType_} a.impl_code is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('implCodeList')">
                ${_conditionType_} a.impl_code in
                <foreach collection="conditionParamRef.implCodeList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('applicationType')">
                <if test="conditionParamRef.applicationType != null and conditionParamRef.applicationType != ''">
                    ${_conditionType_} a.application_type like #{${_conditionParam_}.applicationType}
                </if>
                <if test="conditionParamRef.applicationType == null">
                    ${_conditionType_} a.application_type is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('applicationTypeList')">
                ${_conditionType_} a.application_type in
                <foreach collection="conditionParamRef.applicationTypeList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('applicationCardType')">
                <if test="conditionParamRef.applicationCardType != null and conditionParamRef.applicationCardType != ''">
                    ${_conditionType_} a.application_card_type like #{${_conditionParam_}.applicationCardType}
                </if>
                <if test="conditionParamRef.applicationCardType == null">
                    ${_conditionType_} a.application_card_type is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('applicationCardTypeList')">
                ${_conditionType_} a.application_card_type in
                <foreach collection="conditionParamRef.applicationCardTypeList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('applicationName')">
                <if test="conditionParamRef.applicationName != null and conditionParamRef.applicationName != ''">
                    ${_conditionType_} a.application_name like #{${_conditionParam_}.applicationName}
                </if>
                <if test="conditionParamRef.applicationName == null">
                    ${_conditionType_} a.application_name is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('applicationNameList')">
                ${_conditionType_} a.application_name in
                <foreach collection="conditionParamRef.applicationNameList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('applicationId')">
                <if test="conditionParamRef.applicationId != null and conditionParamRef.applicationId != ''">
                    ${_conditionType_} a.application_id like #{${_conditionParam_}.applicationId}
                </if>
                <if test="conditionParamRef.applicationId == null">
                    ${_conditionType_} a.application_id is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('applicationIdList')">
                ${_conditionType_} a.application_id in
                <foreach collection="conditionParamRef.applicationIdList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('applicationPhone')">
                <if test="conditionParamRef.applicationPhone != null and conditionParamRef.applicationPhone != ''">
                    ${_conditionType_} a.application_phone like #{${_conditionParam_}.applicationPhone}
                </if>
                <if test="conditionParamRef.applicationPhone == null">
                    ${_conditionType_} a.application_phone is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('applicationPhoneList')">
                ${_conditionType_} a.application_phone in
                <foreach collection="conditionParamRef.applicationPhoneList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('mechanismName')">
                <if test="conditionParamRef.mechanismName != null and conditionParamRef.mechanismName != ''">
                    ${_conditionType_} a.mechanism_name like #{${_conditionParam_}.mechanismName}
                </if>
                <if test="conditionParamRef.mechanismName == null">
                    ${_conditionType_} a.mechanism_name is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('mechanismNameList')">
                ${_conditionType_} a.mechanism_name in
                <foreach collection="conditionParamRef.mechanismNameList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('mechanismAddress')">
                <if test="conditionParamRef.mechanismAddress != null and conditionParamRef.mechanismAddress != ''">
                    ${_conditionType_} a.mechanism_address like #{${_conditionParam_}.mechanismAddress}
                </if>
                <if test="conditionParamRef.mechanismAddress == null">
                    ${_conditionType_} a.mechanism_address is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('mechanismAddressList')">
                ${_conditionType_} a.mechanism_address in
                <foreach collection="conditionParamRef.mechanismAddressList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('mechanismType')">
                <if test="conditionParamRef.mechanismType != null and conditionParamRef.mechanismType != ''">
                    ${_conditionType_} a.mechanism_type like #{${_conditionParam_}.mechanismType}
                </if>
                <if test="conditionParamRef.mechanismType == null">
                    ${_conditionType_} a.mechanism_type is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('mechanismTypeList')">
                ${_conditionType_} a.mechanism_type in
                <foreach collection="conditionParamRef.mechanismTypeList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('mechanismIdType')">
                <if test="conditionParamRef.mechanismIdType != null and conditionParamRef.mechanismIdType != ''">
                    ${_conditionType_} a.mechanism_id_type like #{${_conditionParam_}.mechanismIdType}
                </if>
                <if test="conditionParamRef.mechanismIdType == null">
                    ${_conditionType_} a.mechanism_id_type is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('mechanismIdTypeList')">
                ${_conditionType_} a.mechanism_id_type in
                <foreach collection="conditionParamRef.mechanismIdTypeList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('mechanismId')">
                <if test="conditionParamRef.mechanismId != null and conditionParamRef.mechanismId != ''">
                    ${_conditionType_} a.mechanism_id like #{${_conditionParam_}.mechanismId}
                </if>
                <if test="conditionParamRef.mechanismId == null">
                    ${_conditionType_} a.mechanism_id is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('mechanismIdList')">
                ${_conditionType_} a.mechanism_id in
                <foreach collection="conditionParamRef.mechanismIdList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('legalPerson')">
                <if test="conditionParamRef.legalPerson != null and conditionParamRef.legalPerson != ''">
                    ${_conditionType_} a.legal_person like #{${_conditionParam_}.legalPerson}
                </if>
                <if test="conditionParamRef.legalPerson == null">
                    ${_conditionType_} a.legal_person is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('legalPersonList')">
                ${_conditionType_} a.legal_person in
                <foreach collection="conditionParamRef.legalPersonList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('applyTime')">
                <if test="conditionParamRef.applyTime != null and conditionParamRef.applyTime != ''">
                    ${_conditionType_} a.apply_time like #{${_conditionParam_}.applyTime}
                </if>
                <if test="conditionParamRef.applyTime == null">
                    ${_conditionType_} a.apply_time is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('applyTimeList')">
                ${_conditionType_} a.apply_time in
                <foreach collection="conditionParamRef.applyTimeList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('acceptName')">
                <if test="conditionParamRef.acceptName != null and conditionParamRef.acceptName != ''">
                    ${_conditionType_} a.accept_name like #{${_conditionParam_}.acceptName}
                </if>
                <if test="conditionParamRef.acceptName == null">
                    ${_conditionType_} a.accept_name is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('acceptNameList')">
                ${_conditionType_} a.accept_name in
                <foreach collection="conditionParamRef.acceptNameList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('acceptId')">
                <if test="conditionParamRef.acceptId != null and conditionParamRef.acceptId != ''">
                    ${_conditionType_} a.accept_id like #{${_conditionParam_}.acceptId}
                </if>
                <if test="conditionParamRef.acceptId == null">
                    ${_conditionType_} a.accept_id is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('acceptIdList')">
                ${_conditionType_} a.accept_id in
                <foreach collection="conditionParamRef.acceptIdList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('acceptPhone')">
                <if test="conditionParamRef.acceptPhone != null and conditionParamRef.acceptPhone != ''">
                    ${_conditionType_} a.accept_phone like #{${_conditionParam_}.acceptPhone}
                </if>
                <if test="conditionParamRef.acceptPhone == null">
                    ${_conditionType_} a.accept_phone is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('acceptPhoneList')">
                ${_conditionType_} a.accept_phone in
                <foreach collection="conditionParamRef.acceptPhoneList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('sysCode')">
                <if test="conditionParamRef.sysCode != null and conditionParamRef.sysCode != ''">
                    ${_conditionType_} a.sys_code like #{${_conditionParam_}.sysCode}
                </if>
                <if test="conditionParamRef.sysCode == null">
                    ${_conditionType_} a.sys_code is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('sysCodeList')">
                ${_conditionType_} a.sys_code in
                <foreach collection="conditionParamRef.sysCodeList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('isExecute')">
                <if test="conditionParamRef.isExecute != null and conditionParamRef.isExecute != ''">
                    ${_conditionType_} a.is_execute like #{${_conditionParam_}.isExecute}
                </if>
                <if test="conditionParamRef.isExecute == null">
                    ${_conditionType_} a.is_execute is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('isExecuteList')">
                ${_conditionType_} a.is_execute in
                <foreach collection="conditionParamRef.isExecuteList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('isSuccess')">
                <if test="conditionParamRef.isSuccess != null and conditionParamRef.isSuccess != ''">
                    ${_conditionType_} a.is_success like #{${_conditionParam_}.isSuccess}
                </if>
                <if test="conditionParamRef.isSuccess == null">
                    ${_conditionType_} a.is_success is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('isSuccessList')">
                ${_conditionType_} a.is_success in
                <foreach collection="conditionParamRef.isSuccessList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('failReason')">
                <if test="conditionParamRef.failReason != null and conditionParamRef.failReason != ''">
                    ${_conditionType_} a.fail_reason like #{${_conditionParam_}.failReason}
                </if>
                <if test="conditionParamRef.failReason == null">
                    ${_conditionType_} a.fail_reason is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('failReasonList')">
                ${_conditionType_} a.fail_reason in
                <foreach collection="conditionParamRef.failReasonList" open="(" close=")" index="index" item="item" separator=",">
                    #{item}
                </foreach>
            </if>

            <if test="conditionParamRef.containsKey('createDate')">
                <if test="conditionParamRef.createDate != null ">
                    ${_conditionType_} a.createDate = #{${_conditionParam_}.createDate}
                </if>
                <if test="conditionParamRef.createDate == null">
                    ${_conditionType_} a.createDate is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('createDateStart') and conditionParamRef.createDateStart != null and conditionParamRef.createDateStart!=''">
                ${_conditionType_} a.createDate <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createDateStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
            </if>
            <if test="conditionParamRef.containsKey('createDateEnd') and conditionParamRef.createDateEnd != null and conditionParamRef.createDateEnd!=''">
                ${_conditionType_} a.createDate <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createDateEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
            </if>

            <if test="conditionParamRef.containsKey('updateDate')">
                <if test="conditionParamRef.updateDate != null ">
                    ${_conditionType_} a.updateDate = #{${_conditionParam_}.updateDate}
                </if>
                <if test="conditionParamRef.updateDate == null">
                    ${_conditionType_} a.updateDate is null
                </if>
            </if>
            <if test="conditionParamRef.containsKey('updateDateStart') and conditionParamRef.updateDateStart != null and conditionParamRef.updateDateStart!=''">
                ${_conditionType_} a.updateDate <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateDateStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
            </if>
            <if test="conditionParamRef.containsKey('updateDateEnd') and conditionParamRef.updateDateEnd != null and conditionParamRef.updateDateEnd!=''">
                ${_conditionType_} a.updateDate <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateDateEnd},' 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('implName')">
                        a.impl_name
                        <if test='orderCol.implName != null and "DESC".equalsIgnoreCase(orderCol.implName)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('implCode')">
                        a.impl_code
                        <if test='orderCol.implCode != null and "DESC".equalsIgnoreCase(orderCol.implCode)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('applicationType')">
                        a.application_type
                        <if test='orderCol.applicationType != null and "DESC".equalsIgnoreCase(orderCol.applicationType)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('applicationCardType')">
                        a.application_card_type
                        <if test='orderCol.applicationCardType != null and "DESC".equalsIgnoreCase(orderCol.applicationCardType)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('applicationName')">
                        a.application_name
                        <if test='orderCol.applicationName != null and "DESC".equalsIgnoreCase(orderCol.applicationName)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('applicationId')">
                        a.application_id
                        <if test='orderCol.applicationId != null and "DESC".equalsIgnoreCase(orderCol.applicationId)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('applicationPhone')">
                        a.application_phone
                        <if test='orderCol.applicationPhone != null and "DESC".equalsIgnoreCase(orderCol.applicationPhone)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('mechanismName')">
                        a.mechanism_name
                        <if test='orderCol.mechanismName != null and "DESC".equalsIgnoreCase(orderCol.mechanismName)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('mechanismAddress')">
                        a.mechanism_address
                        <if test='orderCol.mechanismAddress != null and "DESC".equalsIgnoreCase(orderCol.mechanismAddress)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('mechanismType')">
                        a.mechanism_type
                        <if test='orderCol.mechanismType != null and "DESC".equalsIgnoreCase(orderCol.mechanismType)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('mechanismIdType')">
                        a.mechanism_id_type
                        <if test='orderCol.mechanismIdType != null and "DESC".equalsIgnoreCase(orderCol.mechanismIdType)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('mechanismId')">
                        a.mechanism_id
                        <if test='orderCol.mechanismId != null and "DESC".equalsIgnoreCase(orderCol.mechanismId)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('legalPerson')">
                        a.legal_person
                        <if test='orderCol.legalPerson != null and "DESC".equalsIgnoreCase(orderCol.legalPerson)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('applyTime')">
                        a.apply_time
                        <if test='orderCol.applyTime != null and "DESC".equalsIgnoreCase(orderCol.applyTime)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('acceptName')">
                        a.accept_name
                        <if test='orderCol.acceptName != null and "DESC".equalsIgnoreCase(orderCol.acceptName)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('acceptId')">
                        a.accept_id
                        <if test='orderCol.acceptId != null and "DESC".equalsIgnoreCase(orderCol.acceptId)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('acceptPhone')">
                        a.accept_phone
                        <if test='orderCol.acceptPhone != null and "DESC".equalsIgnoreCase(orderCol.acceptPhone)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('sysCode')">
                        a.sys_code
                        <if test='orderCol.sysCode != null and "DESC".equalsIgnoreCase(orderCol.sysCode)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('isExecute')">
                        a.is_execute
                        <if test='orderCol.isExecute != null and "DESC".equalsIgnoreCase(orderCol.isExecute)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('isSuccess')">
                        a.is_success
                        <if test='orderCol.isSuccess != null and "DESC".equalsIgnoreCase(orderCol.isSuccess)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('failReason')">
                        a.fail_reason
                        <if test='orderCol.failReason != null and "DESC".equalsIgnoreCase(orderCol.failReason)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('createDate')">
                        a.createDate
                        <if test='orderCol.createDate != null and "DESC".equalsIgnoreCase(orderCol.createDate)'>DESC</if>
                        ,
                    </if>
                    <if test="orderCol.containsKey('updateDate')">
                        a.updateDate
                        <if test='orderCol.updateDate != null and "DESC".equalsIgnoreCase(orderCol.updateDate)'>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>