<?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.ygtx.gxt.mapper.GxtFanInspectionScoreMapper">
    
    <resultMap type="GxtFanInspectionScore" id="GxtFanInspectionScoreResult">
        <result property="id" column="id"/>
        <result property="fanType" column="fan_type"/>
        <result property="inspectionTypeId" column="inspection_type_id"/>
        <result property="score" column="score"/>
        <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="remark" column="remark"/>
    </resultMap>
    
    <sql id="selectGxtFanInspectionScoreVo">
        select id, fan_type, inspection_type_id, score, status, create_by, create_time, update_by, update_time, remark from gxt_score_fan_inspection
    </sql>
    
    <select id="selectGxtFanInspectionScoreById" parameterType="Long" resultMap="GxtFanInspectionScoreResult">
        <include refid="selectGxtFanInspectionScoreVo"/>
        where id = #{id}
    </select>
    
    <select id="selectGxtFanInspectionScoreList" parameterType="GxtFanInspectionScore" resultMap="GxtFanInspectionScoreResult">
        <include refid="selectGxtFanInspectionScoreVo"/>
        <where>
            <if test="fanType != null  and fanType != ''"> and fan_type = #{fanType}</if>
            <if test="inspectionTypeId != null "> and inspection_type_id = #{inspectionTypeId}</if>
            <if test="score != null "> and score = #{score}</if>
            <if test="status != null "> and status = #{status}</if>
        </where>
    </select>
    
    <select id="selectGxtFanInspectionScoreByFanType" parameterType="String" resultMap="GxtFanInspectionScoreResult">
        <include refid="selectGxtFanInspectionScoreVo"/>
        WHERE fan_type = #{fanType} AND status = 0
    </select>
    
    <insert id="insertGxtFanInspectionScore" parameterType="GxtFanInspectionScore" useGeneratedKeys="true" keyProperty="id">
        insert into gxt_score_fan_inspection
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="fanType != null and fanType != ''">fan_type,</if>
            <if test="inspectionTypeId != null">inspection_type_id,</if>
            <if test="score != null">score,</if>
            <if test="status != null">status,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="remark != null">remark,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="fanType != null and fanType != ''">#{fanType},</if>
            <if test="inspectionTypeId != null">#{inspectionTypeId},</if>
            <if test="score != null">#{score},</if>
            <if test="status != null">#{status},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="remark != null">#{remark},</if>
         </trim>
    </insert>
    
    <update id="updateGxtFanInspectionScore" parameterType="GxtFanInspectionScore">
        update gxt_score_fan_inspection
        <trim prefix="SET" suffixOverrides=",">
            <if test="fanType != null and fanType != ''">fan_type = #{fanType},</if>
            <if test="inspectionTypeId != null">inspection_type_id = #{inspectionTypeId},</if>
            <if test="score != null">score = #{score},</if>
            <if test="status != null">status = #{status},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="remark != null">remark = #{remark},</if>
        </trim>
        where id = #{id}
    </update>
    
    <delete id="deleteGxtFanInspectionScoreById" parameterType="Long">
        delete from gxt_score_fan_inspection where id = #{id}
    </delete>
    
    <delete id="deleteGxtFanInspectionScoreByIds" parameterType="Long">
        delete from gxt_score_fan_inspection where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>