From eba3314826d53ff0f7e5679d185baaff84e50354 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期四, 04 十二月 2025 10:07:56 +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 |   68 ++++++++++++++++++++++-----------
 1 files changed, 45 insertions(+), 23 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 467b0b6..1a0998f 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
@@ -33,7 +33,6 @@
 import java.io.IOException;
 
 
-import java.sql.Date;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
@@ -419,7 +418,7 @@
                     //鑾峰彇宸ュ簭瀵瑰簲鐨勫埆绉�
                     String processName = flowCardMapper.getProcessName(processSub);
                     //processName.equals("stepC") || processName.equals("stepD")
-                    if (processName.equals("stepC") || processName.equals("stepD")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖
+                    if (processName.equals("stepC") || processName.equals("stepD")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖锛屾祦绋嬪崱鏌ヨ鍚堝苟
                         itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(),
                                 String.valueOf("null".equals(compound)
                                         ? flowCard.getTechnologyNumber()//姝e父灞�
@@ -436,7 +435,7 @@
                             itemmap.put("detailList", detailList);
                         }
                     } else {
-                        if (merge.equals("1") && flowCard.getMerge().equals(1)) {//鍚�
+                        if (merge.equals("1") && flowCard.getMerge().equals(1)) {//鏈惎鐢�,閰嶇疆鏂囦欢flowCardMerge鍊间负1
                             // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
                             if (processedKeys.contains(uniqueKey)) {
                                 continue;
@@ -466,19 +465,6 @@
 
                     }
 
-                } else {//鍚�
-                    //娴佺▼鍗℃槑缁嗘暟鎹�
-                    if (printLike.equals("") || printLike.equals("null")) {
-                        itemmap.put("detail", flowCardMapper.getPrimaryListMerge(flowCard.getProcessId(), printMerge, flowCard.getOrderId()));
-
-                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flashback, landingSequence);
-                        itemmap.put("detailList", detailList);
-                    } else {
-                        itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
-
-                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge, flowCard.getProcess(), flashback, landingSequence);
-                        itemmap.put("detailList", detailList);
-                    }
                 }
 
                 //宸ヨ壓娴佺▼
@@ -775,12 +761,19 @@
                     // 鍒ゆ柇鏄惁涓洪潪绌哄瓧绗︿覆
                     if (orderNumber != null && !orderNumber.trim().isEmpty()) {
 
-                        itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(
+                        List<Map<String, Object>> customDataSemi =flowCardMapper.getPrintCustomDataSemi(
                                 flowCard.getProcessId(),
                                 flowCard.getTechnologyNumber(),
                                 flowCard.getProcess(),
-                                flowCard.getOrderNumber(), flowCard.getPrintQuantity()
-                        ));
+                                flowCard.getOrderNumber(), flowCard.getPrintQuantity());
+                        for (Map<String, Object> dataMap : customDataSemi) {
+                            dataMap.put("newList", flowCardMapper.getgetPrintCustomDataSemiSp(
+                                    flowCard.getProcessId(),
+                                    dataMap.get("technologyNumber").toString(),
+                                    flowCard.getOrderNumber()
+                            ));
+                        }
+                        itemmap.put("data", customDataSemi);
                     } else {
                             //鐢ㄤ簬澶╂触鐜板満娴佺▼鍗℃墦鍗扮晫闈㈢殑灏忕墖鏍囩鎵撳嵃
                         itemmap.put("data", flowCardMapper.getPrintCustomDataSemiTj(
@@ -1360,11 +1353,13 @@
             }
             //灏嗗師鏉ュ凡鎶ュ伐鐨勬暟鎹洿鏂�
             if (resultList != null && !resultList.isEmpty()) {
-                for (OrderProcessDetail d : resultList) {
-                    flowCardMapper.updateOrderProcessDetail(d.getProcessId(),d.getOrderNumber(),d.getTechnologyNumber(),
-                            d.getReportingWorkNumCount(),d.getReportingWorkNum(),d.getBrokenNum(),d.getProcess());
-
+                for (String number : numberList) {
+                    for (OrderProcessDetail d : resultList) {
+                        flowCardMapper.updateOrderProcessDetail(d.getProcessId(),number,d.getTechnologyNumber(),
+                                d.getReportingWorkNumCount(),d.getReportingWorkNum(),d.getBrokenNum(),d.getProcess());
+                    }
                 }
+
             }
             return true;
 
@@ -1764,6 +1759,33 @@
 
     }
 
+    public boolean getNewProcessSv(String processId, String orderNumber, String technologyNumber, List<String> orderProcess) {
+
+        // 鑾峰彇鏈�鏂版姤宸ュ伐搴�
+        List<Map<String, Object>> newProcess = flowCardMapper.getNewProcessMp(processId, orderNumber, technologyNumber);
+
+        if (newProcess == null || newProcess.isEmpty()) {
+            return false; // 鎵句笉鍒版爣鍑嗗��
+        }
+
+        // 鏈�鏂板伐搴忔帓搴忓彿
+        int standardSort = Integer.parseInt(newProcess.get(0).get("sort").toString());
+
+        // 寰幆 orderProcess 鐨勬瘡涓�涓伐搴忥紝鏌ヨ瀹冧滑鐨� sort
+        for (String processName : orderProcess) {
+            Map<String, Object> data = flowCardMapper.getProcessInfo(processName);
+
+            if (data == null) {
+                return false; // 宸ュ簭鏌ヤ笉鍒�
+            }
+            int orderSort = Integer.parseInt(data.get("sort").toString());
+            // orderSort 蹇呴』 > standardSort
+            if (orderSort <= standardSort) {
+                return false;
+            }
+        }
+        return true;
+    }
 }
 
 

--
Gitblit v1.8.0