From 921d69a620b26ee8616b1564f4fa3b228e09d4d6 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期三, 29 四月 2026 16:45:39 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/AutoEmptyOutHandler.java |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/AutoEmptyOutHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoEmptyOutHandler.java
index 7c80bd6..8120229 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoEmptyOutHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoEmptyOutHandler.java
@@ -118,13 +118,26 @@
         }
     }
 
-    private String moveOldestInventoryInner(Integer crnNo, Long userId) {
+    public String moveOldestInventoryInner(Integer crnNo, Long userId) {
         LocDetl oldest = locDetlMapper.selectOldestLocDetl(crnNo);
-        if (Cools.isEmpty(oldest) || Cools.isEmpty(oldest.getLocNo())) {
+        return moveInventoryFromLocDetl(oldest, userId);
+    }
+
+    public String moveMostMatnrInventoryInner(Integer crnNo, Long userId) {
+        String matnr = locDetlMapper.selectMostMatnrByCrnNo(crnNo);
+        if (Cools.isEmpty(matnr)) {
+            return null;
+        }
+        LocDetl detl = locDetlMapper.selectOldestLocDetlByCrnNoAndMatnr(crnNo, matnr);
+        return moveInventoryFromLocDetl(detl, userId);
+    }
+
+    private String moveInventoryFromLocDetl(LocDetl sourceDetl, Long userId) {
+        if (Cools.isEmpty(sourceDetl) || Cools.isEmpty(sourceDetl.getLocNo())) {
             return null;
         }
 
-        LocMast sourceLoc = locMastService.selectById(oldest.getLocNo());
+        LocMast sourceLoc = locMastService.selectById(sourceDetl.getLocNo());
         if (Cools.isEmpty(sourceLoc) || Cools.isEmpty(sourceLoc.getBarcode())) {
             return null;
         }
@@ -215,6 +228,7 @@
         wrkMast.setStaNo(String.valueOf(targetStaNo));
         wrkMast.setFullPlt("Y");
         wrkMast.setExitMk("N");
+        wrkMast.setLogMk("Y");
         wrkMast.setPacked(null);
         wrkMast.setOveMk("N");
         wrkMast.setAppeUser(userId);
@@ -225,12 +239,12 @@
             throw new RuntimeException("鑷姩璺ㄥ贩閬撶Щ搴撶敓鎴愪换鍔″け璐ワ紝workNo=" + workNo + ", sourceLocNo=" + sourceLoc.getLocNo());
         }
 
-        for (LocDetl sourceDetl : sourceDetls) {
+        for (LocDetl sourceDetl1 : sourceDetls) {
             WrkDetl wrkDetl = new WrkDetl();
-            wrkDetl.sync(sourceDetl);
+            wrkDetl.sync(sourceDetl1);
             wrkDetl.setWrkNo(workNo);
             wrkDetl.setIoTime(now);
-            wrkDetl.setAnfme(sourceDetl.getAnfme());
+            wrkDetl.setAnfme(sourceDetl1.getAnfme());
             wrkDetl.setAppeTime(now);
             wrkDetl.setAppeUser(userId);
             wrkDetl.setModiTime(now);

--
Gitblit v1.9.1