| <?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.PrAssemblyPlanMapper"> | 
|   | 
|     <resultMap id="BaseResultMap" type="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan"> | 
|         <id property="id" column="id" jdbcType="BIGINT"/> | 
|         <result property="proId" column="pro_id" jdbcType="BIGINT"/> | 
|         <result property="batchId" column="batch_id" jdbcType="BIGINT"/> | 
|         <result property="processId" column="process_id" jdbcType="BIGINT"/> | 
|         <result property="name" column="name" jdbcType="VARCHAR"/> | 
|         <result property="number" column="number" jdbcType="INTEGER"/> | 
|         <result property="status" column="status" jdbcType="TINYINT"/> | 
|         <result property="creator" column="creator" jdbcType="VARCHAR"/> | 
|         <result property="dt" column="dt" jdbcType="TIMESTAMP"/> | 
|         <result property="startDate" column="start_date" jdbcType="VARCHAR"/> | 
|         <result property="endDate" column="end_date" jdbcType="VARCHAR"/> | 
|         <result property="deleted" column="deleted" jdbcType="TINYINT"/> | 
|         <result property="content" column="content" jdbcType="VARCHAR"/> | 
|         <result property="inputNumber" column="input_number" jdbcType="INTEGER"/> | 
|         <result property="outputNumber" column="output_number" jdbcType="INTEGER"/> | 
|         <association property="proName" column="pro_id" javaType="java.lang.Long" | 
|                      select="com.dy.pmsGlobal.daoPlt.PltProductMapper.selectProNameById" fetchType="eager"/> | 
|         <association property="creatorName" column="creator" javaType="java.lang.Long" | 
|                      select="com.dy.pmsGlobal.daoBa.BaUserMapper.selectNameByUserId" fetchType="eager"/> | 
|         <association property="batchNo" column="batch_id" javaType="java.lang.Long" | 
|                      select="com.dy.pmsGlobal.daoPr.PrBatchNumberMapper.selectBatchNoById" fetchType="eager"/> | 
|         <association property="processName" column="process_id" javaType="java.lang.Long" | 
|                      select="com.dy.pmsGlobal.daoPr.PrProductionProcessMapper.selectProcessNameById" fetchType="eager"/> | 
|         <collection property="process" ofType="com.dy.pmsGlobal.pojoPr.PrProductionProcess" | 
|                     select="com.dy.pmsGlobal.daoPr.PrProductionProcessMapper.selectByPrimaryKey" fetchType="eager" | 
|                     column="process_id"/> | 
|     </resultMap> | 
|   | 
|     <resultMap id="PlanResultMap" type="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan"> | 
|         <id property="id" column="id" jdbcType="BIGINT"/> | 
|         <result property="proId" column="pro_id" jdbcType="BIGINT"/> | 
|         <result property="batchId" column="batch_id" jdbcType="BIGINT"/> | 
|         <result property="processId" column="process_id" jdbcType="BIGINT"/> | 
|         <result property="name" column="name" jdbcType="VARCHAR"/> | 
|         <result property="number" column="number" jdbcType="INTEGER"/> | 
|         <result property="status" column="status" jdbcType="TINYINT"/> | 
|         <result property="creator" column="creator" jdbcType="VARCHAR"/> | 
|         <result property="dt" column="dt" jdbcType="TIMESTAMP"/> | 
|         <result property="startDate" column="start_date" jdbcType="VARCHAR"/> | 
|         <result property="endDate" column="end_date" jdbcType="VARCHAR"/> | 
|         <result property="deleted" column="deleted" jdbcType="TINYINT"/> | 
|         <result property="content" column="content" jdbcType="VARCHAR"/> | 
|         <result property="inputNumber" column="input_number" jdbcType="INTEGER"/> | 
|         <result property="outputNumber" column="output_number" jdbcType="INTEGER"/> | 
|         <collection property="process" ofType="com.dy.pmsGlobal.pojoPr.PrProductionProcess" | 
|                     select="com.dy.pmsGlobal.daoPr.PrProductionProcessMapper.selectByProcessId" fetchType="eager" | 
|                     column="process_id"/> | 
|     </resultMap> | 
|   | 
|     <sql id="Base_Column_List"> | 
|         id | 
|         ,pro_id,batch_id, | 
|         process_id,name,number, | 
|         status,creator, | 
|         dt,start_date,end_date, | 
|         deleted,content,input_number,output_number | 
|     </sql> | 
|     <sql id="part_Column_List" > | 
|         ${alias}.id, | 
|         ${alias}.pro_id, | 
|         ${alias}.batch_id, | 
|         ${alias}.process_id, | 
|         ${alias}.name, | 
|         ${alias}.number, | 
|         ${alias}.status, | 
|         ${alias}.creator, | 
|         ${alias}.dt, | 
|         ${alias}.start_date, | 
|         ${alias}.end_date, | 
|         ${alias}.deleted, | 
|         ${alias}.content, | 
|         ${alias}.input_number, | 
|         ${alias}.output_number | 
|     </sql> | 
|     <select id="selectPlanNamesByProcessId" resultType="java.lang.String"> | 
|         select GROUP_CONCAT(name SEPARATOR ',') | 
|         from pr_assembly_plan | 
|         where process_id = #{processId} | 
|           and deleted = 0 | 
|     </select> | 
|     <select id="processIsQuote" resultType="java.lang.Boolean" parameterType="java.lang.Long"> | 
|         select count(1) | 
|         from pr_assembly_plan | 
|         where deleted = 0 | 
|         <if test="id != null"> | 
|             and process_id = #{id} | 
|         </if> | 
|     </select> | 
|     <select id="selectNameByPlanId" parameterType="java.lang.Long" resultType="String"> | 
|         select name | 
|         from pr_assembly_plan | 
|         where id = #{id} | 
|     </select> | 
|     <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
|         select | 
|         <include refid="Base_Column_List"/> | 
|         from pr_assembly_plan | 
|         where id = #{id,jdbcType=BIGINT} | 
|     </select> | 
|     <select id="selectByProcess" resultMap="com.dy.pmsGlobal.daoPr.PrProductionNodeMapper.BaseResultMap"> | 
|         select * | 
|         from pr_production_node | 
|         where process_id = #{processId,jdbcType=BIGINT} | 
|     </select> | 
|   | 
|     <select id="selectByDeviceNo" parameterType="java.lang.String" resultMap="PlanResultMap"> | 
|         select | 
|         <include refid="part_Column_List"> | 
|             <property name="alias" value="p"/> | 
|         </include> | 
|         from pr_assembly_plan p,plt_product pp,pr_batch_number b | 
|         where p.pro_id = pp.id  and p.batch_id = b.id | 
|           and pp.code = #{proCode,jdbcType=VARCHAR} | 
|           and b.batch_number = #{batchNumber,jdbcType=VARCHAR} | 
|     </select> | 
|   | 
|     <select id="selectAssyPlanSimplify" resultMap="PlanResultMap" | 
|             parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan"> | 
|         select | 
|         <include refid="Base_Column_List"/> | 
|         from pr_assembly_plan | 
|         <trim prefix="where" suffixOverrides="and"> | 
|             <if test="proId != null"> | 
|                 pro_id = #{proId,jdbcType=BIGINT} and | 
|             </if> | 
|             <if test="batchId != null"> | 
|                 batch_id = #{batchId,jdbcType=BIGINT} and | 
|             </if> | 
|             <if test="processId != null"> | 
|                 process_id = #{processId,jdbcType=BIGINT} and | 
|             </if> | 
|             <if test="name != null"> | 
|                 name = #{name,jdbcType=VARCHAR} and | 
|             </if> | 
|             <if test="number != null"> | 
|                 number = #{number,jdbcType=INTEGER} and | 
|             </if> | 
|             <if test="status != null"> | 
|                 status = #{status,jdbcType=TINYINT} and | 
|             </if> | 
|             <if test="creator != null"> | 
|                 creator = #{creator,jdbcType=VARCHAR} and | 
|             </if> | 
|             <if test="dt != null"> | 
|                 dt = #{dt,jdbcType=TIMESTAMP} and | 
|             </if> | 
|             <if test="startDate != null"> | 
|                 start_date = #{startDate,jdbcType=VARCHAR} and | 
|             </if> | 
|             <if test="endDate != null"> | 
|                 end_date = #{endDate,jdbcType=VARCHAR} and | 
|             </if> | 
|             <if test="deleted != null"> | 
|                 deleted = #{deleted,jdbcType=TINYINT} and | 
|             </if> | 
|             <if test="content != null"> | 
|                 content = #{content,jdbcType=VARCHAR} and | 
|             </if> | 
|         </trim> | 
|         order by id desc | 
|     </select> | 
|     <select id="selectAssyPlanList" resultMap="BaseResultMap" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan"> | 
|         select | 
|         <include refid="Base_Column_List"/> | 
|         from pr_assembly_plan | 
|         <trim prefix="where" suffixOverrides="and"> | 
|             <if test="proId != null"> | 
|                 pro_id = #{proId,jdbcType=BIGINT} and | 
|             </if> | 
|             <if test="batchId != null"> | 
|                 batch_id = #{batchId,jdbcType=BIGINT} and | 
|             </if> | 
|             <if test="processId != null"> | 
|                 process_id = #{processId,jdbcType=BIGINT} and | 
|             </if> | 
|             <if test="name != null"> | 
|                 name = #{name,jdbcType=VARCHAR} and | 
|             </if> | 
|             <if test="number != null"> | 
|                 number = #{number,jdbcType=INTEGER} and | 
|             </if> | 
|             <if test="status != null"> | 
|                 status = #{status,jdbcType=TINYINT} and | 
|             </if> | 
|             <if test="creator != null"> | 
|                 creator = #{creator,jdbcType=VARCHAR} and | 
|             </if> | 
|             <if test="dt != null"> | 
|                 dt = #{dt,jdbcType=TIMESTAMP} and | 
|             </if> | 
|             <if test="startDate != null"> | 
|                 start_date = #{startDate,jdbcType=VARCHAR} and | 
|             </if> | 
|             <if test="endDate != null"> | 
|                 end_date = #{endDate,jdbcType=VARCHAR} and | 
|             </if> | 
|             <if test="deleted != null"> | 
|                 deleted = #{deleted,jdbcType=TINYINT} and | 
|             </if> | 
|             <if test="content != null"> | 
|                 content = #{content,jdbcType=VARCHAR} and | 
|             </if> | 
|         </trim> | 
|         order by id desc | 
|     </select> | 
|   | 
|     <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> | 
|         delete | 
|         from pr_assembly_plan | 
|         where id = #{id,jdbcType=BIGINT} | 
|     </delete> | 
|     <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan" | 
|             useGeneratedKeys="true"> | 
|         insert into pr_assembly_plan | 
|         ( id, pro_id, batch_id | 
|         , process_id, name, number | 
|         , status, creator | 
|         , dt, start_date, end_date | 
|         , deleted, content, input_number, output_number) | 
|         values ( #{id,jdbcType=BIGINT}, #{proId,jdbcType=BIGINT}, #{batchId,jdbcType=BIGINT} | 
|                , #{processId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{number,jdbcType=INTEGER} | 
|                , #{status,jdbcType=TINYINT}, #{creator,jdbcType=VARCHAR} | 
|                , #{dt,jdbcType=TIMESTAMP}, #{startDate,jdbcType=VARCHAR}, #{endDate,jdbcType=VARCHAR} | 
|                , #{deleted,jdbcType=TINYINT}, #{content,jdbcType=VARCHAR}, #{inputNumber,jdbcType=INTEGER} | 
|                , #{outputNumber,jdbcType=INTEGER}) | 
|     </insert> | 
|     <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan" | 
|             useGeneratedKeys="true"> | 
|         insert into pr_assembly_plan | 
|         <trim prefix="(" suffix=")" suffixOverrides=","> | 
|             <if test="id != null">id,</if> | 
|             <if test="proId != null">pro_id,</if> | 
|             <if test="batchId != null">batch_id,</if> | 
|             <if test="processId != null">process_id,</if> | 
|             <if test="name != null">name,</if> | 
|             <if test="number != null">number,</if> | 
|             <if test="status != null">status,</if> | 
|             <if test="creator != null">creator,</if> | 
|             <if test="dt != null">dt,</if> | 
|             <if test="startDate != null">start_date,</if> | 
|             <if test="endDate != null">end_date,</if> | 
|             <if test="deleted != null">deleted,</if> | 
|             <if test="content != null">content,</if> | 
|             <if test="inputNumber != null">input_number,</if> | 
|             <if test="outputNumber != null">output_number,</if> | 
|         </trim> | 
|         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
|             <if test="id != null">#{id,jdbcType=BIGINT},</if> | 
|             <if test="proId != null">#{proId,jdbcType=BIGINT},</if> | 
|             <if test="batchId != null">#{batchId,jdbcType=BIGINT},</if> | 
|             <if test="processId != null">#{processId,jdbcType=BIGINT},</if> | 
|             <if test="name != null">#{name,jdbcType=VARCHAR},</if> | 
|             <if test="number != null">#{number,jdbcType=INTEGER},</if> | 
|             <if test="status != null">#{status,jdbcType=TINYINT},</if> | 
|             <if test="creator != null">#{creator,jdbcType=VARCHAR},</if> | 
|             <if test="dt != null">#{dt,jdbcType=TIMESTAMP},</if> | 
|             <if test="startDate != null">#{startDate,jdbcType=VARCHAR},</if> | 
|             <if test="endDate != null">#{endDate,jdbcType=VARCHAR},</if> | 
|             <if test="deleted != null">#{deleted,jdbcType=TINYINT},</if> | 
|             <if test="content != null">#{content,jdbcType=VARCHAR},</if> | 
|             <if test="inputNumber != null">#{inputNumber,jdbcType=INTEGER},</if> | 
|             <if test="outputNumber != null">#{outputNumber,jdbcType=INTEGER},</if> | 
|         </trim> | 
|     </insert> | 
|     <update id="updateByPrimaryKeySelective" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan"> | 
|         update pr_assembly_plan | 
|         <set> | 
|             <if test="proId != null"> | 
|                 pro_id = #{proId,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="batchId != null"> | 
|                 batch_id = #{batchId,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="processId != null"> | 
|                 process_id = #{processId,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="name != null"> | 
|                 name = #{name,jdbcType=VARCHAR}, | 
|             </if> | 
|             <if test="number != null"> | 
|                 number = #{number,jdbcType=INTEGER}, | 
|             </if> | 
|             <if test="status != null"> | 
|                 status = #{status,jdbcType=TINYINT}, | 
|             </if> | 
|             <if test="creator != null"> | 
|                 creator = #{creator,jdbcType=VARCHAR}, | 
|             </if> | 
|             <if test="dt != null"> | 
|                 dt = #{dt,jdbcType=TIMESTAMP}, | 
|             </if> | 
|             <if test="startDate != null"> | 
|                 start_date = #{startDate,jdbcType=VARCHAR}, | 
|             </if> | 
|             <if test="endDate != null"> | 
|                 end_date = #{endDate,jdbcType=VARCHAR}, | 
|             </if> | 
|             <if test="deleted != null"> | 
|                 deleted = #{deleted,jdbcType=TINYINT}, | 
|             </if> | 
|             <if test="content != null"> | 
|                 content = #{content,jdbcType=VARCHAR}, | 
|             </if> | 
|             <if test="inputNumber != null"> | 
|                 input_number = #{inputNumber,jdbcType=INTEGER}, | 
|             </if> | 
|             <if test="outputNumber != null"> | 
|                 output_number = #{outputNumber,jdbcType=INTEGER}, | 
|             </if> | 
|         </set> | 
|         where id = #{id,jdbcType=BIGINT} | 
|     </update> | 
|     <update id="updateByPrimaryKey" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan"> | 
|         update pr_assembly_plan | 
|         set pro_id        = #{proId,jdbcType=BIGINT}, | 
|             batch_id      = #{batchId,jdbcType=BIGINT}, | 
|             process_id    = #{processId,jdbcType=BIGINT}, | 
|             name          = #{name,jdbcType=VARCHAR}, | 
|             number        = #{number,jdbcType=INTEGER}, | 
|             status        = #{status,jdbcType=TINYINT}, | 
|             creator       = #{creator,jdbcType=VARCHAR}, | 
|             dt            = #{dt,jdbcType=TIMESTAMP}, | 
|             start_date    = #{startDate,jdbcType=VARCHAR}, | 
|             end_date      = #{endDate,jdbcType=VARCHAR}, | 
|             deleted       = #{deleted,jdbcType=TINYINT}, | 
|             content       = #{content,jdbcType=VARCHAR}, | 
|             input_number  = #{inputNumber,jdbcType=INTEGER}, | 
|             output_number = #{outputNumber,jdbcType=INTEGER} | 
|         where id = #{id,jdbcType=BIGINT} | 
|     </update> | 
|   | 
|     <select id="selectSome" resultMap="BaseResultMap"> | 
|         select | 
|         <include refid="Base_Column_List"/> | 
|         from pr_assembly_plan | 
|         <trim prefix="where" suffixOverrides="and"> | 
|             <if test="proId != null"> | 
|                 pro_id = #{proId,jdbcType=BIGINT} and | 
|             </if> | 
|             <if test="startDate != null and startDate != '' "> | 
|                 start_date = #{startDate,jdbcType=VARCHAR} and | 
|             </if> | 
|             <if test="endDate != null and endDate != ''"> | 
|                 end_date = #{endDate,jdbcType=VARCHAR} and | 
|             </if> | 
|         </trim> | 
|         order by id desc | 
|         <trim prefix="limit "> | 
|             <if test="start != null and count != null"> | 
|                 #{start}, #{count} | 
|             </if> | 
|         </trim> | 
|     </select> | 
|   | 
|     <select id="selectSomeCount" resultType="java.lang.Long"> | 
|         select count(1) | 
|         from pr_assembly_plan | 
|         <trim prefix="where" suffixOverrides="and"> | 
|             <if test="proId != null"> | 
|                 pro_id = #{proId,jdbcType=BIGINT} and | 
|             </if> | 
|             <if test="startDate != null and startDate != '' "> | 
|                 start_date = #{startDate,jdbcType=VARCHAR} and | 
|             </if> | 
|             <if test="endDate != null and endDate != ''"> | 
|                 end_date = #{endDate,jdbcType=VARCHAR} and | 
|             </if> | 
|         </trim> | 
|     </select> | 
|     <select id="exists" resultType="java.lang.Boolean"> | 
|         select count(1) > 0 | 
|         from pr_assembly_plan | 
|         where name = #{name,jdbcType=VARCHAR} | 
|         <if test="id != null"> | 
|             and id != #{id,jdbcType=BIGINT} | 
|         </if> | 
|     </select> | 
|   | 
|     <update id="deleteLogicById" parameterType="java.lang.Long"> | 
|         update pr_assembly_plan | 
|         set deleted = 1 | 
|         where id = #{id} | 
|     </update> | 
| </mapper> |