From 7cd52b112a2e7da06aa8cfebf19a337be858762f Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期五, 16 五月 2025 11:32:39 +0800
Subject: [PATCH] 查询气体管路产能规划列表补充“OrgCode”字段值

---
 aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml |  174 ++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 146 insertions(+), 28 deletions(-)

diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
index c40ae57..028dff5 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
@@ -4,7 +4,7 @@
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.aps.core.mapper.ApsPlatePlanMapper">
     
-    <resultMap type="ApsPlatePlan" id="ApsPlatePlanResult">
+    <resultMap type="com.aps.core.domain.ApsPlatePlan" id="ApsPlatePlanResult">
         <result property="id"    column="id"    />
         <result property="masterPlanner"    column="master_planner"    />
         <result property="weekDay"    column="week_day"    />
@@ -40,49 +40,75 @@
         <result property="isStockComplete"    column="is_stock_complete"    />
         <result property="hasTurnback"    column="has_turnback"    />
         <result property="hasRisk"    column="has_risk"    />
+        <result property="stdOp"    column="std_op"    />
+        <result property="opStatus"    column="op_status"    />
+        <result property="nextOpName"    column="next_op_name"    />
+        <result property="unmatchedQuantity"    column="unmatched_quantity"    />
+        <result property="productionBase"    column="production_base"    />
+        <result property="orderCreateTime"    column="order_create_time"    />
+        <result property="professionalAffiliation"    column="professional_affiliation"    />
+        <result property="requireId"    column="require_id"    />
+        <result property="version"    column="version"    />
+        <result property="approveOn" column="approve_on"    />
+        <result property="startWorkDate" column="start_work_date"    />
+        <result property="lowOrderCode" column="low_order_code"    />
     </resultMap>
 
     <sql id="selectApsPlatePlanVo">
-        select id, master_planner, week_day, week_cycle, main_part_number, main_part_drawing_number, customer, business_type, document_number, 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, standby_number, standby_name, standby_stock, next_process_deparment, is_suspended, is_outsourcing, account, advanced_materials, advanced_document_number, advanced_requirement_day, is_plan_complete, is_stock_complete, has_turnback, has_risk from aps_plate_plan
+        select id, master_planner, week_day, week_cycle, main_part_number, main_part_drawing_number,
+               customer, business_type, document_number, 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, standby_number, standby_name,
+               standby_stock, next_process_deparment, is_suspended, is_outsourcing, account, advanced_materials,
+               advanced_document_number, advanced_requirement_day, is_plan_complete, is_stock_complete,
+               has_turnback, has_risk, std_op, op_status, next_op_name ,unmatched_quantity,professional_affiliation,
+                   require_id, version,production_base, order_create_time, approve_on, start_work_date, low_order_code
+        from aps_plate_plan
     </sql>
 
-    <select id="selectApsPlatePlanList" parameterType="ApsPlatePlan" resultMap="ApsPlatePlanResult">
+    <select id="selectApsPlatePlanList" parameterType="com.aps.core.domain.ApsPlatePlan" resultMap="ApsPlatePlanResult">
         <include refid="selectApsPlatePlanVo"/>
         <where>  
