廖井涛
2025-09-24 4ecafe1bbc2f5da577f1f5dff307983f9fd71bde
north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
@@ -365,7 +365,9 @@
            List<Map<String, Object>> objectMapList = (List<Map<String, Object>>) object.get("layouts");
            Map<String, Object> glassInfo = glassOptimizeMapper.getGlassInfo(processId);
            glassOptimizeMapper.deleteOffcutDetails(processId);
            int stockId = 1;
            for (Map<String, Object> objectMap : objectMapList) {
                List<Map<String, Object>> objectMap2 = (List<Map<String, Object>>) objectMap.get("glassDetails");
@@ -406,18 +408,18 @@
                    }
                }
                // 例如对 remainDetails 部分先删除 offcut 再处理
                // 对 remainDetails 部分先删除 offcut 再处理
                if (!offCutDetails.isEmpty()) {
                    glassOptimizeMapper.deleteOffcutDetails(processId);
                    if (glassInfo != null) {
                        String glassType = (String) glassInfo.get("glass_type");
                        String glassThickness = (String) glassInfo.get("glass_thickness");
                        // 余料存入optimizeoffcut
                        for (Map<String, Object> detail : offCutDetails) {
                            glassOptimizeMapper.addUpdateOffcut(detail, processId, glassType, glassThickness);
                            glassOptimizeMapper.addUpdateOffcut(detail, processId, glassType, glassThickness, stockId);
                        }
                    }
                }
                stockId++;
            }
            // 更新优化结果文件
            String jsonString = mapper.writeValueAsString(object);