From 52985bb39bdeb8e0d6ac04327c703c148bda3b6e Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 11 十月 2025 15:53:41 +0800
Subject: [PATCH] 修复自动移库BUG
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 43 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 183b3a0..9553b17 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -91,8 +91,11 @@
// 妫�绱㈠簱浣�
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
- List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList());
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs.get(0), batchs.get(0), null,locTypeDto,0);
+// List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList());
+ StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), matnrs.get(0), null, null,locTypeDto);
+ if (Cools.isEmpty(dto)){
+ throw new CoolException("鏌ヨ搴撲綅澶辫触锛侊紒==銆媠tartupFullPutStore ==銆� commonService.getLocNo");
+ }
// 鐢熸垚宸ヤ綔鍙�
int workNo = dto.getWorkNo();
// 鐢熸垚宸ヤ綔妗�
@@ -170,6 +173,17 @@
}
if (!locDetlDtos.isEmpty()) {
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("lev1", locMast.getLev1())
+ .orderBy("bay1",false));
+ for (LocMast locMast1 : locMasts) {
+ if (locMast1.getLocNo().equals(locMast.getLocNo())) {
+ break;
+ }
+ if (locMast1.getLocSts().equals("D") || locMast1.getLocSts().equals("F")) {
+ throw new CoolException(locMast.getLocNo()+"搴撲綅鍫靛锛岀姝㈠嚭搴�");
+ }
+ }
if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){
// 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
stockOut(staNo, locDetlDtos, null, userId);
@@ -229,7 +243,7 @@
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
- wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setWrkSts(0L); // 宸ヤ綔鐘舵�侊細0.寰呮帴鏀�
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
wrkMast.setIoPri(13D); // 浼樺厛绾э細13
wrkMast.setCrnNo(locMast.getCrnNo());
@@ -372,7 +386,7 @@
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
// 妫�绱㈠簱浣�
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null,null,null, locTypeDto, 0);
+ StartupDto dto = commonService.getLocNo( 10, devpNo, null,null,null, locTypeDto);
int workNo = dto.getWorkNo();
Date now = new Date();
// 鐢熸垚宸ヤ綔妗�
@@ -440,6 +454,21 @@
if (!locMast.getLocSts().equals("D")){
throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
}
+ boolean res1 = false;
+ if(param.getOutSite()==100){
+ res1 = true;
+ }
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("lev1", locMast.getLev1())
+ .orderBy("bay1",res1));
+ for (LocMast locMast1 : locMasts) {
+ if (locMast1.getLocNo().equals(locMast.getLocNo())) {
+ break;
+ }
+ if (locMast1.getLocSts().equals("D") || locMast1.getLocSts().equals("F")) {
+ throw new CoolException(locNo+"搴撲綅鍫靛锛岀姝㈠嚭搴�");
+ }
+ }
// 鑾峰彇婧愮珯
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", 110)
@@ -455,7 +484,7 @@
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
- wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setWrkSts(0L); // 宸ヤ綔鐘舵�侊細0.寰呭彂閫�
wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
wrkMast.setIoPri(10D);
wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
@@ -671,12 +700,13 @@
if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
- // 鍏ュ簱 + 搴撲綅杞Щ
- if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
- wrkMast.setWrkSts(4L);
// 鍑哄簱
- } else if (wrkMast.getWrkSts() > 10) {
+ if (wrkMast.getIoType() > 100) {
wrkMast.setWrkSts(14L);
+ // 鍏ュ簱 + 搴撲綅杞Щ
+ } else if (wrkMast.getIoType()==1 || wrkMast.getIoType()==10 || wrkMast.getIoType()==11) {
+ wrkMast.setWrkSts(4L);
+
}
Date now = new Date();
wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
@@ -822,7 +852,7 @@
String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
// 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級
- if (wrkMast.getWrkSts() < 4) {
+ if (wrkMast.getIoType() < 100) {
locNo = wrkMast.getLocNo();
locSts = "O";
@@ -839,10 +869,10 @@
locMastService.updateById(locMast);
}
// 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
- } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
+ } else if (wrkMast.getIoType() > 100 && wrkMast.getWrkSts() != 14) {
locNo = wrkMast.getSourceLocNo();
// 鍑哄簱 ===>> F.鍦ㄥ簱
- if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
+ if (wrkMast.getIoType() == 101) {
locSts = "F";
// 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
} else if (wrkMast.getIoType() == 110) {
@@ -874,8 +904,7 @@
waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>()
// .eq("order_no", waitPakin.getOrderNo())
.eq("zpallet",waitPakin.getZpallet())
- .eq("matnr", waitPakin.getMatnr())
- .eq("batch", waitPakin.getBatch()));
+ .eq("matnr", waitPakin.getMatnr()));
}
}
}
--
Gitblit v1.9.1