-            <if test="masterPlanner != null  and masterPlanner != ''"> and master_planner like concat('%', #{masterPlanner}, '%')</if>
+            <if test="masterPlanner != null  and masterPlanner != ''"> and master_planner like '%'|| #{masterPlanner}|| '%'</if>
             <if test="weekDay != null "> and week_day = #{weekDay}</if>
-            <if test="weekCycle != null  and weekCycle != ''"> and week_cycle like concat('%', #{weekCycle}, '%')</if>
-            <if test="mainPartNumber != null  and mainPartNumber != ''"> and main_part_number like concat('%', #{mainPartNumber}, '%')</if>
-            <if test="mainPartDrawingNumber != null  and mainPartDrawingNumber != ''"> and main_part_drawing_number like concat('%', #{mainPartDrawingNumber}, '%')</if>
-            <if test="customer != null  and customer != ''"> and customer like concat('%', #{customer}, '%')</if>
+            <if test="weekCycle != null  and weekCycle != ''"> and week_cycle like '%'||  #{weekCycle}|| '%' </if>
+            <if test="mainPartNumber != null  and mainPartNumber != ''"> and main_part_number like '%'|| #{mainPartNumber}  ||'%' </if>
+            <if test="mainPartDrawingNumber != null  and mainPartDrawingNumber != ''"> and main_part_drawing_number like  '%'|| #{mainPartDrawingNumber}|| '%'</if>
+            <if test="customer != null  and customer != ''"> and customer like  '%' || #{customer} || '%'</if>
             <if test="businessType != null  and businessType != ''"> and business_type = #{businessType}</if>
-            <if test="documentNumber != null  and documentNumber != ''"> and document_number like concat('%', #{documentNumber}, '%')</if>
-            <if test="requirementType != null  and requirementType != ''"> and requirement_type like concat('%', #{requirementType}, '%')</if>
+            <if test="documentNumber != null  and documentNumber != ''"> and document_number like '%'|| #{documentNumber}|| '%'</if>
+            <if test="requirementType != null  and requirementType != ''"> and requirement_type like   '%'|| #{requirementType}||'%' </if>
             <if test="documentStatus != null  and documentStatus != ''"> and document_status = #{documentStatus}</if>
-            <if test="itemNumber != null  and itemNumber != ''"> and item_number like concat('%', #{itemNumber}, '%')</if>
-            <if test="drawingNo != null  and drawingNo != ''"> and drawing_no like concat('%', #{drawingNo}, '%')</if>
-            <if test="versionNumber != null  and versionNumber != ''"> and version_number like concat('%', #{versionNumber}, '%')</if>
+            <if test="itemNumber != null  and itemNumber != ''"> and item_number like '%'|| #{itemNumber}|| '%'</if>
+            <if test="drawingNo != null  and drawingNo != ''"> and drawing_no like  '%'|| #{drawingNo}|| '%'</if>
+            <if test="versionNumber != null  and versionNumber != ''"> and version_number like  '%'|| #{versionNumber}|| '%'</if>
             <if test="productionQuantity != null "> and production_quantity = #{productionQuantity}</if>
             <if test="goodProductsQuantity != null "> and good_products_quantity = #{goodProductsQuantity}</if>
-            <if test="processNumber != null  and processNumber != ''"> and process_number like concat('%', #{processNumber}, '%')</if>
-            <if test="workCenter != null  and workCenter != ''"> and work_center like concat('%', #{workCenter}, '%')</if>
-            <if test="department != null  and department != ''"> and department like concat('%', #{department}, '%')</if>
+            <if test="processNumber != null  and processNumber != ''"> and process_number like  '%'|| #{processNumber}||'%'</if>
+            <if test="workCenter != null  and workCenter != ''"> and work_center like  '%'|| #{workCenter}||'%'</if>
+            <if test="department != null  and department != ''"> and department like  '%'|| #{department}||'%'</if>
             <if test="params.beginPlanStartDay != null and params.beginPlanStartDay != '' and params.endPlanStartDay != null and params.endPlanStartDay != ''"> and plan_start_day between #{params.beginPlanStartDay} and #{params.endPlanStartDay}</if>
             <if test="params.beginPlanEndDay != null and params.beginPlanEndDay != '' and params.endPlanEndDay != null and params.endPlanEndDay != ''"> and plan_end_day between #{params.beginPlanEndDay} and #{params.endPlanEndDay}</if>
-            <if test="standbyNumber != null  and standbyNumber != ''"> and standby_number like concat('%', #{standbyNumber}, '%')</if>
-            <if test="standbyName != null  and standbyName != ''"> and standby_name like concat('%', #{standbyName}, '%')</if>
+            <if test="standbyNumber != null  and standbyNumber != ''"> and standby_number like  '%'|| #{standbyNumber}|| '%'</if>
+            <if test="standbyName != null  and standbyName != ''"> and standby_name like  '%'|| #{standbyName}||'%'</if>
             <if test="standbyStock != null "> and standby_stock = #{standbyStock}</if>
-            <if test="nextProcessDeparment != null  and nextProcessDeparment != ''"> and next_process_deparment like concat('%', #{nextProcessDeparment}, '%')</if>
+            <if test="nextProcessDeparment != null  and nextProcessDeparment != ''"> and next_process_deparment like   '%'|| #{nextProcessDeparment}|| '%'</if>
             <if test="isSuspended != null "> and is_suspended = #{isSuspended}</if>
-            <if test="isOutsourcing != null  and isOutsourcing != ''"> and is_outsourcing like concat('%', #{isOutsourcing}, '%')</if>
-            <if test="account != null  and account != ''"> and account like concat('%', #{account}, '%')</if>
-            <if test="advancedMaterials != null  and advancedMaterials != ''"> and advanced_materials like concat('%', #{advancedMaterials}, '%')</if>
-            <if test="advancedDocumentNumber != null  and advancedDocumentNumber != ''"> and advanced_document_number like concat('%', #{advancedDocumentNumber}, '%')</if>
+            <if test="isOutsourcing != null  and isOutsourcing != ''"> and is_outsourcing like  '%'|| #{isOutsourcing}||'%'</if>
+            <if test="account != null  and account != ''"> and account like  '%'|| #{account}|| '%'</if>
+            <if test="advancedMaterials != null  and advancedMaterials != ''"> and advanced_materials like  '%'|| #{advancedMaterials}|| '%'</if>
+            <if test="advancedDocumentNumber != null  and advancedDocumentNumber != ''"> and advanced_document_number  '%'|| #{advancedDocumentNumber}|| '%'</if>
             <if test="params.beginAdvancedRequirementDay != null and params.beginAdvancedRequirementDay != '' and params.endAdvancedRequirementDay != null and params.endAdvancedRequirementDay != ''"> and advanced_requirement_day between #{params.beginAdvancedRequirementDay} and #{params.endAdvancedRequirementDay}</if>
             <if test="isPlanComplete != null "> and is_plan_complete = #{isPlanComplete}</if>
             <if test="isStockComplete != null "> and is_stock_complete = #{isStockComplete}</if>
             <if test="hasTurnback != null "> and has_turnback = #{hasTurnback}</if>
             <if test="hasRisk != null "> and has_risk = #{hasRisk}</if>
+            <if test="plant != null "> and plant = #{plant}</if>
+            <if test="stdOp != null "> and std_op = #{stdOp}</if>
+            <if test="opStatus != null  and opStatus != ''"> and op_status = #{opStatus}</if>
+            <if test="nextOpName != null  and nextOpName != ''"> and next_op_name = #{nextOpName}</if>
+            <if test="lowOrderCode != null  and lowOrderCode != ''"> and low_order_code = #{lowOrderCode}</if>
+             and del_flag='0'
         </where>
     </select>
     
@@ -91,7 +117,7 @@
         where id = #{id}
     </select>
 
-    <insert id="insertApsPlatePlan" parameterType="ApsPlatePlan">
+    <insert id="insertApsPlatePlan" parameterType="com.aps.core.domain.ApsPlatePlan">
         insert into aps_plate_plan
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null and id != ''">id,</if>
@@ -129,6 +155,12 @@
             <if test="isStockComplete != null">is_stock_complete,</if>
             <if test="hasTurnback != null">has_turnback,</if>
             <if test="hasRisk != null">has_risk,</if>
+            <if test="stdOp != null">std_op,</if>
+            <if test="opStatus != null">op_status,</if>
+            <if test="nextOpName != null">next_op_name,</if>
+            <if test="unmatchedQuantity != null">unmatched_quantity,</if>
+            <if test="lowOrderCode != null">low_order_code,</if>
+            create_time,
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null and id != ''">#{id},</if>
@@ -166,10 +198,16 @@
             <if test="isStockComplete != null">#{isStockComplete},</if>
             <if test="hasTurnback != null">#{hasTurnback},</if>
             <if test="hasRisk != null">#{hasRisk},</if>
+            <if test="stdOp != null">#{stdOp},</if>
+            <if test="opStatus != null">#{opStatus},</if>
+            <if test="nextOpName != null">#{nextOpName},</if>
+            <if test="unmatchedQuantity != null">#{unmatchedQuantity},</if>
+            <if test="lowOrderCode != null">#{lowOrderCode},</if>
+            #{createTime},
          </trim>
     </insert>
 
-    <update id="updateApsPlatePlan" parameterType="ApsPlatePlan">
+    <update id="updateApsPlatePlan" parameterType="com.aps.core.domain.ApsPlatePlan">
         update aps_plate_plan
         <trim prefix="SET" suffixOverrides=",">
             <if test="masterPlanner != null">master_planner = #{masterPlanner},</if>
@@ -177,9 +215,9 @@
             <if test="weekCycle != null">week_cycle = #{weekCycle},</if>
             <if test="mainPartNumber != null">main_part_number = #{mainPartNumber},</if>
             <if test="mainPartDrawingNumber != null">main_part_drawing_number = #{mainPartDrawingNumber},</if>
-            <if test="customer != null">customer = #{customer},</if>
-            <if test="businessType != null">business_type = #{businessType},</if>
-            <if test="documentNumber != null">document_number = #{documentNumber},</if>
+            <if test="customer != null  and customer != ''">  and customer like  '%' || #{customer} || '%'  </if>
+            <if test="businessType != null  and businessType != ''"> and business_type = #{businessType}</if>
+            <if test="documentNumber != null  and documentNumber != ''"> and document_number  like  '%' || #{documentNumber} || '%'</if>
             <if test="requirementType != null">requirement_type = #{requirementType},</if>
             <if test="documentStatus != null">document_status = #{documentStatus},</if>
             <if test="itemNumber != null">item_number = #{itemNumber},</if>
@@ -206,6 +244,11 @@
             <if test="isStockComplete != null">is_stock_complete = #{isStockComplete},</if>
             <if test="hasTurnback != null">has_turnback = #{hasTurnback},</if>
             <if test="hasRisk != null">has_risk = #{hasRisk},</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>
+            <if test="unmatchedQuantity != null"> unmatched_quantity = #{unmatchedQuantity},</if>
+            <if test="lowOrderCode != null"> low_order_code = #{lowOrderCode},</if>
         </trim>
         where id = #{id}
     </update>
@@ -220,4 +263,79 @@
             #{id}
         </foreach>
     </delete>
+
+    <insert id="insertPlatePlanFromTempByBatchNumber" parameterType="String">
+        insert into aps_plate_plan(
+            id, master_planner, week_day, week_cycle, main_part_number, main_part_drawing_number, customer, business_type, document_number, 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, standby_number, standby_name, standby_stock, next_process_deparment, is_suspended, is_outsourcing, account, advanced_materials, advanced_document_number, advanced_requirement_day, is_plan_complete, is_stock_complete, has_turnback, has_risk, std_op, op_status, next_op_name)
+        SELECT
+            id, master_planner, week_day, week_cycle, main_part_number, main_part_drawing_number, customer, business_type, document_number, 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, standby_number, standby_name, standby_stock, next_process_deparment, is_suspended, is_outsourcing, account, advanced_materials, advanced_document_number, advanced_requirement_day, is_plan_complete, is_stock_complete, has_turnback, has_risk, std_op, op_status, next_op_name
+        from aps_plate_plan_temp
+        where batch_number = #{batch_number}
+    </insert>
+    <update id="removeAllPlatePlans" parameterType="String">
+        update  aps_plate_plan  set del_flag='1' where del_flag ='0'
+    </update>
+
+    <select id="selectPlatePlanByPlantMajor" parameterType="com.aps.core.domain.ApsPlatePlan" resultMap="ApsPlatePlanResult">
+        select  id,document_number,main_part_number,item_number,plant,professional_affiliation,production_quantity,require_id,
+        unmatched_quantity,version, production_base,plan_end_day,order_create_time,low_order_code
+        from aps_plate_plan
+        <where>
+            <if test="plant != null "> and plant = #{plant} </if>
+            <if test="professionalAffiliation != null "> and professional_affiliation = 'main' </if>
+              and del_flag='0'
+        </where>
+        order by document_number asc,id asc
+    </select>
+
+    <select id="selectUnMatchPlateSubPlan" parameterType="com.aps.core.domain.ApsPlatePlan" resultMap="ApsPlatePlanResult">
+        select  id,document_number,main_part_number,item_number,plant,professional_affiliation,production_quantity,
+             unmatched_quantity,version
+        from aps_plate_plan
+        where  del_flag='0' and professional_affiliation ='sub' and unmatched_quantity > 0
+        <if test="plant != null  and plant !='' "> and plant = #{plant}</if>
+        <if test="itemNumber != null  and itemNumber !='' "> and item_number = #{itemNumber}</if>
+        order by document_number asc,id asc
+        limit 1
+    </select>
+    <select id="selectUnMatchPlateSubPlanList" parameterType="com.aps.core.domain.ApsPlatePlan" resultMap="ApsPlatePlanResult">
+        select  id,document_number,main_part_number,item_number,plant,professional_affiliation,production_quantity,
+        unmatched_quantity,version
+        from aps_plate_plan
+        where  del_flag='0' and professional_affiliation ='sub' and unmatched_quantity > 0
+        <if test="plant != null  and plant !='' "> and plant = #{plant}</if>
+        <if test="itemNumber != null  and itemNumber !='' "> and item_number = #{itemNumber}</if>
+        order by document_number asc,id asc
+    </select>
+
+    <update id="updatePlanUnMatchQtyByVersion" parameterType="com.aps.core.domain.ApsPlatePlan">
+        update aps_plate_plan
+        set unmatched_quantity=#{unmatchedQuantity},version=version+1
+        where id=#{id} and version=#{version}
+    </update>
+    <select id="selectPlateRedundantOrderList" parameterType="com.aps.core.domain.ApsPlatePlan" resultMap="ApsPlatePlanResult">
+        select document_number, item_number, production_quantity, unmatched_quantity, plant, production_base, plan_start_day, plan_end_day, order_create_time
+        from aps_plate_plan where unmatched_quantity>0 and professional_affiliation='sub' and del_flag='0'
+        <if test="documentNumber != null and documentNumber != ''">
+            and document_number like '%' || #{documentNumber} || '%'
+        </if>
+        <if test="itemNumber != null and itemNumber != ''">
+            and item_number like '%' || #{itemNumber} || '%'
+        </if>
+    </select>
+
+    <update id="initUnMatchQty" >
+        update aps_plate_plan
+            set unmatched_quantity=production_quantity, version=0,require_id=id
+        where   del_flag='0' and professional_affiliation !='0'
+    </update>
+    <update id="updatePlanUnMatchQtyAndVersion" parameterType="com.aps.core.domain.ApsPlatePlan">
+        update aps_plate_plan
+        set unmatched_quantity=#{unmatchedQuantity},version=#{version},update_time=now()
+        where id=#{id}
+    </update>
+
+    <select id="selectApsSubPlatePlan" resultType="com.alibaba.fastjson2.JSONObject">
+        SELECT id,item_number as "itemNumber",document_number as "documentNumber",production_quantity as "unmatchedQuantity" FROM aps_plate_plan WHERE item_number in (SELECT item_number FROM aps_plate_plan WHERE professional_affiliation='sub'  GROUP BY item_number) order by item_number
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3