From 2a3c00cc5b07d1bb96463f7ed1703461e95de6ea Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 04 九月 2025 11:05:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java |  132 ++++++++++++++++++++++++++++----------------
 1 files changed, 84 insertions(+), 48 deletions(-)

diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
index 1514655..3ba70c9 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -1,6 +1,9 @@
 package com.mes.engineering.controller;
 
 
+import com.mes.damage.entity.Damage;
+import com.mes.damage.entity.request.DamageRequest;
+import com.mes.damage.service.DamageService;
 import com.mes.engineering.entity.Engineering;
 import com.mes.engineering.service.EngineeringService;
 import com.mes.glassinfo.entity.GlassInfo;
@@ -12,13 +15,15 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author wu
@@ -36,82 +41,99 @@
     private GlassInfoService glassInfoService;
     @Autowired
     private OptimizeProjectService optimizeProjectService;
+    @Autowired
+    DamageService damageService;
+
 
     @ApiOperation("寮�濮�/鏆傚仠浠诲姟/浼犻�掑伐绋嬪彿鍜岀姸鎬�,寮�濮嬫槸1 鏆傚仠鏄�0")
     @PostMapping("/pauseTask") //鏆傚仠涓婄墖浠诲姟
     @ResponseBody
-    public  Result <List<UpPattenUsage>> pauseTask(@RequestBody Engineering engineering) {
-        boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
+    public Result<List<UpPattenUsage>> pauseTask(@RequestBody Engineering engineering) {
+        boolean work = engineeringService.changeTask(engineering.getEngineerId(), engineering.getState());
         List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
-        if(work){
-            return Result.build(200,"鎴愬姛",glass);
-        }else {
-            return Result.build(100,"澶辫触",glass);
+        if (work) {
+            return Result.build(200, "鎴愬姛", glass);
+        } else {
+            return Result.build(100, "澶辫触", glass);
         }
     }
 
     @ApiOperation("鏆傚仠")
     @PostMapping("/pause") //鏆傚仠涓婄墖浠诲姟
     @ResponseBody
-    public  Result <List<UpPattenUsage>> pause(@RequestBody Engineering engineering) {
-        boolean work=engineeringService.pauseTask(engineering.getEngineerId(),engineering.getState());
+    public Result<List<UpPattenUsage>> pause(@RequestBody Engineering engineering) {
+        boolean work = engineeringService.pauseTask(engineering.getEngineerId(), engineering.getState());
 //        List<UpPattenUsage> glass = upPattenUsageService.prioritylist();String message;
-        if(work){
+        if (work) {
             return Result.build(200, "鎴愬姛", null);
-        }else {
-            return Result.build(100, "鎴愬姛", null);
+        } else {
+            return Result.build(100, "澶辨晽", null);
         }
     }
 
     @ApiOperation("寮�濮嬩笂鐗�")
     @PostMapping("/changeTask") //璋冪敤涓婄墖浠诲姟
     @ResponseBody
-    public  Result <Boolean> changeTask(@RequestBody Engineering engineering) {
-        log.info("engineeringId:{}", engineering);
-        UpPattenUsage upPattenUsage = upPattenUsageService.selectedEngineering(engineering.getEngineerId());
-        if (upPattenUsage != null) {
-            boolean work = engineeringService.changeTask(engineering.getEngineerId(), engineering.getState());
-            List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
-            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
-            return Result.build(200, "宸蹭繚瀛樿繃", work);
-        } else {
-            List<UpPattenUsage> upPattenUsages = upPattenUsageService.selectSaveUpPattenUsage(engineering.getEngineerId());
-            log.info("灏嗘煡璇㈠嚭鐨刄pPattenUsage鏁版嵁淇濆瓨鍒版暟鎹簱琛ㄩ噷");
-            upPattenUsageService.saveUpPattenUsage(upPattenUsages);
-            log.info("浠嶱P琛ㄦ煡璇lassinfo鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
-            List<GlassInfo> glassinfo = glassInfoService.selectGlassInfo(engineering.getEngineerId());
-            glassInfoService.saveGlassInfo(glassinfo);
-            log.info("浠嶱P琛ㄦ煡璇ngineering鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
-            List<Engineering> listEngineering = engineeringService.selectEngineering(engineering.getEngineerId());
-            engineeringService.saveEngineering(listEngineering);
-            log.info("鏇存敼pp琛ㄧ姸鎬佷负宸查鍙�");
-            //灏唀ngineering琛ㄧ姸鎬佷负姝e湪涓婄墖
-            boolean work = engineeringService.changeTask(engineering.getEngineerId(), engineering.getState());
-            List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
-            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
-            if (work) {
-                return Result.build(200, "淇濆瓨鎴愬姛"+engineering.getEngineerId(), true);
-            }else {
-                return Result.build(200, "淇濆瓨澶辫触"+engineering.getEngineerId(), false);
+    public synchronized Result<Boolean> changeTask(@RequestBody Engineering engineering) {
+        try {
+            log.info("engineeringId:{}", engineering);
+            UpPattenUsage upPattenUsage = upPattenUsageService.selectedEngineering(engineering.getEngineerId());
+            Engineering engineerings = engineeringService.selectUpInitiate(engineering.getEngineerId());
+            GlassInfo glassInfos = engineeringService.selectGlassinfoIsnull(engineering.getEngineerId());
+            if (upPattenUsage != null && engineerings != null && glassInfos != null) {
+                boolean work = engineeringService.changeTasks(engineering);
+                List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
+                optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
+                return Result.build(200, "寮�濮嬩笂鐗�", work);
+            } else if (upPattenUsage == null && engineerings == null && glassInfos == null) {
+                List<UpPattenUsage> upPattenUsages = upPattenUsageService.selectSaveUpPattenUsage(engineering.getEngineerId());
+                log.info("灏嗘煡璇㈠嚭鐨刄pPattenUsage鏁版嵁淇濆瓨鍒版暟鎹簱琛ㄩ噷");
+                upPattenUsageService.saveUpPattenUsage(upPattenUsages);
+                log.info("浠嶱P琛ㄦ煡璇lassinfo鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
+                List<GlassInfo> glassinfo = glassInfoService.selectGlassInfo(engineering);
+                glassInfoService.saveGlassInfo(glassinfo);
+                log.info("浠嶱P琛ㄦ煡璇ngineering鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
+                List<Engineering> listEngineering = engineeringService.selectEngineering(engineering.getEngineerId());
+                engineeringService.saveEngineering(listEngineering);
+                log.info("鏇存敼pp琛ㄧ姸鎬佷负宸查鍙�");
+                //灏唀ngineering琛ㄧ姸鎬佷负姝e湪涓婄墖
+                boolean work = engineeringService.changeTasks(engineering);
+                optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
+                if (work) {
+                    return Result.build(200, "淇濆瓨鎴愬姛" + engineering.getEngineerId(), true);
+                } else {
+                    return Result.build(200, "淇濆瓨澶辫触" + engineering.getEngineerId(), false);
+                }
+            } else {
+                upPattenUsageService.deleteTask(engineering.getEngineerId());
+                engineeringService.deleteTask(engineering.getEngineerId());
+                glassInfoService.deleteTask(engineering.getEngineerId());
+                return Result.build(200, "璇烽噸鏂扮偣鍑讳笂鐗�" + engineering.getEngineerId(), true);
             }
+        } catch (Exception e) {
+            log.info("寮傚父淇℃伅:{}", e);
+            log.error("寮傚父淇℃伅:{}", e);
+            upPattenUsageService.deleteTask(engineering.getEngineerId());
+            engineeringService.deleteTask(engineering.getEngineerId());
+            glassInfoService.deleteTask(engineering.getEngineerId());
+            return Result.build(200, "淇濆瓨澶辫触" + engineering.getEngineerId(), false);
         }
-
     }
 
     @ApiOperation("鍒犻櫎宸ョ▼涓婄墖")
     @PostMapping("/deleteTask") //璋冪敤涓婄墖浠诲姟
     @ResponseBody
-    public  Result <List<GlassInfo>> deleteTask(@RequestBody Engineering engineering) {
+    public Result<List<GlassInfo>> deleteTask(@RequestBody Engineering engineering) {
         //鍒犻櫎宸ョ▼琛ㄣ�佸皬鐗囪〃銆佷笂鐗囪〃锛屾洿鏀逛紭鍖栬〃鐘舵��
 //        boolean work=engineeringService.deleteTask(engineering.getEngineerId());
 //        glassInfoService.deleteTask(engineering.getEngineerId());
 //        upPattenUsageService.deleteTask(engineering.getEngineerId());
 //        optimizeProjectService.changeTask(engineering.getEngineerId(), 100);
         //鏆傚仠宸ョ▼
-        engineeringService.pauseTask(engineering.getEngineerId(),0);
-          //鏌ヨ鏈笂鐗囩殑灏忕墖淇℃伅
-        List<GlassInfo>glasslist=glassInfoService.selectEdgGlassInfo(engineering.getEngineerId());
-        return Result.build(200, "鍒犻櫎鎴愬姛"+engineering.getEngineerId(), glasslist);
+        engineeringService.pauseTask(engineering.getEngineerId(), 0);
+        //鏌ヨ鏈笂鐗囩殑灏忕墖淇℃伅
+        List<GlassInfo> glasslist = glassInfoService.selectEdgGlassInfo(engineering.getEngineerId());
+        return Result.build(200, "鍒犻櫎鎴愬姛" + engineering.getEngineerId(), glasslist);
 
 
     }
@@ -119,10 +141,24 @@
     @ApiOperation("鏌ヨ鍙互涓婄墖鐨勫伐绋嬪彿")
     @GetMapping("/selectTask") //璋冪敤涓婄墖浠诲姟
     @ResponseBody
-    public Result <List<Engineering>> selectTask() {
-        List<Engineering> engineering=engineeringService.selectTask();
+    public Result<List<Engineering>> selectTask() {
+        List<Engineering> engineering = engineeringService.selectTask();
         log.info("鍙鍙栦换鍔¤繑鍥�:{}", engineering);
-        return Result.build(200, "",engineering);
+        return Result.build(200, "", engineering);
     }
+
+    @ApiOperation("//涓婄墖鐮存崯鎷胯蛋")
+    @PostMapping("/insetDamage") //涓婄墖鐮存崯鎷胯蛋
+    public Result<Integer> updateTemperingState(@RequestBody Damage damage) {
+        damageService.insertDamage(damage);
+        return Result.build(200, "鎿嶄綔鎴愬姛", null);
+    }
+
+    @ApiOperation("璇嗗埆鎿嶄綔锛�   鐮存崯/鎷胯蛋     鍙傛暟锛圛D,鍔熻兘[9锛氭嬁璧帮紝8:鐮存崯]锛�")
+    @PostMapping("/identControls")
+    public Result<String> identControls(@RequestBody @Validated DamageRequest request) {
+        return Result.build(200, "鎴愬姛", upPattenUsageService.identControls(request));
+    }
+
 }
 

--
Gitblit v1.8.0