<?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.hzya.frame.mdm.mdmModuleDistributeDetail.dao.impl.MdmModuleDistributeDetailDaoImpl">

    <resultMap id="get-MdmModuleDistributeDetailEntity-result"
               type="com.hzya.frame.mdm.mdmModuleDistributeDetail.entity.MdmModuleDistributeDetailEntity">
        <result property="id" column="id" jdbcType="VARCHAR"/>
        <result property="mdmId" column="mdm_id" jdbcType="VARCHAR"/>
        <result property="distributeId" column="distribute_id" jdbcType="VARCHAR"/>
        <result property="apiId" column="api_id" jdbcType="VARCHAR"/>
        <result property="dataType" column="data_type" jdbcType="VARCHAR"/>
        <result property="leftBracket" column="left_bracket" jdbcType="VARCHAR"/>
        <result property="filedId" column="filed_id" jdbcType="VARCHAR"/>
        <result property="filedName" column="filed_name" jdbcType="VARCHAR"/>
        <result property="compareType" column="compare_type" jdbcType="VARCHAR"/>
        <result property="filedVaule" column="filed_vaule" jdbcType="VARCHAR"/>
        <result property="connectionSymbol" column="connection_symbol" jdbcType="VARCHAR"/>
        <result property="rightParenthesis" column="right_parenthesis" jdbcType="VARCHAR"/>
        <result property="sorts" column="sorts" jdbcType="INTEGER"/>
        <result property="create_user_id" column="create_user_id" jdbcType="VARCHAR"/>
        <result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="modify_user_id" column="modify_user_id" jdbcType="VARCHAR"/>
        <result property="modify_time" column="modify_time" jdbcType="TIMESTAMP"/>
        <result property="sts" column="sts" jdbcType="VARCHAR"/>
        <result property="org_id" column="org_id" jdbcType="VARCHAR"/>
        <result property="companyId" column="company_id" jdbcType="VARCHAR"/>
    </resultMap>
    <!-- 查询的字段-->
    <sql id="MdmModuleDistributeDetailEntity_Base_Column_List">
        id
       ,mdm_id 
        ,distribute_id 
        ,api_id 
        ,data_type 
        ,left_bracket 
        ,filed_id 
        ,filed_name 
        ,compare_type 
        ,filed_vaule 
        ,connection_symbol 
        ,right_parenthesis 
        ,sorts 
        ,create_user_id 
        ,create_time 
        ,modify_user_id 
        ,modify_time 
        ,sts 
        ,org_id 
        ,company_id 
     </sql>
    <!-- 查询 采用==查询 -->
    <select id="entity_list_base" resultMap="get-MdmModuleDistributeDetailEntity-result"
            parameterType="com.hzya.frame.mdm.mdmModuleDistributeDetail.entity.MdmModuleDistributeDetailEntity">
        select
        <include refid="MdmModuleDistributeDetailEntity_Base_Column_List"/>
        from mdm_module_distribute_detail
        <trim prefix="where" prefixOverrides="and">
            <if test="id != null and id != ''">and id = #{id}</if>
            <if test="mdmId != null and mdmId != ''">and mdm_id = #{mdmId}</if>
            <if test="distributeId != null and distributeId != ''">and distribute_id = #{distributeId}</if>
            <if test="apiId != null and apiId != ''">and api_id = #{apiId}</if>
            <if test="dataType != null and dataType != ''">and data_type = #{dataType}</if>
            <if test="leftBracket != null and leftBracket != ''">and left_bracket = #{leftBracket}</if>
            <if test="filedId != null and filedId != ''">and filed_id = #{filedId}</if>
            <if test="filedName != null and filedName != ''">and filed_name = #{filedName}</if>
            <if test="compareType != null and compareType != ''">and compare_type = #{compareType}</if>
            <if test="filedVaule != null and filedVaule != ''">and filed_vaule = #{filedVaule}</if>
            <if test="connectionSymbol != null and connectionSymbol != ''">and connection_symbol = #{connectionSymbol}
            </if>
            <if test="rightParenthesis != null and rightParenthesis != ''">and right_parenthesis = #{rightParenthesis}
            </if>
            <if test="sorts != null">and sorts = #{sorts}</if>
            <if test="create_user_id != null and create_user_id != ''">and create_user_id = #{create_user_id}</if>
            <if test="create_time != null">and create_time = #{create_time}</if>
            <if test="modify_user_id != null and modify_user_id != ''">and modify_user_id = #{modify_user_id}</if>
            <if test="modify_time != null">and modify_time = #{modify_time}</if>
            <if test="sts != null and sts != ''">and sts = #{sts}</if>
            <if test="org_id != null and org_id != ''">and org_id = #{org_id}</if>
            <if test="companyId != null and companyId != ''">and company_id = #{companyId}</if>
            and sts='Y'
        </trim>
        <if test=" sort == null or sort == ''.toString() ">order by sorts asc</if>
        <if test=" sort !='' and sort!=null and order !='' and order!=null ">order by ${sort} ${order}</if>
    </select>

    <!-- 查询符合条件的数量 -->
    <select id="entity_count" resultType="Integer"
            parameterType="com.hzya.frame.mdm.mdmModuleDistributeDetail.entity.MdmModuleDistributeDetailEntity">
        select count(1) from mdm_module_distribute_detail
        <trim prefix="where" prefixOverrides="and">
            <if test="id != null and id != ''">and id = #{id}</if>
            <if test="mdmId != null and mdmId != ''">and mdm_id = #{mdmId}</if>
            <if test="distributeId != null and distributeId != ''">and distribute_id = #{distributeId}</if>
            <if test="apiId != null and apiId != ''">and api_id = #{apiId}</if>
            <if test="dataType != null and dataType != ''">and data_type = #{dataType}</if>
            <if test="leftBracket != null and leftBracket != ''">and left_bracket = #{leftBracket}</if>
            <if test="filedId != null and filedId != ''">and filed_id = #{filedId}</if>
            <if test="filedName != null and filedName != ''">and filed_name = #{filedName}</if>
            <if test="compareType != null and compareType != ''">and compare_type = #{compareType}</if>
            <if test="filedVaule != null and filedVaule != ''">and filed_vaule = #{filedVaule}</if>
            <if test="connectionSymbol != null and connectionSymbol != ''">and connection_symbol = #{connectionSymbol}
            </if>
            <if test="rightParenthesis != null and rightParenthesis != ''">and right_parenthesis = #{rightParenthesis}
            </if>
            <if test="sorts != null">and sorts = #{sorts}</if>
            <if test="create_user_id != null and create_user_id != ''">and create_user_id = #{create_user_id}</if>
            <if test="create_time != null">and create_time = #{create_time}</if>
            <if test="modify_user_id != null and modify_user_id != ''">and modify_user_id = #{modify_user_id}</if>
            <if test="modify_time != null">and modify_time = #{modify_time}</if>
            <if test="sts != null and sts != ''">and sts = #{sts}</if>
            <if test="org_id != null and org_id != ''">and org_id = #{org_id}</if>
            <if test="companyId != null and companyId != ''">and company_id = #{companyId}</if>
            and sts='Y'
        </trim>
        <if test=" sort == null or sort == ''.toString() ">order by sorts asc</if>
        <if test=" sort !='' and sort!=null and order !='' and order!=null ">order by ${sort} ${order}</if>
    </select>

    <!-- 分页查询列表 采用like格式 -->
    <select id="entity_list_like" resultMap="get-MdmModuleDistributeDetailEntity-result"
            parameterType="com.hzya.frame.mdm.mdmModuleDistributeDetail.entity.MdmModuleDistributeDetailEntity">
        select
        <include refid="MdmModuleDistributeDetailEntity_Base_Column_List"/>
        from mdm_module_distribute_detail
        <trim prefix="where" prefixOverrides="and">
            <if test="id != null and id != ''">and id like concat('%',#{id},'%')</if>
            <if test="mdmId != null and mdmId != ''">and mdm_id like concat('%',#{mdmId},'%')</if>
            <if test="distributeId != null and distributeId != ''">and distribute_id like
                concat('%',#{distributeId},'%')
            </if>
            <if test="apiId != null and apiId != ''">and api_id like concat('%',#{apiId},'%')</if>
            <if test="dataType != null and dataType != ''">and data_type like concat('%',#{dataType},'%')</if>
            <if test="leftBracket != null and leftBracket != ''">and left_bracket like concat('%',#{leftBracket},'%')
            </if>
            <if test="filedId != null and filedId != ''">and filed_id like concat('%',#{filedId},'%')</if>
            <if test="filedName != null and filedName != ''">and filed_name like concat('%',#{filedName},'%')</if>
            <if test="compareType != null and compareType != ''">and compare_type like concat('%',#{compareType},'%')
            </if>
            <if test="filedVaule != null and filedVaule != ''">and filed_vaule like concat('%',#{filedVaule},'%')</if>
            <if test="connectionSymbol != null and connectionSymbol != ''">and connection_symbol like
                concat('%',#{connectionSymbol},'%')
            </if>
            <if test="rightParenthesis != null and rightParenthesis != ''">and right_parenthesis like
                concat('%',#{rightParenthesis},'%')
            </if>
            <if test="sorts != null">and sorts like concat('%',#{sorts},'%')</if>
            <if test="create_user_id != null and create_user_id != ''">and create_user_id like
                concat('%',#{create_user_id},'%')
            </if>
            <if test="create_time != null">and create_time like concat('%',#{create_time},'%')</if>
            <if test="modify_user_id != null and modify_user_id != ''">and modify_user_id like
                concat('%',#{modify_user_id},'%')
            </if>
            <if test="modify_time != null">and modify_time like concat('%',#{modify_time},'%')</if>
            <if test="sts != null and sts != ''">and sts like concat('%',#{sts},'%')</if>
            <if test="org_id != null and org_id != ''">and org_id like concat('%',#{org_id},'%')</if>
            <if test="companyId != null and companyId != ''">and company_id like concat('%',#{companyId},'%')</if>
            and sts='Y'
        </trim>
        <if test=" sort == null or sort == ''.toString() ">order by sorts asc</if>
        <if test=" sort !='' and sort!=null and order !='' and order!=null ">order by ${sort} ${order}</if>
    </select>

    <!-- 查询列表 字段采用or格式 -->
    <select id="MdmModuleDistributeDetailentity_list_or" resultMap="get-MdmModuleDistributeDetailEntity-result"
            parameterType="com.hzya.frame.mdm.mdmModuleDistributeDetail.entity.MdmModuleDistributeDetailEntity">
        select
        <include refid="MdmModuleDistributeDetailEntity_Base_Column_List"/>
        from mdm_module_distribute_detail
        <trim prefix="where" prefixOverrides="and">
            <if test="id != null and id != ''">or id = #{id}</if>
            <if test="mdmId != null and mdmId != ''">or mdm_id = #{mdmId}</if>
            <if test="distributeId != null and distributeId != ''">or distribute_id = #{distributeId}</if>
            <if test="apiId != null and apiId != ''">or api_id = #{apiId}</if>
            <if test="dataType != null and dataType != ''">or data_type = #{dataType}</if>
            <if test="leftBracket != null and leftBracket != ''">or left_bracket = #{leftBracket}</if>
            <if test="filedId != null and filedId != ''">or filed_id = #{filedId}</if>
            <if test="filedName != null and filedName != ''">or filed_name = #{filedName}</if>
            <if test="compareType != null and compareType != ''">or compare_type = #{compareType}</if>
            <if test="filedVaule != null and filedVaule != ''">or filed_vaule = #{filedVaule}</if>
            <if test="connectionSymbol != null and connectionSymbol != ''">or connection_symbol = #{connectionSymbol}
            </if>
            <if test="rightParenthesis != null and rightParenthesis != ''">or right_parenthesis = #{rightParenthesis}
            </if>
            <if test="sorts != null">or sorts = #{sorts}</if>
            <if test="create_user_id != null and create_user_id != ''">or create_user_id = #{create_user_id}</if>
            <if test="create_time != null">or create_time = #{create_time}</if>
            <if test="modify_user_id != null and modify_user_id != ''">or modify_user_id = #{modify_user_id}</if>
            <if test="modify_time != null">or modify_time = #{modify_time}</if>
            <if test="sts != null and sts != ''">or sts = #{sts}</if>
            <if test="org_id != null and org_id != ''">or org_id = #{org_id}</if>
            <if test="companyId != null and companyId != ''">or company_id = #{companyId}</if>
            and sts='Y'
        </trim>
        <if test=" sort == null or sort == ''.toString()  ">order by sorts asc</if>
        <if test=" sort !='' and sort!=null and order !='' and order!=null ">order by ${sort} ${order}</if>
    </select>

    <!--新增所有列-->
    <insert id="entity_insert"
            parameterType="com.hzya.frame.mdm.mdmModuleDistributeDetail.entity.MdmModuleDistributeDetailEntity">
        insert into mdm_module_distribute_detail(
        <trim suffix="" suffixOverrides=",">
            <if test="id != null and id != ''">id ,</if>
            <if test="mdmId != null and mdmId != ''">mdm_id ,</if>
            <if test="distributeId != null and distributeId != ''">distribute_id ,</if>
            <if test="apiId != null and apiId != ''">api_id ,</if>
            <if test="dataType != null and dataType != ''">data_type ,</if>
            <if test="leftBracket != null and leftBracket != ''">left_bracket ,</if>
            <if test="filedId != null and filedId != ''">filed_id ,</if>
            <if test="filedName != null and filedName != ''">filed_name ,</if>
            <if test="compareType != null and compareType != ''">compare_type ,</if>
            <if test="filedVaule != null and filedVaule != ''">filed_vaule ,</if>
            <if test="connectionSymbol != null and connectionSymbol != ''">connection_symbol ,</if>
            <if test="rightParenthesis != null and rightParenthesis != ''">right_parenthesis ,</if>
            <if test="sorts != null">sorts ,</if>
            <if test="create_user_id != null and create_user_id != ''">create_user_id ,</if>
            <if test="create_time != null">create_time ,</if>
            <if test="modify_user_id != null and modify_user_id != ''">modify_user_id ,</if>
            <if test="modify_time != null">modify_time ,</if>
            <if test="sts != null and sts != ''">sts ,</if>
            <if test="org_id != null and org_id != ''">org_id ,</if>
            <if test="companyId != null and companyId != ''">company_id ,</if>
            <if test="sts == null ">sts,</if>
        </trim>
        )values(
        <trim suffix="" suffixOverrides=",">
            <if test="id != null and id != ''">#{id} ,</if>
            <if test="mdmId != null and mdmId != ''">#{mdmId} ,</if>
            <if test="distributeId != null and distributeId != ''">#{distributeId} ,</if>
            <if test="apiId != null and apiId != ''">#{apiId} ,</if>
            <if test="dataType != null and dataType != ''">#{dataType} ,</if>
            <if test="leftBracket != null and leftBracket != ''">#{leftBracket} ,</if>
            <if test="filedId != null and filedId != ''">#{filedId} ,</if>
            <if test="filedName != null and filedName != ''">#{filedName} ,</if>
            <if test="compareType != null and compareType != ''">#{compareType} ,</if>
            <if test="filedVaule != null and filedVaule != ''">#{filedVaule} ,</if>
            <if test="connectionSymbol != null and connectionSymbol != ''">#{connectionSymbol} ,</if>
            <if test="rightParenthesis != null and rightParenthesis != ''">#{rightParenthesis} ,</if>
            <if test="sorts != null">#{sorts} ,</if>
            <if test="create_user_id != null and create_user_id != ''">#{create_user_id} ,</if>
            <if test="create_time != null">#{create_time} ,</if>
            <if test="modify_user_id != null and modify_user_id != ''">#{modify_user_id} ,</if>
            <if test="modify_time != null">#{modify_time} ,</if>
            <if test="sts != null and sts != ''">#{sts} ,</if>
            <if test="org_id != null and org_id != ''">#{org_id} ,</if>
            <if test="companyId != null and companyId != ''">#{companyId} ,</if>
            <if test="sts == null ">'Y',</if>
        </trim>
        )
    </insert>
    <!-- 批量新增 -->
    <insert id="entityInsertBatch">
        insert into mdm_module_distribute_detail(mdm_id, distribute_id, api_id, data_type, left_bracket, filed_id,
        filed_name, compare_type, filed_vaule, connection_symbol, right_parenthesis, create_user_id, create_time,
        modify_user_id, modify_time, sts, org_id, company_id, sts)
        values
        <foreach collection="entities" item="entity" separator=",">
            (#{entity.mdmId},#{entity.distributeId},#{entity.apiId},#{entity.dataType},#{entity.leftBracket},#{entity.filedId},#{entity.filedName},#{entity.compareType},#{entity.filedVaule},#{entity.connectionSymbol},#{entity.rightParenthesis},#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},
            'Y')
        </foreach>
    </insert>
    <!-- 批量新增或者修改-->
    <insert id="entityInsertOrUpdateBatch">
        insert into mdm_module_distribute_detail(mdm_id, distribute_id, api_id, data_type, left_bracket, filed_id,
        filed_name, compare_type, filed_vaule, connection_symbol, right_parenthesis, create_user_id, create_time,
        modify_user_id, modify_time, sts, org_id, company_id)
        values
        <foreach collection="entities" item="entity" separator=",">
            (#{entity.mdmId},#{entity.distributeId},#{entity.apiId},#{entity.dataType},#{entity.leftBracket},#{entity.filedId},#{entity.filedName},#{entity.compareType},#{entity.filedVaule},#{entity.connectionSymbol},#{entity.rightParenthesis},#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId})
        </foreach>
        on duplicate key update
        mdm_id = values(mdm_id),
        distribute_id = values(distribute_id),
        api_id = values(api_id),
        data_type = values(data_type),
        left_bracket = values(left_bracket),
        filed_id = values(filed_id),
        filed_name = values(filed_name),
        compare_type = values(compare_type),
        filed_vaule = values(filed_vaule),
        connection_symbol = values(connection_symbol),
        right_parenthesis = values(right_parenthesis),
        create_user_id = values(create_user_id),
        create_time = values(create_time),
        modify_user_id = values(modify_user_id),
        modify_time = values(modify_time),
        sts = values(sts),
        org_id = values(org_id),
        company_id = values(company_id)
    </insert>
    <!--通过主键修改方法-->
    <update id="entity_update"
            parameterType="com.hzya.frame.mdm.mdmModuleDistributeDetail.entity.MdmModuleDistributeDetailEntity">
        update mdm_module_distribute_detail set
        <trim suffix="" suffixOverrides=",">
            <if test="mdmId != null and mdmId != ''">mdm_id = #{mdmId},</if>
            <if test="distributeId != null and distributeId != ''">distribute_id = #{distributeId},</if>
            <if test="apiId != null and apiId != ''">api_id = #{apiId},</if>
            <if test="dataType != null and dataType != ''">data_type = #{dataType},</if>
            left_bracket = #{leftBracket},
            filed_id = #{filedId},
            filed_name = #{filedName},
            compare_type = #{compareType},
            filed_vaule = #{filedVaule},
            connection_symbol = #{connectionSymbol},
            right_parenthesis = #{rightParenthesis},
            <if test="create_user_id != null and create_user_id != ''">create_user_id = #{create_user_id},</if>
            <if test="create_time != null">create_time = #{create_time},</if>
            <if test="modify_user_id != null and modify_user_id != ''">modify_user_id = #{modify_user_id},</if>
            <if test="modify_time != null">modify_time = #{modify_time},</if>
            <if test="sts != null and sts != ''">sts = #{sts},</if>
            <if test="org_id != null and org_id != ''">org_id = #{org_id},</if>
            <if test="companyId != null and companyId != ''">company_id = #{companyId},</if>
        </trim>
        where id = #{id}
    </update>
    <!-- 逻辑删除 -->
    <update id="entity_logicDelete"
            parameterType="com.hzya.frame.mdm.mdmModuleDistributeDetail.entity.MdmModuleDistributeDetailEntity">
update mdm_module_distribute_detail  set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id}
where id = #{id}
</update>
    <!-- 多条件逻辑删除 -->
    <update id="entity_logicDelete_Multi_Condition"
            parameterType="com.hzya.frame.mdm.mdmModuleDistributeDetail.entity.MdmModuleDistributeDetailEntity">
        update mdm_module_distribute_detail set sts= 'N' ,modify_time = #{modify_time},modify_user_id =
        #{modify_user_id}
        <trim prefix="where" prefixOverrides="and">
            <if test="id != null and id != ''">and id = #{id}</if>
            <if test="mdmId != null and mdmId != ''">and mdm_id = #{mdmId}</if>
            <if test="distributeId != null and distributeId != ''">and distribute_id = #{distributeId}</if>
            <if test="apiId != null and apiId != ''">and api_id = #{apiId}</if>
            <if test="dataType != null and dataType != ''">and data_type = #{dataType}</if>
            <if test="leftBracket != null and leftBracket != ''">and left_bracket = #{leftBracket}</if>
            <if test="filedId != null and filedId != ''">and filed_id = #{filedId}</if>
            <if test="filedName != null and filedName != ''">and filed_name = #{filedName}</if>
            <if test="compareType != null and compareType != ''">and compare_type = #{compareType}</if>
            <if test="filedVaule != null and filedVaule != ''">and filed_vaule = #{filedVaule}</if>
            <if test="connectionSymbol != null and connectionSymbol != ''">and connection_symbol = #{connectionSymbol}
            </if>
            <if test="rightParenthesis != null and rightParenthesis != ''">and right_parenthesis = #{rightParenthesis}
            </if>
            <if test="sorts != null">and sorts = #{sorts}</if>
            <if test="sts != null and sts != ''">and sts = #{sts}</if>
            <if test="companyId != null and companyId != ''">and company_id = #{companyId}</if>
            and sts='Y'
        </trim>
    </update>
    <!--通过主键删除-->
    <delete id="entity_delete">
    delete from mdm_module_distribute_detail where id = #{id}
</delete>

</mapper>

