sfd
2025-05-26 2a64b537e8e3bce9ce030585a3da17d48379c0ad
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml
@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.aps.job.mapper.ApsWorkOrderJobMapper">
    
    <resultMap type="ApsWorkOrderJob" id="ApsWorkOrderJobResult">
    <resultMap type="com.aps.job.domain.ApsWorkOrderJob" id="ApsWorkOrderJobResult">
        <result property="id"    column="id"    />
        <result property="orderId"    column="order_id"    />
        <result property="docNo"    column="doc_no"    />
@@ -39,17 +39,22 @@
        <result property="stdOp"    column="std_op"    />
        <result property="opStatus"    column="op_status"    />
        <result property="nextOpName"    column="next_op_name"    />
        <result property="lowOrderCode"    column="low_order_code"    />
        <result property="orderCreateTime"    column="order_create_time"    />
        <result property="approveOn"    column="approve_on"    />
        <result property="startWorkDate"    column="start_work_date"    />
    </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, std_op, op_status, next_op_name
               del_flag, create_by, create_time, update_by, update_time , process_status,org_code, std_op, op_status, next_op_name,
               low_order_code, order_create_time, approve_on, start_work_date
        from aps_work_order_job
    </sql>
    <select id="selectApsWorkOrderJobList" parameterType="ApsWorkOrderJob" resultMap="ApsWorkOrderJobResult">
    <select id="selectApsWorkOrderJobList" parameterType="com.aps.job.domain.ApsWorkOrderJob" resultMap="ApsWorkOrderJobResult">
        <include refid="selectApsWorkOrderJobVo"/>
        <where>  
            <if test="orderId != null  and orderId != ''"> and order_id = #{orderId}</if>
