From ecb8d4fceb450fcfc8d527cd448914f96a52bf97 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期三, 16 十月 2024 15:11:32 +0800 Subject: [PATCH] #优化 --- src/main/java/com/zy/common/service/CommonService.java | 62 +++++++++++++++++++++++++++---- 1 files changed, 54 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index f46b33e..003f292 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -35,6 +35,18 @@ add(21);add(22);add(23);add(24);add(25);add(26);add(27);add(28);add(29);add(30); }}; + public static final List<String> HARD_LOC_NO = new ArrayList<String>() {{ + add("0200104");add("0200704");add("0201404");add("0202004"); + add("0600201");add("0600202");add("0600203");add("0600204"); + add("0600301");add("0600302");add("0600303");add("0600304"); + add("0600701");add("0600702"); + add("0601401");add("0601402"); + add("0602001");add("0602002"); + add("2000704");add("2001404");add("2002004"); + add("1600701");add("1601401");add("1602001"); + add("1600702");add("1601402");add("1602002"); + }}; + @Autowired private WrkMastService wrkMastService; @Autowired @@ -106,7 +118,7 @@ * @param matNos 鐗╂枡鍙烽泦鍚� * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿 */ - public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto) { + public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto, Integer matTypeIn) { int start; int end; Integer matType = null;//鐗╂枡绫诲瀷 @@ -117,6 +129,7 @@ ArrayList<Integer> rows = new ArrayList<>(); switch (sourceStaNo) { case 103://103鍏ュ簱绔� + case 113://103鍏ュ簱绔� whsType = 1; start = 1; end = 14; @@ -133,6 +146,7 @@ crnNo = 1; break; case 203://203鍏ュ簱绔� + case 213://203鍏ュ簱绔� whsType = 2; start = 8; end = 21; @@ -176,6 +190,11 @@ } if (!matType.equals(mat.getMatType())) { throw new CoolException("娣锋斁鐗╂枡绫诲瀷涓嶄竴鑷�"); + } + } + if (!Cools.isEmpty(matTypeIn)) { + if (!matTypeIn.equals(0)) { + matType = matTypeIn; } } @@ -267,7 +286,7 @@ // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast0, 10)) { + if (locMastService.checkEmptyCount(locMast0, 5)) { locMast = locMast0; break; } @@ -306,7 +325,7 @@ // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast0, 10)) { + if (locMastService.checkEmptyCount(locMast0, 5)) { locMast = locMast0; break; } @@ -335,7 +354,7 @@ // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast0, 10)) { + if (locMastService.checkEmptyCount(locMast0, 5)) { locMast = locMast0; break; } @@ -359,16 +378,39 @@ //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣� continue; } + //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆 + if (!Utils.checkOutsideLocIsDFX(locMast0.getLocNo())) { + //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣� + continue; + } // 娴呭簱浣嶇鍚堝昂瀵告娴� if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) { // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast0, 10)) { + if (locMastService.checkEmptyCount(locMast0, 5)) { locMast = locMast0; flag = true; break; + } + } + } + } + if (!flag) { + List<LocMast> locMastsNew = locMastService.findInEmptyLocMastNew(locTypeDto.getLocType1(), HARD_LOC_NO, crnNo);//鎵句竴鏉℃柊鐨勭┖宸烽亾 + for (LocMast locMast0 : locMastsNew) { + //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆 + // 娴呭簱浣嶇鍚堝昂瀵告娴� + if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) { + // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 + if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { + // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� + if (locMastService.checkEmptyCount(locMast0, 5)) { + locMast = locMast0; + flag = true; + break; + } } } } @@ -408,7 +450,7 @@ // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast0, 10)) { + if (locMastService.checkEmptyCount(locMast0, 5)) { locMast = locMast0; } } @@ -511,9 +553,13 @@ if (Cools.isEmpty(staDesc)) { log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}, crnNo={}", staDescId, sourceStaNo, locMast.getCrnNo()); if (sourceStaNo==103 && locMast.getCrnNo()==3){ - throw new CoolException("璇锋斁鍒�203鍏ュ簱鍙�"); + throw new CoolException("璇锋斁鍒�203鍏ュ簱鍙�--1000"); }else if (sourceStaNo==203 && locMast.getCrnNo()==1){ - throw new CoolException("璇锋斁鍒�103鍏ュ簱鍙�"); + throw new CoolException("璇锋斁鍒�103鍏ュ簱鍙�--1000"); + }else if (sourceStaNo==113 && locMast.getCrnNo()==3){ + throw new CoolException("璇锋斁鍒�213鍏ュ簱鍙�--1000"); + }else if (sourceStaNo==213 && locMast.getCrnNo()==1){ + throw new CoolException("璇锋斁鍒�113鍏ュ簱鍙�--1000"); }else { throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); } -- Gitblit v1.9.1