刘小明
2024-09-24 11663d958bddfbcb0820765217f93f3c0da47bc5
pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml
@@ -95,7 +95,7 @@
        select count(1)
        from pr_assembly_plan
        where deleted = 0
        <if test="id != null and id !=''">
        <if test="id != null">
            and process_id = #{id}
        </if>
    </select>
@@ -103,6 +103,12 @@
        select name
        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
@@ -133,31 +139,31 @@
        <include refid="Base_Column_List"/>
        from pr_assembly_plan
        <trim prefix="where" suffixOverrides="and">
            <if test="orderId!= null and orderId !=''">
            <if test="orderId != null">
                order_id = #{orderId,jdbcType=BIGINT} and
            </if>
            <if test="proId != null and proId !=''">
            <if test="proId != null">
                pro_id = #{proId,jdbcType=BIGINT} and
            </if>
            <if test="batchId != null and batchId !=''">
            <if test="batchId != null">
                batch_id = #{batchId,jdbcType=BIGINT} and
            </if>
            <if test="processId!= null and processId !=''">
            <if test="processId!= null">
                process_id = #{processId,jdbcType=BIGINT} and
            </if>
            <if test="name != null and name !=''">
                name = #{name,jdbcType=VARCHAR} and
            </if>
            <if test="number != null and number !=''">
            <if test="number != null">
                number = #{number,jdbcType=INTEGER} and
            </if>
            <if test="status != null and status !=''">
            <if test="status != null">
                status = #{status,jdbcType=TINYINT} and
            </if>
            <if test="creator != null and creator !=''">
                creator = #{creator,jdbcType=VARCHAR} and
            </if>
            <if test="dt != null and dt !=''">
            <if test="dt != null">
                dt = #{dt,jdbcType=TIMESTAMP} and
            </if>
            <if test="startDate != null and startDate !=''">
@@ -166,7 +172,7 @@
            <if test="endDate != null and endDate !=''">
                end_date = #{endDate,jdbcType=VARCHAR} and
            </if>
            <if test="deleted != null and deleted !=''">
            <if test="deleted != null">
                deleted = #{deleted,jdbcType=TINYINT} and
            </if>
            <if test="content != null and content !=''">
@@ -180,31 +186,31 @@
        <include refid="Base_Column_List"/>
        from pr_assembly_plan
        <trim prefix="where" suffixOverrides="and">
            <if test="orderId!= null and orderId !=''">
            <if test="orderId != null">
                order_id = #{orderId,jdbcType=BIGINT} and
            </if>
            <if test="proId != null and proId !=''">
            <if test="proId != null">
                pro_id = #{proId,jdbcType=BIGINT} and
            </if>
            <if test="batchId != null and batchId !=''">
            <if test="batchId != null">
                batch_id = #{batchId,jdbcType=BIGINT} and
            </if>
            <if test="processId!= null and processId !=''">
            <if test="processId!= null">
                process_id = #{processId,jdbcType=BIGINT} and
            </if>
            <if test="name != null and name !=''">
                name = #{name,jdbcType=VARCHAR} and
            </if>
            <if test="number != null and number !=''">
            <if test="number != null">
                number = #{number,jdbcType=INTEGER} and
            </if>
            <if test="status != null and status !=''">
            <if test="status != null">
                status = #{status,jdbcType=TINYINT} and
            </if>
            <if test="creator != null and creator !=''">
                creator = #{creator,jdbcType=VARCHAR} and
            </if>
            <if test="dt != null and dt !=''">
            <if test="dt != null">
                dt = #{dt,jdbcType=TIMESTAMP} and
            </if>
            <if test="startDate != null and startDate !=''">
@@ -213,7 +219,7 @@
            <if test="endDate != null and endDate !=''">
                end_date = #{endDate,jdbcType=VARCHAR} and
            </if>
            <if test="deleted != null and deleted !=''">
            <if test="deleted != null">
                deleted = #{deleted,jdbcType=TINYINT} and
            </if>
            <if test="content != null and content !=''">
