| <?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> |