@@ -83,13 +88,49 @@
            <if test="nextOpName != null  and nextOpName != ''"> and next_op_name = #{nextOpName}</if>
        </where>
    </select>
    <select id="selectApsWorkOrderJobListDocNoNotNull" parameterType="com.aps.job.domain.ApsWorkOrderJob" resultMap="ApsWorkOrderJobResult">
        <include refid="selectApsWorkOrderJobVo"/>
        <where>
            <if test="orderId != null  and orderId != ''"> and order_id = #{orderId}</if>
            <if test="docNo != null  and docNo != ''"> and doc_no = #{docNo}</if>
            <if test="mainitemCode != null  and mainitemCode != ''"> and mainitem_code = #{mainitemCode}</if>
            <if test="mainitemFigure != null  and mainitemFigure != ''"> and mainitem_figure = #{mainitemFigure}</if>
            <if test="customerName != null  and customerName != ''"> and customer_name like concat('%', #{customerName}, '%')</if>
            <if test="businessType != null "> and business_type = #{businessType}</if>
            <if test="demandType != null  and demandType != ''"> and demand_type = #{demandType}</if>
            <if test="docStatus != null "> and doc_status = #{docStatus}</if>
            <if test="itemCode != null  and itemCode != ''"> and item_code = #{itemCode}</if>
            <if test="itemFigure != null  and itemFigure != ''"> and item_figure = #{itemFigure}</if>
            <if test="itemFigureVersion != null  and itemFigureVersion != ''"> and item_figure_version = #{itemFigureVersion}</if>
            <if test="pruductQty != null "> and pruduct_qty = #{pruductQty}</if>
            <if test="workQty != null "> and work_qty = #{workQty}</if>
            <if test="opNum != null  and opNum != ''"> and op_num = #{opNum}</if>
            <if test="workCenter != null "> and work_center = #{workCenter}</if>
            <if test="dept != null  and dept != ''"> and dept = #{dept}</if>
            <if test="startDate != null  and startDate != ''"> and start_date = #{startDate}</if>
            <if test="completeDate != null  and completeDate != ''"> and complete_date = #{completeDate}</if>
            <if test="nextDept != null  and nextDept != ''"> and next_dept = #{nextDept}</if>
            <if test="isHoldRelease != null "> and is_hold_release = #{isHoldRelease}</if>
            <if test="isOutSource != null  and isOutSource != ''"> and is_out_source = #{isOutSource}</if>
            <if test="org != null  and org != ''"> and org = #{org}</if>
            <if test="pageNum != null "> and page_num = #{pageNum}</if>
            <if test="pageIndex != null "> and page_index = #{pageIndex}</if>
            <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>
            and doc_no is not null
        </where>
    </select>
    
    <select id="selectApsWorkOrderJobById" parameterType="Long" resultMap="ApsWorkOrderJobResult">
        <include refid="selectApsWorkOrderJobVo"/>
        where id = #{id}
    </select>
    <insert id="insertApsWorkOrderJob" parameterType="ApsWorkOrderJob" useGeneratedKeys="true" keyProperty="id">
    <insert id="insertApsWorkOrderJob" parameterType="com.aps.job.domain.ApsWorkOrderJob" useGeneratedKeys="true" keyProperty="id">
        insert into aps_work_order_job
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="orderId != null">order_id,</if>
@@ -165,7 +206,7 @@
         </trim>
    </insert>
    <update id="updateApsWorkOrderJob" parameterType="ApsWorkOrderJob">
    <update id="updateApsWorkOrderJob" parameterType="com.aps.job.domain.ApsWorkOrderJob">
        update aps_work_order_job
        <trim prefix="SET" suffixOverrides=",">
            <if test="orderId != null">order_id = #{orderId},</if>
@@ -220,6 +261,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,
@@ -253,11 +295,16 @@
            process_status,
            std_op,
            op_status,
            next_op_name
            next_op_name,
            low_order_code,
            order_create_time,
            approve_on,
            start_work_date
        </trim>
        values
        <foreach collection="list" item="job" separator=",">
            (
            #{job.id},
            #{job.orderId},
            #{job.docNo},
            #{job.mainitemCode},
@@ -291,7 +338,11 @@
            #{job.processStatus},
            #{job.stdOp},
            #{job.opStatus},
            #{job.nextOpName}
            #{job.nextOpName},
            #{job.lowOrderCode},
            #{job.orderCreateTime},
            #{job.approveOn},
            #{job.startWorkDate}
            )
        </foreach>
    </insert>
@@ -337,8 +388,8 @@
            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%'
                and (item_code like 'M01%' or item_code like 'M02%'or item_code like 'M05%' or item_code like 'M10%'
                    or item_code like 'M14%'or item_code like 'M15%' or item_code like 'F%' or item_code like 'Z%'
                )
        );
    </insert>
@@ -355,7 +406,8 @@
            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
            id,create_time,del_flag,plant,order_status,std_op,op_status,next_op_name,
            professional_affiliation,order_create_time,approve_on,start_work_date,low_order_code
        )
        select
            doc_no,mainitem_code,mainitem_figure,
@@ -365,10 +417,15 @@
            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
            cast(order_id as bigint) as id,now(),'0',org_code,doc_status,std_op,op_status,next_op_name,
            (case when low_order_code='0' then 'main' else 'sub' end ) as professional_affiliation,
            order_create_time,
            approve_on,
            start_work_date,
            low_order_code
        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%')
                and (item_code like 'M03%' or item_code like 'M04%'or item_code like 'A75%')
              );
    </insert>
@@ -385,7 +442,11 @@
            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,plan_type,op_status,next_op_name
            id,create_time,del_flag,plant,order_status,std_op,op_status,next_op_name,plan_type,
            order_create_time,
            approve_on,
            start_work_date,
            low_order_code
        )
        select
            doc_no,mainitem_code,mainitem_figure,
@@ -396,9 +457,17 @@
            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,3)='A65' then 'gas' else  'piping'  end  as  plan_type
            case when substr(item_code,0,4)='A65' then 'gas' else  'piping' end as plan_type,
            order_create_time,
            approve_on,
            start_work_date,
            low_order_code
        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%'));
            and (item_code like 'A65%' or item_code like 'W%'));
    </insert>
    <delete id="deleteAllWorkOrderJob" >
        delete from aps_work_order_job where del_flag in ('0','1')
    </delete>
</mapper>