From 55b27f5ff82fcb1e81340bb3793ad4d5abd51072 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期三, 16 四月 2025 15:45:13 +0800
Subject: [PATCH] 焊缝统计表-逻辑更新

---
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java |   47 ++++++++++++++++++++++++++++-------------------
 1 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java
index 145f118..417fdf7 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java
@@ -139,35 +139,44 @@
         List<Long> years = apsWeldSeamStatistics.stream().map(ApsWeldSeamStatistics::getYear).distinct().toList();
         List<Long> months = apsWeldSeamStatistics.stream().map(ApsWeldSeamStatistics::getMonth).distinct().toList();
         List<String> bases = apsWeldSeamStatistics.stream().map(ApsWeldSeamStatistics::getProductionBase).distinct().toList();
-
+        /*宸ュ崟绫诲瀷锛氳鍗�*/
+        String WorkOrderType_Order="0";
+        /*宸ュ崟绫诲瀷锛氶娴�*/
+        String WorkOrderType_Prediction="1";
+        /*绫诲瀷锛氭皵浣�*/
+        String Classification_Gas="0";
+        /*绫诲瀷锛氱璺�*/
+        String Classification_Piping="1";
         for (Long year : years) {
             for (Long month : months) {
                 for (String basis : bases) {
                     List<ApsWeldSeamStatistics> list = apsWeldSeamStatistics.stream()
                             .filter(x -> x.getYear().equals(year) && x.getMonth().equals(month) && x.getProductionBase().equals(basis)).toList();
 
-                    long gasOrderRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("0") && x.getClassification().equals("0"))
+                    long gasOrderRequirement = list.stream().filter(x -> x.getWorkOrderType().equals(WorkOrderType_Order) && x.getClassification().equals(Classification_Gas))
                             .mapToLong(ApsWeldSeamStatistics::getTotal).sum();
-                    long gasPredictionRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("1") && x.getClassification().equals("0"))
+                    long gasPredictionRequirement = list.stream().filter(x -> x.getWorkOrderType().equals(WorkOrderType_Prediction) && x.getClassification().equals(Classification_Gas))
                             .mapToLong(ApsWeldSeamStatistics::getTotal).sum();
-                    long pipingOrderRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("0") && x.getClassification().equals("1"))
+                    long pipingOrderRequirement = list.stream().filter(x -> x.getWorkOrderType().equals(WorkOrderType_Order) && x.getClassification().equals(Classification_Piping))
                             .mapToLong(ApsWeldSeamStatistics::getTotal).sum();
-                    long pipingPredictionRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("1") && x.getClassification().equals("1"))
+                    long pipingPredictionRequirement = list.stream().filter(x -> x.getWorkOrderType().equals(WorkOrderType_Prediction) && x.getClassification().equals(Classification_Piping))
                             .mapToLong(ApsWeldSeamStatistics::getTotal).sum();
-
-                    ApsWeldSeamStatistics seamStatistics = new ApsWeldSeamStatistics();
-                    seamStatistics.setId(IdUtils.fastSimpleUUID());
-                    seamStatistics.setYear(year);
-                    seamStatistics.setMonth(month);
-                    seamStatistics.setProductionBase(basis);
-                    seamStatistics.setPipingOrderRequirement(pipingOrderRequirement);
-                    seamStatistics.setPipingPredictionRequirement(pipingPredictionRequirement);
-                    seamStatistics.setGasOrderRequirement(gasOrderRequirement);
-                    seamStatistics.setGasPredictionRequirement(gasPredictionRequirement);
-                    seamStatistics.setTotal(gasOrderRequirement + gasPredictionRequirement + pipingOrderRequirement + pipingPredictionRequirement);
-                    seamStatistics.setCreateTime(DateUtils.getNowDate());
-                    seamStatistics.setCreateBy(SecurityUtils.getUsername());
-                    apsWeldSeamStatisticsMapper.insertApsWeldSeamStatistics(seamStatistics);
+                    long total = gasOrderRequirement + gasPredictionRequirement + pipingOrderRequirement + pipingPredictionRequirement;
+                    if(total>0) {
+                        ApsWeldSeamStatistics seamStatistics = new ApsWeldSeamStatistics();
+                        seamStatistics.setId(IdUtils.fastSimpleUUID());
+                        seamStatistics.setYear(year);
+                        seamStatistics.setMonth(month);
+                        seamStatistics.setProductionBase(basis);
+                        seamStatistics.setPipingOrderRequirement(pipingOrderRequirement);
+                        seamStatistics.setPipingPredictionRequirement(pipingPredictionRequirement);
+                        seamStatistics.setGasOrderRequirement(gasOrderRequirement);
+                        seamStatistics.setGasPredictionRequirement(gasPredictionRequirement);
+                        seamStatistics.setTotal(total);
+                        seamStatistics.setCreateTime(DateUtils.getNowDate());
+                        seamStatistics.setCreateBy(SecurityUtils.getUsername());
+                        apsWeldSeamStatisticsMapper.insertApsWeldSeamStatistics(seamStatistics);
+                    }
                 }
             }
 

--
Gitblit v1.9.3