<?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.ejweb.modules.sys.dao.DictDao">
    
    <select id="get" resultType="Dict">
        SELECT 
            * 
        FROM ct_bbtc_sys_dict
        WHERE id = #{id}
    </select>

    <!--跟据type查询集团信息-->
    <select id="getByType" resultType="Dict">
        SELECT
            *
        FROM ct_bbtc_sys_dict
        WHERE type = #{type}
    </select>

    <select id="findList" resultType="Dict">
        SELECT 
            * 
        FROM ct_bbtc_sys_dict
        WHERE del_flag = #{DEL_FLAG_NORMAL} 
        <if test="type != null and type != ''">
            AND type = #{type}
        </if>
        <if test="description != null and description != ''">
            AND description LIKE 
                    <if test="dbName == 'oracle'">'%'||#{description}||'%'</if>
                    <if test="dbName == 'mssql'">'%'+#{description}+'%'</if>
                    <if test="dbName == 'mysql'">CONCAT('%', #{description}, '%')</if>
        </if>
        ORDER BY type, sort, update_date DESC
    </select>
    
    <select id="findAllList" resultType="Dict">
        SELECT 
            * 
        FROM ct_bbtc_sys_dict
        WHERE del_flag = #{DEL_FLAG_NORMAL} 
        ORDER BY type, sort, update_date DESC
    </select>
    
    <select id="findTypeList" resultType="string">
        SELECT 
            type 
        FROM ct_bbtc_sys_dict
        WHERE del_flag = #{DEL_FLAG_NORMAL} 
        GROUP BY type
        ORDER BY type
    </select>
    
    <insert id="insert">
        INSERT INTO ct_bbtc_sys_dict(
            id, 
            value, 
            label, 
            type, 
            description, 
            sort, 
            create_by, 
            create_date, 
            update_by, 
            update_date, 
            remarks, 
            del_flag
        ) VALUES (
            #{id}, 
            #{value}, 
            #{label}, 
            #{type}, 
            #{description}, 
            #{sort}, 
            #{createBy.id}, 
            #{createDate}, 
            #{updateBy.id}, 
            #{updateDate}, 
            #{remarks}, 
            #{delFlag}
        )
    </insert>
    
    <update id="update">
        UPDATE ct_bbtc_sys_dict SET
            value = #{value}, 
            label = #{label}, 
            type = #{type}, 
            description = #{description}, 
            sort = #{sort}, 
            update_by = #{updateBy.id}, 
            update_date = #{updateDate}, 
            remarks = #{remarks}
        WHERE id = #{id}
    </update>
    
    <update id="delete">
        UPDATE ct_bbtc_sys_dict SET
            del_flag = #{DEL_FLAG_DELETE}
        WHERE id = #{id}
    </update>
    
</mapper>