From 1621b79516ac72b9933dd2ea950fe4e267d8a3a7 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期二, 05 十二月 2023 20:03:41 +0800
Subject: [PATCH] bug修复 1.四项库入库时找到在库库位 2.四项库订单出库时没有匹配容器码导致报错 3.四项库转历史档失败
---
src/main/java/com/zy/common/service/CommonService.java | 89 +++++++++++++++++++++++++++++++++++---------
1 files changed, 70 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index b7887ae..2718933 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -202,15 +202,8 @@
}
List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1(), locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd());
- for (LocMast locMast0 : locMasts) {
- LocMast locMast1 = locMastService.findInnerLoc(locMast0.getLocNo());//妫�娴嬪悓搴撲綅缁勬繁搴撲綅鏄惁鏈夌┖闂插簱浣�
- if (locMast1 != null) {
- //棰勭暀绌哄簱浣�
- if (locMastService.checkEmptyCount(locMast1, 10)) {
- return locMast1;
- }
- }
- }
+ locMast = locFilter(locMasts, matNos,locTypeDto);
+
}
if (locRules.get(0).getKeepGo() == 0) {
@@ -250,17 +243,8 @@
if (locRule == null) {
continue;
}
-
List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1(), locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd());
- for (LocMast locMast0 : locMasts) {
- LocMast locMast1 = locMastService.findInnerLoc(locMast0.getLocNo());//妫�娴嬪悓搴撲綅缁勬繁搴撲綅鏄惁鏈夌┖闂插簱浣�
- if (locMast1 != null) {
- //棰勭暀绌哄簱浣�
- if (locMastService.checkEmptyCount(locMast1, 10)) {
- return locMast1;
- }
- }
- }
+ locMast = locFilter(locMasts, matNos,locTypeDto);
}
// if (locRules.get(0).getKeepGo() == 0) {
@@ -421,6 +405,73 @@
return locMast;
}
+ /*
+ 搴撳瓨瑙勫垯鎼滅储鍒扮殑搴撲綅纭
+ */
+ private LocMast locFilter(List<LocMast> locMasts,List<String> matNos,LocTypeDto locTypeDto){
+ for (LocMast locMast0 : locMasts) {
+ if(!VersionUtils.checkLocType(locMast0,locTypeDto)){
+ continue;
+ }
+ //鍗曞搧鐗╂枡
+ if (matNos.size() == 1) {
+ //濡傛灉涓嶆槸娣辨祬锛屽垯鐩存帴杩斿洖褰撳墠搴撲綅
+ if(Cools.isEmpty(Utils.getGroupDeepLoc(locMast0.getLocNo()))){
+ return locMast0;
+ }else{
+ List<String> groupInnerLoc = Utils.getGroupInnerLoc(locMast0.getLocNo());
+ //濡傛灉鏄繁娴呭簱浣嶏紝浣嗘槸鍐呮祴鏃犲簱浣嶇殑鎯呭喌涓嬶紝鍒欑洿鎺ヨ繑鍥炲綋鍓嶅簱浣�
+ if (Cools.isEmpty(groupInnerLoc)) {
+ return locMast0;
+ }else {
+ //鑾峰彇鏈�娣辩殑搴撲綅
+ String loc = groupInnerLoc.get(groupInnerLoc.size() - 1);
+ LocMast locMast1 = locMastService.selectByLoc(loc);
+ //濡傛灉鏈�娣辨祴搴撲綅涓虹┖搴撲綅锛屽垯鐩存帴杩斿洖鏈�娣卞簱浣�
+ if("O".equals(locMast1.getLocSts())){
+ return locMast1;
+ }else {
+ //濡傛灉鏈�娣卞簱浣嶇姸鎬佷笉涓篎鎴栬�匫锛屽垯璺冲嚭褰撳墠鐨勬繁娴呭簱浣嶆煡鎵�
+ if(!"F".equals(locMast1.getLocSts())){
+ continue;
+ }
+ List<LocDetl> locDetls = locDetlService.selectByLocNo(loc);
+ //濡傛灉褰撳墠娣卞簱浣嶇墿鏂欎笌鍏ュ簱鐗╂枡涓嶇浉绗︼紝鍒欒烦鍑哄綋鍓嶆繁娴呭簱浣嶆煡鎵�
+ if(!Cools.eq(locDetls.get(0).getMatnr(),matNos.get(0))){
+ continue;
+ }
+ //浠庨噷寰�澶栦緷娆¢亶鍘嗚缁勬繁娴呭簱浣�
+ for (int i=groupInnerLoc.size()-1; i>=0 ;i--){
+ LocMast locMast2 = locMastService.selectByLoc(groupInnerLoc.get(i));
+ if("O".equals(locMast2.getLocSts())){
+ //濡傛灉娣卞簱浣嶄腑鍚湁0鐘舵�佺殑搴撲綅锛屽垯鐩存帴杩斿洖璇ュ簱浣�
+ return locMast2;
+ }else if("F".equals(locMast2.getLocSts())){
+ //濡傛灉瀵逛簬locaMast0鏈�杩戠殑涓�涓簱浣嶄篃涓篎鐘舵�侊紝鍒欒繑鍥瀕ocaMastO
+ if(i==0){
+ return locMast0;
+ }else {
+ //濡傛灉璇ョ粍娣辨祬搴撲綅涓惈鏈夋棦涓嶄负F涔熶笉涓篛鐨勫簱浣嶏紝鍒欒烦鍑哄綋鍓嶆繁娴呭簱浣嶆煡鎵�
+ continue;
+ }
+ }else {
+ break;
+ }
+ }
+ }
+
+ }
+ }
+ }else {
+ if(Cools.isEmpty(Utils.getGroupDeepLoc(locMast0.getLocNo()))){
+ return locMast0;
+ }
+ }
+
+ }
+ return null;
+ }
+
//杩斿洖dto
private StartupDto getLocNoStep6(Integer staDescId, Integer sourceStaNo, LocMast locMast) {
StartupDto startupDto = new StartupDto();
--
Gitblit v1.9.1