From b36e97797c72257afd50fb87170fd593df78ecdc Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 23 四月 2022 13:25:28 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/OrderService.java          |    4 ++++
 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java |    7 +++++++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java  |    1 +
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java   |   29 ++++++++++++++++++++++-------
 4 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java
index 83c814a..2716ac4 100644
--- a/src/main/java/com/zy/asrs/service/OrderService.java
+++ b/src/main/java/com/zy/asrs/service/OrderService.java
@@ -3,6 +3,8 @@
 import com.zy.asrs.entity.Order;
 import com.baomidou.mybatisplus.service.IService;
 import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
 
 import java.util.List;
 
@@ -16,4 +18,6 @@
 
     void checkComplete(String orderNo);
 
+    boolean saveHandlerOrder(WrkMast wrkMast, List<WrkDetl> wrkDetls);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index 7a0f5c6..ae7fc19 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -4,6 +4,8 @@
 import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.mapper.OrderDetlMapper;
 import com.zy.asrs.mapper.OrderMapper;
 import com.zy.asrs.entity.Order;
@@ -61,4 +63,9 @@
 
     }
 
+    @Override
+    public boolean saveHandlerOrder(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
+        return false;
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 5efcf17..79107f4 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -228,6 +228,7 @@
                 if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
                 WrkDetl wrkDetl = new WrkDetl();
                 wrkDetl.sync(detlDto.getLocDetl());
+                wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
                 wrkDetl.setWrkNo(workNo);
                 wrkDetl.setIoTime(now);
                 Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount();
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 1c21b16..bd3b71a 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -15,6 +15,9 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.util.Iterator;
+import java.util.List;
+
 /**
  * Created by vincent on 2020/7/6
  */
@@ -44,6 +47,19 @@
     @Transactional
     public ReturnT<String> start(WrkMast wrkMast) {
         try {
+            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+            // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
+            if (!Cools.isEmpty(wrkDetls)) {
+                Iterator<WrkDetl> iterator = wrkDetls.iterator();
+                while (iterator.hasNext()) {
+                    WrkDetl wrkDetl = iterator.next();
+                    if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+                        orderService.checkComplete(wrkDetl.getOrderNo());
+                        iterator.remove();
+                    }
+                }
+            }
+
             // 鍏ュ簱 --------------------------------------------------------------------------------
             if (wrkMast.getWrkSts() == 5) {
                 // 鍏ㄦ澘鍏ュ簱
@@ -59,6 +75,12 @@
                             exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo());
                         }
                     }
+                    // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
+                    if (!Cools.isEmpty(wrkDetls)) {
+                        if (!orderService.saveHandlerOrder(wrkMast, wrkDetls)) {
+                            exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
+                        }
+                    }
                 // 鎷f枡鍐嶅叆搴�
                 } else if (wrkMast.getIoType() == 53) {
 
@@ -67,13 +89,6 @@
             // 鍑哄簱 --------------------------------------------------------------------------------
             } else if (wrkMast.getWrkSts() == 15) {
 
-            }
-
-            // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
-            for (WrkDetl wrkDetl : wrkDetlService.selectByWrkNo(wrkMast.getWrkNo())) {
-                if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
-                    orderService.checkComplete(wrkDetl.getOrderNo());
-                }
             }
 
             // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�

--
Gitblit v1.9.1