From 418a73bcee019e078307a1c2c255235de33d20ca Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 25 十二月 2025 16:29:38 +0800
Subject: [PATCH] #agv任务

---
 src/main/java/com/zy/asrs/service/impl/TaskLogServiceImpl.java |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/TaskLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskLogServiceImpl.java
index a413b01..b746198 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskLogServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskLogServiceImpl.java
@@ -1,12 +1,69 @@
 package com.zy.asrs.service.impl;
 
-import com.zy.asrs.mapper.TaskLogMapper;
-import com.zy.asrs.entity.TaskLog;
-import com.zy.asrs.service.TaskLogService;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.Task;
+import com.zy.asrs.entity.TaskDetl;
+import com.zy.asrs.entity.TaskDetlLog;
+import com.zy.asrs.entity.TaskLog;
+import com.zy.asrs.mapper.TaskLogMapper;
+import com.zy.asrs.service.TaskDetlLogService;
+import com.zy.asrs.service.TaskDetlService;
+import com.zy.asrs.service.TaskLogService;
+import com.zy.asrs.service.TaskService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Objects;
 
 @Service("taskLogService")
 public class TaskLogServiceImpl extends ServiceImpl<TaskLogMapper, TaskLog> implements TaskLogService {
 
+    @Autowired
+    private TaskService taskService;
+    @Autowired
+    private TaskDetlService taskDetlService;
+    @Autowired
+    private TaskDetlLogService taskDetlLogService;
+
+    /**
+     * @author Ryan
+     * @date 2025/9/23
+     * @description: 淇濆瓨浠诲姟鏃ュ織
+     * @version 1.0
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean save(Integer wrkNo) {
+        Task task = taskService.selectOne(new EntityWrapper<Task>().eq("wrk_no", wrkNo));
+        if (Objects.isNull(task)) {
+            throw new CoolException("鏁版嵁閿欒锛氫换鍔′笉瀛樺湪锛侊紒");
+        }
+        TaskLog taskLog = new TaskLog();
+        BeanUtils.copyProperties(task, taskLog);
+
+        if (!this.insert(taskLog)) {
+            throw new CoolException("浠诲姟鏃ュ織淇濆瓨澶辫触锛侊紒");
+        }
+
+        List<TaskDetl> detls = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", wrkNo));
+        if (Objects.isNull(detls) || detls.isEmpty()) {
+            throw new CoolException("鏁版嵁閿欒锛氫换鍔′笉瀛樺湪锛侊紒");
+        }
+        detls.forEach(detl -> {
+            TaskDetlLog detlLog = new TaskDetlLog();
+            BeanUtils.copyProperties(detl, detlLog);
+            detlLog.setId(null);
+            detlLog.setTaskID(taskLog.getId());
+            if (!taskDetlLogService.insert(detlLog)) {
+                throw new CoolException("宸ヤ綔妗f槑缁嗗巻鍙蹭繚瀛樺け璐ワ紒锛�");
+            }
+        });
+
+        return true;
+    }
 }

--
Gitblit v1.9.1