<?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.JxglAppraisalTMapper">
    
    <resultMap id="BaseResultMap" type="cn.timer.api.bean.jxgl.JxglAppraisalT" >
                <id column="id" property="id" />
                <result column="org_code" property="orgCode" />
                <result column="name" property="name" />
                <result column="appraisal_explain" property="appraisalExplain" />
                <result column="create_time" property="createTime" />
                <result column="update_time" property="updateTime" />
                <result column="is_edit" property="isEdit" />
                <result column="is_use_fixd" property="isUseFixd" />
                <result column="is_use_not_fixd" property="isUseNotFixd" />
    </resultMap>
    
    <resultMap id="BaseResultMap_b" type="cn.timer.api.bean.jxgl.JxglAppraisalIndicatorsT" >
                <id column="id" property="id" />
                <result column="appraisal_t_id" property="appraisalTId" />
                <result column="title" property="title" />
                <result column="content" property="content" />
                <result column="weight" property="weight" />
                <result column="create_time" property="createTime" />
                <result column="update_time" property="updateTime" />
                <result column="type" property="type" />
                <result column="is_edit_weight" property="isEditWeight" />
                <collection column="JxglAppraisalItemT_id" property="appraisalItemTs" ofType="cn.timer.api.bean.jxgl.JxglAppraisalItemT" 
	                resultMap="cn.timer.api.dao.jxgl.JxglAppraisalItemTMapper.BaseResultMap" columnPrefix="JxglAppraisalItemT_">
			    </collection>
    </resultMap>
    
    <resultMap id="BaseResultMap_All" type="cn.timer.api.bean.jxgl.JxglAppraisalT" >
                <id column="id" property="id" />
                <result column="org_code" property="orgCode" />
                <result column="name" property="name" />
                <result column="appraisal_explain" property="appraisalExplain" />
                <result column="create_time" property="createTime" />
                <result column="update_time" property="updateTime" />
                <result column="is_edit" property="isEdit" />
                <result column="is_use_fixd" property="isUseFixd" />
                <result column="is_use_not_fixd" property="isUseNotFixd" />
                <collection column="JxglAppraisalIndicatorsT_id" property="appraisalIndicatorsTs" ofType="cn.timer.api.bean.jxgl.JxglAppraisalIndicatorsT" 
	                resultMap="cn.timer.api.dao.jxgl.JxglAppraisalTMapper.BaseResultMap_b" columnPrefix="JxglAppraisalIndicatorsT_">
			    </collection>
    </resultMap>

    <sql id="Base_Column_List">
                id,
                org_code,
                name,
                appraisal_explain,
                create_time,
                update_time,
                is_edit,
                is_use_fixd,
                is_use_not_fixd
    </sql>
    
    <sql id="Base_Column_List_Alias">
                id JxglAppraisalT_id,
                org_code JxglAppraisalT_org_code,
                name JxglAppraisalT_name,
                appraisal_explain JxglAppraisalT_appraisal_explain,
                create_time JxglAppraisalT_create_time,
                update_time JxglAppraisalT_update_time,
                is_edit JxglAppraisalT_is_edit,
                is_use_fixd JxglAppraisalT_is_use_fixd,
                is_use_not_fixd JxglAppraisalT_is_use_not_fixd
    </sql>
    
    <sql id="Base_Column_List_a">
                a.id,
                a.org_code,
                a.name,
                a.appraisal_explain,
                a.create_time,
                a.update_time,
                a.is_edit,
                a.is_use_fixd,
                a.is_use_not_fixd
    </sql>
    
    <sql id="Base_Column_List_Alias_b">
                b.id JxglAppraisalIndicatorsT_id,
                b.appraisal_t_id JxglAppraisalIndicatorsT_appraisal_t_id,
                b.title JxglAppraisalIndicatorsT_title,
                b.content JxglAppraisalIndicatorsT_content,
                b.weight JxglAppraisalIndicatorsT_weight,
                b.create_time JxglAppraisalIndicatorsT_create_time,
                b.update_time JxglAppraisalIndicatorsT_update_time,
                b.type JxglAppraisalIndicatorsT_type,
                b.is_edit_weight JxglAppraisalIndicatorsT_is_edit_weight
    </sql>
    
    <sql id="Base_Column_List_Alias_c">
                c.id JxglAppraisalIndicatorsT_JxglAppraisalItemT_id,
                c.appraisal_indicators_t_id JxglAppraisalIndicatorsT_JxglAppraisalItemT_appraisal_indicators_t_id,
                c.title JxglAppraisalIndicatorsT_JxglAppraisalItemT_title,
                c.content JxglAppraisalIndicatorsT_JxglAppraisalItemT_content,
                c.ranks JxglAppraisalIndicatorsT_JxglAppraisalItemT_ranks
    </sql>
    
    <select id="selectDetailById" resultMap="BaseResultMap_All">
        SELECT 
        	<include refid="Base_Column_List_a" />,
        	<include refid="Base_Column_List_Alias_b" />,
        	<include refid="Base_Column_List_Alias_c" />
        FROM jxgl_appraisal_t a
        LEFT JOIN jxgl_appraisal_indicators_t b ON a.id = b.appraisal_t_id
        LEFT JOIN jxgl_appraisal_item_t c ON b.id = c.appraisal_indicators_t_id
        WHERE a.id = #{id}
    </select>
    
	<!-- 
    <insert id="insert" useGeneratedKeys="true" keyColumn="id" parameterType="cn.timer.api.bean.jxgl.JxglAppraisalT">
        INSERT INTO jxgl_appraisal_t
        <trim prefix="(" suffix=")" suffixOverrides=",">
                        <if test ='null != orgCode'>
                        org_code,
                        </if>
                        <if test ='null != name'>
                        name,
                        </if>
                        <if test ='null != appraisalExplain'>
                        appraisal_explain,
                        </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 != name'>
                        #{name},
                        </if>
                        <if test ='null != appraisalExplain'>
                        #{appraisalExplain},
                        </if>
                        <if test ='null != createTime'>
                        #{createTime},
                        </if>
                        <if test ='null != updateTime'>
                        #{updateTime}
                        </if>
        </trim>
    </insert>

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

    <update id="update" parameterType="cn.timer.api.bean.jxgl.JxglAppraisalT">
        UPDATE jxgl_appraisal_t
        <set>
                    <if test ='null != orgCode'>org_code = #{orgCode},</if>
                    <if test ='null != name'>name = #{name},</if>
                    <if test ='null != appraisalExplain'>appraisal_explain = #{appraisalExplain},</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_appraisal_t
        WHERE id = #{id}
    </select>

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

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

	 -->

</mapper>