From 2b12b7d324d013df11c8ed81ee61a0c5b54ca3f7 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 30 一月 2023 16:05:37 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 87 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 78 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 00e4dbf..406773f 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -57,6 +57,8 @@
private SlaveProperties slaveProperties;
@Autowired
private MatService matService;
+ @Autowired
+ private LocRuleService locRuleService;
/**
* 鐢熸垚宸ヤ綔鍙�
@@ -115,16 +117,25 @@
StartupDto startupDto = new StartupDto();
int start;
int end;
+ Integer theCrnNo = null;
switch (sourceStaNo) {
case 103:
whsType = 1;
start = 1;
end = 14;
+// if (null != wrkMastService.selectPakoutOfStaNo(104)) {
+// start = 8;
+// theCrnNo = 2;
+// }
break;
case 203:
whsType = 2;
start = 8;
end = 21;
+// if (null != wrkMastService.selectPakoutOfStaNo(204)) {
+// end = 14;
+// theCrnNo = 2;
+// }
break;
default:
throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
@@ -218,9 +229,17 @@
switch (curRow) {
case 1:
curRow = 1;
+ if (null != theCrnNo) {
+ curRow = 8;
+ crnNo1 = crnNo1 + 1;
+ }
break;
case 2:
curRow = 7;
+ if (null != theCrnNo) {
+ curRow = 14;
+ crnNo1 = crnNo1 + 1;
+ }
break;
case 3:
curRow = 8;
@@ -241,9 +260,17 @@
break;
case 3:
curRow = 15;
+ if (null != theCrnNo) {
+ curRow = 8;
+ crnNo1 = crnNo1 - 1;
+ }
break;
case 4:
curRow = 21;
+ if (null != theCrnNo) {
+ curRow = 14;
+ crnNo1 = crnNo1 - 1;
+ }
break;
default:
throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
@@ -285,24 +312,66 @@
// 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺�
if (locMast == null) {
- List<Integer> rows = Utils.getGroupLoc(curRow);
- List<LocMast> locMasts = locMastService.queryFreeLocMast0(rows, rows.size(), locTypeDto.getLocType1(), inoutEveryday);
- if (!Cools.isEmpty(locMasts)) {
- Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo());
- for (LocMast one : locMasts) {
- if (one.getRow1().equals(innermostRow)) {
- locMast = one;
- break;
+
+ // 搴撳尯閿佸畾
+ LocRule locRule = locRuleService.find(Cools.isEmpty(matNos) ? null : matNos.get(0), null);
+ if (!Cools.isEmpty(locRule)) {
+ List<Integer> rows = Utils.getGroupLoc(locRule.getRowBeg());
+ List<LocMast> locMasts = locMastService.queryFreeLocMast1(rows, rows.size(), locTypeDto.getLocType1(), inoutEveryday
+ , locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd());
+ if (!Cools.isEmpty(locMasts)) {
+ Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo());
+ for (LocMast one : locMasts) {
+ if (one.getRow1().equals(innermostRow)) {
+ locMast = one;
+ break;
+ }
}
}
}
+
+ if (locMast == null) {
+ List<Integer> rows = Utils.getGroupLoc(curRow);
+ List<LocMast> locMasts = locMastService.queryFreeLocMast0(rows, rows.size(), locTypeDto.getLocType1(), inoutEveryday);
+ if (!Cools.isEmpty(locMasts)) {
+ Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo());
+ for (LocMast one : locMasts) {
+ if (one.getRow1().equals(innermostRow)) {
+ locMast = one;
+ break;
+ }
+ }
+ }
+ }
+// LocMast locMast0 = locMastService.findOutMost(locMasts.stream().map(LocMast::getLocNo).distinct().collect(Collectors.toList()));
+// if (!Cools.isEmpty(locMast0)) {
+// locMast = locMast0;
+// }
// 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� todo:luxiaotao
// if (!locMastService.checkEmptyCount(locMast)) {
// locMast = null;
// }
}
- // 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣�
+ // 2.鏃犲簱浣嶆椂锛屾棤瑙嗗尯鍩熼攣瀹氾紝閲嶆柊鏌ユ壘搴撲綅
+ if (Cools.isEmpty(locMast)){
+ List<LocMast> locMasts = locMastService.queryFreeLocMastEnd(curRow);
+ for (LocMast locMast1 : locMasts){
+ List<LocMast> locMasts1 = locMastService.queryFreeLocMastEnd0(locMast1.getBay1(), locMast1.getLev1(),locMast1.getRow1());
+ Integer innermostRow = Utils.getInnermostRow(locMasts1.get(0).getLocNo());
+ for (LocMast locMast2:locMasts1){
+ if (locMast2.getRow1().equals(innermostRow)) {
+ locMast = locMast2;
+ break;
+ }
+ }
+ if (!Cools.isEmpty(locMast)){
+ break;
+ }
+ }
+ }
+
+ // 3.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣�
if (Cools.isEmpty(locMast)) {
// 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
if (times < rowCount) {
--
Gitblit v1.9.1