<?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.dy.pmsGlobal.daoPr.PrProductionNodeMapper"> 
 | 
  
 | 
    <resultMap id="BaseResultMap" type="com.dy.pmsGlobal.pojoPr.PrProductionNode"> 
 | 
        <id property="id" column="id" jdbcType="BIGINT"/> 
 | 
        <result property="processId" column="process_id" jdbcType="BIGINT"/> 
 | 
        <result property="sort" column="sort" jdbcType="INTEGER"/> 
 | 
        <result property="content" column="content" jdbcType="VARCHAR"/> 
 | 
        <result property="nodeType" column="node_type" jdbcType="INTEGER"/> 
 | 
        <result property="isStart" column="is_start" jdbcType="TINYINT"/> 
 | 
        <result property="isEnd" column="is_end" jdbcType="TINYINT"/> 
 | 
        <result property="isRecord" column="is_record" jdbcType="TINYINT"/> 
 | 
        <result property="deviceCycleContent" column="device_cycle_content" jdbcType="VARCHAR"/> 
 | 
        <result property="deleted" column="deleted" jdbcType="TINYINT"/> 
 | 
        <result property="remark" column="remark" jdbcType="VARCHAR"/> 
 | 
        <association property="instruction" 
 | 
            column="id" javaType="java.lang.Long" select="com.dy.pmsGlobal.daoPr.PrWorkingInstructionMapper.selectByNodeId" fetchType="eager" /> 
 | 
    </resultMap> 
 | 
  
 | 
    <sql id="Base_Column_List"> 
 | 
        id,process_id,sort, 
 | 
        content,node_type,is_start,is_end, 
 | 
        is_record,device_cycle_content,deleted, 
 | 
        remark 
 | 
    </sql> 
 | 
  
 | 
<!--    <select id="selectProNameById" resultMap="com.dy.pmsGlobal.daoPr.PrWorkingInstructionMapper.BaseResultMap">--> 
 | 
<!--        select *--> 
 | 
<!--        from pr_working_instruction--> 
 | 
<!--        where node_id = #{id,jdbcType=BIGINT}--> 
 | 
