From a6727911686d8d946b72cdc0d92bf35ba3645c44 Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期三, 21 五月 2025 17:34:19 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.50.149:8085/r/aps-backend into dev

---
 aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamStatisticsV2Mapper.xml          |  112 ++++++++++++++++++++++++++++----------------------------
 aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java |    4 +
 aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java                                 |    2 
 3 files changed, 60 insertions(+), 58 deletions(-)

diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamStatisticsV2Mapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamStatisticsV2Mapper.xml
index 7c44838..2e01184 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamStatisticsV2Mapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamStatisticsV2Mapper.xml
@@ -153,95 +153,95 @@
     </insert>
 
     <select id="queryWeldSeamStatistics" resultMap="ApsWeldSeamStatisticsV2Result">
-        WITH 宸ュ崟鐒婄紳璁$畻 AS (
+        WITH order_weld_calc AS (
             -- 璁$畻宸ュ崟鐨勭剨缂濇暟閲�
             SELECT 
-                mo.factory as 鐢熶骇鍩哄湴,
-                mo.material_code as 鏂欏彿,
-                EXTRACT(YEAR FROM mo.plan_end) as 骞翠唤,
-                EXTRACT(MONTH FROM mo.plan_end) as 鏈堜唤,
-                mo.quantity * COALESCE(ws.hup_qty, 0) as 宸ュ崟鐒婄紳鏁�,
-                mgm.domain as 涓撲笟
+                mo.factory as production_base,
+                mo.material_code as material_no,
+                EXTRACT(YEAR FROM mo.plan_end) as year,
+                EXTRACT(MONTH FROM mo.plan_end) as month,
+                mo.quantity * COALESCE(ws.hup_qty, 0) as order_weld_count,
+                mgm.domain as domain
             FROM aps_gas_pipeline_mo mo
             LEFT JOIN aps_weld_seam_standard ws ON mo.material_code = ws.item_code AND ws.del_flag = 0
             LEFT JOIN aps_material_product_group_management mgm ON mo.material_code = mgm.material_code AND mo.factory = mgm.factory
         ),
-        棰勬祴鐒婄紳璁$畻 AS (
+        predict_weld_calc AS (
             -- 璁$畻棰勬祴鐨勭剨缂濇暟閲�
             SELECT 
-                gp.factory as 鐢熶骇鍩哄湴,
-                gp.material_code as 鏂欏彿,
-                EXTRACT(YEAR FROM gp.predict_date) as 骞翠唤,
-                EXTRACT(MONTH FROM gp.predict_date) as 鏈堜唤,
-                gp.predict_quantity * COALESCE(ws.hup_qty, 0) as 棰勬祴鐒婄紳鏁�,
-                mgm.domain as 涓撲笟
+                gp.factory as production_base,
+                gp.material_code as material_no,
+                EXTRACT(YEAR FROM gp.predict_date) as year,
+                EXTRACT(MONTH FROM gp.predict_date) as month,
+                gp.predict_quantity * COALESCE(ws.hup_qty, 0) as predict_weld_count,
+                mgm.domain as domain
             FROM aps_gas_pipeline_prediction gp
             LEFT JOIN aps_weld_seam_standard ws ON gp.material_code = ws.item_code AND ws.del_flag = 0
             LEFT JOIN aps_material_product_group_management mgm ON gp.material_code = mgm.material_code AND gp.factory = mgm.factory
         ),
-        姹囨�绘暟鎹� AS (
+        summary_data AS (
             SELECT 
-                骞翠唤,
-                鏈堜唤,
-                鐢熶骇鍩哄湴,
+                year,
+                month,
+                production_base,
                 -- 绠¤矾璁㈠崟闇�姹�
                 COALESCE(SUM(CASE 
-                    WHEN 涓撲笟 = 'GL' AND 绫诲瀷 = '宸ュ崟' 
-                    THEN 鐒婄紳鏁� ELSE 0 
-                END), 0) as 绠¤矾璁㈠崟闇�姹�,
+                    WHEN domain = 'GL' AND type = 'order' 
+                    THEN weld_count ELSE 0 
+                END), 0) as piping_order_requirement,
                 -- 姘旀煖璁㈠崟闇�姹�
                 COALESCE(SUM(CASE 
-                    WHEN 涓撲笟 = 'QG' AND 绫诲瀷 = '宸ュ崟' 
-                    THEN 鐒婄紳鏁� ELSE 0 
-                END), 0) as 姘旀煖璁㈠崟闇�姹�,
+                    WHEN domain = 'QG' AND type = 'order' 
+                    THEN weld_count ELSE 0 
+                END), 0) as gas_order_requirement,
                 -- 绠¤矾棰勬祴闇�姹�
                 COALESCE(SUM(CASE 
-                    WHEN 涓撲笟 = 'GL' AND 绫诲瀷 = '棰勬祴' 
-                    THEN 鐒婄紳鏁� ELSE 0 
-                END), 0) as 绠¤矾棰勬祴闇�姹�,
+                    WHEN domain = 'GL' AND type = 'predict' 
+                    THEN weld_count ELSE 0 
+                END), 0) as piping_predict_requirement,
                 -- 姘旀煖棰勬祴闇�姹�
                 COALESCE(SUM(CASE 
-                    WHEN 涓撲笟 = 'QG' AND 绫诲瀷 = '棰勬祴' 
-                    THEN 鐒婄紳鏁� ELSE 0 
-                END), 0) as 姘旀煖棰勬祴闇�姹�
+                    WHEN domain = 'QG' AND type = 'predict' 
+                    THEN weld_count ELSE 0 
+                END), 0) as gas_predict_requirement
             FROM (
                 SELECT 
-                    骞翠唤,
-                    鏈堜唤,
-                    鐢熶骇鍩哄湴,
-                    宸ュ崟鐒婄紳鏁� as 鐒婄紳鏁�,
-                    '宸ュ崟' as 绫诲瀷,
-                    涓撲笟
-                FROM 宸ュ崟鐒婄紳璁$畻
+                    year,
+                    month,
+                    production_base,
+                    order_weld_count as weld_count,
+                    'order' as type,
+                    domain
+                FROM order_weld_calc
                 UNION ALL
                 SELECT 
-                    骞翠唤,
-                    鏈堜唤,
-                    鐢熶骇鍩哄湴,
-                    棰勬祴鐒婄紳鏁� as 鐒婄紳鏁�,
-                    '棰勬祴' as 绫诲瀷,
-                    涓撲笟
-                FROM 棰勬祴鐒婄紳璁$畻
-            ) 鍚堝苟鏁版嵁
-            GROUP BY 骞翠唤, 鏈堜唤, 鐢熶骇鍩哄湴
+                    year,
+                    month,
+                    production_base,
+                    predict_weld_count as weld_count,
+                    'predict' as type,
+                    domain
+                FROM predict_weld_calc
+            ) merged_data
+            GROUP BY year, month, production_base
         )
         SELECT 
