From 62914e8c873328712742f789e5fdea1a1a46c121 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 23 九月 2025 08:25:34 +0800
Subject: [PATCH] 流程卡打印、报工层数过多问题修改

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

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
index 7db74d9..ff18b7d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -89,12 +89,32 @@
         this.reportingWorkTransferMapper = reportingWorkTransferMapper;
     }*/
 
+    //灏嗗眰鏁板瓧绗︿覆鐢ㄩ�楀彿闅斿紑
+    public static String splitTechNumbers(String input) {
+        if (input == null || input.isEmpty()) {
+            return "";
+        }
+
+        List<String> result = new ArrayList<>();
+        for (int i = 0; i < input.length(); i++) {
+            // 鐗规畩澶勭悊 "10"
+            if (input.charAt(i) == '1' && i + 1 < input.length() && input.charAt(i + 1) == '0') {
+                result.add("10");
+                i++; // 璺宠繃涓嬩竴涓瓧绗�
+            } else {
+                result.add(String.valueOf(input.charAt(i)));
+            }
+        }
+
+        return String.join(",", result);
+    }
+
     public Map<String, Object> AddSelectLastWorkSv(String processIdStr, String technologyStr, String process, String reportType) {
         Map<String, Object> map = new HashMap<>();
         //鑾峰彇鎶ュ伐宸ュ簭鏄惁涓哄鍚堝伐绋�
         String laminating = reportingWorkMapper.getProcessLaminating(process);
         //鏌ヨ娴佺▼鍗″伐鑹烘祦绋�
-        String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(processIdStr,technologyStr);
+        String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(processIdStr,splitTechNumbers(technologyStr));
 
         if (technologicalProcess!=null || !technologicalProcess.equals("")){
             String[] processList = technologicalProcess.split("->");
@@ -123,7 +143,7 @@
                         nextProcess = processList[i + 1];
                     }
                     //鏌ヨ褰撳墠宸ュ簭鐨勮〃澶存暟鎹�
-                    map.put("data", reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr, previousProcess, nextProcess, process,reportType));
+                    map.put("data", reportingWorkMapper.AddSelectLastWorkMp(processIdStr, splitTechNumbers(technologyStr), previousProcess, nextProcess, process,reportType));
                     map.put("thisProcess", processList);
                     break;
                 }
@@ -144,12 +164,12 @@
             //鏌ヨ鏈伐搴忔姤宸ラ渶瑕佸摢鍑犲眰锛屼笂宸ュ簭鏄粈涔�
             String obtainTechnology = reportingWorkMapper.SelectWorkTechnologyMp(processIdStr);
 
-            map.put("numberList", flowCardMapper.getGlassNumber(technologyStr,processIdStr));
+            map.put("numberList", flowCardMapper.getGlassNumber(splitTechNumbers(technologyStr),processIdStr));
 
             //鍒ゆ柇鏈伐搴忔槸涓嶆槸绗竴閬撳伐搴�
             if (interceptProcess.equals(process)) {
                 //鏄涓�閬撳伐搴忥紝鏌ヨ娴佺▼鍗℃暟鎹�
-                map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr, technologyStr, process,reportType));
+                map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr, splitTechNumbers(technologyStr), process,reportType));
             } else {
                 ReportingWork retrievedData = (ReportingWork) map.get("data");
                 if (retrievedData!=null){
@@ -157,7 +177,7 @@
                     //鏍规嵁瀹℃牳鐘舵�佹煡璇㈡湭瀹℃牳鏁版嵁
                    // if (reviewedState==1){//宸插鏍�
                         //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
-                        List<Map<String,String>>  details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process,previousProcess,laminating);
+                        List<Map<String,String>>  details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, splitTechNumbers(technologyStr), process,previousProcess,laminating);
                         if(process.equals("涓┖")){
                             //鑾峰彇璇ユ祦绋嬪崱璁㈠崟鍙�
                             String orderId = reportingWorkMapper.selectOrderid(processIdStr);

--
Gitblit v1.8.0