From c27bbcc497711df8b13d096f4917b5a8f16508c9 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期日, 28 九月 2025 10:28:59 +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 | 28 +++++++++++++++++++++++++---
1 files changed, 25 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 b969ad3..560d062 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
@@ -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");
@@ -391,6 +393,24 @@
}
}
}
+ // 澶勭悊 glassPoint 搴忓垪鍖�
+ if (detail.containsKey("glassPoint")) {
+ Object glassPointObj = detail.get("glassPoint");
+ if (glassPointObj != null) {
+ try {
+ // 濡傛灉 glassPointObj 宸茬粡鏄瓧绗︿覆锛屽垯涓嶉渶瑕佽浆鎹�
+ if (!(glassPointObj instanceof String)) {
+ // 灏嗗璞¤浆鎹负 JSON 瀛楃涓�
+ String glassPointStr = mapper.writeValueAsString(glassPointObj);
+ detail.put("glassPoint", glassPointStr);
+ }
+ } catch (Exception e) {
+ // 濡傛灉杞崲澶辫触锛岃褰曢敊璇苟绉婚櫎璇ュ瓧娈�
+ System.err.println("杞崲 glassPoint 澶辫触: " + e.getMessage());
+ detail.remove("glassPoint");
+ }
+ }
+ }
if (isRemain) {
offCutDetails.add(detail);
@@ -406,18 +426,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);
@@ -694,6 +714,8 @@
Boolean isSeccess = issuingProjects(projectNumber);
if(isSeccess){
glassOptimizeMapper.updateProjectStateMp(projectNumber, state);
+ }else{
+ return false;
}
}
//鐢熶骇涓嶅彲瑙�
--
Gitblit v1.8.0