From 228ad4f5ea9b6f0c5af8110072cf00dcb27c4b60 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期二, 02 七月 2024 08:38:36 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 74 +++++++++++++++++++++++++++++++----- 1 files changed, 63 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index bd21470..e107684 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -97,7 +97,8 @@ */ @Transactional public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto, int times) { -// whsType = getWhsType(sourceStaNo, times); + //whsType = getWhsType(sourceStaNo, times); + StartupDto startupDto = new StartupDto(); @@ -107,6 +108,7 @@ throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�"); } + // ===============>>>> 寮�濮嬫墽琛� // ===============>>>> 寮�濮嬫墽琛� int curRow = rowLastno.getCurrentRow(); int sRow = rowLastno.getsRow(); @@ -118,14 +120,60 @@ // 鐩爣搴撲綅 LocMast locMast = null; + // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� + if (!Cools.isEmpty(matNos)) { + List<String> locNos = locDetlService.getSameDetlToday(matNos.get(0), sRow, eRow); + for (String locNo : locNos) { + if (Utils.isShallowLoc(slaveProperties, locNo)) { + continue; + } + String shallowLocNo = Utils.getShallowLoc(slaveProperties, locNo); + // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣� + LocMast shallowLoc = locMastService.selectById(shallowLocNo); + if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) { + if (VersionUtils.locMoveCheckLocType(shallowLoc, locTypeDto)) { + if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) { + locMast = shallowLoc; + crnNo = locMast.getCrnNo(); + break; + } + } + } + } + } + + // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 + if (staDescId == 10) { + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow)); + if (locMasts.size() > 0) { + for (LocMast loc : locMasts) { + if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) { + continue; + } + String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo()); + // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣� + LocMast shallowLoc = locMastService.selectById(shallowLocNo); + if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) { + if (shallowLoc.getLocType1()<locTypeDto.getLocType1()){ + continue; + } + if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) { + locMast = shallowLoc; + crnNo = locMast.getCrnNo(); + break; + } + } + } + } + } // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋� if (null == locMast) { Shelves shelves = new Shelves(rowCount, crn_qty); - int divides = (int) Arith.divides(1, curRow - 1, 2); - curRow = (int) Arith.remainder(curRow, 2); + int divides = (int) Arith.divides(1, curRow - 1, 4); + curRow = (int) Arith.remainder(curRow, 4); if (curRow == 0) { - curRow = 2; + curRow = 4; } for (int i = 0; i < shelves.group; i ++) { curRow = shelves.start(curRow); @@ -136,7 +184,7 @@ crnNo1 = crnNo1 + divides*1; if (basCrnpService.checkSiteError(crnNo1, true)) { crnNo = crnNo1; - curRow = curRow + divides*2; + curRow = curRow + divides*4; break; } } @@ -193,9 +241,13 @@ // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O if (null != locMast && Utils.isDeepLoc(slaveProperties, locMast.getLocNo())) { LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, locMast.getLocNo())); - if (!shallowLoc.getLocSts().equals("O")) { - locMast = null; + if (!Cools.isEmpty(shallowLoc)) { + if (!shallowLoc.getLocSts().equals("O")) { + locMast = null; + } } + + } } } @@ -209,10 +261,10 @@ } // 杞昏揣鐗╂壘杞诲簱浣嶄负绌烘椂锛屽彲浠ュ幓鎵鹃噸搴撲綅浠� - if (locTypeDto.getLocType1() == 2) { - locTypeDto.setLocType1((short) 1); - return getLocNo(1, staDescId, sourceStaNo, matNos, locTypeDto, times); - } +// if (locTypeDto.getLocType1() == 1) { +// locTypeDto.setLocType1((short) 1); +// return getLocNo(1, staDescId, sourceStaNo, matNos, locTypeDto, times); +// } log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times); throw new CoolException("娌℃湁绌哄簱浣�"); } -- Gitblit v1.9.1