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