<?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.timer.api.dao.jxgl.JxglBasicSettingMapper">

    <resultMap id="BaseResultMap" type="cn.timer.api.bean.jxgl.JxglBasicSetting" >
                <id column="id" property="id" />
                <result column="org_code" property="orgCode" />
                <result column="max_score" property="maxScore" />
                <result column="create_time" property="createTime" />
                <result column="update_time" property="updateTime" />
    </resultMap>
    
    <resultMap id="BaseResultMap_All" type="cn.timer.api.bean.jxgl.JxglBasicSetting" >
                <id column="id" property="id" />
                <result column="org_code" property="orgCode" />
                <result column="max_score" property="maxScore" />
                <result column="create_time" property="createTime" />
                <result column="update_time" property="updateTime" />
                <collection column="JxglPerformanceRating_id" property="performanceRatings" ofType="cn.timer.api.bean.jxgl.JxglPerformanceRating" 
	                resultMap="cn.timer.api.dao.jxgl.JxglPerformanceRatingMapper.BaseResultMap" columnPrefix="JxglPerformanceRating_">
			    </collection>
    </resultMap>

    <sql id="Base_Column_List">
                id,
                org_code,
                max_score,
                create_time,
                update_time
    </sql>
    
    <sql id="Base_Column_List_Alias">
                id JxglBasicSetting_id,
                org_code JxglBasicSetting_org_code,
                max_score JxglBasicSetting_max_score,
                create_time JxglBasicSetting_create_time,
                update_time JxglBasicSetting_update_time
    </sql>
    
    <sql id="Base_Column_List_a">
                a.id,
                a.org_code,
                a.max_score,
                a.create_time,
                a.update_time
    </sql>
    
    <sql id="Base_Column_List_Alias_b">
                b.id JxglPerformanceRating_id,
                b.basic_setting_id JxglPerformanceRating_basic_setting_id,
                b.name JxglPerformanceRating_name,
                b.section_min_score JxglPerformanceRating_section_min_score,
                b.section_max_score JxglPerformanceRating_section_max_score,
                b.ranks JxglPerformanceRating_ranks
    </sql>

	<select id="selectAll" resultMap="BaseResultMap_All">
	        SELECT 
	        	<include refid="Base_Column_List_a" />,
	        	<include refid="Base_Column_List_Alias_b" />
	        FROM jxgl_basic_setting a
	        LEFT JOIN jxgl_performance_rating b ON a.id = b.basic_setting_id
	        WHERE a.org_code = #{orgCode}
	        ORDER BY b.ranks
	    </select>
	
	<!-- 

    <insert id="insert" useGeneratedKeys="true" keyColumn="id" parameterType="cn.timer.api.bean.jxgl.JxglBasicSetting">
        INSERT INTO jxgl_basic_setting
        <trim prefix="(" suffix=")" suffixOverrides=",">
                        <if test ='null != orgCode'>
                        org_code,
                        </if>
                        <if test ='null != maxScore'>
                        max_score,
                        </if>
                        <if test ='null != createTime'>
                        create_time,
                        </if>
                        <if test ='null != updateTime'>
                        update_time
                        </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
                        <if test ='null != orgCode'>
                        #{orgCode},
                        </if>
                        <if test ='null != maxScore'>
                        #{maxScore},
                        </if>
                        <if test ='null != createTime'>
                        #{createTime},
                        </if>
                        <if test ='null != updateTime'>
                        #{updateTime}
                        </if>
        </trim>
    </insert>

    <delete id="delete" >
        DELETE FROM jxgl_basic_setting
        WHERE id = #{id}
    </delete>

    <update id="update" parameterType="cn.timer.api.bean.jxgl.JxglBasicSetting">
        UPDATE jxgl_basic_setting
        <set>
                    <if test ='null != orgCode'>org_code = #{orgCode},</if>
                    <if test ='null != maxScore'>max_score = #{maxScore},</if>
                    <if test ='null != createTime'>create_time = #{createTime},</if>
                    <if test ='null != updateTime'>update_time = #{updateTime}</if>
        </set>
        WHERE id = #{id}
    </update>


    <select id="load" resultMap="BaseResultMap">
        SELECT <include refid="Base_Column_List" />
        FROM jxgl_basic_setting
        WHERE id = #{id}
    </select>

    <select id="pageList" resultMap="BaseResultMap">
        SELECT <include refid="Base_Column_List" />
        FROM jxgl_basic_setting
        LIMIT #{offset}, #{pageSize}
    </select>

    <select id="pageListCount" resultType="java.lang.Integer">
        SELECT count(1)
        FROM jxgl_basic_setting
    </select>

	 -->

</mapper>