From 00a880b7a1f31795967d79c87674ac4c42f7558f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 12 七月 2022 15:30:16 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/WrkDetlMapper.xml                  |   11 +++++++++--
 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java |    2 +-
 src/main/resources/mapper/LocDetlMapper.xml                  |    2 +-
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java   |   14 ++++++++++----
 4 files changed, 21 insertions(+), 8 deletions(-)

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 2f34254..97779cc 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -70,7 +70,7 @@
                 break;
             }
         }
-        if (complete) {
+        if (complete && wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)) == 0) {
             // 鍑哄簱璁㈠崟閲嶆柊鏁寸悊鏄庣粏
             DocType docType = docTypeService.selectById(order.getDocType());
             if (null != docType && docType.getPakout() == 1) {
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 83306ca..194a274 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -14,6 +14,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
@@ -44,13 +45,14 @@
     public ReturnT<String> start(WrkMast wrkMast) {
         try {
             List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-            // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
+            // 鍖哄垎璁㈠崟浠诲姟
+            List<WrkDetl> wrkDetlsKeyOrder = new ArrayList<>();
             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());
+                        wrkDetlsKeyOrder.add(wrkDetl);
                         iterator.remove();
                     }
                 }
@@ -77,7 +79,7 @@
                             exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
                         }
                     }
-                // 鎷f枡鍐嶅叆搴�
+                    // 鎷f枡鍐嶅叆搴�
                 } else if (wrkMast.getIoType() == 53) {
                     if (!Cools.isEmpty(wrkDetls)) {
                         if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
@@ -86,7 +88,7 @@
                     }
                 }
 
-            // 鍑哄簱 --------------------------------------------------------------------------------
+                // 鍑哄簱 --------------------------------------------------------------------------------
             } else if (wrkMast.getWrkSts() == 15) {
                 if (!Cools.isEmpty(wrkDetls)) {
                     if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
@@ -111,6 +113,10 @@
             if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) {
 //                exceptionHandle("鍒犻櫎宸ヤ綔鏄庣粏妗workNo={0}]澶辫触", wrkMast.getWrkNo());
             }
+            // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
+            for (WrkDetl wrkDetl : wrkDetlsKeyOrder) {
+                orderService.checkComplete(wrkDetl.getOrderNo());
+            }
         } catch (Exception e) {
             log.error("fail", e);
             e.printStackTrace();
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index d04d579..78a0115 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -224,7 +224,7 @@
         order by
         DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme
         desc,
-        loc_no,
+        a.loc_no,
         case
         when (left(a.loc_no, 2) = '01') then 0
         when (left(a.loc_no, 2) = '02') then 1
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index 225f31e..e0b536c 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -82,9 +82,16 @@
     </update>
 
     <select id="selectAndLogByOrderNo" resultMap="BaseResultMap">
-        select * from asr_wrk_detl where order_no = #{orderNo}
+        select awd.*
+        from asr_wrk_detl awd
+        left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no and awd.io_time = awm.io_time
+        where order_no = #{orderNo}
         union
-        select * from asr_wrk_detl_log where order_no = #{orderNo}
+        select distinct awdl.*
+        from asr_wrk_detl_log awdl
+        left join asr_wrk_mast_log awml on awdl.wrk_no = awml.wrk_no and awdl.io_time = awml.io_time
+        where awdl.order_no = #{orderNo}
+        and awml.manu_type != '鎵嬪姩鍙栨秷'
     </select>
 
     <update id="updateInspect">

--
Gitblit v1.9.1