|  |  | 
 |  |  |         <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="proType" column="pro_id" javaType="java.lang.Long" | 
 |  |  |                      select="com.dy.pmsGlobal.daoPlt.PltProductMapper.selectProTypeById" 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"/> | 
 |  |  |         <association property="orderName" column="order_id" javaType="java.lang.Long" | 
 |  |  |                      select="com.dy.pmsGlobal.daoPr.PrOrderMapper.selectOrderNameById" fetchType="eager" /> | 
 |  |  |         <collection property="process" ofType="com.dy.pmsGlobal.pojoPr.PrProductionProcess" | 
 |  |  |                     select="com.dy.pmsGlobal.daoPr.PrProductionProcessMapper.selectByPrimaryKey" fetchType="eager" | 
 |  |  |                     column="process_id"/> | 
 |  |  | 
 |  |  |         from pr_assembly_plan | 
 |  |  |         where id = #{id} | 
 |  |  |     </select> | 
 |  |  |     <select id="selectByBatchId" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
 |  |  |         select | 
 |  |  |         <include refid="Base_Column_List"/> | 
 |  |  |         from pr_assembly_plan | 
 |  |  |         where batch_id = #{batchId,jdbcType=BIGINT} | 
 |  |  |     </select> | 
 |  |  |     <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
 |  |  |         select | 
 |  |  |         <include refid="Base_Column_List"/> | 
 |  |  | 
 |  |  |             <if test="batchId != null"> | 
 |  |  |                 batch_id = #{batchId,jdbcType=BIGINT} and | 
 |  |  |             </if> | 
 |  |  |             <if test="processId != null"> | 
 |  |  |             <if test="processId!= null"> | 
 |  |  |                 process_id = #{processId,jdbcType=BIGINT} and | 
 |  |  |             </if> | 
 |  |  |             <if test="name != null"> | 
 |  |  |             <if test="name != null and name !=''"> | 
 |  |  |                 name = #{name,jdbcType=VARCHAR} and | 
 |  |  |             </if> | 
 |  |  |             <if test="number != null"> | 
 |  |  | 
 |  |  |             <if test="status != null"> | 
 |  |  |                 status = #{status,jdbcType=TINYINT} and | 
 |  |  |             </if> | 
 |  |  |             <if test="creator != null"> | 
 |  |  |             <if test="creator != null and creator !=''"> | 
 |  |  |                 creator = #{creator,jdbcType=VARCHAR} and | 
 |  |  |             </if> | 
 |  |  |             <if test="dt != null"> | 
 |  |  |                 dt = #{dt,jdbcType=TIMESTAMP} and | 
 |  |  |             </if> | 
 |  |  |             <if test="startDate != null"> | 
 |  |  |             <if test="startDate != null and startDate !=''"> | 
 |  |  |                 start_date = #{startDate,jdbcType=VARCHAR} and | 
 |  |  |             </if> | 
 |  |  |             <if test="endDate != null"> | 
 |  |  |             <if test="endDate != null and endDate !=''"> | 
 |  |  |                 end_date = #{endDate,jdbcType=VARCHAR} and | 
 |  |  |             </if> | 
 |  |  |             <if test="deleted != null"> | 
 |  |  |                 deleted = #{deleted,jdbcType=TINYINT} and | 
 |  |  |             </if> | 
 |  |  |             <if test="content != null"> | 
 |  |  |             <if test="content != null and content !=''"> | 
 |  |  |                 content = #{content,jdbcType=VARCHAR} and | 
 |  |  |             </if> | 
 |  |  |         </trim> | 
 |  |  | 
 |  |  |             <if test="batchId != null"> | 
 |  |  |                 batch_id = #{batchId,jdbcType=BIGINT} and | 
 |  |  |             </if> | 
 |  |  |             <if test="processId != null"> | 
 |  |  |             <if test="processId!= null"> | 
 |  |  |                 process_id = #{processId,jdbcType=BIGINT} and | 
 |  |  |             </if> | 
 |  |  |             <if test="name != null"> | 
 |  |  |             <if test="name != null and name !=''"> | 
 |  |  |                 name = #{name,jdbcType=VARCHAR} and | 
 |  |  |             </if> | 
 |  |  |             <if test="number != null"> | 
 |  |  | 
 |  |  |             <if test="status != null"> | 
 |  |  |                 status = #{status,jdbcType=TINYINT} and | 
 |  |  |             </if> | 
 |  |  |             <if test="creator != null"> | 
 |  |  |             <if test="creator != null and creator !=''"> | 
 |  |  |                 creator = #{creator,jdbcType=VARCHAR} and | 
 |  |  |             </if> | 
 |  |  |             <if test="dt != null"> | 
 |  |  |                 dt = #{dt,jdbcType=TIMESTAMP} and | 
 |  |  |             </if> | 
 |  |  |             <if test="startDate != null"> | 
 |  |  |             <if test="startDate != null and startDate !=''"> | 
 |  |  |                 start_date = #{startDate,jdbcType=VARCHAR} and | 
 |  |  |             </if> | 
 |  |  |             <if test="endDate != null"> | 
 |  |  |             <if test="endDate != null and endDate !=''"> | 
 |  |  |                 end_date = #{endDate,jdbcType=VARCHAR} and | 
 |  |  |             </if> | 
 |  |  |             <if test="deleted != null"> | 
 |  |  |                 deleted = #{deleted,jdbcType=TINYINT} and | 
 |  |  |             </if> | 
 |  |  |             <if test="content != null"> | 
 |  |  |             <if test="content != null and content !=''"> | 
 |  |  |                 content = #{content,jdbcType=VARCHAR} and | 
 |  |  |             </if> | 
 |  |  |         </trim> | 
 |  |  | 
 |  |  |             <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="name != null and name !=''">name,</if> | 
 |  |  |             <if test="number != null">number,</if> | 
 |  |  |             <if test="status != null">status,</if> | 
 |  |  |             <if test="creator != null">creator,</if> | 
 |  |  |             <if test="creator != null and creator !=''">creator,</if> | 
 |  |  |             <if test="dt != null">dt,</if> | 
 |  |  |             <if test="startDate != null">start_date,</if> | 
 |  |  |             <if test="endDate != null">end_date,</if> | 
 |  |  |             <if test="startDate != null and startDate !=''">start_date,</if> | 
 |  |  |             <if test="endDate != null and endDate !=''">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> | 
 |  |  |             <if test="content != null and content !=''">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="name != null and name !=''">#{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="creator != null and creator !=''">#{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="startDate != null and startDate !=''">#{startDate,jdbcType=VARCHAR},</if> | 
 |  |  |             <if test="endDate != null and endDate !=''">#{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> | 
 |  |  |             <if test="content != null and content !=''">#{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"> | 
 |  |  | 
 |  |  |             <if test="batchId != null"> | 
 |  |  |                 batch_id = #{batchId,jdbcType=BIGINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="processId != null"> | 
 |  |  |             <if test="processId!= null"> | 
 |  |  |                 process_id = #{processId,jdbcType=BIGINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="name != null"> | 
 |  |  |             <if test="name != null and name !=''"> | 
 |  |  |                 name = #{name,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="number != null"> | 
 |  |  | 
 |  |  |             <if test="status != null"> | 
 |  |  |                 status = #{status,jdbcType=TINYINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="creator != null"> | 
 |  |  |             <if test="creator != null and creator !=''"> | 
 |  |  |                 creator = #{creator,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="dt != null"> | 
 |  |  |                 dt = #{dt,jdbcType=TIMESTAMP}, | 
 |  |  |             </if> | 
 |  |  |             <if test="startDate != null"> | 
 |  |  |             <if test="startDate != null and startDate !=''"> | 
 |  |  |                 start_date = #{startDate,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="endDate != null"> | 
 |  |  |             <if test="endDate != null and endDate !=''"> | 
 |  |  |                 end_date = #{endDate,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="deleted != null"> | 
 |  |  |                 deleted = #{deleted,jdbcType=TINYINT}, | 
 |  |  |             </if> | 
 |  |  |             <if test="content != null"> | 
 |  |  |             <if test="content != null and content !=''"> | 
 |  |  |                 content = #{content,jdbcType=VARCHAR}, | 
 |  |  |             </if> | 
 |  |  |             <if test="inputNumber != null"> | 
 |  |  |             <if test="inputNumber!= null"> | 
 |  |  |                 input_number = #{inputNumber,jdbcType=INTEGER}, | 
 |  |  |             </if> | 
 |  |  |             <if test="outputNumber != null"> | 
 |  |  |             <if test="outputNumber!= null"> | 
 |  |  |                 output_number = #{outputNumber,jdbcType=INTEGER}, | 
 |  |  |             </if> | 
 |  |  |         </set> | 
 |  |  | 
 |  |  |         where ap.id = #{planId}  and pn.id= #{nodeId} | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     <resultMap id="jsonResultMap" type="java.util.HashMap"> | 
 |  |  |         <id column="planId" property="planId"/> | 
 |  |  |         <result column="planName" property="planName"/> | 
 |  |  |         <result column="status" property="status"/> | 
 |  |  |  | 
 |  |  |         <collection property="nodes" javaType="java.util.HashMap"> | 
 |  |  |             <result column="content" property="content"/> | 
 |  |  |             <result column="nodeId" property="nodeId"/> | 
 |  |  |         </collection> | 
 |  |  |     </resultMap> | 
 |  |  |     <select id="selectByPlanName" resultMap="jsonResultMap"> | 
 |  |  |     <select id="selectByPlanName" resultType="cn.hutool.json.JSONObject"> | 
 |  |  |         select ap.id planId,ap.name planName,ap.`status`,pn.id nodeId,pn.content from pr_assembly_plan ap | 
 |  |  |         left join pr_production_node pn on ap.process_id = pn.process_id | 
 |  |  |         where status != -1 | 
 |  |  |         <if test="planName != null and planName!= null"> | 
 |  |  |         <if test="planName != null and planName!= ''"> | 
 |  |  |             and ap.name like concat('%', #{planName}, '%') | 
 |  |  |         </if> | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="queryPlanList" resultType="cn.hutool.json.JSONObject"> | 
 |  |  |         select pp.`name` as pro_name, p.`name` ,p.number, p.output_number, concat(round(((p.output_number/p.number) * 100 ),0), '%') as complete_rate ,p.end_date, | 
 |  |  |         TIMESTAMPDIFF(DAY, NOW(),p.end_date) AS days_difference | 
 |  |  |         from (SELECT * FROM pr_assembly_plan WHERE  STATUS = 1 and deleted = 0)  p | 
 |  |  |         LEFT JOIN plt_product pp | 
 |  |  |         on p.pro_id = pp.id | 
 |  |  |         ORDER BY end_date | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |  | 
 |  |  | </mapper> |