From 53bc276bdc4aaefc2a2ecadc472f2c2f18e93490 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期三, 26 十一月 2025 16:53:57 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java |  116 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 59 insertions(+), 57 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
index 39a31c0..d845c66 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
@@ -927,68 +927,68 @@
             int state2 = 0;
             StringBuilder processId= new StringBuilder();
             List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("projectdetail")), FlowCard.class);
-            if (!flowCardList.isEmpty()) {
-                if(projectType.equals("2")){
-                    deleteProject(projectId,2);
+            if(projectType.equals("2")){
+                deleteProject(projectId,2);
+            }
+
+            // 鍒涘缓涓�涓槧灏勬潵瀛樺偍 (processId-technologyNumber) 缁勫悎鍒� rack 缂栧彿鐨勬槧灏�
+            Map<String, Integer> rackMap = new HashMap<>();
+            int rackCounter = 1;
+
+            // 濡傛灉涓虹┖娴佺▼鍗★紝鍒欏皢 type 璁剧疆涓� 1
+            if (flowCardList == null || flowCardList.isEmpty()) {
+                type = 1;
+            }
+            for (FlowCard flowCard : flowCardList) {
+                // 涓烘瘡涓敮涓�鐨� processId-technologyNumber 缁勫悎鍒嗛厤 rack 缂栧彿
+                String key = flowCard.getProcessId() + "-" + flowCard.getTechnologyNumber();
+                if (!rackMap.containsKey(key)) {
+                    rackMap.put(key, rackCounter++);
+                }
+                int rackValue = rackMap.get(key);
+
+                if(flowCard.getPatchState().equals(0)){
+                    state1=1;
+                    //缁欐祦绋嬪崱琛ㄦ坊鍔犲搴旂殑宸ョ▼鍙�
+                    Boolean a = glassOptimizeMapper.updateFlowCardProject(flowCard.getProcessId(),flowCard.getTechnologyNumber(),projectId);
+                    // 鏇存柊娴佺▼鍗$殑rack瀛楁
+                    glassOptimizeMapper.updateFlowCardRack(flowCard.getProcessId(), flowCard.getTechnologyNumber(), rackValue);
+                    area = glassOptimizeMapper.getSelectArea(flowCard.getProcessId(),flowCard.getTechnologyNumber()).doubleValue();
+                    sumArea = sumArea.add(BigDecimal.valueOf(area));
+                    sumQuantity +=flowCard.getQuantity();
+                    processId.append(flowCard.getProcessId()).append("-").append(flowCard.getTechnologyNumber()).append(";");
+                }else{
+                    state2=1;
+                    Boolean a=glassOptimizeMapper.updatePatchLogProject(flowCard.getProcessId(),flowCard.getTechnologyNumber(),projectId);
+                    area = glassOptimizeMapper.getSelectAreaPatchLog(flowCard.getProcessId(),flowCard.getTechnologyNumber()).doubleValue();
+                    sumArea = sumArea.add(BigDecimal.valueOf(area));
+                    sumQuantity +=flowCard.getQuantity();
+                    processId.append(flowCard.getProcessId()).append("-").append(flowCard.getTechnologyNumber()).append(";");
                 }
 
-                // 鍒涘缓涓�涓槧灏勬潵瀛樺偍 (processId-technologyNumber) 缁勫悎鍒� rack 缂栧彿鐨勬槧灏�
-                Map<String, Integer> rackMap = new HashMap<>();
-                int rackCounter = 1;
+            }
+            if(state1==1&&state2==0){
+                type=1;
+            }else if(state1==1&&state2==1){
+                type=2;
+            }
 
-                for (FlowCard flowCard : flowCardList) {
-                    // 涓烘瘡涓敮涓�鐨� processId-technologyNumber 缁勫悎鍒嗛厤 rack 缂栧彿
-                    String key = flowCard.getProcessId() + "-" + flowCard.getTechnologyNumber();
-                    if (!rackMap.containsKey(key)) {
-                        rackMap.put(key, rackCounter++);
-                    }
-                    int rackValue = rackMap.get(key);
-
-                    if(flowCard.getPatchState().equals(0)){
-                        state1=1;
-                        //缁欐祦绋嬪崱琛ㄦ坊鍔犲搴旂殑宸ョ▼鍙�
-                        Boolean a = glassOptimizeMapper.updateFlowCardProject(flowCard.getProcessId(),flowCard.getTechnologyNumber(),projectId);
-                        // 鏇存柊娴佺▼鍗$殑rack瀛楁
-                        glassOptimizeMapper.updateFlowCardRack(flowCard.getProcessId(), flowCard.getTechnologyNumber(), rackValue);
-                        area = glassOptimizeMapper.getSelectArea(flowCard.getProcessId(),flowCard.getTechnologyNumber()).doubleValue();
-                        sumArea = sumArea.add(BigDecimal.valueOf(area));
-                        sumQuantity +=flowCard.getQuantity();
-                        processId.append(flowCard.getProcessId()).append("-").append(flowCard.getTechnologyNumber()).append(";");
-                    }else{
-                        state2=1;
-                        Boolean a=glassOptimizeMapper.updatePatchLogProject(flowCard.getProcessId(),flowCard.getTechnologyNumber(),projectId);
-                        area = glassOptimizeMapper.getSelectAreaPatchLog(flowCard.getProcessId(),flowCard.getTechnologyNumber()).doubleValue();
-                        sumArea = sumArea.add(BigDecimal.valueOf(area));
-                        sumQuantity +=flowCard.getQuantity();
-                        processId.append(flowCard.getProcessId()).append("-").append(flowCard.getTechnologyNumber()).append(";");
-                    }
-
-                }
-                if(state1==1&&state2==0){
-                    type=1;
-                }else if(state1==1&&state2==1){
-                    type=2;
-                }
-                int index = optionVal.indexOf("mm");
-                // 鑾峰彇 "mm" 鍓嶉潰鐨勯儴鍒�
-                String glass_thickness = optionVal.substring(0, index);
-                // 鑾峰彇 "mm" 鍚庨潰鐨勯儴鍒�
-                String glass_type = optionVal.substring(index + 2);
-                if(projectType.equals("2")){
-                    glassOptimizeMapper.updateProjectMp(projectId,projectNmae,glass_thickness,glass_type,sumQuantity,sumArea.doubleValue(),userName,
+            int index = optionVal.indexOf("mm");
+            // 鑾峰彇 "mm" 鍓嶉潰鐨勯儴鍒�
+            String glass_thickness = optionVal.substring(0, index);
+            // 鑾峰彇 "mm" 鍚庨潰鐨勯儴鍒�
+            String glass_type = optionVal.substring(index + 2);
+            if(projectType.equals("2")){
+                glassOptimizeMapper.updateProjectMp(projectId,projectNmae,glass_thickness,glass_type,sumQuantity,sumArea.doubleValue(),userName,
+                        flowCardList.size(), String.valueOf(processId),type);
+            }else{
+                if(glassOptimizeMapper.selectProjectCount(projectId)==null){
+                    glassOptimizeMapper.addProjectMp(projectId,projectNmae,glass_thickness,glass_type,sumQuantity,sumArea.doubleValue(),userName,
                             flowCardList.size(), String.valueOf(processId),type);
                 }else{
-                    if(glassOptimizeMapper.selectProjectCount(projectId)==null){
-                        glassOptimizeMapper.addProjectMp(projectId,projectNmae,glass_thickness,glass_type,sumQuantity,sumArea.doubleValue(),userName,
-                                flowCardList.size(), String.valueOf(processId),type);
-                    }else{
-                        TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
-                        return "false1";
-                    }
+                    TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+                    return "false1";
                 }
-            }else {
-                return "false2";
-
             }
         } catch (Exception e) {
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -1394,6 +1394,8 @@
     public Map<String, Object> getProductListSv(String processId) {
         Map<String, Object> productMap = new HashMap<>();
         List<Map<String, Object>> productInfo = glassOptimizeMapper.selectProjectList(processId);
+        List<Map<String, Object>> tempProductInfo = glassOptimizeMapper.selectTempProject(processId);
+        productInfo.addAll(tempProductInfo);
         productMap.put("productInfo", productInfo);
         Map<String, Object> map = new HashMap<>();
 
@@ -1401,7 +1403,7 @@
             // 鎸夌収 processCard 鍒嗙粍
             Map<String, List<Map<String, Object>>> groupedByProcessCard = new HashMap<>();
             for (Map<String, Object> item : productInfo) {
-                String processCard = (String) item.get("processCard");
+                String processCard = String.valueOf(item.get("processCard"));
                 if (processCard != null) {
                     groupedByProcessCard.computeIfAbsent(processCard, k -> new ArrayList<>()).add(item);
                 }

--
Gitblit v1.8.0