From aa979ce4fbac1caaf32f568a08631820d3747d30 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 09 五月 2025 13:38:52 +0800
Subject: [PATCH] 优化部分修改

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java |  117 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 59 insertions(+), 58 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 621c55d..f79fbea 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
@@ -18,8 +18,14 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.io.BufferedReader;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
 import java.math.BigDecimal;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.nio.charset.StandardCharsets;
 import java.sql.Date;
 import java.text.DecimalFormat;
 import java.util.*;
@@ -38,7 +44,7 @@
     RabbitMQUtil rabbitMQUtil;
     //妯℃嫙璁$畻
 
-    public Map<String, Object> SimulationCalculation(Map<String,Object> message) {
+    /*public Map<String, Object> SimulationCalculation(Map<String,Object> message) {
         Map<String, Object> map = new HashMap<>();
         try {
             rabbitMQUtil = new RabbitMQUtil();
@@ -46,10 +52,10 @@
 
 
             // 鑾峰彇 computeData 鍜� cardData
-            /*Object computeData = message.get("computeData");
-            Object cardData = message.get("cardData");*/
+            *//*Object computeData = message.get("computeData");
+            Object cardData = message.get("cardData");*//*
 
-           rabbitMQUtil.sendMessage(message.toString());
+            rabbitMQUtil.sendMessage(message.toString());
             System.out.println("send message: " + message);
             String date = rabbitMQUtil.receiveMessages();
             System.out.println("Received message: " + date);
@@ -61,6 +67,50 @@
         } catch (IOException e) {
             e.printStackTrace();
         } catch (TimeoutException | InterruptedException e) {
+            e.printStackTrace();
+        }
+
+        return map;
+    }*/
+
+    public Map<String, Object> SimulationCalculation(Map<String,Object> message) {
+        Map<String, Object> map = new HashMap<>();
+        try {
+            URL url = new URL("https://example.com"); // 鏇挎崲涓轰綘鐨勭洰鏍� URL
+            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+
+            conn.setRequestMethod("POST");
+            conn.setDoOutput(true); // 鍏佽鍐欏叆璇锋眰浣�
+            conn.setConnectTimeout(5000);
+            // 璇诲彇瓒呮椂锛堢瓑寰呮湇鍔″櫒鍝嶅簲鐨勬渶澶ф椂闂达級
+            conn.setReadTimeout(108000);
+
+            // 鍐欏叆璇锋眰浣撴暟鎹�
+            String postData = message.toString();
+            try (OutputStream os = conn.getOutputStream()) {
+                byte[] input = postData.getBytes(StandardCharsets.UTF_8);
+                os.write(input, 0, input.length);
+            }
+
+            // 3. 鑾峰彇鐘舵�佺爜
+            int statusCode = conn.getResponseCode();
+            System.out.println("鐘舵�佺爜: " + statusCode);
+
+            // 4. 璇诲彇鍝嶅簲鍐呭
+            BufferedReader reader = new BufferedReader(
+                    new InputStreamReader(conn.getInputStream())
+            );
+            String line;
+            StringBuilder response = new StringBuilder();
+            while ((line = reader.readLine()) != null) {
+                response.append(line);
+            }
+            reader.close();
+
+            // 杈撳嚭鍝嶅簲鍐呭
+            System.out.println("鍝嶅簲鍐呭:\n" + response.toString());
+
+        }catch (Exception e) {
             e.printStackTrace();
         }
 
@@ -466,59 +516,6 @@
 
 
 
-    public String simulatedTypesetting(Map<String, Object> object) {
-
-        String optionVal = "";
-        Integer quantity = 0;
-        Double area = 0.0;
-        if (object.get("optionVal") != null) {
-            optionVal = object.get("optionVal").toString();
-        }
-        if (object.get("quantity") != null) {
-            quantity = Integer.valueOf(object.get("quantity").toString());
-        }
-        if (object.get("area") != null) {
-            area = Double.valueOf(object.get("area").toString());
-        }
-        List<Map<String, Object>> flowCardListNormal = glassOptimizeMapper.getFlowCardListNormal(optionVal);
-
-
-        int currentQuantity = 0;
-        double currentArea = 0;
-        List<List<Map<String, Object>>> result = new ArrayList<>();
-        List<Map<String, Object>> currentGroup = new ArrayList<>();
-
-        if(area==0 && quantity>0){
-            for(Map<String, Object> flowCardNormal: flowCardListNormal){
-                if (Integer.valueOf(flowCardNormal.get("quantity").toString()) > quantity ) {
-                    continue;
-                }
-                int newQuantity = currentQuantity + Integer.valueOf(flowCardNormal.get("quantity").toString());
-                double newArea = currentArea + Double.valueOf(flowCardNormal.get("area").toString());
-                if(newQuantity>quantity){
-                    result.add(currentGroup);
-                    currentGroup = new ArrayList<>();
-                    currentQuantity = 0;
-                    currentArea = 0;
-                    newQuantity = Integer.valueOf(flowCardNormal.get("quantity").toString());
-                    newArea = Double.valueOf(flowCardNormal.get("area").toString());
-
-                }
-                currentGroup.add(flowCardNormal);
-                currentQuantity = newQuantity;
-                currentArea = newArea;
-
-            }
-
-            if (!currentGroup.isEmpty()) {
-                result.add(currentGroup);
-            }
-        }
-            System.out.println(result);
-
-        return "";
-
-    }
 
     public String simulatedTypesetting1(Map<String, Object> object) {
 
@@ -538,7 +535,11 @@
         } else {
             area = 0.0;
         }
-        List<Map<String, Object>> flowCardListNormal = glassOptimizeMapper.getFlowCardListNormal(optionVal);
+
+        JSONArray materialStore = JSONArray.parseArray(JSONObject.toJSONString(object.get("materialStore")));
+
+
+        List<Map<String, Object>> flowCardListNormal = glassOptimizeMapper.getFlowCardListSimulated(optionVal);
 
 
         Queue<Map<String, Object>> queue = flowCardListNormal.stream()

--
Gitblit v1.8.0