From 08915b05c42b2ba97a8bb0809aeb48802ae63b46 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期五, 27 三月 2026 20:42:32 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java |   77 +++++++++++++++++++++++++-------------
 1 files changed, 50 insertions(+), 27 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 013cf95..1fbf211 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -3,7 +3,9 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.enums.TaskStatusType;
 import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.OrderPakinServiceImpl;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.utils.OrderInAndOutUtil;
@@ -16,6 +18,7 @@
 
 import java.util.Iterator;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * Created by vincent on 2020/7/6
@@ -46,8 +49,10 @@
     private TaskDetlService taskDetlService;
     @Autowired
     private TaskDetlLogService taskDetlLogService;
+    @Autowired
+    private OrderPakinService orderPakinService;
 
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public ReturnT<String> start(WrkMast wrkMast) {
         try {
             List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
@@ -58,10 +63,18 @@
                     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) {
+                            OrderInAndOutUtil.checkComplete(Boolean.TRUE, wrkDetl.getOrderNo());
                         } else {
-                            OrderInAndOutUtil.checkComplete(Boolean.FALSE,wrkDetl.getOrderNo());
+
+                            OrderInAndOutUtil.checkComplete(Boolean.FALSE, wrkDetl.getOrderNo());
+
+                            OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>()
+                                    .eq("order_no", wrkDetl.getOrderNo())
+                                    .in("doc_type", 7));
+                            if (!Objects.isNull(orderPakin)) {
+                                OrderInAndOutUtil.checkComplete(Boolean.TRUE, orderPakin.getOrderNo());
+                            }
                         }
                         iterator.remove();
                     }
@@ -71,7 +84,7 @@
             // 鍏ュ簱 --------------------------------------------------------------------------------
             if (wrkMast.getWrkSts() == 5) {
                 // 鍏ㄦ澘鍏ュ簱
-                if (wrkMast.getIoType() == 1) {
+                if (wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10) {
                     // 鍏ュ簱閫氱煡鍗�
                     if (!Cools.isEmpty(wrkMast.getBarcode())) {
                         // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。
@@ -89,8 +102,9 @@
 //                            exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
 //                        }
 //                    }
-                // 鎷f枡鍐嶅叆搴�
+                    // 鎷f枡鍐嶅叆搴�
                 } else if (wrkMast.getIoType() == 53) {
+//                    //
 //                    if (!Cools.isEmpty(wrkDetls)) {
 //                        if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
 //                            exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
@@ -98,7 +112,7 @@
 //                    }
                 }
 
-            // 鍑哄簱 --------------------------------------------------------------------------------
+                // 鍑哄簱 --------------------------------------------------------------------------------
             } else if (wrkMast.getWrkSts() == 15) {
 //                if (!Cools.isEmpty(wrkDetls)) {
 //                    if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
@@ -117,10 +131,13 @@
             }
             // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
             if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
+                log.error("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
 //                exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
             }
             // 鍒犻櫎宸ヤ綔鏄庣粏妗�
             if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) {
+                log.error("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
+
 //                exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo());
             }
         } catch (Exception e) {
@@ -132,6 +149,7 @@
         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()));
@@ -142,10 +160,10 @@
                     TaskDetl taskDetl = iterator.next();
                     if (!Cools.isEmpty(taskDetl.getOrderNo())) {
 //                        orderService.checkComplete(wrkDetl.getOrderNo());
-                        if (task.getIoType() ==  1 || task.getIoType() == 8 ||  task.getIoType() == 54 ||  task.getIoType() == 104){
-                            OrderInAndOutUtil.checkComplete(Boolean.TRUE,taskDetl.getOrderNo());
+                        if (task.getIoType() == 1 || task.getIoType() == 8 || task.getIoType() == 54 || task.getIoType() == 104) {
+                            OrderInAndOutUtil.checkComplete(Boolean.TRUE, taskDetl.getOrderNo());
                         } else {
-                            OrderInAndOutUtil.checkComplete(Boolean.FALSE,taskDetl.getOrderNo());
+                            OrderInAndOutUtil.checkComplete(Boolean.FALSE, taskDetl.getOrderNo());
                         }
                         iterator.remove();
                     }
@@ -153,7 +171,7 @@
             }
 
             // 鍏ュ簱 --------------------------------------------------------------------------------
-            if (task.getWrkSts() == 5) {
+            if (task.getWrkSts().equals(TaskStatusType.AGV_INVENTORY_UPDATED_IN.type)) {
                 // 鍏ㄦ澘鍏ュ簱
                 if (task.getIoType() == 1) {
                     // 鍏ュ簱閫氱煡鍗�
@@ -183,7 +201,7 @@
                 }
 
                 // 鍑哄簱 --------------------------------------------------------------------------------
-            } else if (task.getWrkSts() == 15) {
+            } else if (task.getWrkSts().equals(TaskStatusType.AGV_INVENTORY_UPDATED_OUT.type)) {
 //                if (!Cools.isEmpty(wrkDetls)) {
 //                    if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
 //                        exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
@@ -191,21 +209,6 @@
 //                }
             }
 
-
-
-            for (TaskDetl taskDetl :taskDetls){
-                TaskDetlLog taskDetlLog = new TaskDetlLog();
-                BeanUtils.copyProperties(taskDetl, taskDetlLog);
-
-                // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
-                if (!taskDetlLogService.insert(taskDetlLog)) {
-                exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", task.getWrkNo());
-                }
-                // 鍒犻櫎宸ヤ綔鏄庣粏妗�
-                if (!taskDetlService.deleteById(taskDetl)) {
-                exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", task.getWrkNo());
-                }
-            }
             TaskLog taskLog = new TaskLog();
             BeanUtils.copyProperties(task, taskLog);
             // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
@@ -218,6 +221,26 @@
                 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.setLogId(taskLog.getId());
+                taskDetlLog.setId(null);
+                // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+                if (!taskDetlLogService.insert(taskDetlLog)) {
+                    log.error("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", task.getWrkNo());
+//                    exceptionHandle("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", task.getWrkNo());
+                }
+                // 鍒犻櫎宸ヤ綔鏄庣粏
+            }
+            if (!taskDetlService.delete(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()))) {
+                log.error("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗workNo={0}]澶辫触", task.getWrkNo());
+
+//                exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", task.getWrkNo());
+            }
+
         } catch (Exception e) {
             log.error("fail", e);
             e.printStackTrace();

--
Gitblit v1.9.1