<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.boman.web.core.mapper.VaccineInfoOperationMapper">

    <resultMap type="com.boman.domain.VaccineInfoOperation" id="VaccineInfoOperationResult">
        <result property="id" column="id"/>
        <result property="villageTowns" column="village_towns"/>
        <result property="village" column="village"/>
        <result property="villagerGroup" column="villager_group"/>
        <result property="houseType" column="house_type"/>
        <result property="domicile" column="domicile"/>
        <result property="province" column="province"/>
        <result property="city" column="city"/>
        <result property="region" column="region"/>
        <result property="userName" column="user_name"/>
        <result property="gender" column="gender"/>
        <result property="idCard" column="id_card"/>
        <result property="phoneNum" column="phone_num"/>
        <result property="keyIndustries" column="key_industries"/>
        <result property="isVaccination" column="is_vaccination"/>
        <result property="vaccineName" column="vaccine_name"/>
        <result property="jici" column="jici"/>
        <result property="vaccinationTime" column="vaccination_time"/>
        <result property="vaccinationPlace" column="vaccination_place"/>
        <result property="contraindication" column="contraindication"/>
        <result property="suspend" column="suspend"/>
        <result property="shouldBe" column="should_be"/>
        <result property="other" column="other"/>
        <result property="progress" column="progress"/>
        <result property="remark" column="remark"/>
        <result property="status" column="status"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="isDel" column="is_del"/>
        <result property="operationType" column="operation_type"/>
        <result property="vaccineInfoId" column="vaccine_info_id"/>
        <result property="manufacturer" column="manufacturer"/>
        <result property="crowdClassification"    column="crowd_classification" />
        <result property="workUnit"    column="work_unit"    />
        <result property="birthday"    column="birthday"    />
        <result property="code"    column="code"    />
        <result property="nowIn"    column="now_in" />
        <result property="url"    column="url" />
        <result property="suspendUrl"    column="suspend_url" />
        <result property="otherUrl"    column="other_url" />
        <result property="age"    column="age" />
        <result property="shouldSlow"    column="should_slow" />
    </resultMap>

    <sql id="selectVaccineInfoOperationVo">
        select id, village_towns, village, villager_group, house_type, domicile, province, city,
               region, user_name, gender, id_card, phone_num, key_industries, is_vaccination,
               vaccine_name, jici, vaccination_time, vaccination_place, contraindication,
               suspend, should_be, other, progress, remark, status,
               create_by, create_time, update_by, update_time, is_del, operation_type,
               vaccine_info_id,code,birthday,work_unit,crowd_classification,manufacturer, now_in, url,suspend_url,other_url,age,
               vaccine_time_next,should_slow
        from vaccine_info_operation
    </sql>

    <select id="selectVaccineInfoOperationList" 
            resultMap="VaccineInfoOperationResult">
        <include refid="selectVaccineInfoOperationVo"/>
        <where>
            <if test="villageTowns != null  and villageTowns != ''">and village_towns = #{villageTowns}</if>
            <if test="village != null  and village != ''">and village = #{village}</if>
            <if test="villagerGroup != null  and villagerGroup != ''">and villager_group = #{villagerGroup}</if>
            <if test="houseType != null  and houseType != ''">and house_type = #{houseType}</if>
            <if test="domicile != null  and domicile != ''">and domicile = #{domicile}</if>
            <if test="province != null  and province != ''">and province = #{province}</if>
            <if test="city != null  and city != ''">and city = #{city}</if>
            <if test="region != null  and region != ''">and region = #{region}</if>
            <if test="userName != null  and userName != ''">and user_name like concat('%', #{userName}, '%')</if>
            <if test="gender != null  and gender != ''">and gender = #{gender}</if>
            <if test="idCard != null  and idCard != ''">and id_card = #{idCard}</if>
            <if test="phoneNum != null  and phoneNum != ''">and phone_num = #{phoneNum}</if>
            <if test="keyIndustries != null  and keyIndustries != ''">and key_industries = #{keyIndustries}</if>
            <if test="isVaccination != null  and isVaccination != ''">and is_vaccination = #{isVaccination}</if>
            <if test="vaccineName != null  and vaccineName != ''">and vaccine_name like concat('%', #{vaccineName},'%')</if>
            <if test="jici != null  and jici != ''">and jici = #{jici}</if>
            <if test="vaccinationTime != null ">and vaccination_time = #{vaccinationTime}</if>
            <if test="vaccinationPlace != null  and vaccinationPlace != ''">and vaccination_place =#{vaccinationPlace}</if>
            <if test="contraindication != null  and contraindication != ''">and contraindication = #{contraindication}</if>
            <if test="suspend != null  and suspend != ''">and suspend = #{suspend}</if>
            <if test="shouldBe != null  and shouldBe != ''">and should_be = #{shouldBe}</if>
            <if test="other != null  and other != ''">and other = #{other}</if>
            <if test="progress != null  and progress != ''">and progress = #{progress}</if>
            <if test="status != null  and status != ''">and status = #{status}</if>
            <if test="isDel != null  and isDel != ''">and is_del = #{isDel}</if>
            <if test="operationType != null  and operationType != ''">and operation_type = #{operationType}</if>
            <if test="vaccineInfoId != null ">and vaccine_info_id = #{vaccineInfoId}</if>
            <if test="code != null  and code != ''"> and code = #{code}</if>
            <if test="birthday != null  and birthday != ''"> and birthday = #{birthday}</if>
            <if test="workUnit != null  and workUnit != ''"> and work_unit = #{workUnit}</if>
            <if test="crowdClassification != null  and crowdClassification != ''"> and crowd_classification = #{crowdClassification}</if>
            <if test="manufacturer != null  and manufacturer != ''"> and manufacturer = #{manufacturer}</if>
            <if test="nowIn != null  and nowIn != ''"> and now_in = #{nowIn}</if>
            <if test="url != null  and url != ''"> and url = #{url}</if>
            <if test="suspendUrl != null  and suspendUrl != ''"> and suspend_url = #{suspendUrl}</if>
            <if test="otherUrl != null  and otherUrl != ''"> and other_url = #{otherUrl}</if>
            <if test="age != null  and age != ''"> and age = #{age}</if>
            <if test="shouldSlow != null  and shouldSlow != ''"> and should_slow = #{shouldSlow}</if>
        </where>
    </select>

    <select id="selectVaccineInfoOperationById" parameterType="Long" resultMap="VaccineInfoOperationResult">
        <include refid="selectVaccineInfoOperationVo"/>
        where id = #{id}
    </select>

    <insert id="insertVaccineInfoOperation"  useGeneratedKeys="true"
            keyProperty="id">
        insert into vaccine_info_operation
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="villageTowns != null">village_towns,</if>
            <if test="village != null">village,</if>
            <if test="villagerGroup != null">villager_group,</if>
            <if test="houseType != null">house_type,</if>
            <if test="domicile != null">domicile,</if>
            <if test="province != null">province,</if>
            <if test="city != null">city,</if>
            <if test="region != null">region,</if>
            <if test="userName != null">user_name,</if>
            <if test="gender != null">gender,</if>
            <if test="idCard != null">id_card,</if>
            <if test="phoneNum != null">phone_num,</if>
            <if test="keyIndustries != null">key_industries,</if>
            <if test="isVaccination != null">is_vaccination,</if>
            <if test="vaccineName != null">vaccine_name,</if>
            <if test="jici != null">jici,</if>
            <if test="vaccinationTime != null">vaccination_time,</if>
            <if test="vaccinationPlace != null">vaccination_place,</if>
            <if test="contraindication != null">contraindication,</if>
            <if test="suspend != null">suspend,</if>
            <if test="shouldBe != null">should_be,</if>
            <if test="other != null">other,</if>
            <if test="progress != null">progress,</if>
            <if test="remark != null">remark,</if>
            <if test="status != null">status,</if>
            <if test="createBy != null">create_by,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="isDel != null and isDel != ''">is_del,</if>
            <if test="operationType != null">operation_type,</if>
            <if test="vaccineInfoId != null">vaccine_info_id,</if>
            <if test="code != null and code != ''">code,</if>
            <if test="birthday != null and birthday != ''">birthday,</if>
            <if test="workUnit != null and workUnit != ''">work_unit,</if>
            <if test="crowdClassification != null and crowdClassification != ''">crowd_classification,</if>
            <if test="manufacturer != null and manufacturer != ''">manufacturer,</if>
            <if test="nowIn != null and nowIn != ''">now_in,</if>
            <if test="url != null and url != ''">url,</if>
            <if test="suspendUrl != null and suspendUrl != ''">suspend_url,</if>
            <if test="otherUrl != null and otherUrl != ''">other_url,</if>
            <if test="age != null and age != ''">age,</if>
            <if test="shouldSlow != null and shouldSlow != ''">should_slow,</if>
            create_time
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="villageTowns != null">#{villageTowns},</if>
            <if test="village != null">#{village},</if>
            <if test="villagerGroup != null">#{villagerGroup},</if>
            <if test="houseType != null">#{houseType},</if>
            <if test="domicile != null">#{domicile},</if>
            <if test="province != null">#{province},</if>
            <if test="city != null">#{city},</if>
            <if test="region != null">#{region},</if>
            <if test="userName != null">#{userName},</if>
            <if test="gender != null">#{gender},</if>
            <if test="idCard != null">#{idCard},</if>
            <if test="phoneNum != null">#{phoneNum},</if>
            <if test="keyIndustries != null">#{keyIndustries},</if>
            <if test="isVaccination != null">#{isVaccination},</if>
            <if test="vaccineName != null">#{vaccineName},</if>
            <if test="jici != null">#{jici},</if>
            <if test="vaccinationTime != null">#{vaccinationTime},</if>
            <if test="vaccinationPlace != null">#{vaccinationPlace},</if>
            <if test="contraindication != null">#{contraindication},</if>
            <if test="suspend != null">#{suspend},</if>
            <if test="shouldBe != null">#{shouldBe},</if>
            <if test="other != null">#{other},</if>
            <if test="progress != null">#{progress},</if>
            <if test="remark != null">#{remark},</if>
            <if test="status != null">#{status},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="isDel != null and isDel != ''">#{isDel},</if>
            <if test="operationType != null">#{operationType},</if>
            <if test="vaccineInfoId != null">#{vaccineInfoId},</if>
            <if test="code != null and code != ''">#{code},</if>
            <if test="birthday != null and birthday != ''">#{birthday},</if>
            <if test="workUnit != null and workUnit != ''">#{workUnit},</if>
            <if test="crowdClassification != null and crowdClassification != ''">#{crowdClassification},</if>
            <if test="manufacturer != null and manufacturer != ''">#{manufacturer},</if>
            <if test="nowIn != null and nowIn != ''">#{nowIn},</if>
            <if test="url != null and url != ''">#{url},</if>
            <if test="suspendUrl != null and suspendUrl != ''">#{suspendUrl},</if>
            <if test="otherUrl != null and otherUrl != ''">#{url},</if>
            <if test="age != null and age != ''">#{age},</if>
            <if test="shouldSlow != null and shouldSlow != ''">#{shouldSlow},</if>
            sysdate()
        </trim>
    </insert>

    <update id="updateVaccineInfoOperation" >
        update vaccine_info_operation
        <trim prefix="SET" suffixOverrides=",">
            <if test="villageTowns != null">village_towns = #{villageTowns},</if>
            <if test="village != null">village = #{village},</if>
            <if test="villagerGroup != null">villager_group = #{villagerGroup},</if>
            <if test="houseType != null">house_type = #{houseType},</if>
            <if test="domicile != null">domicile = #{domicile},</if>
            <if test="province != null">province = #{province},</if>
            <if test="city != null">city = #{city},</if>
            <if test="region != null">region = #{region},</if>
            <if test="userName != null">user_name = #{userName},</if>
            <if test="gender != null">gender = #{gender},</if>
            <if test="idCard != null">id_card = #{idCard},</if>
            <if test="phoneNum != null">phone_num = #{phoneNum},</if>
            <if test="keyIndustries != null">key_industries = #{keyIndustries},</if>
            <if test="isVaccination != null">is_vaccination = #{isVaccination},</if>
            <if test="vaccineName != null">vaccine_name = #{vaccineName},</if>
            <if test="jici != null">jici = #{jici},</if>
            <if test="vaccinationTime != null">vaccination_time = #{vaccinationTime},</if>
            <if test="vaccinationPlace != null">vaccination_place = #{vaccinationPlace},</if>
            <if test="contraindication != null">contraindication = #{contraindication},</if>
            <if test="suspend != null">suspend = #{suspend},</if>
            <if test="shouldBe != null">should_be = #{shouldBe},</if>
            <if test="other != null">other = #{other},</if>
            <if test="progress != null">progress = #{progress},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="status != null">status = #{status},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="isDel != null and isDel != ''">is_del = #{isDel},</if>
            <if test="operationType != null">operation_type = #{operationType},</if>
            <if test="vaccineInfoId != null">vaccine_info_id = #{vaccineInfoId},</if>
            <if test="code != null and code != ''">code = #{code},</if>
            <if test="birthday != null and birthday != ''">birthday = #{birthday},</if>
            <if test="workUnit != null and workUnit != ''">work_unit = #{workUnit},</if>
            <if test="crowdClassification != null and crowdClassification != ''">crowd_classification = #{crowdClassification},</if>
            <if test="manufacturer != null and manufacturer != ''">manufacturer = #{manufacturer},</if>
            <if test="nowIn != null and nowIn != ''">now_in = #{nowIn},</if>
            <if test="url != null and url != ''">url = #{url},</if>
            <if test="suspendUrl != null and suspendUrl != ''">suspend_url = #{suspendUrl},</if>
            <if test="otherUrl != null and otherUrl != ''">other_url = #{otherUrl},</if>
            <if test="age != null and age != ''">age = #{age},</if>
            <if test="shouldSlow != null and shouldSlow != ''">should_slow = #{shouldSlow},</if>
            update_by = sysdate()
        </trim>
        where id = #{id}
    </update>

    <delete id="deleteVaccineInfoOperationById" parameterType="Long">
        delete from vaccine_info_operation where id = #{id}
    </delete>

    <delete id="deleteVaccineInfoOperationByIds" parameterType="String">
        delete from vaccine_info_operation where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>