From 44c6df2e7b14b2126b0157b07803ac83047d7829 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 26 十二月 2025 16:20:20 +0800
Subject: [PATCH] #agv任务

---
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java |  116 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 105 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index dc6f573..5c245e6 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -2,14 +2,13 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
-import com.zy.asrs.entity.WaitPakin;
-import com.zy.asrs.entity.WrkDetl;
-import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.enums.TaskStatusType;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.utils.OrderInAndOutUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -38,7 +37,18 @@
     @Autowired
     private WaitPakinLogService waitPakinLogService;
     @Autowired
-    private OrderService orderService;
+    private OrderPakinService orderPakinService;
+    @Autowired
+    private OrderPakoutService orderPakoutService;
+
+    @Autowired
+    private TaskService taskService;
+    @Autowired
+    private TaskLogService taskLogService;
+    @Autowired
+    private TaskDetlService taskDetlService;
+    @Autowired
+    private TaskDetlLogService taskDetlLogService;
 
     @Transactional
     public ReturnT<String> start(WrkMast wrkMast) {
@@ -50,11 +60,10 @@
                 while (iterator.hasNext()) {
                     WrkDetl wrkDetl = iterator.next();
                     if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
-//                        orderService.checkComplete(wrkDetl.getOrderNo());
-                        if (wrkMast.getIoType() ==  1 || wrkMast.getIoType() == 8 ||  wrkMast.getIoType() == 54 ||  wrkMast.getIoType() == 104){
-                            OrderInAndOutUtil.checkComplete(Boolean.TRUE,wrkDetl.getOrderNo());
+                        if (wrkMast.getIoType() == 1 || wrkMast.getIoType() == 8 || wrkMast.getIoType() == 54 || wrkMast.getIoType() == 104) {
+                            orderPakinService.checkComplete(wrkDetl.getOrderNo());
                         } else {
-                            OrderInAndOutUtil.checkComplete(Boolean.FALSE,wrkDetl.getOrderNo());
+                            orderPakoutService.checkComplete(wrkDetl.getOrderNo());
                         }
                         iterator.remove();
                     }
@@ -82,7 +91,7 @@
 //                            exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
 //                        }
 //                    }
-                // 鎷f枡鍐嶅叆搴�
+                    // 鎷f枡鍐嶅叆搴�
                 } else if (wrkMast.getIoType() == 53) {
 //                    if (!Cools.isEmpty(wrkDetls)) {
 //                        if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
@@ -91,7 +100,7 @@
 //                    }
                 }
 
-            // 鍑哄簱 --------------------------------------------------------------------------------
+                // 鍑哄簱 --------------------------------------------------------------------------------
             } else if (wrkMast.getWrkSts() == 15) {
 //                if (!Cools.isEmpty(wrkDetls)) {
 //                    if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
@@ -125,4 +134,89 @@
         return SUCCESS;
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    public ReturnT<String> AgvStart(Task task) {
+        try {
+            List<TaskDetl> taskDetls = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
+            // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
+            if (!Cools.isEmpty(taskDetls)) {
+                Iterator<TaskDetl> iterator = taskDetls.iterator();
+
+            }
+
+            // 鍏ュ簱 --------------------------------------------------------------------------------
+            if (task.getWrkSts().equals(TaskStatusType.INBOUND_ARCHIVED.type)) {
+                // 鍏ㄦ澘鍏ュ簱
+                if (task.getIoType() == 1) {
+                    // 鍏ュ簱閫氱煡鍗�
+                    if (!Cools.isEmpty(task.getBarcode())) {
+                        // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。
+//                        if (!waitPakinLogService.save(task.getBarcode())) {
+////                            exceptionHandle("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                        }
+//                        // 鍒犻櫎鍏ュ簱閫氱煡妗�
+//                        if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", task.getBarcode()))) {
+////                            exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                        }
+                    }
+//                    // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
+//                    if (!Cools.isEmpty(wrkDetls)) {
+//                        if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) {
+//                            exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                        }
+//                    }
+                    // 鎷f枡鍐嶅叆搴�
+                } else if (task.getIoType() == 53) {
+//                    if (!Cools.isEmpty(wrkDetls)) {
+//                        if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
+//                            exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                        }
+//                    }
+                }
+
+                // 鍑哄簱 --------------------------------------------------------------------------------
+            } else if (task.getWrkSts().equals(TaskStatusType.OUTBOUND_ARCHIVED.type)) {
+//                if (!Cools.isEmpty(wrkDetls)) {
+//                    if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
+//                        exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                    }
+//                }
+            }
+
+            TaskLog taskLog = new TaskLog();
+            BeanUtils.copyProperties(task, taskLog);
+            // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+            if (!taskLogService.insert(taskLog)) {
+                exceptionHandle("淇濆瓨AGV宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", task.getWrkNo());
+            }
+
+            // 鍒犻櫎宸ヤ綔涓绘。
+            if (!taskService.deleteById(task)) {
+                exceptionHandle("鍒犻櫎宸ヤ綔涓绘。[workNo={0}]澶辫触", task.getWrkNo());
+            }
+            List<TaskDetl> taskDetls2 = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
+            for (TaskDetl taskDetl :taskDetls2){
+                TaskDetlLog taskDetlLog = new TaskDetlLog();
+                BeanUtils.copyProperties(taskDetl, taskDetlLog);
+                taskDetlLog.setTaskID(taskLog.getId());
+                taskDetlLog.setId(null);
+                // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+                if (!taskDetlLogService.insert(taskDetlLog)) {
+                    exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", task.getWrkNo());
+                }
+                // 鍒犻櫎宸ヤ綔鏄庣粏妗�
+                if (!taskDetlService.deleteById(taskDetl)) {
+                    exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", task.getWrkNo());
+                }
+            }
+
+
+        } catch (Exception e) {
+            log.error("fail", e);
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
+        }
+        return SUCCESS;
+    }
 }

--
Gitblit v1.9.1