From 83a348d85de2c04183211b0f464f82c33a77deea Mon Sep 17 00:00:00 2001
From: dy <dingyang@lnfxkj.tech>
Date: 星期三, 16 四月 2025 17:27:57 +0800
Subject: [PATCH] 焊缝统计表提交

---
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java |   67 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 1 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 417fdf7..b6217a2 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
@@ -17,7 +17,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 鐒婄紳Service涓氬姟灞傚鐞�
@@ -224,4 +225,68 @@
         }*/
         return 1;
     }
+
+    @Override
+    public List<List<String>> weldSeamEchartsList(ApsWeldSeam apsWeldSeam) {
+
+        Map<String, Object> params = apsWeldSeam.getParams();
+        if(ObjectUtils.isNotEmpty(params)){
+            String startDay = params.get("startDay").toString();
+            String endDay = params.get("endDay").toString();
+            List<Long> produceYears = new ArrayList<>();
+            List<Long> produceMonths = new ArrayList<>();
+            String startQueryYear = startDay.substring(0,4);
+            String endQueryYear = endDay.substring(0,4);
+            String startQueryDay = startDay.substring(6,7);
+            String endQueryDay = endDay.substring(6,7);
+            produceYears.add(Long.valueOf(startQueryYear));
+            produceYears.add(Long.valueOf(endQueryYear));
+            produceMonths.add(Long.valueOf(startQueryDay));
+            produceMonths.add(Long.valueOf(endQueryDay));
+            apsWeldSeam.setProduceYears(produceYears);
+            apsWeldSeam.setProduceMonths(produceMonths);
+        }
+        List<Map> mapList =apsWeldSeamMapper.weldSeamEcharts(apsWeldSeam);
+        Set monthSet=mapList.stream().map(e->e.get("produce_month").toString()).collect(Collectors.toSet());
+        List monthList = new ArrayList(monthSet);
+        Collections.sort(monthList);
+
+        List<List<String>> echartsList = new ArrayList<>();
+
+        Set<String> titleSet = new HashSet<>();
+        List<String> title = new ArrayList<>(titleSet);
+        title.add("product");
+        mapList.forEach(item->{
+            StringBuilder sb = new StringBuilder();
+            sb.append(item.get("production_base"));
+            sb.append("-");
+            sb.append(item.get("work_order_name"));
+            sb.append("-");
+            sb.append(item.get("classification_name"));
+            title.add(sb.toString());
+
+        });
+        echartsList.add(title);
+        System.out.println(monthList);
+        monthList.forEach(month->{
+            List<String> table = new ArrayList<>();
+            table.add(month+"鏈�");
+            for (int i=1;i<title.size();i++){
+                for(int j=0;j<mapList.size();j++){
+                    Map value =mapList.get(j);
+                    StringBuilder sb = new StringBuilder();
+                    sb.append(value.get("production_base"));
+                    sb.append("-");
+                    sb.append(value.get("work_order_name"));
+                    sb.append("-");
+                    sb.append(value.get("classification_name"));
+                    if(sb.toString().equals(title.get(i))){//鍒楁槑
+                        table.add(value.get("total_weld_seam").toString());
+                    }
+                }
+            }
+            echartsList.add(table);
+        });
+        return echartsList;
+    }
 }

--
Gitblit v1.9.3