From 4665167843394f4586db8198d5d1c5852ede3bf7 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期三, 19 七月 2023 10:27:44 +0800
Subject: [PATCH] agv 入库接口调整
---
src/main/java/com/zy/common/service/CommonService.java | 78 +++++++++++++++++++++++---------------
1 files changed, 47 insertions(+), 31 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index d62cd45..b2a4261 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -161,8 +161,6 @@
* 娣疯浇鎵惧簱浣�
*/
private LocMast getLocNoStep1(List<String> matNos, LocTypeDto locTypeDto) {
- LocMast locMast = null;
-
//鍒ゆ柇褰撳墠璐х墿鏄惁涓烘贩杞借揣鐗�
String firstMatNos = matNos.get(0);
boolean mixed = false;//榛樿涓嶆槸娣疯浇璐х墿
@@ -174,41 +172,44 @@
}
if (!mixed) {
- return locMast;//涓嶆槸娣疯浇璐х墿锛岀洿鎺ヨ烦鍑哄綋鍓嶄换鍔�
+ return null;//涓嶆槸娣疯浇璐х墿锛岀洿鎺ヨ烦鍑哄綋鍓嶄换鍔�
}
// 鎵炬贩杞藉簱浣嶈鍒�
- LocRule locRule = locRuleService.findMixed();
- if (locRule == null) {
- return locMast;//娌℃湁娣疯浇瑙勫垯锛岃烦鍑哄綋鍓嶄换鍔�
+ List<LocRule> locRules = locRuleService.findMixed();
+ if (locRules == null || locRules.size() == 0) {
+ return null;//娌℃湁娣疯浇瑙勫垯锛岃烦鍑哄綋鍓嶄换鍔�
}
- //灏嗗簱浣嶈鍒欑粍杞崲涓哄簱浣嶇粍
- List<LocMast> locMasts = locRuleService.locRuleToLocNos(locRule);
- if (locMasts == null || locMasts.size() == 0) {
- if (locRule.getKeepGo() == 0) {
- //鎵句笉鍒扮┖搴撲綅锛屼笖绂佹缁х画瀵绘壘鍏朵粬闈炴贩杞藉尯鍩熷簱浣�
- //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父
- throw new CoolException("娣疯浇鍖哄煙娌℃湁绌哄簱浣�");
+ for (LocRule locRule : locRules) {
+ if (locRule == null) {
+ continue;
}
- return locMast;//娌℃湁娣疯浇瑙勫垯锛岃烦鍑哄綋鍓嶄换鍔�
- }
- for (LocMast one : locMasts) {
- LocMast locMast0 = locMastService.findOutMost(one.getLocNo());
- if (null != locMast0) {
- // 娴呭簱浣嶇鍚堝昂瀵告娴�
- if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
- // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
- if (locMastService.checkEmptyCount(locMast0, 10)) {
- locMast = locMast0;
- break;
+ List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1(), locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd());
+
+ for (LocMast one : locMasts) {
+ LocMast locMast0 = locMastService.findOutMost(one.getLocNo());
+ if (null != locMast0) {
+ // 娴呭簱浣嶇鍚堝昂瀵告娴�
+ if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
+ // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+ if (locMastService.checkEmptyCount(locMast0, 10)) {
+ return locMast0;//鎵惧埌绌轰綑鐨勬贩杞藉簱浣�
+ }
}
}
}
+
}
- return locMast;
+ if (locRules.get(0).getKeepGo() == 0) {
+ //鎵句笉鍒扮┖搴撲綅锛屼笖绂佹缁х画瀵绘壘鍏朵粬闈炴贩杞藉尯鍩熷簱浣�
+ //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父
+ throw new CoolException("娣疯浇鍖哄煙娌℃湁绌哄簱浣�");
+ }
+
+ return null;
}
/**
@@ -217,8 +218,16 @@
private LocMast getLocNoStep2(List<String> matNos, LocTypeDto locTypeDto) {
LocMast locMast = null;
// 搴撳尯閿佸畾
- LocRule locRule = locRuleService.find(Cools.isEmpty(matNos) ? null : matNos.get(0));
- if (!Cools.isEmpty(locRule)) {
+ List<LocRule> locRules = locRuleService.find(Cools.isEmpty(matNos) ? null : matNos.get(0));
+ if (locRules == null || locRules.size() == 0) {
+ return null;//娌℃湁搴撲綅瑙勫垯锛岃烦鍑哄綋鍓嶄换鍔�
+ }
+
+ for (LocRule locRule : locRules) {
+ if (locRule == null) {
+ continue;
+ }
+
List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1(), locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd());
for (LocMast one : locMasts) {
LocMast locMast0 = locMastService.findOutMost(one.getLocNo());
@@ -227,13 +236,19 @@
if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
// 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
if (locMastService.checkEmptyCount(locMast0, 10)) {
- locMast = locMast0;
- break;
+ return locMast0;
}
}
}
}
}
+
+ if (locRules.get(0).getKeepGo() == 0) {
+ //鎵句笉鍒扮┖搴撲綅锛屼笖绂佹缁х画瀵绘壘鍏朵粬闈炴贩杞藉尯鍩熷簱浣�
+ //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父
+ throw new CoolException("瑙勫垯鍖哄煙娌℃湁绌哄簱浣�");
+ }
+
return locMast;
}
@@ -337,11 +352,12 @@
//杩斿洖dto
private StartupDto getLocNoStep6(Integer staDescId, Integer sourceStaNo, LocMast locMast) {
StartupDto startupDto = new StartupDto();
-
+ String locNo = locMast.getLocNo();
// 鑾峰彇鐩爣绔�
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", staDescId)
- .eq("stn_no", sourceStaNo);
+ .eq("stn_no", sourceStaNo)
+ .eq("crn_no",Utils.getLev(locNo));//鍊熺敤鍫嗗灈鏈哄彿瀛楁鍏呭綋妤煎眰鍙�
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}", staDescId, sourceStaNo);
--
Gitblit v1.9.1