From 1fdbe0a35b29cfda7baa11ae2665f55911e0d970 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期三, 19 三月 2025 15:56:52 +0800
Subject: [PATCH] 版图调整更新,OPT文件下载

---
 north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java |   77 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 1 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 b7aa8ec..6d839ca 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
@@ -3,14 +3,23 @@
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.example.erp.common.Constants;
 import com.example.erp.common.Result;
+import com.example.erp.entity.pp.LayoutsData;
 import com.example.erp.entity.pp.OptimizeProjectMange;
 import com.example.erp.exception.ServiceException;
 import com.example.erp.service.pp.GlassOptimizeService;
+import com.example.erp.service.pp.JsonToOptConverter;
+import com.example.erp.service.userInfo.UserService;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.IOException;
 import java.sql.Date;
 import java.util.Map;
 
@@ -20,7 +29,8 @@
 public class GlassOptimizeController {
     @Autowired
     GlassOptimizeService glassOptimizeService;
-
+    @Autowired
+    private UserService userService;
     //宸ョ▼淇℃伅
     @ApiOperation("宸ョ▼淇℃伅鎺ュ彛")
     @PostMapping  ("/projectInfo/{projectNo}")
@@ -134,6 +144,22 @@
         }
     }
 
+    @ApiOperation("浼樺寲璁剧疆淇濆瓨")
+    @PostMapping("/optimizeParms")
+    public Result optimizeParmsSave(@RequestBody Map<String, Object> object) {
+        try {
+            return Result.seccess(glassOptimizeService.optimizeParmsSave(object));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return Result.error();
+        }
+    }
+
+
+    @PostMapping("/selectOptimizeParms/{username}")
+    public Result getOptimizeParms(@PathVariable String username) {
+        return Result.seccess(userService.getOptimizeParms(username));
+    }
 
 
 
@@ -147,6 +173,8 @@
             return Result.error();
         }
     }
+
+
 
 
 
@@ -179,4 +207,51 @@
             @RequestBody Map<String,Object> object){
         return  Result.seccess(glassOptimizeService.addProjectSv(optionVal,projectId,projectNmae,object));
     }
+
+
+    @ApiOperation("淇濆瓨浼樺寲缁撴灉鎺ュ彛")
+    @PostMapping("/saveOptimizeResult")
+    public Result saveOptimizeResult(
+            @RequestBody Map<String,Object> object){
+        return  Result.seccess(glassOptimizeService.saveOptimizeResult(object));
+    }
+
+
+    @ApiOperation("鏌ヨ浼樺寲缁撴灉鎺ュ彛")
+    @PostMapping("/selectOptimizeResult/{processId}")
+    public Result selectOptimizeResult(
+            @PathVariable String processId){
+        return  Result.seccess(glassOptimizeService.selectOptimizeResult(processId));
+    }
+
+    @ApiOperation("鏇存柊浼樺寲缁撴灉鎺ュ彛")
+    @PostMapping("/updateOptimizeResult/{processId}")
+    public Result updateOptimizeResult(
+            @PathVariable String processId,@RequestBody Map<String,Object> object){
+
+        return  Result.seccess(glassOptimizeService.updateOptimizeResult(object,processId));
+    }
+    @ApiOperation("OPT鏂囦欢涓嬭浇鎺ュ彛")
+    @PostMapping("/generateOpt")
+    public ResponseEntity<byte[]> generateOptFile(@RequestBody LayoutsData layoutsData) throws IOException {
+        // 纭繚 layoutsData 鍖呭惈 Layouts 鏁扮粍
+        if (layoutsData == null || layoutsData.getLayouts() == null) {
+            throw new IllegalArgumentException("Layouts 鏁版嵁涓嶈兘涓虹┖");
+        }
+
+        // 鐢熸垚 OPT 鏂囦欢鍐呭
+        String optContent = JsonToOptConverter.generateOptContent(layoutsData);
+
+        // 鍒涘缓鍝嶅簲澶�
+        HttpHeaders headers = new HttpHeaders();
+        headers.setContentType(org.springframework.http.MediaType.TEXT_PLAIN);
+        headers.setContentDispositionFormData("attachment", "output.opt");
+
+        // 杩斿洖鏂囦欢鍐呭
+        return new ResponseEntity<>(optContent.getBytes(), headers, HttpStatus.OK);
+    }
+
+
+
+
 }

--
Gitblit v1.8.0