From d337c8e2e21df8ff7d2ecae493fa7a65627fedea Mon Sep 17 00:00:00 2001
From: Zhu Zhonghua <zhonghua@qq.com>
Date: 星期四, 22 五月 2025 14:52:48 +0800
Subject: [PATCH] 处理焊缝大数据插入异常问题

---
 aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipingRouteStatMapper.xml |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 51 insertions(+), 9 deletions(-)

diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipingRouteStatMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipingRouteStatMapper.xml
index 3da915a..20beb21 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipingRouteStatMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipingRouteStatMapper.xml
@@ -4,7 +4,7 @@
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.aps.core.mapper.ApsGasPipingRouteStatMapper">
     
-    <resultMap type="ApsGasPipingRouteStat" id="ApsGasPipingRouteStatResult">
+    <resultMap type="com.aps.core.domain.ApsGasPipingRouteStat" id="ApsGasPipingRouteStatResult">
         <result property="id"    column="id"    />
         <result property="workOrderNo"    column="work_order_no"    />
         <result property="roadProcessNumber"    column="road_process_number"    />
@@ -26,13 +26,23 @@
         <result property="planStartYear"    column="plan_start_year"    />
         <result property="planStartMonth"    column="plan_start_month"    />
         <result property="planStartDay"    column="plan_start_day"    />
+        <result property="processPlanEndDay"    column="process_plan_end_day"    />
+        <result property="orderPlanEndDay"    column="order_plan_end_day"    />
+        <result property="routeProcessNumber"    column="route_process_number"    />
+        <result property="warning"    column="warning"    />
     </resultMap>
 
     <sql id="selectApsGasPipingRouteStatVo">
-        select id, work_order_no, road_process_number, current_process_number, production_quantity, standard_time, process_total_time, process_plan_start_day, design_times, del_flag, create_by, process_name, create_time, item_number, standard_dosage, process_total_dosage, design_capacity, major, plan_start_year, plan_start_month, plan_start_day from aps_gas_piping_route_stat
+        select id, work_order_no, road_process_number, current_process_number,
+               production_quantity, standard_time, process_total_time,
+               process_plan_start_day, design_times, del_flag, create_by,
+               process_name, create_time, item_number, standard_dosage,
+               process_total_dosage, design_capacity, major, plan_start_year,
+               plan_start_month, plan_start_day , warning, plant
+        from aps_gas_piping_route_stat
     </sql>
 
-    <select id="selectApsGasPipingRouteStatList" parameterType="ApsGasPipingRouteStat" resultMap="ApsGasPipingRouteStatResult">
+    <select id="selectApsGasPipingRouteStatList" parameterType="com.aps.core.domain.ApsGasPipingRouteStat" resultMap="ApsGasPipingRouteStatResult">
         <include refid="selectApsGasPipingRouteStatVo"/>
         <where>  
             <if test="workOrderNo != null  and workOrderNo != ''"> and work_order_no = #{workOrderNo}</if>
@@ -57,6 +67,7 @@
                     and process_name in (select process_name from aps_standard_process where major='姘旀煖')
                 </if>
             </if>
+            <if test="plant != null and plant != ''"> and plant = #{plant} </if>
         </where>
     </select>
     
@@ -65,7 +76,7 @@
         where id = #{id}
     </select>
 
-    <insert id="insertApsGasPipingRouteStat" parameterType="ApsGasPipingRouteStat">
+    <insert id="insertApsGasPipingRouteStat" parameterType="com.aps.core.domain.ApsGasPipingRouteStat">
         insert into aps_gas_piping_route_stat
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">id,</if>
@@ -75,7 +86,7 @@
             <if test="productionQuantity != null">production_quantity,</if>
             <if test="standardTime != null">standard_time,</if>
             <if test="processTotalTime != null">process_total_time,</if>
-            <if test="processPlanStartDay != null and processPlanStartDay != ''">process_plan_start_day,</if>
+            <if test="processPlanStartDay != null ">process_plan_start_day,</if>
             <if test="designTimes != null">design_times,</if>
             <if test="delFlag != null">del_flag,</if>
             <if test="createBy != null">create_by,</if>
@@ -89,6 +100,10 @@
             <if test="planStartYear != null">plan_start_year,</if>
             <if test="planStartMonth != null">plan_start_month,</if>
             <if test="planStartDay != null">plan_start_day,</if>
