From c46f9c28f8d40d2a4efcc7ef6e528661d97a4be0 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 14 二月 2023 13:48:18 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 51 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index da2d0cf..296bbbd 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -343,6 +343,7 @@
// 寮�濮嬫煡鎵惧簱浣� ==============================>>
// 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺�
+ // 楂樹綆棰戠鎺с�佸簱浣嶇粍鍏ㄩ儴涓篛
if (locMast == null) {
List<Integer> rows = Utils.getGroupLoc(curRow);
List<LocMast> locMasts = locMastService.queryFreeLocMast0(rows, rows.size(), locTypeDto.getLocType1(), inoutEveryday);
@@ -358,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.鏃犲簱浣嶆椂锛屾棤瑙嗗尯鍩熼攣瀹氾紝閲嶆柊鏌ユ壘搴撲綅
@@ -386,7 +433,10 @@
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;
}
}
--
Gitblit v1.9.1