From 768e16999a8ce4bb500490ee76c659aa61ea1783 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期二, 25 三月 2025 10:08:13 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java | 257 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 257 insertions(+), 0 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
new file mode 100644
index 0000000..6d839ca
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java
@@ -0,0 +1,257 @@
+package com.example.erp.controller.pp;
+
+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;
+
+@RestController
+@Api(value="浼樺寲绠$悊controller",tags={"浼樺寲绠$悊鎿嶄綔鎺ュ彛"})
+@RequestMapping("/glassOptimize")
+public class GlassOptimizeController {
+ @Autowired
+ GlassOptimizeService glassOptimizeService;
+ @Autowired
+ private UserService userService;
+ //宸ョ▼淇℃伅
+ @ApiOperation("宸ョ▼淇℃伅鎺ュ彛")
+ @PostMapping ("/projectInfo/{projectNo}")
+ public Result projectInfo(
+ @PathVariable String projectNo){
+ return Result.seccess(glassOptimizeService.projectInfoSv(projectNo));
+ }
+
+ //宸ョ▼淇℃伅娴佺▼鍗�
+ @ApiOperation("宸ョ▼淇℃伅娴佺▼鍗℃帴鍙�")
+ @PostMapping ("/getProcessCard/{projectNo}")
+ public Result getProcessCard(
+ @PathVariable String projectNo){
+ return Result.seccess(glassOptimizeService.getProcessCardSv(projectNo));
+ }
+
+ //搴撳瓨淇℃伅
+ @ApiOperation("搴撳瓨淇℃伅鎺ュ彛")
+ @PostMapping ("/materialStore/{thickness}/{model}")
+ public Result materialStore(
+ @PathVariable String thickness,
+ @PathVariable String model ){
+ return Result.seccess(glassOptimizeService.materialStoreSv(thickness,model));
+ }
+
+
+ //宸ョ▼鏌ヨ娴佺▼鍗�
+ @ApiOperation("鍒涘缓宸ョ▼鏌ヨ娴佺▼鍗℃帴鍙�")
+ @PostMapping ("/getFlowCardList/{optionVal}/{radio}")
+ public Result getFlowCardList(
+ @PathVariable String optionVal,
+ @PathVariable Integer radio){
+ return Result.seccess(glassOptimizeService.getFlowCardList(optionVal,radio));
+ }
+
+ //宸ョ▼鏌ヨ娴佺▼鍗�
+ @ApiOperation("宸ョ▼鏌ヨ娴佺▼鍗�")
+ @PostMapping ("/getProjectList")
+ public Result getProjectList(){
+ return Result.seccess(glassOptimizeService.getProjectListSv());
+ }
+
+ //宸ョ▼绠$悊鏌ヨ
+ @ApiOperation("宸ョ▼绠$悊鏌ヨ鎺ュ彛")
+ @PostMapping("/optimizeProjectMange/{startSelectTime}/{endSelectTime}")
+ public Result optimizeProjectMange(
+ @PathVariable Date startSelectTime,
+ @PathVariable Date endSelectTime,
+ @RequestBody OptimizeProjectMange optimizeProjectMange) {
+ return Result.seccess(glassOptimizeService.OptimizeProjectMange(startSelectTime,endSelectTime,optimizeProjectMange));
+ }
+
+ //淇敼宸ョ▼鐘舵��
+ @ApiOperation("淇敼宸ョ▼鐘舵�佹帴鍙�")
+ @PostMapping("/updateProjectState/{projectNumber}/{state}")
+ public Result updateProjectState(
+ @PathVariable String projectNumber,
+ @PathVariable Integer state
+ ) {
+ if (glassOptimizeService.updateProjectState(projectNumber, state)) {
+ return Result.seccess();
+ } else {
+ throw new ServiceException(Constants.Code_500, "淇敼澶辫触");
+
+ }
+ }
+
+ //鍒犻櫎宸ョ▼
+ @ApiOperation("宸ョ▼绠$悊鍒犻櫎鎺ュ彛")
+ @PostMapping("/deleteProject/{projectNumber}")
+ public Result deleteProject(
+ @PathVariable String projectNumber){
+ return Result.seccess(glassOptimizeService.deleteProject(projectNumber));
+ }
+
+ //妯℃嫙璁$畻宸ョ▼鍙锋煡璇�
+ @ApiOperation("妯℃嫙璁$畻宸ョ▼鍙锋煡璇�")
+ @PostMapping ("/selectProjectCompute/{projectNumber}")
+ public Result selectProjectCompute(
+ @PathVariable String projectNumber){
+ return Result.seccess(glassOptimizeService.selectProjectComputeSv(projectNumber));
+ }
+
+ //妯℃嫙璁$畻娴佺▼鍗¤鎯�
+ @ApiOperation("妯℃嫙璁$畻娴佺▼鍗¤鎯�")
+ @PostMapping ("/selectComputeDetail/{processId}")
+ public Result selectComputeDetail(
+ @PathVariable String processId){
+ return Result.seccess(glassOptimizeService.selectComputeDetailSv(processId));
+ }
+
+ @ApiOperation("妯℃嫙璁$畻")
+ @PostMapping("/simulationCalculate")
+ public Result simulationCalculate(@RequestBody Map<String, Object> object) {
+ try {
+ return Result.seccess(glassOptimizeService.SimulationCalculation(object));
+ } catch (Exception e) {
+ e.printStackTrace();
+ return Result.error();
+ }
+ }
+
+ @ApiOperation("妯℃嫙璁$畻淇濆瓨")
+ @PostMapping("/simulationSave")
+ public Result simulationSave(@RequestBody Map<String, Object> object) {
+ try {
+ return Result.seccess(glassOptimizeService.addSimulation(object));
+ } catch (Exception e) {
+ e.printStackTrace();
+ return Result.error();
+ }
+ }
+
+ @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));
+ }
+
+
+
+ @ApiOperation("妯℃嫙璁$畻澶氭祦绋嬪崱")
+ @PostMapping("/selectComputeDetailmore")
+ public Result selectComputeDetailmore(@RequestBody Map<String, Object> object) {
+ try {
+ return Result.seccess(glassOptimizeService.SimulationCalculation(object));
+ } catch (Exception e) {
+ e.printStackTrace();
+ return Result.error();
+ }
+ }
+
+
+
+
+
+ //鍒涘缓宸ョ▼鏌ヨ娴佺▼鍗℃槑缁�
+ @ApiOperation("鍒涘缓宸ョ▼鏌ヨ娴佺▼鍗℃槑缁�")
+ @PostMapping ("/getProcessCardDetail/{processId}/{technologyNumber}")
+ public Result getProcessCardDetail(
+ @PathVariable String processId,
+ @PathVariable Integer technologyNumber){
+ return Result.seccess(glassOptimizeService.getProcessCardDetailSv(processId,technologyNumber));
+ }
+
+ @ApiOperation("鑶滅郴鏌ヨ")
+ @PostMapping ("/selectGlassType")
+ public Result selectGlassType(){
+ return Result.seccess(glassOptimizeService.selectGlassTypeSv());
+ }
+
+ @ApiOperation("鏈�鏂板伐绋嬪彿鏌ヨ")
+ @PostMapping ("/getProjectId")
+ public Result getProjectId(){
+ return Result.seccess(glassOptimizeService.getProjectIdSv());
+ }
+ @ApiOperation("鍒涘缓宸ョ▼鎺ュ彛")
+ @PostMapping("/addProject/{optionVal}/{projectId}/{projectNmae}")
+ public Result addProject(
+ @PathVariable String optionVal,
+ @PathVariable String projectId,
+ @PathVariable String projectNmae,
+ @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