From 31b586dbc4dd87c88ac585f00071df32798e8d42 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 24 九月 2025 15:43:11 +0800
Subject: [PATCH] 缓冲库区修改

---
 src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java |   74 ++++++++++++++++++++++---------------
 1 files changed, 44 insertions(+), 30 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 154b87d..a983123 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
@@ -7,14 +7,14 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.mapper.TaskMapper;
-import com.zy.asrs.service.TaskLogService;
-import com.zy.asrs.service.TaskService;
+import com.zy.asrs.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.zy.asrs.utils.OrderInAndOutUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
@@ -24,9 +24,19 @@
 
     @Autowired
     private TaskLogService taskLogService;
+    @Autowired
+    private LocCacheService locCacheService;
+    @Autowired
+    private WaitPakinService waitPakinService;
+    @Autowired
+    private TaskDetlService taskDetlService;
+    @Autowired
+    private TaskService taskService;
+    @Autowired
+    private TaskDetlLogService taskDetlLogService;
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public void completeWrkMast(String workNo, Long userId) {
         Task wrkMast = this.selectOne(new EntityWrapper<Task>().eq("wrk_no", workNo));
         if (Cools.isEmpty(wrkMast)) {
@@ -78,46 +88,50 @@
             throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
         }
         // 鑾峰彇鐩爣绔�
-        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-                .eq("type_no", wrkMast.getIoType() - 50)
-                .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
-                .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
-        StaDesc staDesc = staDescService.selectOne(wrapper);
-        if (Cools.isEmpty(staDesc)) {
-            throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
-        }
+//        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+//                .eq("type_no", wrkMast.getIoType() - 50)
+//                .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+//                .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
+//        StaDesc staDesc = staDescService.selectOne(wrapper);
+//        if (Cools.isEmpty(staDesc)) {
+//            throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+//        }
         Date now = new Date();
         // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
-        Integer staNo = staDesc.getCrnStn();
+//        Integer staNo = staDesc.getCrnStn();
         // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
         wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
         wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
-        wrkMast.setStaNo(staNo + ""); // 鐩爣绔�
+//        wrkMast.setStaNo(staNo + ""); // 鐩爣绔�
         wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
         wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
         wrkMast.setModiTime(now);
         wrkMast.setModiUser(userId);
-        if (!wrkMastService.updateById(wrkMast)) {
+        if (!this.updateById(wrkMast)) {
             throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
         }
         // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
-        LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+        LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", wrkMast.getLocNo()));
         locMast.setLocSts("Q");
         locMast.setModiTime(now);
         locMast.setModiUser(userId);
-        if (!locMastService.updateById(locMast)) {
+        if (!locCacheService.updateById(locMast)) {
             throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
         }
     }
 
+    @Override
+    public List<Task> selectToBeCompleteData() {
+        return this.baseMapper.selectToBeCompleteData();
+    }
 
 
     @Override
     @Transactional
     public void cancelWrkMast(String workNo, Long userId) {
         Date now = new Date();
-        WrkMast wrkMast = wrkMastService.selectById(workNo);
+        Task wrkMast = this.selectOne(new EntityWrapper<Task>().eq("wrk_no", workNo));
         if (Cools.isEmpty(wrkMast)) {
             throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
         }
@@ -131,14 +145,14 @@
             // 搴撲綅杞Щ
             if (wrkMast.getIoType() == 11) {
                 // 搴撲綅杞Щ锛氭簮搴撲綅
-                LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+                LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", wrkMast.getSourceLocNo()));
                 if (Cools.isEmpty(locMast)) {
                     throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:" + wrkMast.getSourceLocNo());
                 }
                 locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F");
                 locMast.setModiTime(now);
                 locMast.setModiUser(userId);
-                locMastService.updateById(locMast);
+                locCacheService.updateById(locMast);
             }
             // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
         } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
@@ -153,14 +167,14 @@
             } else if (wrkMast.getIoType() == 11) {
                 locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F";
                 // 搴撲綅杞Щ锛氱洰鏍囧簱浣�
-                LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+                LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", wrkMast.getLocNo()));
                 if (Cools.isEmpty(locMast)) {
                     throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:" + wrkMast.getSourceLocNo());
                 }
                 locMast.setLocSts("O");
                 locMast.setModiTime(now);
                 locMast.setModiUser(userId);
-                locMastService.updateById(locMast);
+                locCacheService.updateById(locMast);
             }
         } else {
             throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
@@ -184,8 +198,8 @@
 
         //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺
         if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) {
-            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-            for (WrkDetl wrkDetl : wrkDetls) {
+            List<TaskDetl> wrkDetls = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+            for (TaskDetl wrkDetl : wrkDetls) {
                 if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
 //                    if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
 //                        throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
@@ -237,34 +251,34 @@
         wrkMast.setManuType("鎵嬪姩鍙栨秷");
         wrkMast.setModiUser(userId);
         wrkMast.setModiTime(now);
-        if (!wrkMastService.updateById(wrkMast)) {
+        if (!taskService.updateById(wrkMast)) {
             throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐�");
         }
         // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
-        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+        if (!taskLogService.save(wrkMast.getWrkNo())) {
             throw new CoolException("淇濆瓨宸ヤ綔鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
         }
         // 鍒犻櫎宸ヤ綔涓绘。
-        boolean wrkMastRes = wrkMastService.deleteById(wrkMast);
+        boolean wrkMastRes = taskService.deleteById(wrkMast);
 
         if (wrkMast.getIoType() != 10 && wrkMast.getIoType() != 110) {
             // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
-            if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
+            if (!taskDetlLogService.save(wrkMast.getWrkNo())) {
 //                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
             }
             // 鍒犻櫎宸ヤ綔妗f槑缁�
-            boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
+            boolean wrkDetlRes = taskDetlService.delete(new EntityWrapper<TaskDetl>().eq("wrk_no", workNo));
         }
 
         // 淇敼搴撲綅鐘舵��
-        LocMast locMast = locMastService.selectById(locNo);
+        LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", locNo));
         if (Cools.isEmpty(locMast)) {
             throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo);
         }
         locMast.setLocSts(locSts);
         locMast.setModiTime(now);
         locMast.setModiUser(userId);
-        boolean locMastRes = locMastService.updateById(locMast);
+        boolean locMastRes = locCacheService.updateById(locMast);
         if (!wrkMastRes || !locMastRes) {
             throw new CoolException("淇濆瓨鏁版嵁澶辫触");
         }

--
Gitblit v1.9.1