From 707d414c0e6a8baff3ce7affec820f0fc1a13c19 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期二, 24 二月 2026 09:06:04 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java |   47 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
index 396a1ae..a99385e 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
@@ -6,6 +6,7 @@
 import com.core.common.DateUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.enums.LocStsType;
 import com.zy.asrs.mapper.TaskMapper;
 import com.zy.asrs.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
@@ -52,8 +53,17 @@
         if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
             throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
         }
+
         // 鍏ュ簱 + 搴撲綅杞Щ
         if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) {
+            BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", wrkMast.getSourceStaNo()));
+            if (!Objects.isNull(station)) {
+                station.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
+                station.setBarcode("");
+                if (!basStationService.updateById(station)) {
+                    throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐�!!");
+                }
+            }
             wrkMast.setWrkSts(4L);
             // 鍑哄簱
         } else if (wrkMast.getWrkSts() > 10) {
@@ -133,6 +143,11 @@
         return this.baseMapper.selectToBeCompleteData();
     }
 
+    @Override
+    public List<Task> selectToBeHistoryData() {
+        return this.baseMapper.selectToBeHistoryData();
+    }
+
 
     @Override
     @Transactional
@@ -145,7 +160,7 @@
         String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
         String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
         // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級
-        if (wrkMast.getWrkSts() < 4) {
+        if (wrkMast.getIoType() == 1 &&  wrkMast.getWrkSts() < 204) {
             locNo = wrkMast.getLocNo();
             locSts = "O";
 
@@ -174,7 +189,7 @@
                 throw new CoolException("鏇存柊婧愮珯鐐圭姸鎬佸け璐ワ紝鐩爣搴撲綅鐘舵�侊細" + station.getLocSts());
             }
             // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
-        } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
+        } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() < 14) {
             locNo = wrkMast.getSourceLocNo();
             // 鍑哄簱 ===>> F.鍦ㄥ簱
             if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
@@ -199,6 +214,7 @@
             BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", wrkMast.getStaNo()));
             if (station.getLocSts().equals("S")) {
                 station.setLocSts("O");
+                station.setBarcode("");
                 station.setModiTime(new Date());
                 station.setModiUser(userId);
                 if (!basStationService.updateById(station)) {
@@ -207,12 +223,7 @@
             } else {
                 throw new CoolException("鏇存柊婧愮珯鐐圭姸鎬佸け璐ワ紝鐩爣搴撲綅鐘舵�侊細" + station.getLocSts());
             }
-        } else {
-            throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
-        }
-
-        //鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊
-        if (wrkMast.getIoType() == 1) {
+        } else if (wrkMast.getIoType() == 1) {
             List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
             for (WaitPakin waitPakin : waitPakins) {
                 if (!Cools.isEmpty(waitPakin)) {
@@ -225,12 +236,30 @@
                             .eq("batch", waitPakin.getBatch()));
                 }
             }
+            BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", wrkMast.getSourceStaNo()));
+            if (station.getLocSts().equals("R")) {
+                station.setLocSts("O");
+                station.setBarcode("");
+                station.setModiTime(new Date());
+                station.setModiUser(userId);
+                if (!basStationService.updateById(station)) {
+                    throw new CoolException("鏇存柊婧愮珯鐐圭姸鎬佸け璐�");
+                }
+            }
+        } else {
+            throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
         }
+
+        //鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊
+
 
         //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺
         if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) {
             List<TaskDetl> wrkDetls = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", wrkMast.getWrkNo()));
             for (TaskDetl wrkDetl : wrkDetls) {
+                if (Cools.isEmpty(wrkDetl.getOrderNo())){
+                    continue;
+                }
                 if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                     OrderInAndOutUtil.decrease(Boolean.FALSE, wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(),
                             wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
@@ -240,7 +269,7 @@
                     boolean flag = true;
                     OrderPakin order =  orderService.selectByNo(wrkDetl.getOrderNo());  //OrderInAndOutUtil.selectByNo(Boolean.FALSE, wrkDetl.getOrderNo());
                     if (Objects.isNull(order)) {
-                        throw new CoolException("鍗曟嵁淇℃伅涓嶅瓨鍦紒锛�");
+                        continue;
                     }
                     List<OrderDetlPakin> orderDetls = orderDetlService.selectByOrderId(order.getId()); //OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId());
                     for (OrderDetlPakin orderDetl : orderDetls) {

--
Gitblit v1.9.1