From a68f64232c3f3ad22d27f9b5c89fe761c8a56280 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 28 四月 2026 13:16:13 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 76 ++++++++++++++++++++++++--------------
1 files changed, 48 insertions(+), 28 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 0eb9d75..642f3c5 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -162,7 +162,7 @@
@Transactional
public StartupDto getLocNoV2(Integer staDescId, Integer sourceStaNo, WrkMast wrkMast, LocTypeDto locTypeDto) {
try {
- Integer whsType = Utils.GetWhsType(sourceStaNo);
+ Integer whsType = 1;
RowLastno rowLastno = rowLastnoService.selectById(whsType);
RowLastnoType rowLastnoType = rowLastnoTypeService.selectById(rowLastno.getTypeId());
/**
@@ -409,7 +409,7 @@
}
/**
- * 褰撳洖婧愬簱浣嶄笉鍦ㄦ湰宸烽亾鏃讹紝鍑哄簱鑷�1070閲嶆柊妫�绱㈠贩閬撴牴鎹�1锛�2宸烽亾涔嬮棿鍒嗛厤锛�3锛�4宸烽亾鍏ㄥ眬鍒嗛厤瑙勫垯
+ * 褰撳洖婧愬簱浣嶄笉鍦ㄦ湰宸烽亾鏃讹紝閲嶆柊妫�绱㈠贩閬撴牴鎹�1锛�2宸烽亾涔嬮棿鍒嗛厤锛�3锛�4宸烽亾鍏ㄥ眬鍒嗛厤瑙勫垯
*/
@Transactional
public StartupDto getLocNoRunV2(Integer whsType, Integer staDescId, Integer sourceStaNo, WrkMast wrkMast, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
@@ -420,18 +420,22 @@
detl = wrkDetl.get(0);
}
String matnr = detl == null ? null : detl.getMatnr();
- int[] candidates = wrkMast.getCrnNo() != null && wrkMast.getCrnNo() < 3 ? new int[]{1, 2} : new int[]{1, 2, 3, 4};
+ Integer sourceCrnNo = null;
+ if (moveCrnNo != null && moveCrnNo != 0) {
+ sourceCrnNo = moveCrnNo;
+ } else if (wrkMast != null && !Cools.isEmpty(wrkMast.getSourceLocNo())) {
+ LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
+ if (!Cools.isEmpty(sourceLoc) && sourceLoc.getCrnNo() != null) {
+ sourceCrnNo = sourceLoc.getCrnNo();
+ }
+ } else if (wrkMast != null && wrkMast.getCrnNo() != null) {
+ sourceCrnNo = wrkMast.getCrnNo();
+ }
+ int[] candidates = sourceCrnNo != null && sourceCrnNo < 3 ? new int[]{1, 2} : new int[]{1, 2, 3, 4};
Integer chosenCrnNo = null;
Integer chosenCount = null;
for (int candidate : candidates) {
- if (!basCrnpService.checkSiteError(candidate, true)) {
- continue;
- }
- StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
- .eq("type_no", staDescId)
- .eq("stn_no", sourceStaNo)
- .eq("crn_no", candidate));
- if (Cools.isEmpty(staDesc)) {
+ if (sourceCrnNo != null && candidate == sourceCrnNo) {
continue;
}
//鍒ゆ柇璇ュ贩閬撴槸鍚﹀瓨鍦ㄧ┖浣�
@@ -457,23 +461,41 @@
chosenCount = count;
}
}
- if (chosenCrnNo == null) {
- throw new CoolException("娌℃湁绌哄簱浣�");
+ LocMast locMast = null;
+ if (chosenCrnNo != null) {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("crn_no", chosenCrnNo)
+ .eq("loc_sts", "O")
+ .eq("frozen", 0)
+ .eq("deleted", 0)
+ .eq("whs_type", 1)
+ .orderBy("lev1,bay1"));
}
- StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
- .eq("type_no", staDescId)
- .eq("stn_no", sourceStaNo)
- .eq("crn_no", chosenCrnNo));
- if (Cools.isEmpty(staDesc)) {
- throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+ if (Cools.isEmpty(locMast)) {
+ List<LocMast> anyLocs = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "O")
+ .eq("frozen", 0)
+ .eq("deleted", 0)
+ .eq("whs_type", 1)
+ .orderBy("lev1,bay1"));
+ if (!Cools.isEmpty(anyLocs)) {
+ for (LocMast anyLoc : anyLocs) {
+ if (anyLoc == null || anyLoc.getCrnNo() == null) {
+ continue;
+ }
+ if (sourceCrnNo != null && sourceCrnNo.equals(anyLoc.getCrnNo())) {
+ continue;
+ }
+ if (!basCrnpService.checkSiteError(anyLoc.getCrnNo(), true)) {
+ continue;
+ }
+ chosenCrnNo = anyLoc.getCrnNo();
+ locMast = anyLoc;
+ break;
+ }
+ }
}
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("crn_no", chosenCrnNo)
- .eq("loc_sts", "O")
- .eq("frozen", 0)
- .eq("deleted", 0)
- .eq("whs_type", 1)
- .orderBy("lev1,bay1"));
+
if (Cools.isEmpty(locMast)) {
throw new CoolException("娌℃湁绌哄簱浣�");
}
@@ -481,9 +503,7 @@
int workNo = getWorkNo(0);
startupDto.setWorkNo(workNo);
startupDto.setCrnNo(chosenCrnNo);
- startupDto.setSourceStaNo(sourceStaNo);
startupDto.setLocNo(locNo);
- startupDto.setStaNo(staDesc.getCrnStn());
return startupDto;
}
--
Gitblit v1.9.1