zhanghl
2025-04-28 edc00f6fbafa9bb74f736e47cafd000fb33ef4f1
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml
@@ -35,14 +35,17 @@
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="processStatus"    column="process_status"    />
        <result property="stdOp"    column="std_op"    />
        <result property="opStatus"    column="op_status"    />
        <result property="nextOpName"    column="next_op_name"    />
    </resultMap>
    <sql id="selectApsWorkOrderJobVo">
        select id, order_id, doc_no, mainitem_code, mainitem_figure, customer_name, business_type, demand_type,
               doc_status, item_code, item_figure, item_figure_version, pruduct_qty, work_qty, op_num, work_center,
               dept, start_date, complete_date, next_dept, is_hold_release, is_out_source, org, page_num, page_index,
               del_flag, create_by, create_time, update_by, update_time , process_status,org_code
               del_flag, create_by, create_time, update_by, update_time , process_status,org_code, std_op, op_status, next_op_name
        from aps_work_order_job
    </sql>
@@ -76,6 +79,8 @@
            <if test="orgCode != null  and orgCode != ''"> and org_code = #{orgCode}</if>
            <if test="processStatus != null  and processStatus != ''"> and process_status = #{processStatus}</if>
            <if test="delFlag != null  and delFlag != ''"> and del_flag = #{delFlag}</if>
            <if test="opStatus != null  and opStatus != ''"> and op_status = #{opStatus}</if>
            <if test="nextOpName != null  and nextOpName != ''"> and next_op_name = #{nextOpName}</if>
        </where>
    </select>
    
@@ -118,6 +123,9 @@
            <if test="updateTime != null">update_time,</if>
            <if test="orgCode != null">org_code,</if>
            <if test="processStatus != null">process_status,</if>
            <if test="stdOp != null">std_op,</if>
            <if test="opStatus != null">op_status,</if>
            <if test="nextOpName != null">next_op_name,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="orderId != null">#{orderId},</if>
@@ -151,6 +159,9 @@
            <if test="updateTime != null">#{updateTime},</if>
            <if test="orgCode != null">#{orgCode},</if>
            <if test="processStatus != null">#{processStatus},</if>
            <if test="stdOp != null">#{stdOp},</if>
            <if test="opStatus != null">#{opStatus},</if>
            <if test="nextOpName != null">#{nextOpName},</if>
         </trim>
    </insert>
@@ -188,6 +199,9 @@
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="orgCode != null"> org_code= #{orgCode},</if>
            <if test="processStatus != null"> process_status= #{processStatus},</if>
            <if test="stdOp != null"> std_op= #{stdOp},</if>
            <if test="opStatus != null"> op_status= #{opStatus},</if>
            <if test="nextOpName != null"> next_op_name= #{nextOpName},</if>
        </trim>
        where id = #{id}
    </update>
@@ -206,6 +220,7 @@
    <insert id="batchInsertApsWorkOrderJob" parameterType="java.util.List">
        insert into aps_work_order_job
        <trim prefix="(" suffix=")" suffixOverrides=",">
            id,
            order_id,
            doc_no,
            mainitem_code,
