From 5e38c75bc9c609d5e41bf817756ef8ed7a0f4851 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 21 八月 2025 15:28:27 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/common/service/CommonService.java | 129 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 119 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 6878aec..b08da3d 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -160,7 +160,13 @@
throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
}
// ===============>>>> 寮�濮嬫墽琛�
- curRow = rowLastno.getCurrentRow();
+ if (sourceStaNo == 118 || sourceStaNo == 122){
+ curRow = rowLastno.getCurrentRow1();
+ } else if (sourceStaNo == 120 || sourceStaNo == 121 || sourceStaNo == 123 || sourceStaNo == 171){
+ curRow = rowLastno.getCurrentRow2();
+ } else {
+ curRow = rowLastno.getCurrentRow();
+ }
if (!Cools.isEmpty(moveCrnNo) && moveCrnNo!=0){
crnNumber = moveCrnNo;
@@ -172,7 +178,7 @@
}
//姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿
- for (int i = times; i < crnNumber*2; i++) {
+ for (int i = times; i < crnNumber*4; i++) {
int[] locNecessaryParameters = Utils.LocNecessaryParameters(whsType, curRow, crnNumber);
curRow = locNecessaryParameters[1];
crnNo = locNecessaryParameters[2];
@@ -224,10 +230,20 @@
if (locMast2.getCrnNo()==1 || locMast2.getCrnNo()==6){
continue;
}
+ if (sourceStaNo == 118 || sourceStaNo == 122){
+ if (locMast2.getCrnNo()>3){
+ continue;
+ }
+ } else if (sourceStaNo == 120 || sourceStaNo == 121 || sourceStaNo == 123 || sourceStaNo == 171){
+ if (locMast2.getCrnNo()<4){
+ continue;
+ }
+ }
}
LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast2.getLocNo()));
if (!Cools.isEmpty(locDetl) && matnr.equals(locDetl.getMatnr())) {
locMast = locMast1;
+ crnNo = locMast.getCrnNo();
break;
}
}
@@ -245,6 +261,15 @@
if (sourceStaNo<200){
if (shallowLoc.getCrnNo()==1 || shallowLoc.getCrnNo()==6){
continue;
+ }
+ if (sourceStaNo == 118 || sourceStaNo == 122){
+ if (shallowLoc.getCrnNo()>3){
+ continue;
+ }
+ } else if (sourceStaNo == 120 || sourceStaNo == 121 || sourceStaNo == 123 || sourceStaNo == 171){
+ if (shallowLoc.getCrnNo()<4){
+ continue;
+ }
}
}
if (VersionUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) {
@@ -330,7 +355,13 @@
// 鏇存柊搴撲綅鎺掑彿
if (Utils.BooleanWhsTypeSta(whsType, staDescId) && Cools.isEmpty(locMast)) {
- rowLastno.setCurrentRow(curRow);
+ if (sourceStaNo == 118 || sourceStaNo == 122){
+ rowLastno.setCurrentRow1(curRow);
+ } else if (sourceStaNo == 120 || sourceStaNo == 121 || sourceStaNo == 123 || sourceStaNo == 171){
+ rowLastno.setCurrentRow2(curRow);
+ } else {
+ rowLastno.setCurrentRow(curRow);
+ }
rowLastnoService.updateById(rowLastno);
}
@@ -338,7 +369,11 @@
// 1.鎸夎鍒欐煡鎵惧簱浣�
if (Cools.isEmpty(locMast) && crnNo != 0) {
- List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O").orderBy("lev1",true));
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("row1", nearRow)
+ .eq("loc_sts", "O")
+ .orderBy("lev1",true).orderBy("bay1",true));
+
for (LocMast locMast1 : locMasts) {
if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
continue;
@@ -350,6 +385,35 @@
break;
}
}
+
+ if (Cools.isEmpty(locMast)){
+ for (LocMast locMast1 : locMasts) {
+ if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+ continue;
+ }
+ String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
+ LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_no", shallowLoc).eq("loc_sts", "O"));
+ if (!Cools.isEmpty(locMast2)) {
+ locMast = locMast2;
+ break;
+ } else {
+ locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_no", shallowLoc).eq("loc_sts", "F"));
+ if (!Cools.isEmpty(locMast2)) {
+ locMast = locMast1;
+ break;
+ } else {
+ locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_no", shallowLoc).eq("loc_sts", "D"));
+ if (!Cools.isEmpty(locMast2)) {
+ locMast = locMast1;
+ break;
+ }
+ }
+ }
+ }
+ }
}
if (!Cools.isEmpty(locMast) && !basCrnpService.checkSiteError(crnNo, true)) {
@@ -359,7 +423,7 @@
// 閫掑綊鏌ヨ
if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("O")) {
// 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
- if (times < rowCount) {
+ if (times < rowCount*4) {
times = times + 1;
return getLocNoRun(1, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo, locTypeDto, times);
}
@@ -427,7 +491,13 @@
throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
}
// ===============>>>> 寮�濮嬫墽琛�
- curRow = rowLastno.getCurrentRow();
+ if (sourceStaNo == 118 || sourceStaNo == 122){
+ curRow = rowLastno.getCurrentRow1();
+ } else if (sourceStaNo == 120 || sourceStaNo == 121 || sourceStaNo == 123 || sourceStaNo == 171){
+ curRow = rowLastno.getCurrentRow2();
+ } else {
+ curRow = rowLastno.getCurrentRow();
+ }
if (!Cools.isEmpty(moveCrnNo) && moveCrnNo!=0){
crnNumber = moveCrnNo;
@@ -439,7 +509,7 @@
}
//姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿
- for (int i = times; i < crnNumber; i++) {
+ for (int i = times; i < crnNumber*4; i++) {
int[] locNecessaryParameters = Utils.LocNecessaryParameters(whsType, curRow, crnNumber);
curRow = locNecessaryParameters[1];
crnNo = locNecessaryParameters[2];
@@ -601,7 +671,13 @@
// 鏇存柊搴撲綅鎺掑彿
if (Utils.BooleanWhsTypeSta(whsType, staDescId) && Cools.isEmpty(locMast)) {
- rowLastno.setCurrentRow(curRow);
+ if (sourceStaNo == 118 || sourceStaNo == 122){
+ rowLastno.setCurrentRow1(curRow);
+ } else if (sourceStaNo == 120 || sourceStaNo == 121 || sourceStaNo == 123 || sourceStaNo == 171){
+ rowLastno.setCurrentRow2(curRow);
+ } else {
+ rowLastno.setCurrentRow(curRow);
+ }
rowLastnoService.updateById(rowLastno);
}
@@ -609,7 +685,11 @@
// 1.鎸夎鍒欐煡鎵惧簱浣�
if (Cools.isEmpty(locMast) && crnNo != 0) {
- List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O").orderBy("lev1",true));
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("row1", nearRow)
+ .eq("loc_sts", "O")
+ .orderBy("lev1",true).orderBy("bay1",true));
+
for (LocMast locMast1 : locMasts) {
if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
continue;
@@ -621,6 +701,35 @@
break;
}
}
+
+ if (Cools.isEmpty(locMast)){
+ for (LocMast locMast1 : locMasts) {
+ if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+ continue;
+ }
+ String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
+ LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_no", shallowLoc).eq("loc_sts", "O"));
+ if (!Cools.isEmpty(locMast2)) {
+ locMast = locMast2;
+ break;
+ } else {
+ locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_no", shallowLoc).eq("loc_sts", "F"));
+ if (!Cools.isEmpty(locMast2)) {
+ locMast = locMast1;
+ break;
+ } else {
+ locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_no", shallowLoc).eq("loc_sts", "D"));
+ if (!Cools.isEmpty(locMast2)) {
+ locMast = locMast1;
+ break;
+ }
+ }
+ }
+ }
+ }
}
if (!Cools.isEmpty(locMast) && !basCrnpService.checkSiteError(crnNo, true)) {
@@ -630,7 +739,7 @@
// 閫掑綊鏌ヨ
if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("O")) {
// 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
- if (times < rowCount) {
+ if (times < rowCount*4) {
times = times + 1;
return getLocNoRun(1, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo, locTypeDto, times,rgvNo);
}
--
Gitblit v1.9.1