From a0131e8ae6dedaac1f48e6dd40aee5955e205a9c Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期四, 30 四月 2026 18:14:57 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   67 +++++++++++++++++++++++++++++++--
 1 files changed, 62 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 44427ac..618dbb5 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -450,6 +450,34 @@
 //                    }
                     movLoc(wrkMast);
                     break;
+                case 2:
+                    WrkMast wrkMast1 = wrkMastService.selectOne(
+                            new EntityWrapper<WrkMast>()
+                                    .eq("barcode", wrkMast.getBarcode())
+                                    .eq("io_type", 101)
+                    );
+
+                    if (Cools.isEmpty(wrkMast1)) {
+                        break;
+                    }
+
+                    if ("Y".equals(wrkMast1.getLogMk().trim())) {
+                        wrkMast1.setOveMk("Y");
+                        if(!wrkMastService.updateById(wrkMast1)) {
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            return FAIL.setMsg("鏇存柊閫�搴撹法鍖哄煙瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast1.getWrkNo());
+                        }
+                        break;
+                    }
+                    if (Objects.isNull(wrkMast1.getIsSuplus())) {
+                        break;
+                    }
+
+                    wrkMast1.setOveMk("Y");
+                    if(!wrkMastService.updateById(wrkMast1)) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return FAIL.setMsg("鏇存柊閫�搴撹法鍖哄煙瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast1.getWrkNo());
+                    }break;
                 default:
                     break;
             }
@@ -497,6 +525,7 @@
 
     public void movLoc(WrkMast wrkMast) {
         LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+
         if (Objects.isNull(locMast)) {
             throw new CoolException("鐩爣搴撲綅涓嶅瓨鍦紒锛�");
         }
@@ -600,11 +629,39 @@
                             throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
                         }
                     } else {
-                        if(!Objects.isNull(wrkMast.getPacked())){ //涓嶆槸鏈贩閬撶殑鍑哄簱鑷�1070锛屼箣鍓嶇殑璺ㄥ贩閬撳嚭搴撹繘琛屽畬缁撴搷浣�
-                            WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no",wrkMast.getPacked()));
-                            if(!Objects.isNull(wrkMast1)) {
-                                wrkMast1.setOveMk("Y");
-                                wrkMastService.updateById(wrkMast1);
+                        if(!Objects.isNull(wrkMast.getPacked()) || !Objects.isNull(wrkMast.getExitMk())){ //鏍囪
+                            if(!Objects.isNull(wrkMast.getPacked())){
+                                WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no",wrkMast.getPacked()));
+                                if(!Objects.isNull(wrkMast1)) {
+                                    wrkMast1.setOveMk("Y");
+                                    wrkMastService.updateById(wrkMast1);
+                                }
+                            }
+                            if(!Objects.isNull(wrkMast.getLocNo())){
+                                movLoc(wrkMast);
+                                LocMast locMastTarget = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo()));
+                                // 淇敼搴撲綅鐘舵�� S ====>> F
+                                if (locMastTarget.getLocSts().equals("S")) {
+                                    locMastTarget.setLocSts("F");
+                                    locMastTarget.setBarcode(wrkMast.getBarcode());
+                                    locMastTarget.setIoTime(now);
+                                    locMastTarget.setModiTime(now);
+                                    if (!locMastService.updateById(locMastTarget)) {
+                                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                        return FAIL.setMsg("閫�搴撹法鍖哄煙鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                                    }
+                                }
+                            }
+
+                            if(!Objects.isNull(wrkMast.getPacked())){
+                                LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getSourceLocNo()));
+                                if (Objects.isNull(bLocNo)) {
+                                    throw new CoolException("鏁版嵁閿欒锛� 鐩爣宸ヤ綅涓嶅瓨鍦紒锛�");
+                                }
+                                bLocNo.setLocType(LocStsType.LOC_STS_TYPE_O.type);
+                                if (!locAroundBindService.updateById(bLocNo)) {
+                                    throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                                }
                             }
                         }
 //                    // 鍑哄簱纭淇″彿浣�

--
Gitblit v1.9.1