From 4144de663ebb44755cfdf1d2ca8c90e53ab0664c Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期四, 30 四月 2026 18:36:57 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/AutoEmptyOutHandler.java | 52 ++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 44 insertions(+), 8 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 508d0e5..b5ada96 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoEmptyOutHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoEmptyOutHandler.java
@@ -118,14 +118,31 @@
}
}
- 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;
+ }
+ Integer sourceCrnNo = sourceLoc.getCrnNo();
+ if (sourceCrnNo == null) {
return null;
}
@@ -139,7 +156,20 @@
Integer targetCrnNo = null;
Integer targetEmptyCount = null;
for (int candidate = 1; candidate < 5; candidate++) {
- if (candidate == crnNo) {
+ if (candidate == sourceCrnNo) {
+ continue;
+ }
+// Integer runingCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>()
+// .eq("io_type", 101).eq("crn_no",candidate)
+// .in("wrk_sts", Arrays.asList(2L, 3L, 4L, 11L, 12L)));
+// if(runingCount != null && runingCount > 3) {continue;}
+ Integer existCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>()
+ .eq("io_type", 101)
+ .eq("log_mk", "Y")
+ .eq("ove_mk", "N"));
+ int allow = 3 - (existCount == null ? 0 : existCount);
+ if (allow <= 0) {
+ log.info("鑷姩绉诲簱宸茶揪涓婇檺{}", existCount);
continue;
}
Integer candidateEmpty = locMastService.selectCount(new EntityWrapper<LocMast>()
@@ -170,6 +200,9 @@
if (Cools.isEmpty(targetLoc)) {
return null;
}
+ if (sourceCrnNo.equals(targetLoc.getCrnNo())) {
+ return null;
+ }
List<Integer> sourceStaNos = staDescService.queryOutStaNosByLocNo(sourceLoc.getLocNo(), 101);
if (Cools.isEmpty(sourceStaNos)) {
@@ -195,7 +228,7 @@
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L);
wrkMast.setIoType(101);
- wrkMast.setIoPri(10D);
+ wrkMast.setIoPri(12D);
wrkMast.setCrnNo(sourceLoc.getCrnNo());
wrkMast.setSourceLocNo(sourceLoc.getLocNo());
wrkMast.setLocNo(targetLoc.getLocNo());
@@ -204,6 +237,8 @@
wrkMast.setStaNo(String.valueOf(targetStaNo));
wrkMast.setFullPlt("Y");
wrkMast.setExitMk("N");
+ wrkMast.setLogMk("Y");
+ wrkMast.setEmptyMk("N");
wrkMast.setPacked(null);
wrkMast.setOveMk("N");
wrkMast.setAppeUser(userId);
@@ -214,12 +249,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);
@@ -260,6 +295,7 @@
.eq("crn_no", crnNo)
.eq("io_type", 110)
);
+ if(crnNo !=1){continue;}
if(!wrkMastList.isEmpty()){continue;}
Integer emptyLocCount = locMastService.selectCount(new EntityWrapper<LocMast>()
.eq("crn_no", crnNo)
--
Gitblit v1.9.1