<?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="cn.wisenergy.mapper.AdmissionRuleMapper">
    <resultMap id="userMap" type="cn.wisenergy.model.app.AdmissionRule">
        <id column="id" property="id"/>
        <result column="type" property="type"/>
        <result column="culture_max" property="cultureMax"/>
        <result column="culture_min" property="cultureMin"/>
        <result column="current_year_culture" property="currentYearCulture"/>
        <result column="profession_max" property="professionMax"/>
        <result column="profession_min" property="professionMin"/>
        <result column="current_year_major" property="currentYearMajor"/>
        <result column="up_mark" property="upMark"/>
        <result column="down_mark" property="downMark"/>
        <result column="number" property="number"/>
        <result column="is_delete" property="isDelete"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
    </resultMap>

    <sql id="table">
        admission_rule
    </sql>

    <sql id="cols_all">
        id,
        <include refid="cols_exclude_id"/>
    </sql>

    <sql id="cols_exclude_id">
        type,culture_max, culture_min,current_year_culture,profession_max,profession_min,current_year_major,up_mark,
        down_mark,number,is_delete,create_time,update_time
    </sql>

    <sql id="vals">
        #{type},#{cultureMax},#{cultureMin},#{currentYearCulture},#{professionMax}, #{professionMin},#{currentYearMajor},
        #{upMark},#{downMark}, #{number}, #{isDelete},now(),now()
    </sql>

    <sql id="updateCondition">
        <if test="type != null">type = #{type},</if>
        <if test="cultureMax != null">culture_max =#{cultureMax},</if>
        <if test="cultureMin != null">culture_min =#{cultureMin},</if>
        <if test="currentYearCulture != null">current_year_culture =#{currentYearCulture},</if>
        <if test="professionMax != null">profession_max =#{professionMax},</if>
        <if test="professionMin != null">profession_min =#{professionMin},</if>
        <if test="currentYearMajor != null">current_year_major =#{currentYearMajor},</if>
        <if test="upMark != null">up_mark = #{upMark},</if>
        <if test="downMark != null">down_mark =#{downMark},</if>
        <if test="number != null">number = #{number},</if>
        <if test="isDelete != null">is_delete = #{isDelete},</if>
        update_time =now()
    </sql>

    <sql id="criteria">
        <if test="id != null">id = #{id}</if>
        <if test="type != null">and type = #{type}</if>
        <if test="cultureMax != null">and culture_max =#{cultureMax}</if>
        <if test="cultureMin != null">and culture_min =#{cultureMin}</if>
        <if test="currentYearCulture != null">and current_year_culture =#{currentYearCulture}</if>
        <if test="professionMax != null">and profession_max =#{professionMax}</if>
        <if test="professionMin != null">and profession_min =#{professionMin}</if>
        <if test="currentYearMajor != null">and current_year_major =#{currentYearMajor}</if>
        <if test="upMark != null">and up_mark = #{upMark}</if>
        <if test="downMark != null">and down_mark =#{downMark}</if>
        <if test="number != null">and number = #{number}</if>
        <if test="isDelete != null">and is_delete = #{isDelete}</if>
        <if test="createTime != null">and create_time &gt;= #{createTime}</if>
        <if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
    </sql>

    <insert id="add" parameterType="cn.wisenergy.model.app.AdmissionRule" keyProperty="id" useGeneratedKeys="true">
        insert into
        <include refid="table"/>
        (<include refid="cols_exclude_id"/>)
        value(
        <include refid="vals"/>
        )
    </insert>

    <update id="edit" parameterType="cn.wisenergy.model.app.AdmissionRule">
        UPDATE
        <include refid="table"/>
        <set>
            <include refid="updateCondition"/>
        </set>
        <where>
            id = #{id}
        </where>
    </update>

    <delete id="delById" parameterType="java.lang.Integer">
        delete from
        <include refid="table"/>
        where id = #{id}
    </delete>



    <select id="getByType" resultType="cn.wisenergy.model.app.AdmissionRule">
        SELECT
        <include refid="cols_all"/>
        FROM
        <include refid="table"/>
        where is_delete=0 and type=#{type}
    </select>
</mapper>