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 | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 104 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 f6e1d5e..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
@@ -14,7 +14,9 @@
import com.example.erp.entity.userInfo.SysError;
import com.example.erp.mapper.pp.GlassOptimizeMapper;
import com.example.erp.service.userInfo.SysErrorService;
+import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -260,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");
@@ -268,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); // 榛樿鍊�
+ }
+ }
}
}
@@ -892,4 +939,58 @@
return map;
}
+
+ public Boolean issuingProjects(String projectNo) throws JsonProcessingException {
+ boolean saveState=false;
+ try {
+ // 1. 鍒涘缓URL瀵硅薄
+ URL url = new URL("http://localhost:88/api/loadGlass/engineering/importEngineer");
+
+ // 2. 鎵撳紑杩炴帴
+ HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+ conn.setRequestMethod("POST");
+ conn.setRequestProperty("Content-Type", "application/json");
+ conn.setRequestProperty("Accept", "application/json");
+ conn.setDoOutput(true);
+
+ // 3. 鍑嗗璇锋眰浣�
+ Map<String, Object> optimizeProject=glassOptimizeMapper.selectOptimizeProject(projectNo);
+ optimizeProject.put("engineeringRawQueueList", glassOptimizeMapper.selectOptimizeLayout(projectNo));
+ optimizeProject.put("glassInfolList", glassOptimizeMapper.selectOptimizeDetail(projectNo));
+ optimizeProject.put("flowCardInfoList", glassOptimizeMapper.selectFlowCardInfoList(projectNo));
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.registerModule(new JavaTimeModule());
+ String jsonInputString = mapper.writeValueAsString(optimizeProject);
+
+ //鍙戦�佽姹�
+ try(OutputStream os = conn.getOutputStream()) {
+ byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8);
+ os.write(input, 0, input.length);
+ }
+
+ // 鑾峰彇鍝嶅簲
+ try(BufferedReader br = new BufferedReader(
+ new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8))) {
+ StringBuilder response = new StringBuilder();
+ String responseLine;
+ while ((responseLine = br.readLine()) != null) {
+ response.append(responseLine.trim());
+ }
+ System.out.println("Response: " + response.toString());
+ JSONObject obj = JSONObject.parseObject(response.toString());
+ if(obj.get("code").equals(200)&&obj.get("data").equals(true)){
+ saveState=true;
+ }
+
+ }
+
+ //鍏抽棴杩炴帴
+ conn.disconnect();
+ } catch (Exception e) {
+ e.printStackTrace();
+ saveState= false;
+ }
+ return saveState;
+ }
+
}
--
Gitblit v1.8.0