From 5da2a83e7b6df51351702aa68e10790205689117 Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期四, 08 五月 2025 19:44:32 +0800
Subject: [PATCH] 增加批量修改钣金计划时间接口

---
 aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 50 insertions(+), 4 deletions(-)

diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml
index ee20061..a19381d 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml
@@ -20,7 +20,9 @@
         <result property="planStartDay"    column="plan_start_day"    />
         <result property="planEndDay"    column="plan_end_day"    />
         <result property="unmatchedQuantity"    column="unmatched_quantity"    />
-        <result property="hasDelayRisk"    column="has_risk"    />
+        <result property="hasDelayRisk"    column="has_delay_risk"    />
+        <result property="startDate"    column="start_date"    />
+        <result property="completeDate"    column="complete_date"    />
     </resultMap>
 
     <select id="selectApsPlanOrderManager" parameterType="ApsPlateOrderPlanManager" resultMap="ApsPlateOrderPlanManagerResult">
@@ -39,15 +41,18 @@
             plan.plan_start_day,
             plan.plan_end_day,
             plan.unmatched_quantity,
-            plan.has_risk,
-            plan.id
+            require.has_delay_risk,
+            plan.id,
+            require.start_date,
+            require.complete_date
         from aps_plate_standard_require_bom_order_detail detail
+            left join aps_plate_standard_require require on on detail.require_id = require.id
             left join aps_plate_plan plan on detail.doc_no = plan.document_number
         <where>  
             <if test="workOrderNo != null  and workOrderNo != ''"> and detail.doc_no = #{workOrderNo}</if>
             <if test="requireId != null  and requireId != ''"> and detail.require_id = #{requireId}</if>
             <if test="mainPartNumber != null  and mainPartNumber != ''"> and plan.main_part_number = #{mainPartNumber}</if>
-            <if test="hasDelayRisk != null  and hasDelayRisk != ''"> and plan.has_risk = #{hasDelayRisk}</if>
+            <if test="hasDelayRisk != null  and hasDelayRisk != ''"> and require.has_delay_risk = #{hasDelayRisk}</if>
         </where>
     </select>
 
@@ -120,4 +125,45 @@
         </where>
     </select>
 
+    <resultMap type="ApsPlateOrderPlanRequireDate" id="selectPlanRequireIdsResult">
+        <result property="id"    column="id"    />
+        <result property="start"    column="start_date"    />
+        <result property="end"    column="end_date"    />
+    </resultMap>
+
+    <select id="selectPlanRequireIds" parameterType="String" resultMap="selectPlanRequireIdsResult">
+        select
+            plan.id,
+            min(require.start_date) as start_date,
+            min(require.complete_date) as end_date
+        from aps_plate_standard_require_bom_order_detail detail
+            left join aps_plate_standard_require require on on detail.require_id = require.id
+            left join aps_plate_plan plan on detail.doc_no = plan.document_number
+        where plan.id in
+        <foreach collection="planIds" item="planId" open="(" separator="," close=")">
+            #{planId}
+        </foreach>
+        group by plan.id
+    </select>
+
+    <update id="updatePlanDateByBatch" parameterType="ApsPlateOrderPlanRequireDate">
+        update aps_plate_plan set
+          plan_start_day = #{planRequireDate.start},
+          plan_end_day = #{planRequireDate.end},
+          update_by = #{planRequireDate.updateBy},
+          update_time = now()
+        where id =  #{planRequireDate.id}
+    </update>
+
+    <update id="updatePlanDateByCustom" parameterType="ApsPlateOrderPlanDate">
+        update aps_plate_plan set
+          plan_end_day = #{planRequireDate.customDate},
+          update_by = #{planRequireDate.updateBy},
+          update_time = now()
+        where id in
+        <foreach collection="planRequireDate.planIds" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3