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