<?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.appointment.dao.ibatis.AppointmentConfigDaoImpl">

    <!-- 字段和属性映射 -->
    <resultMap type="AppointmentConfigEntity" id="AppointmentConfigEntity-Map">
        <id  property="id" column="id" />
        <result property="siteId" column="siteId" />
        <result property="siteName" column="siteName" />
        <result property="used" column="used" />
        <result property="monday" column="monday" />
        <result property="tuesday" column="tuesday" />
        <result property="wednesday" column="wednesday" />
        <result property="thursday" column="thursday" />
        <result property="friday" column="friday" />
        <result property="saturday" column="saturday" />
        <result property="sunday" column="sunday" />
        <result property="maxServicePersonNum" column="maxServicePersonNum" />
        <result property="alertServiceNum" column="alertServiceNum" />
        <result property="remark" column="remark" />
        <result property="createUserId" column="createUserId" />
        <result property="createTime" column="createTime" />
        <result property="updateUserId" column="updateUserId" />
        <result property="updateTime" column="updateTime" />
        <collection property="appointmentConfigTimesList" column="id" ofType="AppointmentConfigTimesEntity" javaType="ArrayList" select="getAppointmentConfigTimesByAotoCheckCfgId"></collection>
    </resultMap>
    <resultMap type="AppointmentConfigTimesEntity" id="AppointmentConfigTimesEntity-Map">
        <result property="id" column="id" />
        <result property="aotoCheckCfgId" column="aotoCheckCfgId" />
        <result property="serviceTimeStart" column="serviceTimeStart" />
        <result property="serviceTimeEnd" column="serviceTimeEnd" />
        <result property="remark" column="remark" />
        <result property="createUserId" column="createUserId" />
        <result property="createTime" column="createTime" />
        <result property="updateUserId" column="updateUserId" />
        <result property="updateTime" column="updateTime" />
    </resultMap>


    <!-- 表所有列 -->
    <sql id="_columns">
        <trim suffixOverrides="," suffix="">
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
                a.id,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteId') or colPickMode == 1 and data.containsKey('siteId')))">
                a.siteId,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteName') or colPickMode == 1 and data.containsKey('siteName')))">
                a.siteName,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('used') or colPickMode == 1 and data.containsKey('used')))">
                a.used,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('monday') or colPickMode == 1 and data.containsKey('monday')))">
                a.monday,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tuesday') or colPickMode == 1 and data.containsKey('tuesday')))">
                a.tuesday,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('wednesday') or colPickMode == 1 and data.containsKey('wednesday')))">
                a.wednesday,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('thursday') or colPickMode == 1 and data.containsKey('thursday')))">
                a.thursday,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('friday') or colPickMode == 1 and data.containsKey('friday')))">
                a.friday,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('saturday') or colPickMode == 1 and data.containsKey('saturday')))">
                a.saturday,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sunday') or colPickMode == 1 and data.containsKey('sunday')))">
                a.sunday,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('maxServicePersonNum') or colPickMode == 1 and data.containsKey('maxServicePersonNum')))">
                a.maxServicePersonNum,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('alertServiceNum') or colPickMode == 1 and data.containsKey('alertServiceNum')))">
                a.alertServiceNum,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
                a.remark,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
                a.createUserId,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
                a.createTime,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
                a.updateUserId,
            </if>
            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
                a.updateTime,
            </if>
        </trim>
    </sql>
    <!-- 子表所有列 -->
    <sql id="_columns_sub">
        <trim suffixOverrides="," suffix="">
            b.id,b.aotoCheckCfgId,b.serviceTimeStart,b.serviceTimeEnd,b.remark,b.createUserId,b.createTime,b.updateUserId,b.updateTime,
        </trim>
    </sql>
    <!-- 新增 区分主键自增加还是业务插入 -->
    <insert id="insert" parameterType="AppointmentConfigEntity"  useGeneratedKeys="true" keyProperty="id">
        insert into mortals_xhx_appointment_config
        (siteId,siteName,used,monday,tuesday,wednesday,thursday,friday,saturday,sunday,maxServicePersonNum,alertServiceNum,remark,createUserId,createTime,updateUserId,updateTime)
        VALUES
        (#{siteId},#{siteName},#{used},#{monday},#{tuesday},#{wednesday},#{thursday},#{friday},#{saturday},#{sunday},#{maxServicePersonNum},#{alertServiceNum},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
    </insert>

    <!-- 批量新增 -->
    <insert id="insertBatch" parameterType="paramDto">
        insert into mortals_xhx_appointment_config
        (siteId,siteName,used,monday,tuesday,wednesday,thursday,friday,saturday,sunday,maxServicePersonNum,alertServiceNum,remark,createUserId,createTime,updateUserId,updateTime)
        VALUES
        <foreach collection="data.dataList" item="item" index="index" separator="," >
            (#{item.siteId},#{item.siteName},#{item.used},#{item.monday},#{item.tuesday},#{item.wednesday},#{item.thursday},#{item.friday},#{item.saturday},#{item.sunday},#{item.maxServicePersonNum},#{item.alertServiceNum},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
        </foreach>
    </insert>


    <!-- 根据ParamDto更新 -->
    <update id="update" parameterType="paramDto">
        update mortals_xhx_appointment_config as a
        set
        <trim suffixOverrides="," suffix="">
            <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('siteName')) or (colPickMode==1 and !data.containsKey('siteName'))">
                a.siteName=#{data.siteName},
            </if>
            <if test="(colPickMode==0 and data.containsKey('used')) or (colPickMode==1 and !data.containsKey('used'))">
                a.used=#{data.used},
            </if>
            <if test="(colPickMode==0 and data.containsKey('usedIncrement')) or (colPickMode==1 and !data.containsKey('usedIncrement'))">
                a.used=ifnull(a.used,0) + #{data.usedIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('monday')) or (colPickMode==1 and !data.containsKey('monday'))">
                a.monday=#{data.monday},
            </if>
            <if test="(colPickMode==0 and data.containsKey('mondayIncrement')) or (colPickMode==1 and !data.containsKey('mondayIncrement'))">
                a.monday=ifnull(a.monday,0) + #{data.mondayIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('tuesday')) or (colPickMode==1 and !data.containsKey('tuesday'))">
                a.tuesday=#{data.tuesday},
            </if>
            <if test="(colPickMode==0 and data.containsKey('tuesdayIncrement')) or (colPickMode==1 and !data.containsKey('tuesdayIncrement'))">
                a.tuesday=ifnull(a.tuesday,0) + #{data.tuesdayIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('wednesday')) or (colPickMode==1 and !data.containsKey('wednesday'))">
                a.wednesday=#{data.wednesday},
            </if>
            <if test="(colPickMode==0 and data.containsKey('wednesdayIncrement')) or (colPickMode==1 and !data.containsKey('wednesdayIncrement'))">
                a.wednesday=ifnull(a.wednesday,0) + #{data.wednesdayIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('thursday')) or (colPickMode==1 and !data.containsKey('thursday'))">
                a.thursday=#{data.thursday},
            </if>
            <if test="(colPickMode==0 and data.containsKey('thursdayIncrement')) or (colPickMode==1 and !data.containsKey('thursdayIncrement'))">
                a.thursday=ifnull(a.thursday,0) + #{data.thursdayIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('friday')) or (colPickMode==1 and !data.containsKey('friday'))">
                a.friday=#{data.friday},
            </if>
            <if test="(colPickMode==0 and data.containsKey('fridayIncrement')) or (colPickMode==1 and !data.containsKey('fridayIncrement'))">
                a.friday=ifnull(a.friday,0) + #{data.fridayIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('saturday')) or (colPickMode==1 and !data.containsKey('saturday'))">
                a.saturday=#{data.saturday},
            </if>
            <if test="(colPickMode==0 and data.containsKey('saturdayIncrement')) or (colPickMode==1 and !data.containsKey('saturdayIncrement'))">
                a.saturday=ifnull(a.saturday,0) + #{data.saturdayIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('sunday')) or (colPickMode==1 and !data.containsKey('sunday'))">
                a.sunday=#{data.sunday},
            </if>
            <if test="(colPickMode==0 and data.containsKey('sundayIncrement')) or (colPickMode==1 and !data.containsKey('sundayIncrement'))">
                a.sunday=ifnull(a.sunday,0) + #{data.sundayIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('maxServicePersonNum')) or (colPickMode==1 and !data.containsKey('maxServicePersonNum'))">
                a.maxServicePersonNum=#{data.maxServicePersonNum},
            </if>
            <if test="(colPickMode==0 and data.containsKey('maxServicePersonNumIncrement')) or (colPickMode==1 and !data.containsKey('maxServicePersonNumIncrement'))">
                a.maxServicePersonNum=ifnull(a.maxServicePersonNum,0) + #{data.maxServicePersonNumIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('alertServiceNum')) or (colPickMode==1 and !data.containsKey('alertServiceNum'))">
                a.alertServiceNum=#{data.alertServiceNum},
            </if>
            <if test="(colPickMode==0 and data.containsKey('alertServiceNumIncrement')) or (colPickMode==1 and !data.containsKey('alertServiceNumIncrement'))">
                a.alertServiceNum=ifnull(a.alertServiceNum,0) + #{data.alertServiceNumIncrement},
            </if>
            <if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
                a.remark=#{data.remark},
            </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('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
                a.createTime=#{data.createTime},
            </if>
            <if test="(colPickMode==0 and data.containsKey('updateUserId')) or (colPickMode==1 and !data.containsKey('updateUserId'))">
                a.updateUserId=#{data.updateUserId},
            </if>
            <if test="(colPickMode==0 and data.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !data.containsKey('updateUserIdIncrement'))">
                a.updateUserId=ifnull(a.updateUserId,0) + #{data.updateUserIdIncrement},
            </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_xhx_appointment_config as a
        <trim prefix="set" suffixOverrides=",">
            <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="siteName=(case" suffix="ELSE siteName end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <if test="(colPickMode==0 and item.containsKey('siteName')) or (colPickMode==1 and !item.containsKey('siteName'))">
                        when a.id=#{item.id} then #{item.siteName}
                    </if>
                </foreach>
            </trim>
            <trim prefix="used=(case" suffix="ELSE used end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('used')) or (colPickMode==1 and !item.containsKey('used'))">
                            when a.id=#{item.id} then #{item.used}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('usedIncrement')) or (colPickMode==1 and !item.containsKey('usedIncrement'))">
                            when a.id=#{item.id} then ifnull(a.used,0) + #{item.usedIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="monday=(case" suffix="ELSE monday end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('monday')) or (colPickMode==1 and !item.containsKey('monday'))">
                            when a.id=#{item.id} then #{item.monday}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('mondayIncrement')) or (colPickMode==1 and !item.containsKey('mondayIncrement'))">
                            when a.id=#{item.id} then ifnull(a.monday,0) + #{item.mondayIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="tuesday=(case" suffix="ELSE tuesday end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('tuesday')) or (colPickMode==1 and !item.containsKey('tuesday'))">
                            when a.id=#{item.id} then #{item.tuesday}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('tuesdayIncrement')) or (colPickMode==1 and !item.containsKey('tuesdayIncrement'))">
                            when a.id=#{item.id} then ifnull(a.tuesday,0) + #{item.tuesdayIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="wednesday=(case" suffix="ELSE wednesday end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('wednesday')) or (colPickMode==1 and !item.containsKey('wednesday'))">
                            when a.id=#{item.id} then #{item.wednesday}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('wednesdayIncrement')) or (colPickMode==1 and !item.containsKey('wednesdayIncrement'))">
                            when a.id=#{item.id} then ifnull(a.wednesday,0) + #{item.wednesdayIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="thursday=(case" suffix="ELSE thursday end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('thursday')) or (colPickMode==1 and !item.containsKey('thursday'))">
                            when a.id=#{item.id} then #{item.thursday}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('thursdayIncrement')) or (colPickMode==1 and !item.containsKey('thursdayIncrement'))">
                            when a.id=#{item.id} then ifnull(a.thursday,0) + #{item.thursdayIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="friday=(case" suffix="ELSE friday end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('friday')) or (colPickMode==1 and !item.containsKey('friday'))">
                            when a.id=#{item.id} then #{item.friday}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('fridayIncrement')) or (colPickMode==1 and !item.containsKey('fridayIncrement'))">
                            when a.id=#{item.id} then ifnull(a.friday,0) + #{item.fridayIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="saturday=(case" suffix="ELSE saturday end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('saturday')) or (colPickMode==1 and !item.containsKey('saturday'))">
                            when a.id=#{item.id} then #{item.saturday}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('saturdayIncrement')) or (colPickMode==1 and !item.containsKey('saturdayIncrement'))">
                            when a.id=#{item.id} then ifnull(a.saturday,0) + #{item.saturdayIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="sunday=(case" suffix="ELSE sunday end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('sunday')) or (colPickMode==1 and !item.containsKey('sunday'))">
                            when a.id=#{item.id} then #{item.sunday}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('sundayIncrement')) or (colPickMode==1 and !item.containsKey('sundayIncrement'))">
                            when a.id=#{item.id} then ifnull(a.sunday,0) + #{item.sundayIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="maxServicePersonNum=(case" suffix="ELSE maxServicePersonNum end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('maxServicePersonNum')) or (colPickMode==1 and !item.containsKey('maxServicePersonNum'))">
                            when a.id=#{item.id} then #{item.maxServicePersonNum}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('maxServicePersonNumIncrement')) or (colPickMode==1 and !item.containsKey('maxServicePersonNumIncrement'))">
                            when a.id=#{item.id} then ifnull(a.maxServicePersonNum,0) + #{item.maxServicePersonNumIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="alertServiceNum=(case" suffix="ELSE alertServiceNum end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('alertServiceNum')) or (colPickMode==1 and !item.containsKey('alertServiceNum'))">
                            when a.id=#{item.id} then #{item.alertServiceNum}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('alertServiceNumIncrement')) or (colPickMode==1 and !item.containsKey('alertServiceNumIncrement'))">
                            when a.id=#{item.id} then ifnull(a.alertServiceNum,0) + #{item.alertServiceNumIncrement}
                        </when>
                    </choose>
                </foreach>
            </trim>
            <trim prefix="remark=(case" suffix="ELSE remark end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
                        when a.id=#{item.id} then #{item.remark}
                    </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="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="updateUserId=(case" suffix="ELSE updateUserId end),">
                <foreach collection="data.dataList" item="item" index="index" separator="" >
                    <choose>
                        <when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
                            when a.id=#{item.id} then #{item.updateUserId}
                        </when>
                        <when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
                            when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
                        </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="AppointmentConfigEntity-Map">
        select <include refid="_columns"/>
        from mortals_xhx_appointment_config as a
        where a.id=#{condition.id}
    </select>
    <!-- 根据主健删除 -->
    <delete id="deleteByKey" parameterType="paramDto">
        delete a.* from mortals_xhx_appointment_config as a where a.id=#{condition.id}
    </delete>
    <!-- 根据主健删除一批，针对单一主健有效 -->
    <delete id="deleteByKeys">
        delete from mortals_xhx_appointment_config where id in
        <foreach collection="array" item="item" index="index" open="(" separator="," close=")">
            #{item}
        </foreach>
    </delete>
    <!-- 根据主健列表删除一批，针对单一主健有效 -->
    <delete id="deleteByKeyList">
        delete from mortals_xhx_appointment_config where id in
        <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
            #{item}
        </foreach>
    </delete>

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



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

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


        <if test="conditionParamRef.containsKey('siteName')">
            <if test="conditionParamRef.siteName != null and conditionParamRef.siteName != ''">
                ${_conditionType_} a.siteName like #{${_conditionParam_}.siteName}
            </if>
            <if test="conditionParamRef.siteName == null">
                ${_conditionType_} a.siteName is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('siteNameList') and conditionParamRef.siteNameList.size() > 0">
            ${_conditionType_} a.siteName in
            <foreach collection="conditionParamRef.siteNameList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('siteNameNotList') and conditionParamRef.siteNameNotList.size() > 0">
            ${_conditionType_} a.siteName not in
            <foreach collection="conditionParamRef.siteNameNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('used')">
            <if test="conditionParamRef.used != null ">
                ${_conditionType_} a.used = #{${_conditionParam_}.used}
            </if>
            <if test="conditionParamRef.used == null">
                ${_conditionType_} a.used is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('usedList') and conditionParamRef.usedList.size() > 0">
            ${_conditionType_} a.used in
            <foreach collection="conditionParamRef.usedList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('usedNotList') and conditionParamRef.usedNotList.size() > 0">
            ${_conditionType_} a.used not in
            <foreach collection="conditionParamRef.usedNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('usedStart') and conditionParamRef.usedStart != null">
            ${_conditionType_} a.used <![CDATA[ >= ]]> #{${_conditionParam_}.usedStart}
        </if>
        <if test="conditionParamRef.containsKey('usedEnd') and conditionParamRef.usedEnd != null">
            ${_conditionType_} a.used <![CDATA[ <= ]]> #{${_conditionParam_}.usedEnd}
        </if>

        <if test="conditionParamRef.containsKey('monday')">
            <if test="conditionParamRef.monday != null ">
                ${_conditionType_} a.monday = #{${_conditionParam_}.monday}
            </if>
            <if test="conditionParamRef.monday == null">
                ${_conditionType_} a.monday is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('mondayList') and conditionParamRef.mondayList.size() > 0">
            ${_conditionType_} a.monday in
            <foreach collection="conditionParamRef.mondayList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('mondayNotList') and conditionParamRef.mondayNotList.size() > 0">
            ${_conditionType_} a.monday not in
            <foreach collection="conditionParamRef.mondayNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('mondayStart') and conditionParamRef.mondayStart != null">
            ${_conditionType_} a.monday <![CDATA[ >= ]]> #{${_conditionParam_}.mondayStart}
        </if>
        <if test="conditionParamRef.containsKey('mondayEnd') and conditionParamRef.mondayEnd != null">
            ${_conditionType_} a.monday <![CDATA[ <= ]]> #{${_conditionParam_}.mondayEnd}
        </if>

        <if test="conditionParamRef.containsKey('tuesday')">
            <if test="conditionParamRef.tuesday != null ">
                ${_conditionType_} a.tuesday = #{${_conditionParam_}.tuesday}
            </if>
            <if test="conditionParamRef.tuesday == null">
                ${_conditionType_} a.tuesday is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('tuesdayList') and conditionParamRef.tuesdayList.size() > 0">
            ${_conditionType_} a.tuesday in
            <foreach collection="conditionParamRef.tuesdayList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('tuesdayNotList') and conditionParamRef.tuesdayNotList.size() > 0">
            ${_conditionType_} a.tuesday not in
            <foreach collection="conditionParamRef.tuesdayNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('tuesdayStart') and conditionParamRef.tuesdayStart != null">
            ${_conditionType_} a.tuesday <![CDATA[ >= ]]> #{${_conditionParam_}.tuesdayStart}
        </if>
        <if test="conditionParamRef.containsKey('tuesdayEnd') and conditionParamRef.tuesdayEnd != null">
            ${_conditionType_} a.tuesday <![CDATA[ <= ]]> #{${_conditionParam_}.tuesdayEnd}
        </if>

        <if test="conditionParamRef.containsKey('wednesday')">
            <if test="conditionParamRef.wednesday != null ">
                ${_conditionType_} a.wednesday = #{${_conditionParam_}.wednesday}
            </if>
            <if test="conditionParamRef.wednesday == null">
                ${_conditionType_} a.wednesday is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('wednesdayList') and conditionParamRef.wednesdayList.size() > 0">
            ${_conditionType_} a.wednesday in
            <foreach collection="conditionParamRef.wednesdayList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('wednesdayNotList') and conditionParamRef.wednesdayNotList.size() > 0">
            ${_conditionType_} a.wednesday not in
            <foreach collection="conditionParamRef.wednesdayNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('wednesdayStart') and conditionParamRef.wednesdayStart != null">
            ${_conditionType_} a.wednesday <![CDATA[ >= ]]> #{${_conditionParam_}.wednesdayStart}
        </if>
        <if test="conditionParamRef.containsKey('wednesdayEnd') and conditionParamRef.wednesdayEnd != null">
            ${_conditionType_} a.wednesday <![CDATA[ <= ]]> #{${_conditionParam_}.wednesdayEnd}
        </if>

        <if test="conditionParamRef.containsKey('thursday')">
            <if test="conditionParamRef.thursday != null ">
                ${_conditionType_} a.thursday = #{${_conditionParam_}.thursday}
            </if>
            <if test="conditionParamRef.thursday == null">
                ${_conditionType_} a.thursday is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('thursdayList') and conditionParamRef.thursdayList.size() > 0">
            ${_conditionType_} a.thursday in
            <foreach collection="conditionParamRef.thursdayList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('thursdayNotList') and conditionParamRef.thursdayNotList.size() > 0">
            ${_conditionType_} a.thursday not in
            <foreach collection="conditionParamRef.thursdayNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('thursdayStart') and conditionParamRef.thursdayStart != null">
            ${_conditionType_} a.thursday <![CDATA[ >= ]]> #{${_conditionParam_}.thursdayStart}
        </if>
        <if test="conditionParamRef.containsKey('thursdayEnd') and conditionParamRef.thursdayEnd != null">
            ${_conditionType_} a.thursday <![CDATA[ <= ]]> #{${_conditionParam_}.thursdayEnd}
        </if>

        <if test="conditionParamRef.containsKey('friday')">
            <if test="conditionParamRef.friday != null ">
                ${_conditionType_} a.friday = #{${_conditionParam_}.friday}
            </if>
            <if test="conditionParamRef.friday == null">
                ${_conditionType_} a.friday is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('fridayList') and conditionParamRef.fridayList.size() > 0">
            ${_conditionType_} a.friday in
            <foreach collection="conditionParamRef.fridayList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('fridayNotList') and conditionParamRef.fridayNotList.size() > 0">
            ${_conditionType_} a.friday not in
            <foreach collection="conditionParamRef.fridayNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('fridayStart') and conditionParamRef.fridayStart != null">
            ${_conditionType_} a.friday <![CDATA[ >= ]]> #{${_conditionParam_}.fridayStart}
        </if>
        <if test="conditionParamRef.containsKey('fridayEnd') and conditionParamRef.fridayEnd != null">
            ${_conditionType_} a.friday <![CDATA[ <= ]]> #{${_conditionParam_}.fridayEnd}
        </if>

        <if test="conditionParamRef.containsKey('saturday')">
            <if test="conditionParamRef.saturday != null ">
                ${_conditionType_} a.saturday = #{${_conditionParam_}.saturday}
            </if>
            <if test="conditionParamRef.saturday == null">
                ${_conditionType_} a.saturday is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('saturdayList') and conditionParamRef.saturdayList.size() > 0">
            ${_conditionType_} a.saturday in
            <foreach collection="conditionParamRef.saturdayList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('saturdayNotList') and conditionParamRef.saturdayNotList.size() > 0">
            ${_conditionType_} a.saturday not in
            <foreach collection="conditionParamRef.saturdayNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('saturdayStart') and conditionParamRef.saturdayStart != null">
            ${_conditionType_} a.saturday <![CDATA[ >= ]]> #{${_conditionParam_}.saturdayStart}
        </if>
        <if test="conditionParamRef.containsKey('saturdayEnd') and conditionParamRef.saturdayEnd != null">
            ${_conditionType_} a.saturday <![CDATA[ <= ]]> #{${_conditionParam_}.saturdayEnd}
        </if>

        <if test="conditionParamRef.containsKey('sunday')">
            <if test="conditionParamRef.sunday != null ">
                ${_conditionType_} a.sunday = #{${_conditionParam_}.sunday}
            </if>
            <if test="conditionParamRef.sunday == null">
                ${_conditionType_} a.sunday is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('sundayList') and conditionParamRef.sundayList.size() > 0">
            ${_conditionType_} a.sunday in
            <foreach collection="conditionParamRef.sundayList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('sundayNotList') and conditionParamRef.sundayNotList.size() > 0">
            ${_conditionType_} a.sunday not in
            <foreach collection="conditionParamRef.sundayNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('sundayStart') and conditionParamRef.sundayStart != null">
            ${_conditionType_} a.sunday <![CDATA[ >= ]]> #{${_conditionParam_}.sundayStart}
        </if>
        <if test="conditionParamRef.containsKey('sundayEnd') and conditionParamRef.sundayEnd != null">
            ${_conditionType_} a.sunday <![CDATA[ <= ]]> #{${_conditionParam_}.sundayEnd}
        </if>

        <if test="conditionParamRef.containsKey('maxServicePersonNum')">
            <if test="conditionParamRef.maxServicePersonNum != null ">
                ${_conditionType_} a.maxServicePersonNum = #{${_conditionParam_}.maxServicePersonNum}
            </if>
            <if test="conditionParamRef.maxServicePersonNum == null">
                ${_conditionType_} a.maxServicePersonNum is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('maxServicePersonNumList') and conditionParamRef.maxServicePersonNumList.size() > 0">
            ${_conditionType_} a.maxServicePersonNum in
            <foreach collection="conditionParamRef.maxServicePersonNumList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('maxServicePersonNumNotList') and conditionParamRef.maxServicePersonNumNotList.size() > 0">
            ${_conditionType_} a.maxServicePersonNum not in
            <foreach collection="conditionParamRef.maxServicePersonNumNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('maxServicePersonNumStart') and conditionParamRef.maxServicePersonNumStart != null">
            ${_conditionType_} a.maxServicePersonNum <![CDATA[ >= ]]> #{${_conditionParam_}.maxServicePersonNumStart}
        </if>
        <if test="conditionParamRef.containsKey('maxServicePersonNumEnd') and conditionParamRef.maxServicePersonNumEnd != null">
            ${_conditionType_} a.maxServicePersonNum <![CDATA[ <= ]]> #{${_conditionParam_}.maxServicePersonNumEnd}
        </if>

        <if test="conditionParamRef.containsKey('alertServiceNum')">
            <if test="conditionParamRef.alertServiceNum != null ">
                ${_conditionType_} a.alertServiceNum = #{${_conditionParam_}.alertServiceNum}
            </if>
            <if test="conditionParamRef.alertServiceNum == null">
                ${_conditionType_} a.alertServiceNum is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('alertServiceNumList') and conditionParamRef.alertServiceNumList.size() > 0">
            ${_conditionType_} a.alertServiceNum in
            <foreach collection="conditionParamRef.alertServiceNumList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('alertServiceNumNotList') and conditionParamRef.alertServiceNumNotList.size() > 0">
            ${_conditionType_} a.alertServiceNum not in
            <foreach collection="conditionParamRef.alertServiceNumNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('alertServiceNumStart') and conditionParamRef.alertServiceNumStart != null">
            ${_conditionType_} a.alertServiceNum <![CDATA[ >= ]]> #{${_conditionParam_}.alertServiceNumStart}
        </if>
        <if test="conditionParamRef.containsKey('alertServiceNumEnd') and conditionParamRef.alertServiceNumEnd != null">
            ${_conditionType_} a.alertServiceNum <![CDATA[ <= ]]> #{${_conditionParam_}.alertServiceNumEnd}
        </if>


        <if test="conditionParamRef.containsKey('remark')">
            <if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
                ${_conditionType_} a.remark like #{${_conditionParam_}.remark}
            </if>
            <if test="conditionParamRef.remark == null">
                ${_conditionType_} a.remark is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('remarkList') and conditionParamRef.remarkList.size() > 0">
            ${_conditionType_} a.remark in
            <foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('remarkNotList') and conditionParamRef.remarkNotList.size() > 0">
            ${_conditionType_} a.remark not in
            <foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('createUserId')">
            <if test="conditionParamRef.createUserId != null ">
                ${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
            </if>
            <if test="conditionParamRef.createUserId == null">
                ${_conditionType_} a.createUserId is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
            ${_conditionType_} a.createUserId in
            <foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
            ${_conditionType_} a.createUserId not in
            <foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
            ${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
        </if>
        <if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
            ${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
        </if>


        <if test="conditionParamRef.containsKey('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('updateUserId')">
            <if test="conditionParamRef.updateUserId != null ">
                ${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
            </if>
            <if test="conditionParamRef.updateUserId == null">
                ${_conditionType_} a.updateUserId is null
            </if>
        </if>
        <if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
            ${_conditionType_} a.updateUserId in
            <foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
            ${_conditionType_} a.updateUserId not in
            <foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
            ${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
        </if>
        <if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
            ${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
        </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('siteId')">
                    a.siteId
                    <if test='orderCol.siteId != null and "DESC".equalsIgnoreCase(orderCol.siteId)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('siteName')">
                    a.siteName
                    <if test='orderCol.siteName != null and "DESC".equalsIgnoreCase(orderCol.siteName)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('used')">
                    a.used
                    <if test='orderCol.used != null and "DESC".equalsIgnoreCase(orderCol.used)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('monday')">
                    a.monday
                    <if test='orderCol.monday != null and "DESC".equalsIgnoreCase(orderCol.monday)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('tuesday')">
                    a.tuesday
                    <if test='orderCol.tuesday != null and "DESC".equalsIgnoreCase(orderCol.tuesday)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('wednesday')">
                    a.wednesday
                    <if test='orderCol.wednesday != null and "DESC".equalsIgnoreCase(orderCol.wednesday)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('thursday')">
                    a.thursday
                    <if test='orderCol.thursday != null and "DESC".equalsIgnoreCase(orderCol.thursday)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('friday')">
                    a.friday
                    <if test='orderCol.friday != null and "DESC".equalsIgnoreCase(orderCol.friday)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('saturday')">
                    a.saturday
                    <if test='orderCol.saturday != null and "DESC".equalsIgnoreCase(orderCol.saturday)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('sunday')">
                    a.sunday
                    <if test='orderCol.sunday != null and "DESC".equalsIgnoreCase(orderCol.sunday)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('maxServicePersonNum')">
                    a.maxServicePersonNum
                    <if test='orderCol.maxServicePersonNum != null and "DESC".equalsIgnoreCase(orderCol.maxServicePersonNum)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('alertServiceNum')">
                    a.alertServiceNum
                    <if test='orderCol.alertServiceNum != null and "DESC".equalsIgnoreCase(orderCol.alertServiceNum)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('remark')">
                    a.remark
                    <if test='orderCol.remark != null and "DESC".equalsIgnoreCase(orderCol.remark)'>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('createTime')">
                    a.createTime
                    <if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
                    ,
                </if>
                <if test="orderCol.containsKey('updateUserId')">
                    a.updateUserId
                    <if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>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>