From a158ed9136af588b82d365f98074b29c70cdb601 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期五, 08 八月 2025 15:58:35 +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/GlassOptimizeService.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 48 insertions(+), 3 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 9535a46..b6adbf0 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
@@ -262,6 +262,8 @@
             List<Map<String, Object>> originalFilm = (List<Map<String, Object>>) object.get("originalFilm");
             glassOptimizeMapper.addOptimizeUse(originalFilm,projectId,"admin");
 
+            Map<String, Object> glassInfo = glassOptimizeMapper.getGlassInfo(projectId);
+
             ObjectMapper mapper = new ObjectMapper();
             String json = mapper.writeValueAsString(optimalResults);
             glassOptimizeMapper.addOptimizeProjectFile(json,projectId,"admin");
@@ -270,12 +272,55 @@
             glassOptimizeMapper.addOptimizeLayout(objectMapList,projectId);
             for(Map<String, Object> objectMap:objectMapList){
                 List<Map<String, Object>> objectMap2 = (List<Map<String, Object>>) objectMap.get("glassDetails");
-                //杩唬鐜荤拑鏄庣粏闆嗗悎鍒犻櫎浣欐枡
+                //杩唬鐜荤拑鏄庣粏闆嗗悎澶勭悊浣欐枡鍜屽叾浠�
                 Iterator<Map<String, Object>> iterator = objectMap2.iterator();
                 while (iterator.hasNext()) {
                     Map<String, Object> map = iterator.next();
-                    if (map.get("isRemain").toString()=="true") {
-                        iterator.remove();
+                    // 淇敼isRemain鍒ゆ柇閫昏緫锛屾敮鎸佹暟瀛�0/1鍜屽瓧绗︿覆"0"/"1"
+                    boolean isRemain = false;
+                    if (map.containsKey("isRemain")) {
+                        Object isRemainObj = map.get("isRemain");
+                        if (isRemainObj != null) {
+                            if (isRemainObj instanceof Number) {
+                                // 鏁板瓧绫诲瀷: 1琛ㄧずtrue锛�0琛ㄧずfalse
+                                isRemain = ((Number) isRemainObj).intValue() == 1;
+                            } else {
+                                // 瀛楃涓茬被鍨�: "1"琛ㄧずtrue锛�"0"琛ㄧずfalse
+                                isRemain = "1".equals(isRemainObj.toString());
+                            }
+                        }
+                    }
+
+                    if (isRemain) {
+                        System.out.println( map);
+                        if (glassInfo != null) {
+                            String glassType = (String) glassInfo.get("glass_type");
+                            String glassThickness = (String) glassInfo.get("glass_thickness");
+                            // 浣欐枡瀛樺叆optimizeoffcut
+                            glassOptimizeMapper.addOptimizeOffcut(map, projectId, glassType, glassThickness);
+                        }
+                        iterator.remove(); // 浠庡師鍒楄〃涓Щ闄�
+                    }else {
+                        // 澶勭悊isRotate瀛楁杞崲 (鐜板湪鏄�0/1)
+                        if (map.containsKey("isRotate")) {
+                            Object isRotateObj = map.get("isRotate");
+                            if (isRotateObj != null) {
+                                if (isRotateObj instanceof Number) {
+                                    // 鐩存帴浣跨敤鏁板瓧鍊�
+                                    map.put("isRotate", ((Number) isRotateObj).intValue());
+                                } else {
+                                    // 瀛楃涓插舰寮忕殑"0"/"1"
+                                    String isRotateStr = isRotateObj.toString();
+                                    if ("1".equals(isRotateStr)) {
+                                        map.put("isRotate", 1);
+                                    } else {
+                                        map.put("isRotate", 0);
+                                    }
+                                }
+                            } else {
+                                map.put("isRotate", 0); // 榛樿鍊�
+                            }
+                        }
                     }
                 }
 

--
Gitblit v1.8.0