From a5011461e6c32c6c33dff9bfaf8389d0ca2fa997 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 09 五月 2025 14:15:04 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   33 +++++++++++++++++++--------------
 1 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 880f67e..993506e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1030,11 +1030,12 @@
                 } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
                     // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
                     if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) {
-                        wrkMast.setUpdMk("Y");
-                        wrkMast.setIoPri(14D);
-                        wrkMastMapper.updateById(wrkMast);
+                        if (moveLocForDeepLoc(slave, shallowLoc)){
+                            wrkMast.setUpdMk("Y");
+                            wrkMast.setIoPri(14D);
+                            wrkMastMapper.updateById(wrkMast);
+                        }
                         // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                        moveLocForDeepLoc(slave, shallowLoc);
                         // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
 //                        moveLocForDeepLocPakin(slave, shallowLoc, wrkMast);
                     }
@@ -1174,10 +1175,12 @@
 //                            if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())
 //                                || Cools.isEmpty(waitWrkMast)) {
                             if (Cools.isEmpty(waitWrkMast)) {
-                                wrkMast.setUpdMk("Y");
-                                wrkMastMapper.updateById(wrkMast);
+                                if ( moveLocForDeepLoc(slave, shallowLoc)){
+                                    wrkMast.setUpdMk("Y");
+                                    wrkMastMapper.updateById(wrkMast);
+                                }
                                 // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                                moveLocForDeepLoc(slave, shallowLoc);
+
                             }
                             log.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
                             continue;
@@ -1865,7 +1868,8 @@
      * 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)
      * tip锛氬悓姝�
      */
-    private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc) {
+    @Transactional
+    public synchronized Boolean moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc) {
         try {
             List<Integer> rows = locMastService.queryDistinctRow(crn.getId());
             LocMast loc = null;
@@ -1909,7 +1913,7 @@
 
             if (null == loc) {
                 log.error("鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo());
-                throw new CoolException("鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo());
+                return false;
             }
             List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo()));
             // 鑾峰彇宸ヤ綔鍙�
@@ -1957,10 +1961,11 @@
                 shallowLoc.setLocSts("R"); // R.鍑哄簱棰勭害
                 shallowLoc.setModiTime(new Date());
                 if (!locMastService.updateById(shallowLoc)) {
-                    throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+//                    throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
                 }
             } else {
-                throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
+                return false;
+//                throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
             }
             // 淇敼鐩爣搴撲綅鐘舵��
             if (loc.getLocSts().equals("O")) {
@@ -1970,13 +1975,13 @@
                     throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
                 }
             } else {
-                throw new CoolException("绉昏浆澶辫触");
+                return false;
+//                throw new CoolException("绉昏浆澶辫触");
             }
         } catch (Exception e) {
             log.error("鍙屾繁搴撲綅闃诲锛屽娴呭簱浣嶈繘琛岀Щ杞け璐�", e);
-            e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
         }
+        return true;
     }
 
     /**

--
Gitblit v1.9.1