From 2c98be64470f8298d3083ce337b0ffb948bee5f7 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期一, 09 六月 2025 16:45:34 +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/FlowCardService.java |   39 +++++++++++++++++++++++----------------
 1 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
index d73bda6..7872e80 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -304,8 +304,11 @@
         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
         List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
         if (!flowCardList.isEmpty()) {
-            Set<String> processedProcessIds = new HashSet<>();  // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
+            Set<String> processedKeys = new HashSet<>();
             for (FlowCard flowCard : flowCardList) {
+                String processId = flowCard.getProcessId();
+                Integer orderNumber = flowCard.getOrderNumber();
+                String uniqueKey = processId + "|" + orderNumber;  // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐�
                 Map<String, Object> itemmap = new HashMap<>();
                 //娴佺▼鍗¤〃澶磋〃灏炬暟鎹�
                 //鏄惁浼犲叆鍚堝苟灞傛暟
@@ -323,11 +326,11 @@
                     } else {
                         if (merge.equals("1") && flowCard.getMerge().equals(1)) {
                             // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
-                            if (processedProcessIds.contains(flowCard.getProcessId())) {
+                            if (processedKeys.contains(uniqueKey)) {
                                 continue;
                             }
                             // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
-                            processedProcessIds.add(flowCard.getProcessId());
+                            processedKeys.add(uniqueKey);
                             itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
 
                             List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess());
@@ -400,11 +403,14 @@
         }
         List<FlowCard> flowCardList = flowCardMapper.getFlowCardListPrintProject(printProject);
         if (!flowCardList.isEmpty()) {
-            Set<String> processedProcessIds = new HashSet<>();  // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
+            Set<String> processedKeys = new HashSet<>();
+
             for (FlowCard flowCard : flowCardList) {
                 Map<String, Object> itemmap = new HashMap<>();
 
-
+                String processId = flowCard.getProcessId();
+                Integer orderNumber = flowCard.getOrderNumber();
+                String uniqueKey = processId + "|" + orderNumber;  // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐�
                 //鏄惁鍖呭惈鍒囧壊
                 //boolean containsCutting = flowCard.getProcess().contains("鍒囧壊");
                 String processSub = flowCard.getProcess().substring(0, 2);
@@ -425,11 +431,11 @@
                     if (flowCard.getPatchState().equals(0)) {
                         if (merge.equals("1") && flowCard.getMerge().equals(1)) {
                             // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
-                            if (processedProcessIds.contains(flowCard.getProcessId())) {
+                            if (processedKeys.contains(uniqueKey)) {
                                 continue;
                             }
                             // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
-                            processedProcessIds.add(flowCard.getProcessId());
+                            processedKeys.add(uniqueKey);
                             itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
 
                             List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess());
@@ -589,14 +595,15 @@
         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
         List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
         if (!flowCardList.isEmpty()) {
-            Set<String> processedProcessIds = new HashSet<>();  // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
 
+            Set<String> processedKeys = new HashSet<>();
             if (lableType != 2) {//鎴愬搧鏍囩
                 for (FlowCard flowCard : flowCardList) {
                     String processId = flowCard.getProcessId();
-
+                    Integer orderNumber = flowCard.getOrderNumber();
+                    String uniqueKey = processId + "|" + orderNumber;  // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐�
                     // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
-                    if (processedProcessIds.contains(processId)) {
+                    if (processedKeys.contains(uniqueKey)) {
                         continue;
                     }
                     Map<String, Object> itemmap = new HashMap<>();
@@ -604,7 +611,7 @@
                     list.add(itemmap);
 
                     // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
-                    processedProcessIds.add(processId);
+                    processedKeys.add(uniqueKey);
                 }
             } else {//灏忕墖鏍囩
                 for (FlowCard flowCard : flowCardList) {
@@ -624,14 +631,15 @@
         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
         List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
         if (!flowCardList.isEmpty()) {
-            Set<String> processedProcessIds = new HashSet<>();  // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
-
+            Set<String> processedKeys = new HashSet<>();
             if (lableType != 2) {//鎴愬搧鏍囩
                 for (FlowCard flowCard : flowCardList) {
                     String processId = flowCard.getProcessId();
+                    Integer orderNumber = flowCard.getOrderNumber();
+                    String uniqueKey = processId + "|" + orderNumber;  // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐�
 
                     // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
-                    if (processedProcessIds.contains(processId)) {
+                    if (processedKeys.contains(uniqueKey)) {
                         continue;
                     }
                     Map<String, Object> itemmap = new HashMap<>();
@@ -639,7 +647,7 @@
                     list.add(itemmap);
 
                     // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
-                    processedProcessIds.add(processId);
+                    processedKeys.add(uniqueKey);
                 }
             } else {//灏忕墖鏍囩
                 for (FlowCard flowCard : flowCardList) {
@@ -1008,7 +1016,6 @@
         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
         List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
         if (!flowCardList.isEmpty()) {
-            Set<String> processedProcessIds = new HashSet<>();  // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
             for (FlowCard flowCard : flowCardList) {
                 Map<String, Object> itemmap = new HashMap<>();
                 //鏄惁鏄伐绋嬫槑缁嗘墦鍗�

--
Gitblit v1.8.0