From 30b2d8dde49639824f2a9c8f5b3e9b99b4b09e80 Mon Sep 17 00:00:00 2001
From: whycq <you@example.com>
Date: 星期日, 08 一月 2023 23:53:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/bfasrs' into bfasrs
---
src/main/java/com/zy/common/service/CommonService.java | 70 ++++++++++++++++++++++++++++-------
1 files changed, 56 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 89e086e..2809921 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -55,6 +55,8 @@
private LocDetlService locDetlService;
@Autowired
private SlaveProperties slaveProperties;
+ @Autowired
+ private MatService matService;
/**
* 鐢熸垚宸ヤ綔鍙�
@@ -113,16 +115,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("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
@@ -143,18 +154,30 @@
// 鐩爣搴撲綅
LocMast locMast = null;
- // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂�
+ boolean inoutEveryday = false;
if (!Cools.isEmpty(matNos)) {
+ for (String matNo : matNos) {
+ Mat mat = matService.selectByMatnr(matNo);
+ if (mat.getInoutEveryday() != null && mat.getInoutEveryday()) {
+ inoutEveryday = true;
+ break;
+ }
+ }
+ }
+
+ // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂�
+ if (!Cools.isEmpty(matNos) && matNos.size() == 1) {
List<String> locNos = locDetlService.getSameDetl(matNos.get(0), start, end);
for (String locNo : locNos) {
List<String> groupLoc = Utils.getGroupLoc(locNo);
- locMast = locMastService.findOutMost(groupLoc);
- if (null != locMast) {
+ LocMast locMast0 = locMastService.findOutMost(groupLoc);
+ if (null != locMast0) {
// 娴呭簱浣嶇鍚堝昂瀵告娴�
- if (VersionUtils.locMoveCheckLocType(locMast, locTypeDto)) {
+ if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
// 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
- if (basCrnpService.checkSiteError(locMast.getCrnNo(), true)) {
- crnNo = locMast.getCrnNo();
+ if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
+ crnNo = locMast0.getCrnNo();
+ locMast = locMast0;
break;
}
}
@@ -169,13 +192,14 @@
if (locMasts.size() > 0) {
for (LocMast loc : locMasts) {
List<String> groupLoc = Utils.getGroupLoc(loc.getLocNo());
- locMast = locMastService.findOutMost(groupLoc);
- if (null != locMast) {
+ LocMast locMast0 = locMastService.findOutMost(groupLoc);
+ if (null != locMast0) {
// 娴呭簱浣嶇鍚堝昂瀵告娴�
- if (VersionUtils.locMoveCheckLocType(locMast, locTypeDto)) {
+ if (VersionUtils.locMoveCheckLocType(locMast0, locTypeDto)) {
// 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
- if (basCrnpService.checkSiteError(locMast.getCrnNo(), true)) {
- crnNo = locMast.getCrnNo();
+ if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
+ crnNo = locMast0.getCrnNo();
+ locMast = locMast0;
break;
}
}
@@ -190,6 +214,9 @@
if (null == locMast) {
Shelves shelves = new Shelves(rowCount, crn_qty);
for (int i = 0; i < shelves.group; i ++) {
+ if (i > 0) {
+ curRow = currentRow;
+ }
curRow = shelves.start(curRow);
if (curRow < 0) {
throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
@@ -200,9 +227,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;
@@ -223,9 +258,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("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
@@ -268,8 +311,7 @@
// 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺�
if (locMast == null) {
List<Integer> rows = Utils.getGroupLoc(curRow);
-
- List<LocMast> locMasts = locMastService.queryFreeLocMast(rows, rows.size(), locTypeDto.getLocType1());
+ 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) {
@@ -279,7 +321,7 @@
}
}
}
- // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
+ // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� todo:luxiaotao
// if (!locMastService.checkEmptyCount(locMast)) {
// locMast = null;
// }
--
Gitblit v1.9.1