From 1d469834074a19ce291f70a783d9d7725430a6fa Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 22 十二月 2025 09:08:17 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 95 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 0805562..a8e9e1c 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -1046,18 +1046,17 @@
// 寮�濮嬫煡鎵惧簱浣� ==============================>>
- // 1.鎸夎鍒欐煡鎵惧簱浣�
- if (Cools.isEmpty(locMast) && sourceStaNo != 4006) {
- List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ if (Cools.isEmpty(locMast) && sourceStaNo != 4006) {//si'lou'p鍥涙ゼ鐩樼偣閫夋嫨鍖哄煙
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
.eq("row1", nearRow)
.eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
- .orderBy("lev1", true).orderBy("bay1", true));//鏈�娴呭簱浣�
+ .orderBy("lev1", true).orderBy("bay1", true)); // 鏈�娴呭簱浣�
for (LocMast locMast1 : locMasts) {
if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
continue;
}
if (Utils.BooleanWhsTypeStaIoType(rowLastno)) {
- //鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娣辩┖搴撲綅
+ // 鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娣辩┖搴撲綅
LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow, nearRow, locMast1, rowLastnoType.getType().longValue());
if (!Cools.isEmpty(locMast2) && locMast2.getRow1() == curRow) {
locMast = locMast2;
@@ -1065,12 +1064,98 @@
}
}
}
+ } else {
+ // 鏍规嵁 findLocNoAttributeVo.getOutArea() 璁剧疆鍒楄寖鍥�
+ int startBay = 1;
+ int endBay = 19;
+
+ switch (findLocNoAttributeVo.getOutArea()) {
+ case 1:
+ startBay = 15;
+ endBay = 19;
+ break;
+ case 2:
+ startBay = 8;
+ endBay = 14;
+ break;
+ case 3:
+ startBay = 1;
+ endBay = 8;
+ break;
+ default:
+ break;
+ }
+
+ // 浼樺厛浠庢寚瀹氬垪鑼冨洿鏌ユ壘
+ boolean found = false;
+
+ // 鎸夌収鎺掑彿浠�38鍒�32閫掑噺鏌ユ壘锛屼紭鍏堟煡鎵炬寚瀹氬垪鑼冨洿锛堝1-8銆�8-14銆�15-19锛�
+ for (int row = 38; row >= 32; row--) {
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("row1", row)
+ .ge("bay1", startBay)
+ .le("bay1", endBay)
+ .eq("loc_sts", "O")
+ .eq("whs_type", rowLastnoType.getType().longValue())
+ .orderBy("lev1", true)
+ .orderBy("bay1", true)); // 鏈�娴呭簱浣�
+
+ for (LocMast locMast1 : locMasts) {
+ if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+ continue;
+ }
+ if (Utils.BooleanWhsTypeStaIoType(rowLastno)) {
+ // 鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娣辩┖搴撲綅
+ LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow, nearRow, locMast1, rowLastnoType.getType().longValue());
+ if (!Cools.isEmpty(locMast2) && locMast2.getRow1() == curRow) {
+ locMast = locMast2;
+ found = true;
+ break;
+ }
+ }
+ }
+
+ if (found) {
+ break; // 鎵惧埌鐩爣搴撲綅鍚庤烦鍑哄惊鐜�
+ }
+ }
+
+ // 濡傛灉娌℃湁鍦ㄤ紭鍏堣寖鍥村唴鎵惧埌鍚堥�傚簱浣嶏紝缁х画杩涜鍏ㄥ眬鏌ユ壘锛�1-19鍒楋級
+ if (!found) {
+ // 浠庢帓鍙�38鍒�32鏌ユ壘鎵�鏈夊垪锛�1-19锛�
+ for (int row = 38; row >= 32; row--) {
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("row1", row)
+ .ge("bay1", 1) // 鏌ユ壘1鍒�19鍒�
+ .le("bay1", 19)
+ .eq("loc_sts", "O")
+ .eq("whs_type", rowLastnoType.getType().longValue())
+ .orderBy("lev1", true)
+ .orderBy("bay1", true)); // 鏈�娴呭簱浣�
+
+ for (LocMast locMast1 : locMasts) {
+ if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+ continue;
+ }
+ if (Utils.BooleanWhsTypeStaIoType(rowLastno)) {
+ // 鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娣辩┖搴撲綅
+ LocMast locMast2 = locMastService.selectLocByLocStsPakInO(curRow, nearRow, locMast1, rowLastnoType.getType().longValue());
+ if (!Cools.isEmpty(locMast2) && locMast2.getRow1() == curRow) {
+ locMast = locMast2;
+ found = true;
+ break;
+ }
+ }
+ }
+
+ if (found) {
+ break; // 鎵惧埌鐩爣搴撲綅鍚庤烦鍑哄惊鐜�
+ }
+ }
+ }
}
-// else{
-// if(findLocNoAttributeVo.getOutArea() == 1){
-//
-// }
-// }
+
+
// 閫掑綊鏌ヨ
if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("O")) {
--
Gitblit v1.9.1