+            <if test="processPlanEndDay != null">process_plan_end_day,</if>
+            <if test="orderPlanEndDay != null">order_plan_end_day,</if>
+            <if test="batchNumber != null">batch_number,</if>
+            <if test="warning != null">warning,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -98,7 +113,7 @@
             <if test="productionQuantity != null">#{productionQuantity},</if>
             <if test="standardTime != null">#{standardTime},</if>
             <if test="processTotalTime != null">#{processTotalTime},</if>
-            <if test="processPlanStartDay != null and processPlanStartDay != ''">#{processPlanStartDay},</if>
+            <if test="processPlanStartDay != null ">#{processPlanStartDay},</if>
             <if test="designTimes != null">#{designTimes},</if>
             <if test="delFlag != null">#{delFlag},</if>
             <if test="createBy != null">#{createBy},</if>
@@ -112,10 +127,14 @@
             <if test="planStartYear != null">#{planStartYear},</if>
             <if test="planStartMonth != null">#{planStartMonth},</if>
             <if test="planStartDay != null">#{planStartDay},</if>
+            <if test="processPlanEndDay != null">#{processPlanEndDay},</if>
+            <if test="orderPlanEndDay != null">#{orderPlanEndDay},</if>
+            <if test="batchNumber != null">#{batchNumber},</if>
+            <if test="warning != null">#{warning},</if>
          </trim>
     </insert>
 
-    <update id="updateApsGasPipingRouteStat" parameterType="ApsGasPipingRouteStat">
+    <update id="updateApsGasPipingRouteStat" parameterType="com.aps.core.domain.ApsGasPipingRouteStat">
         update aps_gas_piping_route_stat
         <trim prefix="SET" suffixOverrides=",">
             <if test="workOrderNo != null">work_order_no = #{workOrderNo},</if>
@@ -163,7 +182,7 @@
         id,work_order_no, road_process_number, current_process_number, production_quantity, standard_time,
         process_total_time, process_plan_start_day, design_times, del_flag, create_by, process_name,
         create_time, item_number, standard_dosage, process_total_dosage, design_capacity, major,
-        plan_start_year, plan_start_month, plan_start_day,batch_number,process_plan_end_day
+        plan_start_year, plan_start_month, plan_start_day,batch_number,process_plan_end_day,warning,order_plan_end_day,plant
         )
         VALUES
         <foreach collection="apsGasPipingRouteStatList" item="stat" separator=",">
@@ -172,10 +191,33 @@
             #{stat.standardTime}, #{stat.processTotalTime}, #{stat.processPlanStartDay}, #{stat.designTimes}, #{stat.delFlag},
             #{stat.createBy}, #{stat.processName}, #{stat.createTime}, #{stat.itemNumber}, #{stat.standardDosage},
             #{stat.processTotalDosage}, #{stat.designCapacity}, #{stat.major}, #{stat.planStartYear},
-            #{stat.planStartMonth}, #{stat.planStartDay}, #{stat.batchNumber}, #{stat.processPlanEndDay}
+            #{stat.planStartMonth}, #{stat.planStartDay}, #{stat.batchNumber}, #{stat.processPlanEndDay},#{stat.warning},#{stat.orderPlanEndDay},#{stat.plant}
             )
         </foreach>
 
     </insert>
 
+    <select id="queryTempStat"  resultMap="ApsGasPipingRouteStatResult" >
+        select row_number() over (partition by rt.work_order_no order by rt.process_number desc ) as num,
+               rt.work_order_no,
+               rt.process_name,
+               cast(rt.process_number as numeric(18, 2))           as road_process_number,
+               cast(rt.process_number as numeric(18, 2))           as route_process_number,
+               cast(pl.process_number as numeric(18, 2))           as current_process_number,
+               pl.production_quantity,
+               rt.standard_time,
+               cast( (rt.standard_time * pl.production_quantity) as numeric(18, 4) )   as process_total_time,
+               rt.process_plan_start_day,
+               rt.process_plan_end_day,
+               pl.plan_end_day                         as order_plan_end_day,
+               rt.item_no as item_number,
+               pl.plan_type as major,
+               false as warning,
+               pl.plant
+        from aps_gas_piping_plan as pl
+                 left join aps_process_route as rt on pl.document_number = rt.work_order_no
+        where pl.document_number is not null and rt.work_order_no is not null and pl.plan_end_day is not null
+        order by rt.work_order_no asc, rt.process_number desc
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3