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/service/impl/PlcTestTaskServiceImpl.java | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 211 insertions(+), 0 deletions(-)
diff --git a/mes-processes/mes-plcSend/src/main/java/com/mes/service/impl/PlcTestTaskServiceImpl.java b/mes-processes/mes-plcSend/src/main/java/com/mes/service/impl/PlcTestTaskServiceImpl.java
new file mode 100644
index 0000000..c1b5f21
--- /dev/null
+++ b/mes-processes/mes-plcSend/src/main/java/com/mes/service/impl/PlcTestTaskServiceImpl.java
@@ -0,0 +1,211 @@
+package com.mes.service.impl;
+
+import com.mes.entity.PlcTestTask;
+import com.mes.mapper.PlcTestTaskMapper;
+import com.mes.service.PlcTestTaskService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * PLC娴嬭瘯浠诲姟鏈嶅姟瀹炵幇绫�
+ *
+ * @author huang
+ * @date 2025/11/04
+ */
+@Slf4j
+@Service
+public class PlcTestTaskServiceImpl implements PlcTestTaskService {
+
+ @Autowired
+ private PlcTestTaskMapper plcTestTaskMapper;
+
+ /**
+ * 鍒涘缓鏂颁换鍔�
+ */
+ @Override
+ public PlcTestTask createTask(PlcTestTask task) {
+ try {
+ if (task == null) {
+ throw new RuntimeException("鍒涘缓浠诲姟澶辫触锛歵ask瀵硅薄涓嶈兘涓虹┖");
+ }
+
+ if (!StringUtils.hasText(task.getProjectId())) {
+ throw new RuntimeException("鍒涘缓浠诲姟澶辫触锛歱rojectId涓嶈兘涓虹┖");
+ }
+
+ // 涓�浜涘繀涓婂瓧娈靛簲涓�娆¤缃�
+ if (!StringUtils.hasText(task.getModule())) {
+ task.setModule("default");
+ }
+
+ if (!StringUtils.hasText(task.getOperationMode())) {
+ task.setOperationMode("MANUAL");
+ }
+ if (!StringUtils.hasText(task.getStatus())) {
+ task.setStatus("PENDING");
+ }
+
+ if (task.getStartTime() == null) {
+ task.setStartTime(new Date());
+ }
+
+ if (task.getCreatedAt() == null) {
+ task.setCreatedAt(new Date());
+ }
+
+ if (task.getUpdatedAt() == null) {
+ task.setUpdatedAt(new Date());
+ }
+
+ log.info("鍗冲皢鎻掑叆浠诲姟锛歱rojectId={}, module={}, status={}",
+ task.getProjectId(), task.getModule(), task.getStatus());
+
+ int insertCount = plcTestTaskMapper.insert(task);
+
+ if (insertCount <= 0) {
+ throw new RuntimeException("鍒涘缓浠诲姟澶辫触锛氭暟鎹簱鎻掑叆杩斿洖0琛�");
+ }
+
+ log.info("鍒涘缓PLC娴嬭瘯浠诲姟鎴愬姛锛宨d: {}, projectId: {}", task.getId(), task.getProjectId());
+ return task;
+ } catch (Exception e) {
+ log.error("鍒涘缓PLC娴嬭瘯浠诲姟澶辫触", e);
+ throw new RuntimeException("鍒涘缓PLC娴嬭瘯浠诲姟澶辫触: " + e.getMessage(), e);
+ }
+ }
+
+ /**
+ * 鏍规嵁id鏌ヨ浠诲姟
+ */
+ @Override
+ public PlcTestTask getTaskById(Long id) {
+ if (id == null) {
+ log.warn("鏌ヨ浠诲姟澶辫触锛歩d涓嶈兘涓虹┖");
+ return null;
+ }
+ try {
+ return plcTestTaskMapper.selectById(id);
+ } catch (Exception e) {
+ log.error("鏌ヨ浠诲姟澶辫触锛宨d: {}", id, e);
+ return null;
+ }
+ }
+
+ /**
+ * 鏌ヨ椤圭洰鐨勬墍鏈変换鍔�
+ */
+ @Override
+ public List<PlcTestTask> getTasksByProjectId(String projectId) {
+ try {
+ if (!StringUtils.hasText(projectId)) {
+ log.warn("鏌ヨ浠诲姟澶辫触锛歱rojectId涓虹┖");
+ return null;
+ }
+
+ List<PlcTestTask> tasks = plcTestTaskMapper.selectRunningTasks(projectId);
+ log.debug("鏌ヨ椤圭洰[{}]鐨勪换鍔★紝鍏眥}鏉�", projectId, tasks != null ? tasks.size() : 0);
+ return tasks;
+ } catch (Exception e) {
+ log.error("鏌ヨ椤圭洰浠诲姟澶辫触锛宲rojectId: {}", projectId, e);
+ throw new RuntimeException("鏌ヨ椤圭洰浠诲姟澶辫触", e);
+ }
+ }
+
+ /**
+ * 鏌ヨ椤圭洰鐨勮繍琛屼腑浠诲姟
+ */
+ @Override
+ public List<PlcTestTask> getRunningTasks(String projectId) {
+ try {
+ if (!StringUtils.hasText(projectId)) {
+ log.warn("鏌ヨ杩愯涓换鍔″け璐ワ細projectId涓虹┖");
+ return null;
+ }
+
+ List<PlcTestTask> tasks = plcTestTaskMapper.selectRunningTasks(projectId);
+ log.debug("鏌ヨ椤圭洰[{}]鐨勮繍琛屼腑浠诲姟锛屽叡{}鏉�", projectId, tasks != null ? tasks.size() : 0);
+ return tasks;
+ } catch (Exception e) {
+ log.error("鏌ヨ杩愯涓换鍔″け璐ワ紝projectId: {}", projectId, e);
+ throw new RuntimeException("鏌ヨ杩愯涓换鍔″け璐�", e);
+ }
+ }
+
+ /**
+ * 鏇存柊浠诲姟鐘舵��
+ */
+ @Override
+ public boolean updateTaskStatus(Long id, String status) {
+ if (id == null || !StringUtils.hasText(status)) {
+ log.warn("鏇存柊浠诲姟鐘舵�佸け璐ワ細id鎴杝tatus涓嶈兘涓虹┖");
+ return false;
+ }
+ try {
+ PlcTestTask task = new PlcTestTask();
+ task.setId(id);
+ task.setStatus(status);
+ task.setUpdatedAt(new Date());
+
+ int result = plcTestTaskMapper.updateById(task);
+ log.info("鏇存柊浠诲姟鐘舵�佹垚鍔燂紝id: {}, status: {}", id, status);
+ return result > 0;
+ } catch (Exception e) {
+ log.error("鏇存柊浠诲姟鐘舵�佸け璐ワ紝id: {}, status: {}", id, status, e);
+ return false;
+ }
+ }
+
+ /**
+ * 浠诲姟瀹屾垚
+ */
+ @Override
+ public boolean completeTask(Long id, String status, Integer duration, String result, String errorMessage) {
+ if (id == null || !StringUtils.hasText(status)) {
+ log.warn("瀹屾垚浠诲姟澶辫触锛歩d鎴杝tatus涓嶈兘涓虹┖");
+ return false;
+ }
+ try {
+ PlcTestTask task = new PlcTestTask();
+ task.setId(id);
+ task.setStatus(status);
+ task.setDuration(duration);
+ task.setResult(result);
+ task.setErrorMessage(errorMessage);
+ task.setEndTime(new Date());
+ task.setUpdatedAt(new Date());
+
+ int updateResult = plcTestTaskMapper.updateById(task);
+ log.info("瀹屾垚浠诲姟鎴愬姛锛宨d: {}, status: {}", id, status);
+ return updateResult > 0;
+ } catch (Exception e) {
+ log.error("瀹屾垚浠诲姟澶辫触锛宨d: {}, status: {}", id, status, e);
+ return false;
+ }
+ }
+
+ /**
+ * 鍒犻櫎浠诲姟
+ */
+ @Override
+ public boolean deleteTask(Long id) {
+ if (id == null) {
+ log.warn("鍒犻櫎浠诲姟澶辫触锛歩d涓嶈兘涓虹┖");
+ return false;
+ }
+ try {
+ int result = plcTestTaskMapper.deleteById(id);
+ log.info("鍒犻櫎浠诲姟鎴愬姛锛宨d: {}", id);
+ return result > 0;
+ } catch (Exception e) {
+ log.error("鍒犻櫎浠诲姟澶辫触锛宨d: {}", id, e);
+ return false;
+ }
+ }
+
+
+}
--
Gitblit v1.8.0