From 84c751d107530aa63291bd2821a538b96a81a8b1 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期一, 06 六月 2022 12:52:27 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 44 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 34 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..7e84eec 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,18 @@ 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; + case 305: + case 303: + case 301: + return 4; default: - throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + staDescId); + throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + sourceStaNo); } } -- Gitblit v1.9.1