From 2d580e9a1cc031f9d7bf1def649fbca86045ccae Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期日, 29 一月 2023 13:40:23 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 81 ++++++++++++++++++++++++++++++++++------ 1 files changed, 69 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index f7cc365..e4f3864 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -57,6 +57,8 @@ private SlaveProperties slaveProperties; @Autowired private MatService matService; + @Autowired + private LocRuleService locRuleService; /** * 鐢熸垚宸ヤ綔鍙� @@ -115,16 +117,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("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳"); @@ -144,6 +155,17 @@ int crnNo = 0; // 鐩爣搴撲綅 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) { @@ -207,9 +229,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; @@ -230,9 +260,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("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳"); @@ -274,22 +312,41 @@ // 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺� if (locMast == null) { - List<Integer> rows = Utils.getGroupLoc(curRow); - Mat mat = matService.selectByMatnr(matNos.get(0)); - if (Cools.isEmpty(mat.getInoutEveryday())){ - mat.setInoutEveryday(false); - } - 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; + // 搴撳尯閿佸畾 + LocRule locRule = locRuleService.find(Cools.isEmpty(matNos) ? null : matNos.get(0), null); + if (!Cools.isEmpty(locRule)) { + List<Integer> rows = Utils.getGroupLoc(locRule.getRowBeg()); + List<LocMast> locMasts = locMastService.queryFreeLocMast1(rows, rows.size(), locTypeDto.getLocType1(), inoutEveryday + , locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd()); + 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 (locMast == null) { + List<Integer> rows = Utils.getGroupLoc(curRow); + 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) { + if (one.getRow1().equals(innermostRow)) { + locMast = one; + break; + } + } + } + } +// LocMast locMast0 = locMastService.findOutMost(locMasts.stream().map(LocMast::getLocNo).distinct().collect(Collectors.toList())); +// if (!Cools.isEmpty(locMast0)) { +// locMast = locMast0; +// } // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� todo:luxiaotao // if (!locMastService.checkEmptyCount(locMast)) { // locMast = null; -- Gitblit v1.9.1