From 33dbc6a161554f3a897f9e9273feb4f2c1b47381 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 15 十二月 2025 17:04:27 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java | 414 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 382 insertions(+), 32 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..0ff4649 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,17 +1,30 @@
package com.example.erp.controller.pp;
-import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.core.io.InputStreamResource;
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 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.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.sql.Date;
+import java.util.HashMap;
import java.util.Map;
@RestController
@@ -20,13 +33,22 @@
public class GlassOptimizeController {
@Autowired
GlassOptimizeService glassOptimizeService;
-
+ @Autowired
+ private UserService userService;
//宸ョ▼淇℃伅
@ApiOperation("宸ョ▼淇℃伅鎺ュ彛")
- @PostMapping ("/projectInfo/{projectNo}")
+ @PostMapping ("/projectInfo/{projectNo}/{username}")
public Result projectInfo(
- @PathVariable String projectNo){
- return Result.seccess(glassOptimizeService.projectInfoSv(projectNo));
+ @PathVariable String projectNo,@PathVariable String username){
+ return Result.success(glassOptimizeService.projectInfoSv(projectNo,username));
+ }
+
+
+ // 浼樺寲淇℃伅浼犲叆
+ @ApiOperation("浼樺寲浼犲叆淇℃伅鎺ュ彛")
+ @PostMapping ("/optimizeInfo/{projectNo}/{username}")
+ public Result optimizeInfo(@PathVariable String projectNo,@PathVariable String username){
+ return Result.success(glassOptimizeService.optimizeInfoSv(projectNo,username));
}
//宸ョ▼淇℃伅娴佺▼鍗�
@@ -34,16 +56,24 @@
@PostMapping ("/getProcessCard/{projectNo}")
public Result getProcessCard(
@PathVariable String projectNo){
- return Result.seccess(glassOptimizeService.getProcessCardSv(projectNo));
+ return Result.success(glassOptimizeService.getProcessCardSv(projectNo));
+ }
+
+ @ApiOperation("宸ョ▼淇℃伅鏌ヨ鎺ュ彛")
+ @PostMapping ("/getProjectState/{projectNo}")
+ public Result getProjectState(
+ @PathVariable String projectNo){
+ return Result.success(glassOptimizeService.getProjectState(projectNo));
}
//搴撳瓨淇℃伅
@ApiOperation("搴撳瓨淇℃伅鎺ュ彛")
- @PostMapping ("/materialStore/{thickness}/{model}")
+ @GetMapping ("/materialStore/{thickness}/{model}/{projectNumber}")
public Result materialStore(
@PathVariable String thickness,
- @PathVariable String model ){
- return Result.seccess(glassOptimizeService.materialStoreSv(thickness,model));
+ @PathVariable String model,@PathVariable String projectNumber,
+ @RequestParam(name = "type", required = false) Integer type,@RequestParam(name = "username", required = false) String username ){
+ return Result.success(glassOptimizeService.materialStoreSv(thickness,model,projectNumber,type,username));
}
@@ -53,15 +83,34 @@
public Result getFlowCardList(
@PathVariable String optionVal,
@PathVariable Integer radio){
- return Result.seccess(glassOptimizeService.getFlowCardList(optionVal,radio));
+ return Result.success(glassOptimizeService.getFlowCardList(optionVal,radio));
+ }
+
+ //宸ョ▼鏌ヨ娴佺▼鍗�
+ @ApiOperation("淇敼宸ョ▼鏌ヨ娴佺▼鍗℃帴鍙�")
+ @PostMapping ("/getUpdateFlowCardList/{type}/{thickness}/{radio}/{projectNo}")
+ public Result getUpdateFlowCardList(
+ @PathVariable String type,@PathVariable String thickness,
+ @PathVariable Integer radio,@PathVariable String projectNo){
+ return Result.success(glassOptimizeService.getUpdateFlowCardList(type,thickness,radio,projectNo));
}
//宸ョ▼鏌ヨ娴佺▼鍗�
@ApiOperation("宸ョ▼鏌ヨ娴佺▼鍗�")
@PostMapping ("/getProjectList")
public Result getProjectList(){
- return Result.seccess(glassOptimizeService.getProjectListSv());
+ return Result.success(glassOptimizeService.getProjectListSv());
}
+
+ @ApiOperation("鏍规嵁宸ョ▼鍗″彿宸ョ▼鏌ヨ娴佺▼鍗�")
+ @PostMapping ("/getProjectByProjectNo/{projectNo}")
+ public Result getProjectByProjectNo(
+ @PathVariable String projectNo
+ ){
+ return Result.success(glassOptimizeService.getProjectByProjectNoSv(projectNo));
+ }
+
+
//宸ョ▼绠$悊鏌ヨ
@ApiOperation("宸ョ▼绠$悊鏌ヨ鎺ュ彛")
@@ -70,21 +119,26 @@
@PathVariable Date startSelectTime,
@PathVariable Date endSelectTime,
@RequestBody OptimizeProjectMange optimizeProjectMange) {
- return Result.seccess(glassOptimizeService.OptimizeProjectMange(startSelectTime,endSelectTime,optimizeProjectMange));
+ return Result.success(glassOptimizeService.OptimizeProjectMange(startSelectTime,endSelectTime,optimizeProjectMange));
}
//淇敼宸ョ▼鐘舵��
@ApiOperation("淇敼宸ョ▼鐘舵�佹帴鍙�")
- @PostMapping("/updateProjectState/{projectNumber}/{state}")
+ @PostMapping("/updateProjectState/{projectNumber}/{state}/{states}/{code}")
public Result updateProjectState(
@PathVariable String projectNumber,
- @PathVariable Integer state
- ) {
- if (glassOptimizeService.updateProjectState(projectNumber, state)) {
- return Result.seccess();
- } else {
- throw new ServiceException(Constants.Code_500, "淇敼澶辫触");
-
+ @PathVariable Integer state,
+ @PathVariable Integer states,
+ @PathVariable Integer code
+ ) throws JsonProcessingException {
+ 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());
}
}
@@ -93,7 +147,7 @@
@PostMapping("/deleteProject/{projectNumber}")
public Result deleteProject(
@PathVariable String projectNumber){
- return Result.seccess(glassOptimizeService.deleteProject(projectNumber));
+ return Result.success(glassOptimizeService.deleteProject(projectNumber,1));
}
//妯℃嫙璁$畻宸ョ▼鍙锋煡璇�
@@ -101,22 +155,30 @@
@PostMapping ("/selectProjectCompute/{projectNumber}")
public Result selectProjectCompute(
@PathVariable String projectNumber){
- return Result.seccess(glassOptimizeService.selectProjectComputeSv(projectNumber));
+ return Result.success(glassOptimizeService.selectProjectComputeSv(projectNumber));
+ }
+
+ //妯℃嫙璁$畻宸ョ▼鍙锋煡璇�
+ @ApiOperation("妯℃嫙璁$畻宸ョ▼鏁版嵁鏌ヨ")
+ @PostMapping ("/selectProjectComputeAll/{projectNumber}")
+ public Result selectProjectComputeAll(
+ @PathVariable String projectNumber){
+ return Result.success(glassOptimizeService.selectProjectComputeAll(projectNumber));
}
//妯℃嫙璁$畻娴佺▼鍗¤鎯�
@ApiOperation("妯℃嫙璁$畻娴佺▼鍗¤鎯�")
- @PostMapping ("/selectComputeDetail/{processId}")
+ @PostMapping ("/selectComputeDetail/{processId}/{technologyNumber}/{patchState}")
public Result selectComputeDetail(
- @PathVariable String processId){
- return Result.seccess(glassOptimizeService.selectComputeDetailSv(processId));
+ @PathVariable String processId, @PathVariable Integer technologyNumber,@PathVariable String patchState){
+ return Result.success(glassOptimizeService.selectComputeDetailSv(processId,technologyNumber,patchState));
}
@ApiOperation("妯℃嫙璁$畻")
@PostMapping("/simulationCalculate")
public Result simulationCalculate(@RequestBody Map<String, Object> object) {
try {
- return Result.seccess(glassOptimizeService.SimulationCalculation(object));
+ return Result.success(glassOptimizeService.SimulationCalculation(object));
} catch (Exception e) {
e.printStackTrace();
return Result.error();
@@ -126,14 +188,31 @@
@ApiOperation("妯℃嫙璁$畻淇濆瓨")
@PostMapping("/simulationSave")
public Result simulationSave(@RequestBody Map<String, Object> object) {
+ System.out.println("鎺ユ敹鍒扮殑妯℃嫙璁$畻淇濆瓨鏁版嵁: " + object);
try {
- return Result.seccess(glassOptimizeService.addSimulation(object));
+ return Result.success(glassOptimizeService.addSimulation(object));
} catch (Exception e) {
e.printStackTrace();
return Result.error();
}
}
+ @ApiOperation("浼樺寲璁剧疆淇濆瓨")
+ @PostMapping("/optimizeParms/{username}")
+ public Result optimizeParmsSave(@RequestBody Map<String, Object> object,@PathVariable String username) {
+ try {
+ return Result.success(glassOptimizeService.optimizeParmsSave(object,username));
+ } catch (Exception e) {
+ e.printStackTrace();
+ return Result.error();
+ }
+ }
+
+
+ @PostMapping("/selectOptimizeParms/{username}")
+ public Result getOptimizeParms(@PathVariable String username) {
+ return Result.success(userService.getOptimizeParms(username));
+ }
@@ -141,12 +220,39 @@
@PostMapping("/selectComputeDetailmore")
public Result selectComputeDetailmore(@RequestBody Map<String, Object> object) {
try {
- return Result.seccess(glassOptimizeService.SimulationCalculation(object));
+ return Result.success(glassOptimizeService.SimulationCalculation(object));
} catch (Exception e) {
e.printStackTrace();
return Result.error();
}
}
+
+
+ @PostMapping("/calculate")
+ public ResponseEntity<Map<String, Object>> receiveOptimizeRequest(
+ @RequestBody Map<String, Object> requestData) {
+
+ Map<String, Object> response = new HashMap<>();
+
+ try {
+ // 绔嬪嵆杩斿洖鎺ユ敹鎴愬姛鐨勫搷搴�
+ response.put("code", "200");
+ response.put("msg", "success");
+ response.put("data", "");
+
+ // 寮傛澶勭悊璁$畻浠诲姟
+// glassOptimizeService.processExternalOptimizeRequest(requestData);
+ System.out.println(requestData);
+
+ return ResponseEntity.ok(response);
+ } catch (Exception e) {
+ response.put("code", 201);
+ response.put("msg", "false: " + e.getMessage());
+ response.put("data", "");
+ return ResponseEntity.status(500).body(response);
+ }
+ }
+
@@ -156,19 +262,19 @@
public Result getProcessCardDetail(
@PathVariable String processId,
@PathVariable Integer technologyNumber){
- return Result.seccess(glassOptimizeService.getProcessCardDetailSv(processId,technologyNumber));
+ return Result.success(glassOptimizeService.getProcessCardDetailSv(processId,technologyNumber));
}
@ApiOperation("鑶滅郴鏌ヨ")
@PostMapping ("/selectGlassType")
public Result selectGlassType(){
- return Result.seccess(glassOptimizeService.selectGlassTypeSv());
+ return Result.success(glassOptimizeService.selectGlassTypeSv());
}
@ApiOperation("鏈�鏂板伐绋嬪彿鏌ヨ")
@PostMapping ("/getProjectId")
public Result getProjectId(){
- return Result.seccess(glassOptimizeService.getProjectIdSv());
+ return Result.success(glassOptimizeService.getProjectIdSv());
}
@ApiOperation("鍒涘缓宸ョ▼鎺ュ彛")
@PostMapping("/addProject/{optionVal}/{projectId}/{projectNmae}")
@@ -177,6 +283,250 @@
@PathVariable String projectId,
@PathVariable String projectNmae,
@RequestBody Map<String,Object> object){
- return Result.seccess(glassOptimizeService.addProjectSv(optionVal,projectId,projectNmae,object));
+ return Result.success(glassOptimizeService.addProjectSv(optionVal,projectId,projectNmae,object));
}
+
+
+ @ApiOperation("淇濆瓨浼樺寲缁撴灉鎺ュ彛")
+ @PostMapping("/saveOptimizeData/{projectId}")
+ public Result saveOptimizeResult( @PathVariable String projectId,
+ @RequestBody Map<String,Object> object){
+ return Result.success(glassOptimizeService.saveOptimizeResult(object,projectId));
+ }
+
+ @ApiOperation("鏌ヨ鎶ュ憡鏁版嵁鎺ュ彛")
+ @PostMapping("/getReportData/{processId}")
+ public Result getReportData(@PathVariable String processId){
+ return Result.success(glassOptimizeService.getReportDataSv(processId));
+ }
+
+ @ApiOperation("鏌ヨ鐗╂枡淇℃伅鎺ュ彛")
+ @PostMapping("/materialInfo/{processId}")
+ public Result materialInfo(
+ @PathVariable String processId){
+ return Result.success(glassOptimizeService.getMaterialInfoSv(processId));
+ }
+
+
+ @ApiOperation("鏌ヨ浜у搧鍒楄〃鎺ュ彛")
+ @PostMapping("/getProductList/{processId}")
+ public Result getProductList(
+ @PathVariable String processId){
+ return Result.success(glassOptimizeService.getProductListSv(processId));
+ }
+
+ @ApiOperation("鏌ヨ浼樺寲缁撴灉鎺ュ彛")
+ @PostMapping("/selectOptimizeResult/{processId}")
+ public Result selectOptimizeResult(
+ @PathVariable String processId){
+ return Result.success(glassOptimizeService.selectOptimizeResult(processId));
+ }
+
+ @ApiOperation("鏌ヨ浼樺寲缁撴灉淇℃伅鎺ュ彛")
+ @PostMapping("/getOptimizeInfo/{processId}")
+ public Result getOptimizeInfo(
+ @PathVariable String processId){
+ return Result.success(glassOptimizeService.getOptimizeInfoSv(processId));
+ }
+
+ @ApiOperation("鏇存柊浼樺寲缁撴灉鎺ュ彛")
+ @PostMapping("/updateOptimizeResult/{processId}")
+ public Result updateOptimizeResult(
+ @PathVariable String processId,@RequestBody Map<String,Object> object){
+
+ return Result.success(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);
+ }
+
+ @PostMapping("/getConfiguration/{type}/{username}")
+ public Result getConfiguration(@PathVariable String type,@PathVariable String username) {
+ return Result.success(glassOptimizeService.getConfiguration(type,username));
+ }
+
+ @ApiOperation("淇墖纾ㄩ噺淇敼")
+ @PostMapping("/saveConfiguration/{type}/{username}")
+ public Result saveConfiguration(@PathVariable String type,@PathVariable String username, @RequestBody Map<String,Object> object){
+ return Result.success(glassOptimizeService.saveConfiguration(object,type,username));
+ }
+
+ @ApiOperation("妯℃嫙鎺掔増")
+ @PostMapping("/simulatedTypesetting")
+ public Result simulatedTypesetting(@RequestBody Map<String, Object> object) {
+ return Result.success(glassOptimizeService.simulatedTypesetting1(object));
+ }
+
+
+ @CrossOrigin(origins = "*")
+ @ApiOperation("PDF鏂囦欢涓嬭浇鎺ュ彛")
+ @GetMapping("/reports/pdf")
+ public ResponseEntity<InputStreamResource> downloadPdf(@RequestParam String filePath) {
+ try {
+ String decodedPath = java.net.URLDecoder.decode(filePath, "UTF-8");
+ System.out.println("鎺ユ敹鍒扮殑鏂囦欢璺緞: " + decodedPath);
+
+ // 鏀惧楠岃瘉鏉′欢锛屼粎妫�鏌ュ繀瑕佹潯浠�
+ if (decodedPath == null || decodedPath.trim().isEmpty()) {
+ System.out.println("鏂囦欢璺緞涓虹┖");
+ return ResponseEntity.badRequest().build();
+ }
+
+ // 妫�鏌ユ槸鍚︿负PDF鏂囦欢锛堜笉涓ユ牸妫�鏌ュ紑澶达級
+ if (!decodedPath.trim().toLowerCase().endsWith(".pdf")) {
+ System.out.println("鏂囦欢涓嶆槸PDF鏍煎紡: " + decodedPath);
+ return ResponseEntity.badRequest().build();
+ }
+
+ // 澶勭悊璺緞锛屾纭鐞哤indows缃戠粶璺緞
+ String processedPath = decodedPath.trim();
+ // 纭繚缃戠粶璺緞鏍煎紡姝g‘
+ if (processedPath.startsWith("\\\\")) {
+ // 宸茬粡鏄纭殑缃戠粶璺緞鏍煎紡
+ System.out.println("妫�娴嬪埌Windows缃戠粶璺緞: " + processedPath);
+ } else if (processedPath.startsWith("\\")) {
+ // 琛ュ叏缃戠粶璺緞
+ processedPath = "\\" + processedPath;
+ System.out.println("琛ュ叏缃戠粶璺緞涓�: " + processedPath);
+ }
+
+ System.out.println("澶勭悊鍚庣殑鏂囦欢璺緞: " + processedPath);
+
+ // 鏋勯�犳枃浠惰矾寰�
+ File file = new File(processedPath);
+ System.out.println("鏋勯�犵殑鏂囦欢缁濆璺緞: " + file.getAbsolutePath());
+ System.out.println("鏂囦欢瑙勮寖璺緞: " + file.getCanonicalPath());
+
+ // 妫�鏌ユ枃浠舵槸鍚﹀瓨鍦�
+ if (!file.exists()) {
+ System.out.println("鏂囦欢涓嶅瓨鍦�: " + file.getAbsolutePath());
+ return ResponseEntity.notFound().build();
+ }
+
+ // 妫�鏌ユ槸鍚︿负鏂囦欢锛堣�岄潪鐩綍锛�
+ if (!file.isFile()) {
+ System.out.println("璺緞涓嶆槸鏂囦欢: " + file.getAbsolutePath());
+ return ResponseEntity.badRequest().build();
+ }
+
+ // 鍒涘缓Resource
+ InputStreamResource resource = new InputStreamResource(new FileInputStream(file));
+
+ // 璁剧疆鍝嶅簲澶�
+ HttpHeaders headers = new HttpHeaders();
+ headers.add(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=\"" + file.getName() + "\"");
+ headers.add(HttpHeaders.CONTENT_TYPE, "application/pdf");
+ headers.add(HttpHeaders.CONTENT_LENGTH, String.valueOf(file.length()));
+ headers.add(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, HttpHeaders.CONTENT_DISPOSITION);
+
+ return ResponseEntity.ok()
+ .headers(headers)
+ .contentType(org.springframework.http.MediaType.APPLICATION_PDF)
+ .body(resource);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
+ }
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+ //妯℃嫙璁$畻宸ョ▼鍙锋煡璇㈢涓夋柟
+ @ApiOperation("妯℃嫙璁$畻宸ョ▼鍙锋煡璇�")
+ @PostMapping ("/selectProjectComputeMpThirdParty/{projectNumber}")
+ public Result selectProjectComputeMpThirdParty( @PathVariable String projectNumber){
+ return Result.success(glassOptimizeService.selectProjectComputeMpThirdParty(projectNumber));
+ }
+
+ //妯℃嫙璁$畻娴佺▼鍗¤鎯呯涓夋柟
+ @ApiOperation("妯℃嫙璁$畻娴佺▼鍗¤鎯�")
+ @PostMapping ("/selectComputeDetailThirdParty/{processId}/{technologyNumber}")
+ public Result selectComputeDetailThirdParty(
+ @PathVariable String processId, @PathVariable Integer technologyNumber){
+ return Result.success(glassOptimizeService.selectComputeDetailThirdParty(processId,technologyNumber));
+ }
+
+ @ApiOperation("妯℃嫙璁$畻淇濆瓨")
+ @PostMapping("/simulationSaveThirdParty")
+ public Result simulationSaveThirdParty(@RequestBody Map<String, Object> object) {
+ try {
+ return Result.success(glassOptimizeService.simulationSaveThirdParty(object));
+ } catch (Exception e) {
+ e.printStackTrace();
+ return Result.error();
+ }
+ }
+
+ //鍒犻櫎宸ョ▼
+ @ApiOperation("宸ョ▼绠$悊鍒犻櫎鎺ュ彛")
+ @PostMapping("/deleteProjectThirdParty/{projectNumber}")
+ public Result deleteProjectThirdParty(
+ @PathVariable String projectNumber){
+ return Result.success(glassOptimizeService.deleteProjectThirdParty(projectNumber));
+ }
+
+ @ApiOperation("宸ョ▼淇℃伅鎺ュ彛")
+ @PostMapping ("/projectInfoThirdParty/{projectNo}")
+ public Result projectInfoThirdParty(
+ @PathVariable String projectNo){
+ return Result.success(glassOptimizeService.projectInfoThirdParty(projectNo));
+ }
+
+ //搴撳瓨淇℃伅
+ @ApiOperation("搴撳瓨淇℃伅鎺ュ彛")
+ @GetMapping ("/materialStoreSvThirdParty/{projectNumber}")
+ public Result materialStoreSvThirdParty(@PathVariable String projectNumber ){
+ return Result.success(glassOptimizeService.materialStoreSvThirdParty(projectNumber));
+ }
+
+ //宸ョ▼淇℃伅娴佺▼鍗�
+ @ApiOperation("宸ョ▼淇℃伅娴佺▼鍗℃帴鍙�")
+ @PostMapping ("/getProcessCardMpThirdParty/{projectNo}")
+ public Result getProcessCardMpThirdParty(
+ @PathVariable String projectNo){
+ return Result.success(glassOptimizeService.getProcessCardMpThirdParty(projectNo));
+ }
+
+ @ApiOperation("mes宸ョ▼浠诲姟涓嬪彂鎺ュ彛")
+ @PostMapping("/getIssuingProjects")
+ public Result issuingProjects(@RequestBody String projectNo) throws JsonProcessingException {
+ return Result.success(glassOptimizeService.issuingProjects(projectNo));
+ }
+
+
+ @ApiOperation("mes宸ョ▼鐢熶骇涓嶅彲瑙佹帴鍙�")
+ @PostMapping("/issuingCancelProject")
+ public Result issuingCancelProject(@RequestBody String projectNo){
+ return Result.success(glassOptimizeService.issuingCancelProject(projectNo));
+ }
+
+
+
+
}
--
Gitblit v1.8.0