From e76f0739e647fe8a7e0e2618914e2faff554b1b7 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期一, 17 十一月 2025 17:33:23 +0800
Subject: [PATCH] 解决冲突

---
 mes-processes/mes-plcSend/src/main/java/com/mes/controller/PlcTestTaskController.java |  162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 162 insertions(+), 0 deletions(-)

diff --git a/mes-processes/mes-plcSend/src/main/java/com/mes/controller/PlcTestTaskController.java b/mes-processes/mes-plcSend/src/main/java/com/mes/controller/PlcTestTaskController.java
new file mode 100644
index 0000000..d88b62c
--- /dev/null
+++ b/mes-processes/mes-plcSend/src/main/java/com/mes/controller/PlcTestTaskController.java
@@ -0,0 +1,162 @@
+package com.mes.controller;
+
+import com.mes.entity.PlcTestTask;
+import com.mes.service.PlcTestTaskService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * PLC娴嬭瘯浠诲姟鎺у埗鍣�
+ * 涓撴敞浜庝换鍔$鐞嗙浉鍏崇殑API鎺ュ彛
+ * 
+ * @author huang
+ * @date 2025/10/30
+ */
+@Slf4j
+@RestController
+@RequestMapping("tasks")
+@Api(tags = "PLC娴嬭瘯浠诲姟绠$悊")
+public class PlcTestTaskController {
+
+    @Autowired
+    private PlcTestTaskService plcTestTaskService;
+
+    /**
+     * 鑾峰彇浠诲姟鍒楄〃
+     * 鏍规嵁椤圭洰ID鑾峰彇浠诲姟鍒楄〃
+     * 娉ㄦ剰锛歱rojectId涓哄繀濉弬鏁�
+     */
+    @GetMapping("/list")
+    @ApiOperation("鑾峰彇浠诲姟鍒楄〃")
+    public Map<String, Object> getTasksByProjectId(@RequestParam(required = true) String projectId) {
+        log.info("鑾峰彇浠诲姟鍒楄〃锛宲rojectId: {}", projectId);
+        
+        Map<String, Object> result = new HashMap<>();
+        try {
+            // 鐢变簬浣跨敤浜唕equired=true锛孲pring浼氳嚜鍔ㄨ繘琛岄潪绌烘牎楠�
+            // 棰濆鐨勬牸寮忔牎楠�
+            if (projectId.trim().isEmpty()) {
+                result.put("code", 400);
+                result.put("message", "椤圭洰ID涓嶈兘涓虹┖瀛楃涓�");
+                return result;
+            }
+            
+            // 璋冪敤鏈嶅姟鑾峰彇浠诲姟鍒楄〃
+            java.util.List<PlcTestTask> tasks = plcTestTaskService.getTasksByProjectId(projectId);
+            
+            result.put("code", 200);
+            result.put("message", "鑾峰彇浠诲姟鍒楄〃鎴愬姛");
+            result.put("data", tasks);
+        } catch (Exception e) {
+            log.error("鑾峰彇浠诲姟鍒楄〃寮傚父锛宲rojectId: {}", projectId, e);
+            result.put("code", 500);
+            result.put("message", "鑾峰彇浠诲姟鍒楄〃寮傚父: " + e.getMessage());
+        }
+        result.put("timestamp", System.currentTimeMillis());
+        return result;
+    }
+
+    /**
+     * 鑾峰彇浠诲姟璇︽儏
+     * 鏍规嵁浠诲姟ID鑾峰彇浠诲姟璇︽儏
+     * 娉ㄦ剰锛歩d涓哄繀濉弬鏁�
+     */
+    @GetMapping("/detail")
+    @ApiOperation("鑾峰彇浠诲姟璇︽儏")
+    public Map<String, Object> getTaskDetail(@RequestParam(required = true) Long id) {
+        log.info("鑾峰彇浠诲姟璇︽儏锛宨d: {}", id);
+        
+        Map<String, Object> result = new HashMap<>();
+        try {
+            // 璋冪敤鏈嶅姟鑾峰彇浠诲姟璇︽儏
+            PlcTestTask task = plcTestTaskService.getTaskById(id);
+            
+            if (task != null) {
+                result.put("code", 200);
+                result.put("message", "鑾峰彇浠诲姟璇︽儏鎴愬姛");
+                result.put("data", task);
+            } else {
+                result.put("code", 404);
+                result.put("message", "鏈壘鍒颁换鍔¤褰�");
+            }
+        } catch (Exception e) {
+            log.error("鑾峰彇浠诲姟璇︽儏寮傚父锛宨d: {}", id, e);
+            result.put("code", 500);
+            result.put("message", "鑾峰彇浠诲姟璇︽儏寮傚父: " + e.getMessage());
+        }
+        result.put("timestamp", System.currentTimeMillis());
+        return result;
+    }
+
+    /**
+     * 鏇存柊浠诲姟鐘舵��
+     * 娉ㄦ剰锛歩d鍜宻tatus鍧囦负蹇呭~鍙傛暟
+     */
+    @PostMapping("/update-status")
+    @ApiOperation("鏇存柊浠诲姟鐘舵��")
+    public Map<String, Object> updateTaskStatus( @RequestParam(required = true) Long id,
+                                               @RequestParam(required = true) String status) {
+        log.info("鏇存柊浠诲姟鐘舵�侊紝id: {}, status: {}", id, status);
+        
+        Map<String, Object> result = new HashMap<>();
+        try {
+            // 棰濆鐨勬牸寮忔牎楠�
+            if (status.trim().isEmpty()) {
+                result.put("code", 400);
+                result.put("message", "鐘舵�佷笉鑳戒负绌哄瓧绗︿覆");
+                return result;
+            }
+            
+            // 璋冪敤鏈嶅姟鏇存柊浠诲姟鐘舵��
+            plcTestTaskService.updateTaskStatus(id, status);
+            
+            result.put("code", 200);
+            result.put("message", "浠诲姟鐘舵�佹洿鏂版垚鍔�");
+        } catch (Exception e) {
+            log.error("鏇存柊浠诲姟鐘舵�佸紓甯革紝id: {}", id, e);
+            result.put("code", 500);
+            result.put("message", "鏇存柊浠诲姟鐘舵�佸紓甯�: " + e.getMessage());
+        }
+        result.put("timestamp", System.currentTimeMillis());
+        return result;
+    }
+
+    /**
+     * 鑾峰彇杩愯涓殑浠诲姟
+     * 娉ㄦ剰锛歱rojectId涓哄繀濉弬鏁�
+     */
+    @GetMapping("/running")
+    @ApiOperation("鑾峰彇杩愯涓殑浠诲姟")
+    public Map<String, Object> getRunningTasks(@RequestParam(required = true) String projectId) {
+        log.info("鑾峰彇杩愯涓殑浠诲姟锛宲rojectId: {}", projectId);
+        
+        Map<String, Object> result = new HashMap<>();
+        try {
+            // 棰濆鐨勬牸寮忔牎楠�
+            if (projectId.trim().isEmpty()) {
+                result.put("code", 400);
+                result.put("message", "椤圭洰ID涓嶈兘涓虹┖瀛楃涓�");
+                return result;
+            }
+            
+            // 璋冪敤鏈嶅姟鑾峰彇杩愯涓殑浠诲姟
+            java.util.List<PlcTestTask> tasks = plcTestTaskService.getRunningTasks(projectId);
+            
+            result.put("code", 200);
+            result.put("message", "鑾峰彇杩愯涓殑浠诲姟鎴愬姛");
+            result.put("data", tasks);
+        } catch (Exception e) {
+            log.error("鑾峰彇杩愯涓殑浠诲姟寮傚父锛宲rojectId: {}", projectId, e);
+            result.put("code", 500);
+            result.put("message", "鑾峰彇杩愯涓殑浠诲姟寮傚父: " + e.getMessage());
+        }
+        result.put("timestamp", System.currentTimeMillis());
+        return result;
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0