From 24eb8a2c2eb67bf3aab16593f52ed93802eed1cb Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期三, 14 五月 2025 18:04:59 +0800
Subject: [PATCH] 管路、气柜产能负载按月统计工厂拆分修改"_"拼接工厂

---
 aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml |   94 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 72 insertions(+), 22 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 c4ae944..6f64152 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
@@ -4,55 +4,63 @@
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.aps.core.mapper.ApsPlateOrderPlanManagerMapper">
     
-    <resultMap type="ApsPlateOrderPlanManager" id="ApsPlateOrderPlanManagerResult">
-        <result property="require_id"    column="requireId"    />
+    <resultMap type="com.aps.core.domain.ApsPlateOrderPlanManager" id="ApsPlateOrderPlanManagerResult">
+        <result property="id"    column="id"    />
+        <result property="requireId"    column="require_id"    />
         <result property="requireTrackId"    column="require_track_id"    />
-        <result property="docNo"    column="doc_no"    />
+        <result property="workOrderNo"    column="doc_no"    />
         <result property="deductionAmount"    column="deduction_amount"    />
-        <result property="workOrderType"    column="work_order_type"    />
+        <result property="workOrderType"    column="professional_affiliation"    />
         <result property="mainPartNumber"    column="main_part_number"    />
         <result property="mainPartDrawingNumber"    column="main_part_drawing_number"    />
         <result property="customer"    column="customer"    />
         <result property="productionQuantity"    column="production_quantity"    />
-        <result property="applicableFactories"    column="applicable_factories"    />
+        <result property="applicableFactories"    column="plant"    />
         <result property="productionBase"    column="production_base"    />
         <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_delay_risk"    />
+        <result property="startDate"    column="start_date"    />
+        <result property="completeDate"    column="complete_date"    />
+        <result property="orderCreateTime"    column="order_create_time"    />
     </resultMap>
 
-    <select id="selectApsPlanOrderManager" parameterType="ApsPlateOrderPlanManager" resultMap="ApsPlateOrderPlanManagerResult">
+    <select id="selectApsPlanOrderManager" parameterType="com.aps.core.domain.ApsPlateOrderPlanManager" resultMap="ApsPlateOrderPlanManagerResult">
         select
             detail.require_id,
             detail.require_track_id,
             detail.doc_no,
             detail.deduction_amount,
-            plan.professional_affiliation as workOrderType,
-            plan.main_part_number as item_number,
+            plan.professional_affiliation,
+            plan.main_part_number,
             plan.main_part_drawing_number,
             plan.customer,
             plan.production_quantity,
-            plan.plant as applicable_factories,
+            plan.plant,
             plan.production_base,
             plan.plan_start_day,
             plan.plan_end_day,
             plan.unmatched_quantity,
-            plan.has_risk as has_delay_risk
+            require.has_delay_risk,
+            plan.id,
+            require.start_date,
+            require.complete_date,
+            plan.order_create_time
         from aps_plate_standard_require_bom_order_detail detail
-            left join aps_plate_plan plan on detail.doc_no = plan.document_number
-        <where>  
+        left join aps_plate_standard_require require on detail.require_id = require.id and require.del_flag = '0'
+        left join aps_plate_plan plan on detail.doc_no = plan.document_number and plan.del_flag = '0'
+        where detail.del_flag='0' and require.del_flag = '0' and plan.del_flag = '0'
             <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="requireTrackId != null  and requireTrackId != ''"> and detail.require_track_id = '${requireTrackId}'</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>
-        </where>
+            <if test="hasDelayRisk != null  and hasDelayRisk != ''"> and require.has_delay_risk = #{hasDelayRisk}</if>
     </select>
 
 
-    <resultMap type="ApsPlateStandardRequire" id="ApsPlateStandardRequireResult">
+    <resultMap type="com.aps.core.domain.ApsPlateStandardRequire" id="ApsPlateStandardRequireResult">
         <result property="id"    column="id"    />
-        <result property="requireId"    column="require_id"    />
+        <result property="requireTrackId"    column="require_track_id"    />
         <result property="bomLineId"    column="bom_line_id"    />
         <result property="bomLineCode"    column="bom_line_code"    />
         <result property="bomLineLevel"    column="bom_line_level"    />
@@ -80,8 +88,8 @@
     </resultMap>
 
     <sql id="selectApsPlateStandardRequireVo">
-        select require.id,
-               require.require_id,
+        select distinct require.id,
+               require.require_track_id,
                require.bom_line_id,
                require.bom_line_code,
                require.bom_line_level,
@@ -113,9 +121,51 @@
 
     <select id="selectApsPlanStandardRequire" parameterType="String" resultMap="ApsPlateStandardRequireResult">
         <include refid="selectApsPlateStandardRequireVo"/>
-        <where>
-            <if test="workOrderNo != null  and workOrderNo != ''"> and detail.doc_no = #{workOrderNo}</if>
-        </where>
+        where require.del_flag = '0'
+        <if test="workOrderNo != null  and workOrderNo != ''"> and detail.doc_no = #{workOrderNo}</if>
     </select>
 
+    <resultMap type="com.aps.core.domain.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 detail.require_id = require.id and require.del_flag = '0'
+            left join aps_plate_plan plan on detail.doc_no = plan.document_number and plan.del_flag = '0'
+        where
+            detail.del_flag = '0' and
+            plan.id in
+        <foreach collection="planIds" item="planId" open="(" separator="," close=")">
+            #{planId}
+        </foreach>
+        group by plan.id
+    </select>
+
+    <update id="updatePlanDateByBatch" parameterType="com.aps.core.domain.ApsPlateOrderPlanRequireDate">
+        update aps_plate_plan set
+          plan_start_day = #{start},
+          plan_end_day = #{end},
+          update_by = #{updateBy},
+          update_time = now()
+        where id =  #{id}
+    </update>
+
+    <update id="updatePlanDateByCustom" parameterType="com.aps.core.domain.ApsPlateOrderPlanDate">
+        update aps_plate_plan set
+          plan_end_day = #{customDate},
+          update_by = #{updateBy},
+          update_time = now()
+        where id in
+        <foreach collection="planIds" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3