From 287170042ad762d32ca574a5ed692648ea8e002f Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 14 四月 2025 08:56:29 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 90 ++++++++++++++++++++++++++++----------------
1 files changed, 57 insertions(+), 33 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index adfcf81..78b8010 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -19,6 +19,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -50,6 +51,7 @@
/**
* 鐢熸垚宸ヤ綔鍙�
+ *
* @param wrkMk
* @return workNo(宸ヤ綔鍙�)
*/
@@ -62,17 +64,17 @@
int workNo = wrkLastno.getWrkNo();
int sNo = wrkLastno.getSNo();
int eNo = wrkLastno.getENo();
- workNo = workNo>=eNo ? sNo : workNo+1;
+ workNo = workNo >= eNo ? sNo : workNo + 1;
while (true) {
WrkMast wrkMast = wrkMastService.selectById(workNo);
if (null != wrkMast) {
- workNo = workNo>=eNo ? sNo : workNo+1;
+ workNo = workNo >= eNo ? sNo : workNo + 1;
} else {
break;
}
}
// 淇敼搴忓彿璁板綍
- if (workNo > 0){
+ if (workNo > 0) {
wrkLastno.setWrkNo(workNo);
wrkLastnoService.updateById(wrkLastno);
}
@@ -80,7 +82,7 @@
if (workNo == 0) {
throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳");
} else {
- if (wrkMastService.selectById(workNo)!=null) {
+ if (wrkMastService.selectById(workNo) != null) {
throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ伐浣滄。涓凡瀛樺湪");
}
}
@@ -89,10 +91,10 @@
/**
* 妫�绱㈠簱浣嶅彿
- * @param whsType 绫诲瀷 1:鍙屾繁寮忚揣鏋�
- * @param staDescId 璺緞宸ヤ綔绫诲瀷
+ *
+ * @param whsType 绫诲瀷 1:鍙屾繁寮忚揣鏋�
+ * @param staDescId 璺緞宸ヤ綔绫诲瀷
* @param sourceStaNo 婧愮珯
-
* @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
*/
@Transactional
@@ -115,14 +117,14 @@
// }
// 闈犺繎鎽嗘斁瑙勫垯 --- 鐩稿悓璁㈠崟鍙�, 鍚屽ぉ鍚岃鏍肩墿鏂�
- locMast = getLocNoStep3(staDescId, matnr, batch, grade, locTypeDto,sourceStaNo);
+ locMast = getLocNoStep3(staDescId, matnr, batch, grade, locTypeDto, sourceStaNo);
if (locMast != null) {
//鎵惧埌搴撲綅锛岃繑鍥瀌to
return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
}
//鎼滅储鏁翠釜绌哄簱浣嶇粍
- locMast = getLocNoStepSingle(locTypeDto,sourceStaNo);
+ locMast = getLocNoStepSingle(locTypeDto, sourceStaNo);
if (locMast != null) {
//鎵惧埌搴撲綅锛岃繑鍥瀌to
return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
@@ -134,43 +136,65 @@
}
// 鎼滅储鍗曞搧(鏁翠釜搴撲綅缁�)
- private LocMast getLocNoStepSingle(LocTypeDto locTypeDto,Integer sourceStaNo) {
+ private LocMast getLocNoStepSingle(LocTypeDto locTypeDto, Integer sourceStaNo) {
LocMast locMast = null;
- StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("type_no", 1).eq("stn_no", sourceStaNo));
+ List<StaDesc> staDescs = staDescService.selectList(new EntityWrapper<StaDesc>().eq("type_no", 1).eq("stn_no", sourceStaNo));
+ int num = 0;
+ int crn_no = 1;
+ for (StaDesc staDesc : staDescs) {
+ List<LocMast> locMasts = locMastService.selectAreaEmpty(locTypeDto.getLocType1(), staDesc.getCrnNo());//鎼滅储璐х墿
+ int temp = locMast == null ? 0 : locMasts.size();
+ if (num <= temp) {
+ num = temp;
+ crn_no = staDesc.getCrnNo();
+ }
+ }
+ //for (StaDesc staDesc : staDescs) {
//鍗曞搧
- List<LocMast> locMasts = locMastService.selectAreaEmpty(locTypeDto.getLocType1(),staDesc.getCrnNo());//鎼滅储璐х墿
+ List<LocMast> locMasts = locMastService.selectAreaEmpty(locTypeDto.getLocType1(), crn_no);//鎼滅储璐х墿
for (LocMast mast : locMasts) {
LocMast tmp = null;
- boolean groupLoc = Utils.isShallowLoc(slaveProperties,mast.getLocNo());
+ boolean groupLoc = Utils.isShallowLoc(slaveProperties, mast.getLocNo());
if (groupLoc) {
String shallowLoc = Utils.getDeepLoc(slaveProperties, mast.getLocNo());
LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_no", shallowLoc).eq("loc_sts", "O"));
+ .eq("loc_no", shallowLoc));
if (!Cools.isEmpty(locMast2)) {
- tmp = locMast2;
-
- }else {
- tmp = mast;
+ if (locMast2.getLocSts().equals("F") || locMast2.getLocSts().equals("D")) {
+ tmp = mast;
+ if (!Cools.isEmpty(mast)) {
+ if (mast.getLocSts().equals("O")) {
+ tmp = mast;
+ }
+ }
+ }
+ //棰勭暀绌哄簱浣�
+ if (tmp != null && locMastService.checkEmptyCount(mast, 10)) {
+ locMast = tmp;
+ return locMast;
+ }
}
- }else {
- if (!Cools.isEmpty(mast)) {
- tmp = mast;
+ } else {
+ tmp = mast;
+ //棰勭暀绌哄簱浣�
+ if (tmp != null && locMastService.checkEmptyCount(mast, 10)) {
+ locMast = tmp;
+ return locMast;
}
}
- //棰勭暀绌哄簱浣�
- if (tmp != null && locMastService.checkEmptyCount(mast, 10)) {
- locMast = tmp;
- break;
- }
+
+
+ // }
}
-
return locMast;
}
+
// 闈犺繎鎽嗘斁瑙勫垯 --- 鐩稿悓璁㈠崟鍙�, 鍚屽ぉ鍚岃鏍肩墿鏂�
- private LocMast getLocNoStep3(Integer staDescId, String matnr, String batch, String grade, LocTypeDto locTypeDto,Integer sourceStaNo) {
+ private LocMast getLocNoStep3(Integer staDescId, String matnr, String batch, String grade, LocTypeDto
+ locTypeDto, Integer sourceStaNo) {
LocMast locMast = null;
StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("type_no", 1).eq("stn_no", sourceStaNo));
if (staDescId == 1) {
@@ -179,7 +203,7 @@
for (WrkMast wrkMast : wrkMasts) {
LocMast locMast0 = locMastService.findNearloc(wrkMast.getLocNo());
if (null != locMast0) {
- if (!staDesc.getCrnNo().equals(locMast0.getCrnNo())){
+ if (!staDesc.getCrnNo().equals(locMast0.getCrnNo())) {
continue;
}
// 娴呭簱浣嶇鍚堝昂瀵告娴�
@@ -194,7 +218,7 @@
for (String locNo : locNos) {
LocMast locMast0 = locMastService.findNearloc(locNo);
if (null != locMast0) {
- if (!staDesc.getCrnNo().equals(locMast0.getCrnNo())){
+ if (!staDesc.getCrnNo().equals(locMast0.getCrnNo())) {
continue;
}
// 娴呭簱浣嶇鍚堝昂瀵告娴�
@@ -218,7 +242,7 @@
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", staDescId)
.eq("stn_no", sourceStaNo)
- .eq("crn_no",locMast.getCrnNo());
+ .eq("crn_no", locMast.getCrnNo());
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}", staDescId, sourceStaNo);
@@ -259,7 +283,7 @@
List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
.eq("loc_sts", "O")
.eq("crn_no", staDesc.getCrnNo())
- .eq("loc_type1",locTypeDto.getLocType1())
+ .eq("loc_type1", locTypeDto.getLocType1())
.orderBy("lev1,bay1,row1"));
if (!locMasts.isEmpty()) {
for (LocMast loc : locMasts) {
@@ -287,7 +311,7 @@
return msg.substring(0, 16);
} else {
StringBuilder msgBuilder = new StringBuilder(msg);
- for(int i = 0; i < count - msg.length(); ++i) {
+ for (int i = 0; i < count - msg.length(); ++i) {
msgBuilder.insert(0, "0");
}
return msgBuilder.toString();
--
Gitblit v1.9.1