From 0028d5c19b30be09c965f9760f2bccff45a84393 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期五, 05 七月 2024 12:57:08 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 123 +++++++++++++++++++++++++++------------- 1 files changed, 82 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index e107684..af52410 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -120,14 +120,36 @@ // 鐩爣搴撲綅 LocMast locMast = null; + // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋� + if (null == locMast) { + curRow = curRow + 1; + if (curRow == 4) { + curRow = 1; + } + if (basCrnpService.checkSiteError(1, true)) { + crnNo = 1; + } + } + if (crnNo == 0) { + throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満"); + } + // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� if (!Cools.isEmpty(matNos)) { List<String> locNos = locDetlService.getSameDetlToday(matNos.get(0), sRow, eRow); for (String locNo : locNos) { - if (Utils.isShallowLoc(slaveProperties, locNo)) { - continue; + // 鏄祬搴撲綅 鐨勮烦璧� + //if (Utils.isShallowLoc(slaveProperties, locNo)) { + // continue; + //} + int row = Integer.parseInt(locNo.substring(0, 2)); + if (row == 2) continue; + String shallowLocNo = ""; + if (row == 1) { + shallowLocNo = locNo; + } else { + shallowLocNo = Utils.getShallowLoc(slaveProperties, locNo); } - String shallowLocNo = Utils.getShallowLoc(slaveProperties, locNo); // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣� LocMast shallowLoc = locMastService.selectById(shallowLocNo); if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) { @@ -147,10 +169,33 @@ 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; + //if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) { + // continue; + //} + + int row = Integer.parseInt(loc.getLocNo().substring(0, 2)); + //濡傛灉涓烘祬搴撲綅鍒欏垽鏂繁搴撲綅鏄惁浣跨敤 + + + String shallowLocNo = ""; + if (row == 1) { + shallowLocNo = loc.getLocNo(); + } else if (row == 2){ + LocMast deepLoc = locMastService.selectById(zerofill(String.valueOf(3), 2) + locMast.getLocNo().substring(2)); + if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) { + continue; + } + shallowLocNo = loc.getLocNo(); + } else { + LocMast deepLoc = locMastService.selectById(zerofill(String.valueOf(2), 2) + locMast.getLocNo().substring(2)); + if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) { + continue; + } + shallowLocNo = loc.getLocNo(); } - String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo()); + + + // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣� LocMast shallowLoc = locMastService.selectById(shallowLocNo); if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) { @@ -167,32 +212,7 @@ } } - // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋� - if (null == locMast) { - Shelves shelves = new Shelves(rowCount, crn_qty); - int divides = (int) Arith.divides(1, curRow - 1, 4); - curRow = (int) Arith.remainder(curRow, 4); - if (curRow == 0) { - curRow = 4; - } - 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*1; - if (basCrnpService.checkSiteError(crnNo1, true)) { - crnNo = crnNo1; - curRow = curRow + divides*4; - break; - } - } - } - if (crnNo == 0) { - throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満"); - } // 鑾峰彇鐩爣绔� Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", staDescId) @@ -216,15 +236,22 @@ // 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺� if (locMast == null) { - if (Utils.isShallowLoc(slaveProperties, curRow)) { - Integer deepRow = Utils.getDeepRow(slaveProperties, curRow); + if (curRow == 2) { + Integer deepRow = 3; locMast = locMastService.queryFreeLocMast(deepRow, locTypeDto.getLocType1()); - // todo:luxiaotao 濡傛灉鐢ㄦ祬鎺掓壘鍒扮殑娣卞簱浣嶏紝閭d箞鍒欓渶瑕佸垽鏂繖涓繁搴撲綅瀵瑰簲鐨勬祬搴撲綅鏄惁鏈夎揣锛團銆乆銆丏锛� - // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� if (!locMastService.checkEmptyCount(locMast)) { locMast = null; } } + //if (Utils.isShallowLoc(slaveProperties, curRow)) { + // Integer deepRow = Utils.getDeepRow(slaveProperties, curRow); + // locMast = locMastService.queryFreeLocMast(deepRow, locTypeDto.getLocType1()); + // // todo:luxiaotao 濡傛灉鐢ㄦ祬鎺掓壘鍒扮殑娣卞簱浣嶏紝閭d箞鍒欓渶瑕佸垽鏂繖涓繁搴撲綅瀵瑰簲鐨勬祬搴撲綅鏄惁鏈夎揣锛團銆乆銆丏锛� + // // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� + // if (!locMastService.checkEmptyCount(locMast)) { + // locMast = null; + // } + //} if (Cools.isEmpty(locMast)) { locMast = locMastService.queryFreeLocMast(curRow, locTypeDto.getLocType1()); // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� @@ -232,23 +259,37 @@ locMast = null; } // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X - if (null != locMast && Utils.isShallowLoc(slaveProperties, locMast.getLocNo())) { - LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, locMast.getLocNo())); + if (null != locMast && Integer.parseInt(locMast.getLocNo().substring(0, 2)) == 2) { + LocMast deepLoc = locMastService.selectById(zerofill(String.valueOf(3), 2) + locMast.getLocNo().substring(2)); if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) { locMast = null; } } + //if (null != locMast && Utils.isShallowLoc(slaveProperties, locMast.getLocNo())) { + // LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, locMast.getLocNo())); + // if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) { + // locMast = null; + // } + //} // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O - if (null != locMast && Utils.isDeepLoc(slaveProperties, locMast.getLocNo())) { - LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, locMast.getLocNo())); + if (null != locMast && Integer.parseInt(locMast.getLocNo().substring(0, 2)) == 3) { + LocMast shallowLoc = locMastService.selectById(zerofill(String.valueOf(2), 2) + locMast.getLocNo().substring(2)); if (!Cools.isEmpty(shallowLoc)) { if (!shallowLoc.getLocSts().equals("O")) { locMast = null; } } - - } + //if (null != locMast && Utils.isDeepLoc(slaveProperties, locMast.getLocNo())) { + // LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, locMast.getLocNo())); + // if (!Cools.isEmpty(shallowLoc)) { + // if (!shallowLoc.getLocSts().equals("O")) { + // locMast = null; + // } + // } + // + // + //} } } -- Gitblit v1.9.1