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 | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 102 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index f0c187c..a8e9e1c 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -166,10 +166,10 @@
int[] params = Utils.LocNecessaryParameters(rowLastno, curRow, crnNumber);
curRow = params[1];
int crnNo = params[2];
- if (!basCrnpService.checkSiteError(crnNo, true)) {
- attempt++;
- continue;
- }
+// if (!basCrnpService.checkSiteError(crnNo, true)) {
+// attempt++;
+// continue;
+// }
int rowCount = params[0];
int nearRow = params[3];
@@ -1007,7 +1007,7 @@
//姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿
int[] locNecessaryParameters = Utils.LocNecessaryParameters(rowLastno, curRow, crnNumber);
curRow = locNecessaryParameters[1];
- crnNo = locNecessaryParameters[2];
+ crnNo = 6;
rowCount = locNecessaryParameters[0];
nearRow = locNecessaryParameters[3];
@@ -1015,7 +1015,7 @@
StaDesc staDesc = null;
BasDevp staNo = null;
- if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) {
+// if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) {
// 鑾峰彇鐩爣绔�
// wrapper = new EntityWrapper<StaDesc>()
// .eq("type_no", staDescId)
@@ -1036,7 +1036,7 @@
// }
// startupDto.setStaNo(staNo.getDevNo());
// }
- }
+// }
// 鏇存柊搴撲綅鎺掑彿
if (Utils.BooleanWhsTypeSta(rowLastno, staDescId) && Cools.isEmpty(locMast)) {
@@ -1046,18 +1046,17 @@
// 寮�濮嬫煡鎵惧簱浣� ==============================>>
- // 1.鎸夎鍒欐煡鎵惧簱浣�
- if (Cools.isEmpty(locMast) && crnNo != 0) {
- 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,8 +1064,99 @@
}
}
}
+ } 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; // 鎵惧埌鐩爣搴撲綅鍚庤烦鍑哄惊鐜�
+ }
+ }
+ }
}
+
+
// 閫掑綊鏌ヨ
if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("O")) {
// 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
--
Gitblit v1.9.1