<!--    </select>--> 
 | 
    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> 
 | 
        select 
 | 
        <include refid="Base_Column_List" /> 
 | 
        from pr_production_node 
 | 
        where  id = #{id,jdbcType=BIGINT}  
 | 
    </select> 
 | 
    <select id="selectNameByNodeId" parameterType="java.lang.Long" resultType="String"> 
 | 
        select content from pr_production_node where id = #{id} 
 | 
    </select> 
 | 
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> 
 | 
        delete from pr_production_node 
 | 
        where  id = #{id,jdbcType=BIGINT}  
 | 
    </delete> 
 | 
    <delete id="deleteByProcessId"> 
 | 
        delete from pr_production_node 
 | 
        where  process_id = #{processId,jdbcType=BIGINT} 
 | 
    </delete> 
 | 
    <delete id="deleteByNodeId" parameterType="arraylist"> 
 | 
        delete from pr_production_node 
 | 
        where  id in 
 | 
        <foreach collection="list" item="item" index="index" open="(" separator="," close=")"> 
 | 
            #{item} 
 | 
        </foreach> 
 | 
    </delete> 
 | 
    <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoPr.PrProductionNode" useGeneratedKeys="true"> 
 | 
        insert into pr_production_node 
 | 
        <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
                <if test="id != null">id,</if> 
 | 
                <if test="processId != null">process_id,</if> 
 | 
                <if test="sort != null">sort,</if> 
 | 
                <if test="content != null">content,</if> 
 | 
                <if test="nodeType != null">node_type,</if> 
 | 
                <if test="isStart != null">is_start,</if> 
 | 
                <if test="isEnd != null">is_end,</if> 
 | 
                <if test="isRecord != null">is_record,</if> 
 | 
                <if test="deviceCycleContent != null">device_cycle_content,</if> 
 | 
                <if test="deleted != null">deleted,</if> 
 | 
                <if test="remark != null">remark,</if> 
 | 
        </trim> 
 | 
        <trim prefix="values (" suffix=")" suffixOverrides=","> 
 | 
                <if test="id != null">#{id,jdbcType=BIGINT},</if> 
 | 
                <if test="processId != null">#{processId,jdbcType=BIGINT},</if> 
 | 
                <if test="sort != null">#{sort,jdbcType=INTEGER},</if> 
 | 
                <if test="content != null">#{content,jdbcType=VARCHAR},</if> 
 | 
                <if test="nodeType != null">#{nodeType,jdbcType=INTEGER},</if> 
 | 
                <if test="isStart != null">#{isStart,jdbcType=TINYINT},</if> 
 | 
                <if test="isEnd != null">#{isEnd,jdbcType=TINYINT},</if> 
 | 
                <if test="isRecord != null">#{isRecord,jdbcType=TINYINT},</if> 
 | 
                <if test="deviceCycleContent != null">#{deviceCycleContent,jdbcType=VARCHAR},</if> 
 | 
                <if test="deleted != null">#{deleted,jdbcType=TINYINT},</if> 
 | 
                <if test="remark != null">#{remark,jdbcType=VARCHAR},</if> 
 | 
        </trim> 
 | 
    </insert> 
 | 
  
 | 
    <insert id="insertMany" parameterType="java.util.List"> 
 | 
       INSERT INTO pr_production_node (id,process_id,sort, 
 | 
        content,node_type,is_start,is_end, 
 | 
        is_record,device_cycle_content,deleted, 
 | 
        remark) VALUES 
 | 
       <foreach item="item" index="index" collection="list" open="(" separator="),(" close=")"> 
 | 
           #{item.id}, 
 | 
           #{item.processId}, 
 | 
           #{item.sort}, 
 | 
           #{item.content}, 
 | 
           #{item.nodeType}, 
 | 
           #{item.isStart}, 
 | 
           #{item.isEnd}, 
 | 
           #{item.isRecord}, 
 | 
           #{item.deviceCycleContent}, 
 | 
           #{item.deleted}, 
 | 
           #{item.remark} 
 | 
       </foreach> 
 | 
    </insert> 
 | 
  
 | 
  
 | 
    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pmsGlobal.pojoPr.PrProductionNode"> 
 | 
        update pr_production_node 
 | 
        <set> 
 | 
                <if test="processId != null"> 
 | 
                    process_id = #{processId,jdbcType=BIGINT}, 
 | 
                </if> 
 | 
                <if test="sort != null"> 
 | 
                    sort = #{sort,jdbcType=INTEGER}, 
 | 
                </if> 
 | 
                <if test="content != null"> 
 | 
                    content = #{content,jdbcType=VARCHAR}, 
 | 
                </if> 
 | 
                <if test="nodeType != null"> 
 | 
                    node_type = #{nodeType,jdbcType=INTEGER}, 
 | 
                </if> 
 | 
                <if test="isStart != null"> 
 | 
                    is_start = #{isStart,jdbcType=TINYINT}, 
 | 
                </if> 
 | 
                <if test="isEnd != null"> 
 | 
                    is_end = #{isEnd,jdbcType=TINYINT}, 
 | 
                </if> 
 | 
                <if test="isRecord != null"> 
 | 
                    is_record = #{isRecord,jdbcType=TINYINT}, 
 | 
                </if> 
 | 
                <if test="deviceCycleContent != null"> 
 | 
                    device_cycle_content = #{deviceCycleContent,jdbcType=VARCHAR}, 
 | 
                </if> 
 | 
                <if test="deleted != null"> 
 | 
                    deleted = #{deleted,jdbcType=TINYINT}, 
 | 
                </if> 
 | 
                <if test="remark != null"> 
 | 
                    remark = #{remark,jdbcType=VARCHAR}, 
 | 
                </if> 
 | 
        </set> 
 | 
        where   id = #{id,jdbcType=BIGINT}  
 | 
    </update> 
 | 
  
 | 
    <select id="selectByProcess" resultMap="BaseResultMap"> 
 | 
        select 
 | 
        <include refid="Base_Column_List" /> 
 | 
        from pr_production_node 
 | 
        <trim prefix="where" suffixOverrides="and"> 
 | 
            <if test="processId != null"> 
 | 
                process_id = #{processId,jdbcType=BIGINT} and 
 | 
            </if> 
 | 
        </trim> 
 | 
        order by sort asc 
 | 
        <trim prefix="limit " > 
 | 
            <if test="start != null and count != null"> 
 | 
                #{start}, #{count} 
 | 
            </if> 
 | 
        </trim> 
 | 
    </select> 
 | 
    <select id="isEndNode" resultType="java.lang.Boolean"> 
 | 
        select 
 | 
            n.sort >=n1.sort 
 | 
        from pr_production_node n 
 | 
                 left join pr_production_node n1 on n.process_id = n1.process_id 
 | 
        where n1.id = #{id} and n.is_end=1 
 | 
    </select> 
 | 
  
 | 
    <update id="deleteLogicById" parameterType="java.lang.Long"> 
 | 
        update pr_production_node set deleted = 1 
 | 
        where id = #{id} 
 | 
    </update> 
 | 
</mapper> 
 |