From 4c98ecfe56a77a17352d01163b9b86fa98f0f2a9 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期三, 24 五月 2023 14:47:13 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/bfasrs' into bfasrs --- src/main/java/com/zy/common/service/CommonService.java | 131 +++++++++++++++++++++++++++++-------------- 1 files changed, 89 insertions(+), 42 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 423aee2..aaba5de 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -178,9 +178,12 @@ if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) { // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { - crnNo = locMast0.getCrnNo(); - locMast = locMast0; - break; + // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� + if (locMastService.checkEmptyCount(locMast0, 10)) { + crnNo = locMast0.getCrnNo(); + locMast = locMast0; + break; + } } } } @@ -200,9 +203,12 @@ if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) { // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { - crnNo = locMast0.getCrnNo(); - locMast = locMast0; - break; + // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� + if (locMastService.checkEmptyCount(locMast0, 10)) { + crnNo = locMast0.getCrnNo(); + locMast = locMast0; + break; + } } } } @@ -224,9 +230,12 @@ if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) { // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { - crnNo = locMast0.getCrnNo(); - locMast = locMast0; - break; + // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� + if (locMastService.checkEmptyCount(locMast0, 10)) { + crnNo = locMast0.getCrnNo(); + locMast = locMast0; + break; + } } } } @@ -334,6 +343,7 @@ // 寮�濮嬫煡鎵惧簱浣� ==============================>> // 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺� + // 楂樹綆棰戠鎺с�佸簱浣嶇粍鍏ㄩ儴涓篛 if (locMast == null) { List<Integer> rows = Utils.getGroupLoc(curRow); List<LocMast> locMasts = locMastService.queryFreeLocMast0(rows, rows.size(), locTypeDto.getLocType1(), inoutEveryday); @@ -349,6 +359,52 @@ // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� if (!locMastService.checkEmptyCount(locMast, 10)) { locMast = null; } + } + + // 2.1 楂樹綆棰戠鎺с�佸簱浣嶇粍鏃犻渶鍏ㄩ儴涓篛锛屾壘鍒板簱浣嶅搴旀繁搴撲綅涓嶈兘涓篜 R + if (Cools.isEmpty(locMast)) { + int sign = curRow; + while (sign != 0 && Cools.isEmpty(locMast)) { + List<LocMast> locMasts = locMastService.queryFreeLocMastEnd1(sign, locTypeDto.getLocType1(), inoutEveryday); + for (LocMast loc : locMasts) { + // 鍚屽簱浣嶇粍瀵瑰簲鍏堕挶搴撲綅鏄惁涓� O.绌哄簱浣� + boolean success = true; + // 娴呭簱浣� + List<String> outerLocList = Utils.getGroupOuterLoc(loc.getLocNo()); + for (String outerLocNo : outerLocList) { + LocMast outerLoc = locMastService.selectById(outerLocNo); + if (Cools.isEmpty(outerLoc)) { + continue; + } + if (!outerLoc.getLocSts().equals("O")) { + success = false; break; + } + } + // 娣卞簱浣嶅垽鏂� + List<String> insideLocList = Utils.getGroupInsideLoc(loc.getLocNo()); + for (String insideLocNo : insideLocList) { + LocMast insideLoc = locMastService.selectById(insideLocNo); + if (Cools.isEmpty(insideLoc)) { + continue; + } + if (insideLoc.getLocSts().equals("R") + || insideLoc.getLocSts().equals("P") + || insideLoc.getLocSts().equals("Q") + || insideLoc.getLocSts().equals("S")) { + success = false; break; + } + } + // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� + if (!locMastService.checkEmptyCount(loc, 10)) { + success = false; + } + if (success) { + locMast = loc; + break; + } + } + sign = getCurRow(sign); + } } // 2.鏃犲簱浣嶆椂锛屾棤瑙嗗尯鍩熼攣瀹氾紝閲嶆柊鏌ユ壘搴撲綅 @@ -377,9 +433,16 @@ if (Cools.isEmpty(insideLoc)) { continue; } - if (insideLoc.getLocSts().equals("R") || insideLoc.getLocSts().equals("P")) { + if (insideLoc.getLocSts().equals("R") + || insideLoc.getLocSts().equals("P") + || insideLoc.getLocSts().equals("Q") + || insideLoc.getLocSts().equals("S")) { success = false; break; } + } + // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� + if (!locMastService.checkEmptyCount(loc, 10)) { + success = false; } if (success) { locMast = loc; @@ -390,38 +453,22 @@ } } - -// if (Cools.isEmpty(locMast)){ -// List<LocMast> locMasts = locMastService.queryFreeLocMastEnd(curRow, locTypeDto.getLocType1()); -// int sign=curRow; -// while (true){ -// if (locMasts.size()==0){ -// sign = getCurRow(sign); -// if (sign != 0){ -// locMasts = locMastService.queryFreeLocMastEnd(sign, locTypeDto.getLocType1()); -// }else { -// break; -// } -// }else { -// break; -// } -// } -// for (LocMast locMast1 : locMasts){ -// List<LocMast> locMasts1 = locMastService.queryFreeLocMastEnd0(locMast1.getBay1(), locMast1.getLev1(),locMast1.getRow1(), locTypeDto.getLocType1()); -// Integer innermostRow = Utils.getInnermostRow(locMasts1.get(0).getLocNo()); -// for (LocMast locMast2:locMasts1){ -// if (locMast2.getLocSts().equals("O")){ -// locMast = locMast2; -// break; -// }else if (!locMast2.getLocSts().equals("F")){ -// break; -// } -// } -// if (!Cools.isEmpty(locMast)){ -// break; -// } -// } -// } + //2023-4-13 ADD锛� 鎵惧埌鐨勫簱浣嶃�佷互鍙婂叾娴呭簱浣嶏紝濡傛灉鍦ㄥ伐浣滄。鏈夌Щ搴撲换鍔★紝鍒欒烦杩� + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .eq("io_type", 11)); + for (WrkMast wrkMast : wrkMasts){ + if (wrkMast.getSourceLocNo().equals(locMast.getLocNo())){ + locMast = null; + break; + } + List<String> outerLocList = Utils.getGroupOuterLoc(locMast.getLocNo()); + for (String outerLocNo : outerLocList) { + if (locMast.getLocNo().equals(outerLocNo)){ + locMast = null; + break; + } + } + } // 3.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣� if (Cools.isEmpty(locMast)) { -- Gitblit v1.9.1