-            s.骞翠唤 as "year",
-            s.鏈堜唤 as "month",
-            s.鐢熶骇鍩哄湴 as "production_base",
-            ROUND(s.绠¤矾璁㈠崟闇�姹�, 4) as "piping_order_requirement",
-            ROUND(s.姘旀煖璁㈠崟闇�姹�, 4) as "gas_order_requirement",
-            ROUND(s.绠¤矾棰勬祴闇�姹�, 4) as "piping_prediction_requirement",
-            ROUND(s.姘旀煖棰勬祴闇�姹�, 4) as "gas_prediction_requirement",
+            s.year as "year",
+            s.month as "month",
+            s.production_base as "production_base",
+            ROUND(s.piping_order_requirement, 4) as "piping_order_requirement",
+            ROUND(s.gas_order_requirement, 4) as "gas_order_requirement",
+            ROUND(s.piping_predict_requirement, 4) as "piping_prediction_requirement",
+            ROUND(s.gas_predict_requirement, 4) as "gas_prediction_requirement",
             0 as "reserve_emergency_order_output",
-            ROUND(s.绠¤矾璁㈠崟闇�姹� + s.姘旀煖璁㈠崟闇�姹� + s.绠¤矾棰勬祴闇�姹� + s.姘旀煖棰勬祴闇�姹�, 4) as "total",
+            ROUND(s.piping_order_requirement + s.gas_order_requirement + s.piping_predict_requirement + s.gas_predict_requirement, 4) as "total",
             0 as "days",
             0 as "requirement_day_weld_seam",
             0 as "production_day_weld_seam",
             '0' as "is_satisfy",
             'system' as "create_by",
             CURRENT_TIMESTAMP as "create_time"
-        FROM 姹囨�绘暟鎹� s
-        ORDER BY s.骞翠唤, s.鏈堜唤, s.鐢熶骇鍩哄湴
+        FROM summary_data s
+        ORDER BY s.year, s.month, s.production_base
     </select>
 </mapper> 
\ No newline at end of file
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java
index 6653f41..1a13dac 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java
@@ -23,6 +23,7 @@
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.client.RestTemplate;
 
 import java.util.ArrayList;
@@ -131,6 +132,7 @@
         return apsWorkOrderProcessMapper.deleteApsWorkOrderProcessById(id);
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void getWorkOrderProcessFromU9(List<String> docNos) throws Exception {
         List<String> noProcessDocNos = new ArrayList<>(docNos);
@@ -220,7 +222,7 @@
                             }
                             if(!addList.isEmpty()){
                                 apsWorkOrderProcessMapper.insertApsWorkOrderProcessBatch(addList);
-                                apsWorkOrderJobLog.setResult("ok insert "+updateList.size());
+                                apsWorkOrderJobLog.setResult("ok insert "+addList.size());
                                 apsWorkOrderJobLog.setUpdateTime(DateUtils.getNowDate());
                                 apsWorkOrderJobLogService.updateApsWorkOrderJobLog(apsWorkOrderJobLog);
                                 logger.info("銆怚NSERT銆戣幏鍙栧苟鎻掑叆U9宸ュ簭鎴愬姛锛併�愬伐鍗曞彿锛歿}銆�", docNos);
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java b/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java
index 432b58e..b0812e5 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java
@@ -65,7 +65,7 @@
     /**
      * 鍚屾宸ュ崟宸ュ簭鏁版嵁
      */
-    @Transactional(rollbackFor = Exception.class)
+
     public void syncWorkOrderProcessData(String status, Integer pageSize)
     {
         iApsWorkOrderProcessService.deleteApsWorkOrderProcess();

--
Gitblit v1.9.3