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/resources/mapper/pp/GlassOptimize.xml | 38 +++++++++++++++++-
north-glass-erp/src/main/java/com/example/erp/mapper/pp/GlassOptimizeMapper.java | 5 ++
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/ProjectMange.vue | 1
north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java | 51 ++++++++++++++++++++++++-
4 files changed, 89 insertions(+), 6 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/ProjectMange.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/ProjectMange.vue
index 78839c0..d324de7 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/ProjectMange.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/ProjectMange.vue
@@ -686,6 +686,7 @@
produceList.value = produceList.value.concat(deepClone(res.data.data))
xGrid.value.reloadData(produceList.value);
gridOptions.loading = false;
+ console.log('宸ョ▼绠$悊琛ㄦ牸鏁版嵁',produceList.value);
} else {
ElMessage.warning(res.msg);
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/GlassOptimizeMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/GlassOptimizeMapper.java
index 32daa6d..0c92e42 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/GlassOptimizeMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/GlassOptimizeMapper.java
@@ -194,4 +194,9 @@
List<Map<String,Object>> selectOptimizeDetail(String projectNo);
List<Map<String,Object>> selectFlowCardInfoList(String projectNo);
+
+
+ Map<String, Object> getGlassInfo(String projectId);
+
+ void addOptimizeOffcut(Map<String, Object> map, String projectId, String glassType, String glassThickness);
}
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); // 榛樿鍊�
+ }
+ }
}
}
diff --git a/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml b/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
index b8e3b09..44f15fe 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
@@ -746,7 +746,7 @@
from pp.optimize_project as p
left join pp.optimize_admin as a on p.creater = a.Id
where (`p`.`state` > 0)
- and (tempering_state>0 or optimize_state>0)
+# and (tempering_state>0 or optimize_state>0)
and DATE (`p`.`create_time`) BETWEEN #{startSelectTime} AND #{endSelectTime}
<if test="optimizeProjectMange.projectNumber != null and optimizeProjectMange.projectNumber != ''">
and p.project_no regexp #{optimizeProjectMange.projectNumber}
@@ -1232,6 +1232,7 @@
y_axis,
patch_state,
mark_icon,
+ isRotate,
rack_no
) VALUES (
#{projectId},
@@ -1249,6 +1250,7 @@
#{glass.y},
#{glass.patchState},
#{glass.markIcon},
+ #{glass.isRotate},
#{glass.rackNo}
);
</foreach>
@@ -1341,6 +1343,28 @@
now()
);
</foreach>
+ </insert>
+ <insert id="addOptimizeOffcut">
+ INSERT INTO pp.optimize_offcut (
+ project_no,
+ stock_id,
+ width,
+ height,
+ x_axis,
+ y_axis,
+ model,
+ thickness
+ ) VALUES (
+ #{projectId},
+ #{map.stockSort},
+ #{map.width},
+ #{map.height},
+ #{map.x},
+ #{map.y},
+ #{glassType},
+ #{glassThickness}
+
+ )
</insert>
@@ -1749,8 +1773,16 @@
where
project_no =#{projectNo}
</select>
-
-
+ <select id="getGlassInfo" resultType="java.util.Map">
+ select
+ project_no,
+ glass_type,
+ glass_thickness
+ from
+ pp.optimize_project
+ where
+ project_no = #{projectId}
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0