刘小明
2024-09-24 11663d958bddfbcb0820765217f93f3c0da47bc5
pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml
@@ -29,6 +29,8 @@
                     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"/>
@@ -102,6 +104,12 @@
        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"/>
@@ -140,10 +148,10 @@
            <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">
@@ -152,22 +160,22 @@
            <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>
@@ -187,10 +195,10 @@
            <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">
@@ -199,22 +207,22 @@
            <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>
@@ -250,17 +258,17 @@
            <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>
@@ -268,17 +276,17 @@
            <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">
@@ -293,10 +301,10 @@
            <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">
@@ -305,28 +313,28 @@
            <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>
@@ -412,26 +420,23 @@
        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>