From 78ed3451273dd83a198e337aae6de2c895dae3a3 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期三, 31 十二月 2025 13:57:50 +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/controller/pp/GlassOptimizeController.java |   47 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java
index a37de06..4c0c3be 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java
@@ -1,5 +1,6 @@
 package com.example.erp.controller.pp;
 
+import com.example.erp.dto.pp.MesCalculateDTO;
 import org.springframework.core.io.InputStreamResource;
 import com.example.erp.common.Constants;
 import com.example.erp.common.Result;
@@ -24,7 +25,9 @@
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.sql.Date;
+import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.CompletableFuture;
 
 @RestController
 @Api(value="浼樺寲绠$悊controller",tags={"浼樺寲绠$悊鎿嶄綔鎺ュ彛"})
@@ -130,11 +133,14 @@
             @PathVariable Integer states,
             @PathVariable Integer code
     ) throws JsonProcessingException {
-        if (glassOptimizeService.updateProjectState(projectNumber, state,states,code)) {
-            return Result.success();
-        } else {
-            throw new ServiceException(Constants.Code_500, "淇敼澶辫触");
-
+        try {
+            if (glassOptimizeService.updateProjectState(projectNumber, state, states, code)) {
+                return Result.success();
+            } else {
+                throw new ServiceException(Constants.Code_500, "淇敼澶辫触");
+            }
+        } catch (Exception e) {
+            return Result.error("201", e.getMessage());
         }
     }
 
@@ -224,6 +230,37 @@
     }
 
 
+    @PostMapping("/mesCalculate")
+    public ResponseEntity<Map<String, Object>> receiveOptimizeRequest(
+            @RequestBody MesCalculateDTO mesCalculateDTO) {
+
+        Map<String, Object> response = new HashMap<>();
+
+        try {
+            // 绔嬪嵆杩斿洖鎺ユ敹鎴愬姛鐨勫搷搴�
+            response.put("code", "200");
+            response.put("msg", "success");
+            response.put("data", true);
+
+            // 浣跨敤CompletableFuture 寮傛澶勭悊璁$畻浠诲姟
+            CompletableFuture.runAsync(() -> {
+                try {
+                    glassOptimizeService.processExternalOptimizeRequest(mesCalculateDTO);
+                } catch (Exception e) {
+                    System.err.println("寮傛澶勭悊浼樺寲璇锋眰鏃跺彂鐢熼敊璇�: " + e.getMessage());
+                    e.printStackTrace();
+                }
+            });
+            return ResponseEntity.ok(response);
+        } catch (Exception e) {
+            response.put("code", 201);
+            response.put("msg", e.getMessage());
+            response.put("data", false);
+            return ResponseEntity.status(500).body(response);
+        }
+    }
+
+
 
 
 

--
Gitblit v1.8.0