From a2f28fb1c32aeefbe549f48c4ed07929ef851b1b Mon Sep 17 00:00:00 2001
From: 18516761980 <tqsxp@163.com>
Date: 星期六, 04 三月 2023 09:39:16 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 139 ++++++++++++++-------------------------------
1 files changed, 44 insertions(+), 95 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index c9d468a..e209893 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -10,7 +10,6 @@
import com.zy.asrs.utils.Utils;
import com.zy.asrs.utils.VersionUtils;
import com.zy.common.model.LocTypeDto;
-import com.zy.common.model.Shelves;
import com.zy.common.model.StartupDto;
import com.zy.common.properties.SlaveProperties;
import lombok.extern.slf4j.Slf4j;
@@ -29,12 +28,10 @@
public class CommonService {
public static final List<Integer> FIRST_GROUP_ROW_LIST = new ArrayList<Integer>() {{
- add(2);add(3);add(4);add(5);add(6);add(7);add(8);add(9);add(10);
- add(11);add(12);add(13);add(14);add(15);add(16);add(17);
+ add(1);add(2);add(3);add(4);
}};
public static final List<Integer> SECOND_GROUP_ROW_LIST = new ArrayList<Integer>() {{
- add(18);add(19);add(20);
- add(21);add(22);add(23);add(24);add(25);add(26);add(27);add(28);add(29);add(30);
+ add(5);add(6);add(7);add(8);add(9);add(10);add(11);
}};
@Autowired
@@ -111,22 +108,7 @@
*/
public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto, LocTypeDto oldLocType, int times) {
StartupDto startupDto = new StartupDto();
- int start;
- int end;
- switch (sourceStaNo) {
- case 103:
- whsType = 1;
- start = 1;
- end = 14;
- break;
- case 203:
- whsType = 2;
- start = 8;
- end = 21;
- break;
- default:
- throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
- }
+ whsType = 1;
// 鐢熸垚宸ヤ綔鍙�
int workNo = getWorkNo(0);
RowLastno rowLastno = rowLastnoService.selectById(whsType);
@@ -144,17 +126,17 @@
LocMast locMast = null;
// 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂�
- if (!Cools.isEmpty(matNos)) {
- List<String> locNos = locDetlService.getSameDetl(matNos.get(0), start, end);
+ if (!Cools.isEmpty(matNos) && matNos.size() == 1) {
+ List<String> locNos = locDetlService.getSameDetl(matNos.get(0), sRow, eRow);
for (String locNo : locNos) {
- List<String> groupLoc = Utils.getGroupLoc(locNo);
- locMast = locMastService.findOutMost(groupLoc);
- if (null != locMast) {
+ LocMast locMast0 = locMastService.findOutMost(locNo);
+ 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;
}
}
@@ -165,17 +147,17 @@
// 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭
if (staDescId == 10) {
List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("loc_sts", "D").ge("row1", start).le("row1", end));
+ .eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow));
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(loc.getLocNo());
+ 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;
}
}
@@ -185,63 +167,21 @@
}
// 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
-
- int currentRow = 1;
if (null == locMast) {
- Shelves shelves = new Shelves(rowCount, crn_qty);
- for (int i = 0; i < shelves.group; i ++) {
- curRow = shelves.start(curRow);
- if (curRow < 0) {
- throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
- }
- currentRow = curRow;
- int crnNo1 = shelves.get(curRow);
- if (whsType == 1) {
- switch (curRow) {
- case 1:
- curRow = 1;
- break;
- case 2:
- curRow = 7;
- break;
- case 3:
- curRow = 8;
- break;
- case 4:
- curRow = 14;
- break;
- default:
- throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
- }
- } else {
- switch (curRow) {
- case 1:
- curRow = 8;
- break;
- case 2:
- curRow = 14;
- break;
- case 3:
- curRow = 15;
- break;
- case 4:
- curRow = 21;
- break;
- default:
- throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
- }
- crnNo1 = crnNo1 + 1;
- }
- if (basCrnpService.checkSiteError(crnNo1, true)) {
- crnNo = crnNo1;
- break;
- }
+ if (curRow == 1) {
+ curRow = 11;
+ } else {
+ curRow = 1;
+ }
+ if (basCrnpService.checkSiteError(1, true)) {
+ crnNo = 1;
}
}
if (crnNo == 0) {
throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満");
}
+
// 鑾峰彇鐩爣绔�
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", staDescId)
@@ -260,7 +200,7 @@
}
// 鏇存柊搴撲綅鎺掑彿
- rowLastno.setCurrentRow(currentRow);
+ rowLastno.setCurrentRow(curRow);
rowLastnoService.updateById(rowLastno);
// 寮�濮嬫煡鎵惧簱浣� ==============================>>
@@ -269,11 +209,20 @@
if (locMast == null) {
List<Integer> rows = Utils.getGroupLoc(curRow);
- locMast = locMastService.queryFreeLocMast(null, rows, rows.size(), locTypeDto.getLocType1());
+ List<LocMast> locMasts = locMastService.queryFreeLocMast(rows, rows.size(), locTypeDto.getLocType1());
+ 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 (!locMastService.checkEmptyCount(locMast)) {
-// locMast = null;
-// }
+ if (!locMastService.checkEmptyCount(locMast, 10)) {
+ locMast = null;
+ }
}
// 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣�
@@ -286,10 +235,10 @@
times = 0;
}
// 璐х墿妫�绱綆搴撲綅浠撳け璐ワ紝鍏煎楂樺簱浣嶄粨鍚庣户缁墽琛�
- if (locTypeDto.getLocType1() == 1) {
- locTypeDto.setLocType1((short) 2);
- return getLocNo(1, staDescId, sourceStaNo, matNos, locTypeDto, oldLocType, times);
- }
+// if (locTypeDto.getLocType1() == 1) {
+// locTypeDto.setLocType1((short) 2);
+// return getLocNo(1, staDescId, sourceStaNo, matNos, locTypeDto, oldLocType, times);
+// }
log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
throw new CoolException("娌℃湁绌哄簱浣�");
}
--
Gitblit v1.9.1