From b467c63850da7d0f70a3eb309868b68361a709c3 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 01 六月 2022 14:54:48 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 40 ++++++++++++++++++++++++++++++----------
1 files changed, 30 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index cd7aafa..816c08b 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.core.common.Arith;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
@@ -96,7 +97,7 @@
*/
@Transactional
public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto, int times) {
- whsType = getWhsType(staDescId, times);
+ whsType = getWhsType(sourceStaNo, times);
StartupDto startupDto = new StartupDto();
// 鐢熸垚宸ヤ綔鍙�
int workNo = getWorkNo(0);
@@ -163,7 +164,26 @@
// 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
if (null == locMast) {
Shelves shelves = new Shelves(rowCount, crn_qty);
- if (whsType == 1) {
+ if (whsType != 4) {
+ int divides = (int) Arith.divides(1, curRow - 1, 16);
+ curRow = (int) Arith.remainder(curRow, 16);
+ if (curRow == 0) {
+ curRow = 16;
+ }
+ for (int i = 0; i < shelves.group; i ++) {
+ curRow = shelves.start(curRow);
+ if (curRow < 0) {
+ throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
+ }
+ Integer crnNo1 = shelves.get(curRow);
+ crnNo1 = crnNo1 + divides*4;
+ if (basCrnpService.checkSiteError(crnNo1, true)) {
+ crnNo = crnNo1;
+ curRow = curRow + divides*16;
+ break;
+ }
+ }
+ } else {
for (int i = 0; i < shelves.group; i ++) {
curRow = shelves.start(curRow);
if (curRow < 0) {
@@ -280,11 +300,11 @@
/**
* 鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰�
*/
- private Integer getWhsType(Integer staDescId, int times) {
+ private Integer getWhsType(Integer sourceStaNo, int times) {
if (times >= 16) {
return 4;
}
- switch (staDescId) {
+ switch (sourceStaNo) {
case 173:
case 176:
case 180:
@@ -296,14 +316,14 @@
case 202:
return 2;
case 206:
- case 211:
- case 215:
- case 219:
- case 223:
- case 226:
+// case 211:
+// case 215:
+// case 219:
+// case 223:
+ case 227:
return 3;
default:
- throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + staDescId);
+ throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + sourceStaNo);
}
}
--
Gitblit v1.9.1