From b0c60452329a61c32db74a1c7d7753d383d6310a Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期五, 05 九月 2025 08:20:53 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java |   73 +++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 30 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
index 2c65ee5..4aa03f2 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -179,17 +179,6 @@
             getRowCountMap.put(getRowCountOrderNumber, col);
         });
 
-        /*columns.forEach(col -> {
-            List<Map<String, Integer>> getRows = new ArrayList<>();
-            getRowCount.forEach(row -> {
-                Map<String, Integer> getRow = new HashMap<>();
-                getRow.put("row", ((Number) row.get("RowNum")).intValue());
-                getRow.put("rowspan", ((Number) row.get("rowCount")).intValue());
-                getRow.put("colspan", 1);
-                getRows.add(getRow);
-            });
-            rowCount.put(col, getRows);
-        });   */
         //寰幆缁撴灉
         for (int i=0;i<dataList.size();i++ ) {
             Integer orderNumber = Integer.parseInt(String.valueOf(dataList.get(i).get("order_number")));
@@ -859,7 +848,7 @@
         return resultList;
     }
 
-    public Object processCardProgressCollectSv(String orderId, List<Integer> columns) {
+    public Object processCardProgressCollectSv(String orderId, List<String> columns) {
         Map<String, Object> map = new HashMap<>();
         //鑾峰彇琛ㄦ牸鍐呭鏁版嵁
         List<Map<String, String>> dataList = reportMapper.processCardProgressCollectMp(orderId);
@@ -886,28 +875,47 @@
             //鍒ゆ柇涓┖鍜屼腑绌哄悗宸ュ簭
             //Objects.equals(basicData.getNickname(), "stepB") || Objects.equals(basicData.getNickname(), "stepD")
             if(Objects.equals(basicData.getNickname(), "stepB") || Objects.equals(basicData.getNickname(), "stepD")){
-                columns.add(11+i);
+                columns.add("reportWorkQuantity."+uniqueList.get(i).get("process"));
                 getCol.put("col", 11+i);
                 getCol.put("step","stepB");
                 clos.put(uniqueList.get(i).get("process"), getCol);
             }
         }
         List<Map<String, Object>> getRowCount = orderProcessDetailMapper.getGlassLRow(orderId);
-        List<Map<String, Integer>> rowCount = new ArrayList<>();
-        columns.forEach(col -> {
-            getRowCount.forEach(row -> {
-                Map<String, Integer> getRow = new HashMap<>();
-                // { row: 0, col: 1, rowspan: 3, colspan: 0},
-                getRow.put("row", ((Number) row.get("RowNum")).intValue());
-                getRow.put("col", col);
-                getRow.put("rowspan", ((Number) row.get("rowCount")).intValue());
-                getRow.put("colspan", 0);
-                rowCount.add(getRow);
-            });
+        HashMap<String,Map<String, Object>> getRowCountMap = new HashMap<>();
+        getRowCount.forEach(col -> {
+            String getRowCountProcessId = String.valueOf(col.get("process_id"));
+            getRowCountMap.put(getRowCountProcessId, col);
         });
-
+        HashMap<String,HashMap<String,Map<String, Integer>>> rowCount = new HashMap<String,HashMap<String,Map<String, Integer>>>();
         //寰幆缁撴灉
         for (int i=0;i<dataList.size();i++ ) {
+            String processId = String.valueOf(dataList.get(i).get("process_id"));
+            Integer technologyNumber = Integer.parseInt(String.valueOf(dataList.get(i).get("technology_number")));
+            int finalI1 = i;
+            columns.forEach(col -> {
+                if(rowCount.get(col) == null){
+                    rowCount.put(col, new HashMap<String,Map<String,Integer>>());
+                }
+
+                if(getRowCountMap.get(processId) != null){
+                    Map<String,Object> row = getRowCountMap.get(processId);
+                    Map<String, Integer> getRow = new HashMap<>();
+                    //鍒ゆ柇褰撳墠姝ゆ 鏄惁涓虹涓�琛� 骞朵笖鐩稿悓搴忓彿
+                    if(technologyNumber==1){
+                        getRow.put("rowspan", ((Number) row.get("rowCount")).intValue());
+                        getRow.put("colspan", 1);
+                    }else{
+                        getRow.put("rowspan", 0);
+                        getRow.put("colspan", 0);
+                    }
+                    rowCount.get(col).put(finalI1+"_"+col, getRow);
+                }
+
+
+            });
+
+
             dataList.get(i).put("reportWorkQuantityShow",dataList.get(i).get("reportWorkQuantity"));
             Map<String, String> data = JSON.parseObject(dataList.get(i).get("reportWorkQuantity"),
                     new TypeReference<Map<String, String>>() {
@@ -967,23 +975,28 @@
                     if(data.get(key) != null){
                         //鍒ゆ柇鏄す鑳跺伐搴�
                         if( clos.get(key).get("step")=="stepA"){
+                            if (rowCount.get("reportWorkQuantity."+key)==null){
+                                rowCount.put("reportWorkQuantity."+key, new HashMap<String,Map<String,Integer>>());
+                            }
+                            Map<String, Integer> getRow = new HashMap<>();
                             if(min == Integer.parseInt(String.valueOf(dataList.get(i).get("technology_number")))  ){
-                                Map<String, Integer> getRow = new HashMap<>();
-                                getRow.put("row", i );
-                                getRow.put("col", (Integer) clos.get(key).get("col"));
                                 getRow.put("rowspan", max-min+1);
-                                getRow.put("colspan", 0);
-                                rowCount.add(getRow);
+                                getRow.put("colspan", 1);
                             }else{
+                                getRow.put("rowspan", 0);
+                                getRow.put("colspan", 0);
                                 data.put(key,"0");
                             }
+                            rowCount.get("reportWorkQuantity."+key).put(i+"_reportWorkQuantity."+key, getRow);
                         }else{//涓┖锛屼腑绌哄悗宸ュ簭
                             //灏忕墖搴忓彿涓嶆槸1 鐨勬椂鍊欒祴鍊�0
                             if(Integer.parseInt(String.valueOf(dataList.get(i).get("technology_number")))  !=1){
                                 data.put(key,"0");
                             }
                         }
+
                     }
+
                 }
             }
             dataList.get(i).put("reportWorkQuantity",JSON.toJSONString(data));

--
Gitblit v1.8.0