From 45333415b7634fc20b03b7e8ae3b7eee91101bda Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 07 十二月 2023 10:48:31 +0800
Subject: [PATCH] 增加筛选条件
---
src/main/java/com/zy/common/service/CommonService.java | 85 +++++++++++++++++++++++++++++++++++-------
1 files changed, 71 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index f5e4231..2718933 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -202,12 +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) {
- //棰勭暀绌哄簱浣�
- if (locMastService.checkEmptyCount(locMast0, 10)) {
- return locMast0;
- }
- }
+ locMast = locFilter(locMasts, matNos,locTypeDto);
+
}
if (locRules.get(0).getKeepGo() == 0) {
@@ -247,14 +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) {
- //棰勭暀绌哄簱浣�
- if (locMastService.checkEmptyCount(locMast0, 10)) {
- return locMast0;
- }
- }
+ locMast = locFilter(locMasts, matNos,locTypeDto);
}
// if (locRules.get(0).getKeepGo() == 0) {
@@ -285,7 +275,7 @@
//鍐嶅垽鏂簱瀛樻槑缁嗘。锛屾枡鍙风浉鍚岀殑鏄庣粏搴撲綅
List<String> locNos = locDetlService.getSameDetl(matNos.get(0));
for (String locNo : locNos) {
- LocMast locMast0 = locMastService.findNearloc(locNo);
+ LocMast locMast0 = locMastService.findInnerLoc(locNo);
if (null != locMast0) {
// 娴呭簱浣嶇鍚堝昂瀵告娴�
if (VersionUtils.checkLocType(locMast0, locTypeDto)) {
@@ -415,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