@@ -236,11 +251,15 @@
            update_by,
            update_time,
            org_code,
            process_status
            process_status,
            std_op,
            op_status,
            next_op_name
        </trim>
        values
        <foreach collection="list" item="job" separator=",">
            (
            #{job.id},
            #{job.orderId},
            #{job.docNo},
            #{job.mainitemCode},
@@ -271,9 +290,117 @@
            #{job.updateBy},
            #{job.updateTime},
            #{job.orgCode},
            #{job.processStatus}
            #{job.processStatus},
            #{job.stdOp},
            #{job.opStatus},
            #{job.nextOpName}
            )
        </foreach>
    </insert>
    <delete id="deleteWorkOrderJobByOrderIds" parameterType="String">
        delete from aps_work_order_job where order_id in
        <foreach item="id" collection="orderIds" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
    <update id="updateApsWorkOrderJobPrccessStatus" parameterType="map">
        update aps_work_order_job
        set process_status = #{status}
        where doc_no in
        <foreach item="docNo" collection="docNos" open="(" separator="," close=")">
            #{docNo}
        </foreach>
    </update>
    <delete id="deleteAllPartPlan" >
        delete from aps_part_plan where del_flag in ('0','1')
    </delete>
    <insert id="batchInsertPartPlan">
        insert into aps_part_plan
        (
            document_number,main_part_number,main_part_drawing_number,
            customer,business_type,requirement_type,
            document_status,item_number,drawing_no,
            version_number,production_quantity,good_products_quantity,
            process_number,work_center,department,
            plan_start_day,plan_end_day,next_process_deparment,
            is_suspended,is_outsourcing,account,
            id,create_time,del_flag,plant,order_status,std_op,op_status,next_op_name
        )
        select
            doc_no,mainitem_code,mainitem_figure,
            customer_name,business_type,demand_type,
            doc_status,item_code,item_figure,
            item_figure_version,pruduct_qty,work_qty,
            op_num,work_center,dept,
            start_date,complete_date,next_dept,
            is_hold_release,is_out_source,org_code,
            order_id,now(),'0',org_code,doc_status,std_op,op_status,next_op_name
        from aps_work_order_job
        where ( doc_status in (0,1,2,4) and is_hold_release='0'
                and (mainitem_code like 'M01%' or mainitem_code like 'M02%'or mainitem_code like 'M05%' or mainitem_code like 'M10%'
                    or mainitem_code like 'M14%'or mainitem_code like 'M15%' or mainitem_code like 'F%' or mainitem_code like 'Z%'
                )
        );
    </insert>
    <delete id="deleteAllPlatePlan" >
        delete from aps_plate_plan where del_flag in ('0','1')
    </delete>
    <insert id="batchInsertPlatePlan">
        insert into aps_plate_plan
        (
            document_number,main_part_number,main_part_drawing_number,
            customer,business_type,requirement_type,
            document_status,item_number,drawing_no,
            version_number,production_quantity,good_products_quantity,
            process_number,work_center,department,
            plan_start_day,plan_end_day,next_process_deparment,
            is_suspended,is_outsourcing,account,
            id,create_time,del_flag,plant,order_status,std_op,op_status,next_op_name
        )
        select
            doc_no,mainitem_code,mainitem_figure,
            customer_name,business_type,demand_type,
            doc_status,item_code,item_figure,
            item_figure_version,pruduct_qty,work_qty,
            op_num,work_center,dept,
            start_date,complete_date,next_dept,
            is_hold_release,is_out_source,org_code,
            order_id,now(),'0',org_code,doc_status,std_op,op_status,next_op_name
        from aps_work_order_job
        where ( doc_status in (0,1,2,4) and is_hold_release='0'
                and (mainitem_code like 'M03%' or mainitem_code like 'M04%'or mainitem_code like 'A75%')
              );
    </insert>
    <delete id="deleteAllGasPiping" >
        delete from aps_gas_piping_plan where del_flag in ('0','1')
    </delete>
    <insert id="batchInsertGasPiping">
        insert into aps_gas_piping_plan
        (
            document_number,main_part_number,main_part_drawing_number,
            customer,business_type,requirement_type,
            document_status,item_number,drawing_no,
            version_number,production_quantity,good_products_quantity,
            process_number,work_center,department,
            plan_start_day,plan_end_day,next_process_deparment,
            is_suspended,is_outsourcing,account,
            id,create_time,del_flag,plant,order_status,std_op,op_status,next_op_name,plan_type
        )
        select
            doc_no,mainitem_code,mainitem_figure,
            customer_name,business_type,demand_type,
            doc_status,item_code,item_figure,
            item_figure_version,pruduct_qty,work_qty,
            op_num,work_center,dept,
            start_date,complete_date,next_dept,
            is_hold_release,is_out_source,org_code,
            order_id,now(),'0',org_code,doc_status,std_op,op_status,next_op_name,
            case when substr(mainitem_code,0,4)='A65' then 'gas' else  'piping'  end  as  plan_type
        from aps_work_order_job
        where ( doc_status in (0,1,2,4) and is_hold_release='0'
            and (mainitem_code like 'A65%' or mainitem_code like 'W%'));
    </insert>
</mapper>