@@ -247,70 +253,70 @@
            useGeneratedKeys="true">
        insert into pr_assembly_plan
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null and id !=''">id,</if>
            <if test="orderId!= null and orderId !=''">order_id,</if>
            <if test="proId != null and proId !=''">pro_id,</if>
            <if test="batchId != null and batchId !=''">batch_id,</if>
            <if test="processId != null and processId !=''">process_id,</if>
            <if test="id != null">id,</if>
            <if test="orderId != null">order_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 and name !=''">name,</if>
            <if test="number != null and number !=''">number,</if>
            <if test="status != null and status !=''">status,</if>
            <if test="number != null">number,</if>
            <if test="status != null">status,</if>
            <if test="creator != null and creator !=''">creator,</if>
            <if test="dt != null and dt !=''">dt,</if>
            <if test="dt != null">dt,</if>
            <if test="startDate != null and startDate !=''">start_date,</if>
            <if test="endDate != null and endDate !=''">end_date,</if>
            <if test="deleted != null and deleted !=''">deleted,</if>
            <if test="deleted != null">deleted,</if>
            <if test="content != null and content !=''">content,</if>
            <if test="inputNumber!= null and inputNumber !=''">input_number,</if>
            <if test="outputNumber!= null and outputNumber !=''">output_number,</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 and id !=''">#{id,jdbcType=BIGINT},</if>
            <if test="orderId!= null and orderId !=''">#{orderId,jdbcType=BIGINT},</if>
            <if test="proId != null and proId !=''">#{proId,jdbcType=BIGINT},</if>
            <if test="batchId != null and batchId !=''">#{batchId,jdbcType=BIGINT},</if>
            <if test="processId != null and processId !=''">#{processId,jdbcType=BIGINT},</if>
            <if test="id != null">#{id,jdbcType=BIGINT},</if>
            <if test="orderId != null">#{orderId,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 and name !=''">#{name,jdbcType=VARCHAR},</if>
            <if test="number != null and number !=''">#{number,jdbcType=INTEGER},</if>
            <if test="status != null and status !=''">#{status,jdbcType=TINYINT},</if>
            <if test="number != null">#{number,jdbcType=INTEGER},</if>
            <if test="status != null">#{status,jdbcType=TINYINT},</if>
            <if test="creator != null and creator !=''">#{creator,jdbcType=VARCHAR},</if>
            <if test="dt != null and dt !=''">#{dt,jdbcType=TIMESTAMP},</if>
            <if test="dt != null">#{dt,jdbcType=TIMESTAMP},</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 and deleted !=''">#{deleted,jdbcType=TINYINT},</if>
            <if test="deleted != null">#{deleted,jdbcType=TINYINT},</if>
            <if test="content != null and content !=''">#{content,jdbcType=VARCHAR},</if>
            <if test="inputNumber!= null and inputNumber !=''">#{inputNumber,jdbcType=INTEGER},</if>
            <if test="outputNumber!= null and outputNumber !=''">#{outputNumber,jdbcType=INTEGER},</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="orderId!= null and orderId !=''">
            <if test="orderId != null">
                order_id = #{orderId,jdbcType=BIGINT} ,
            </if>
            <if test="proId != null and proId !=''">
            <if test="proId != null">
                pro_id = #{proId,jdbcType=BIGINT},
            </if>
            <if test="batchId != null and batchId !=''">
            <if test="batchId != null">
                batch_id = #{batchId,jdbcType=BIGINT},
            </if>
            <if test="processId!= null and processId !=''">
            <if test="processId!= null">
                process_id = #{processId,jdbcType=BIGINT},
            </if>
            <if test="name != null and name !=''">
                name = #{name,jdbcType=VARCHAR},
            </if>
            <if test="number != null and number !=''">
            <if test="number != null">
                number = #{number,jdbcType=INTEGER},
            </if>
            <if test="status != null and status !=''">
            <if test="status != null">
                status = #{status,jdbcType=TINYINT},
            </if>
            <if test="creator != null and creator !=''">
                creator = #{creator,jdbcType=VARCHAR},
            </if>
            <if test="dt != null and dt !=''">
            <if test="dt != null">
                dt = #{dt,jdbcType=TIMESTAMP},
            </if>
            <if test="startDate != null and startDate !=''">
@@ -319,16 +325,16 @@
            <if test="endDate != null and endDate !=''">
                end_date = #{endDate,jdbcType=VARCHAR},
            </if>
            <if test="deleted != null and deleted !=''">
            <if test="deleted != null">
                deleted = #{deleted,jdbcType=TINYINT},
            </if>
            <if test="content != null and content !=''">
                content = #{content,jdbcType=VARCHAR},
            </if>
            <if test="inputNumber!= null and inputNumber !=''">
            <if test="inputNumber!= null">
                input_number = #{inputNumber,jdbcType=INTEGER},
            </if>
            <if test="outputNumber!= null and outputNumber !=''">
            <if test="outputNumber!= null">
                output_number = #{outputNumber,jdbcType=INTEGER},
            </if>
        </set>
@@ -360,7 +366,7 @@
        <include refid="Base_Column_List"/>
        from pr_assembly_plan
        <trim prefix="where" suffixOverrides="and">
            <if test="proId != null and proId !=''">
            <if test="proId != null">
                pro_id = #{proId,jdbcType=BIGINT} and
            </if>
            <if test="startDate != null and startDate != '' ">
@@ -382,7 +388,7 @@
        select count(1)
        from pr_assembly_plan
        <trim prefix="where" suffixOverrides="and">
            <if test="proId != null and proId !=''">
            <if test="proId != null">
                pro_id = #{proId,jdbcType=BIGINT} and
            </if>
            <if test="startDate != null and startDate != '' ">
@@ -397,7 +403,7 @@
        select count(1) > 0
        from pr_assembly_plan
        where name = #{name,jdbcType=VARCHAR}
        <if test="id != null and id !=''">
        <if test="id != null">
            and id != #{id,jdbcType=BIGINT}
        </if>
    </select>
@@ -414,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>