From d6ff18e0ff89d36e80195da43ca40bf3a8f42b2c Mon Sep 17 00:00:00 2001 From: Administrator <pjb> Date: 星期日, 15 六月 2025 09:38:14 +0800 Subject: [PATCH] wms分配库位异常 --- src/main/java/com/zy/common/service/CommonService.java | 113 +++++++++++++++++++++++++++++++------------------------- 1 files changed, 63 insertions(+), 50 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index a7643a0..c730912 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -30,7 +30,7 @@ public class CommonService { @Autowired - private WrkMastService wrkMastService; + private TaskWrkService taskWrkService; @Autowired private WrkLastnoService wrkLastnoService; @Autowired @@ -48,8 +48,42 @@ @Autowired private LocDetlService locDetlService; + public static void main(String[] args) { + System.out.println(Arith.remainder(1, 4)); + System.out.println("0200201".substring(0, 2)); + String locNo = "0800201"; + int row = Integer.parseInt(locNo.substring(0, 2)); + double remainder = Arith.remainder(row, 4); + int targetRow; + if (remainder == 1) { + // 寰楀埌褰撳墠搴撲綅鐨勫鍥村簱浣� + targetRow = row + 1; + } else if (remainder == 0) { + // 寰楀埌褰撳墠搴撲綅鐨勫唴鍥村簱浣� + targetRow = row - 1; + } else { + return; + } + String zerofill = zerofill(String.valueOf(targetRow), 2) + locNo.substring(2); + System.out.println(zerofill); + } + + public static String zerofill(String msg, Integer count) { + if (msg.length() == count) { + return msg; + } else if (msg.length() > count) { + return msg.substring(0, 16); + } else { + StringBuilder msgBuilder = new StringBuilder(msg); + for (int i = 0; i < count - msg.length(); ++i) { + msgBuilder.insert(0, "0"); + } + return msgBuilder.toString(); + } + } + /** - * 鐢熸垚宸ヤ綔鍙� + * 鐢熸垚宸ヤ綔鍙� wrkMk 0:鍏ュ簱 1 - 3000 ; 1:鎷f枡/骞舵澘/鐩樼偣 3001 - 6000 ; 2: 鍑哄簱 6001 -9000 ; 3:鍏朵粬 9001 -9999 * @return workNo(宸ヤ綔鍙�) */ public int getWorkNo(Integer wrkMk) { @@ -61,17 +95,17 @@ int workNo = wrkLastno.getWrkNo(); int sNo = wrkLastno.getSNo(); int eNo = wrkLastno.getENo(); - workNo = workNo>=eNo ? sNo : workNo+1; + workNo = workNo >= eNo ? sNo : workNo + 1; while (true) { - WrkMast wrkMast = wrkMastService.selectById(workNo); - if (null != wrkMast) { - workNo = workNo>=eNo ? sNo : workNo+1; + TaskWrk taskWrk = taskWrkService.selectByWrkNo(workNo); + if (null != taskWrk) { + workNo = workNo >= eNo ? sNo : workNo + 1; } else { break; } } // 淇敼搴忓彿璁板綍 - if (workNo > 0){ + if (workNo > 0) { wrkLastno.setWrkNo(workNo); wrkLastnoService.updateById(wrkLastno); } @@ -79,13 +113,12 @@ if (workNo == 0) { throw new CoolException("鐢熸垚宸ヤ綔鍙峰け璐ワ紝璇疯仈绯荤鐞嗗憳"); } else { - if (wrkMastService.selectById(workNo)!=null) { + if (taskWrkService.selectByWrkNo(workNo) != null) { throw new CoolException("鐢熸垚宸ヤ綔鍙�" + workNo + "鍦ㄥ伐浣滄。涓凡瀛樺湪"); } } return workNo; } - /** * 妫�绱㈠簱浣嶅彿 @@ -166,7 +199,7 @@ if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) { continue; } - String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo()); + String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo()); // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣� LocMast shallowLoc = locMastService.selectById(shallowLocNo); if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) { @@ -186,7 +219,7 @@ Shelves shelves = new Shelves(rowCount, crn_qty); // 1-4鎺� if (whsType == 1) { - for (int i = 0; i < shelves.group; i ++) { + for (int i = 0; i < shelves.group; i++) { curRow = shelves.start(curRow); if (curRow < 0) { throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳"); @@ -197,10 +230,10 @@ break; } } - // 5-8鎺� + // 5-8鎺� } else if (whsType == 2) { curRow = curRow - 4; - for (int i = 0; i < shelves.group; i ++) { + for (int i = 0; i < shelves.group; i++) { curRow = shelves.start(curRow); if (curRow < 0) { throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳"); @@ -214,9 +247,9 @@ } } - // 126绌烘澘鍏� 1-8鎺� + // 126绌烘澘鍏� 1-8鎺� } else { - for (int i = 0; i < shelves.group; i ++) { + for (int i = 0; i < shelves.group; i++) { curRow = shelves.start(curRow); if (curRow < 0) { throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳"); @@ -245,7 +278,7 @@ } BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn()); if (!staNo.getAutoing().equals("Y")) { - throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�"); + throw new CoolException("鐩爣绔�" + staDesc.getCrnStn() + "涓嶅彲鐢�"); } // 鏇存柊搴撲綅鎺掑彿 rowLastno.setCurrentRow(curRow); @@ -268,6 +301,20 @@ // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� if (!locMastService.checkEmptyCount(locMast)) { locMast = null; + } + // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X + 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 (!shallowLoc.getLocSts().equals("O")) { + locMast = null; + } } } } @@ -299,40 +346,6 @@ startupDto.setStaNo(staNo.getDevNo()); startupDto.setLocNo(locNo); return startupDto; - } - - public static void main(String[] args) { - System.out.println(Arith.remainder(1, 4)); - System.out.println("0200201".substring(0, 2)); - String locNo = "0800201"; - int row = Integer.parseInt(locNo.substring(0, 2)); - double remainder = Arith.remainder(row, 4); - int targetRow; - if (remainder == 1) { - // 寰楀埌褰撳墠搴撲綅鐨勫鍥村簱浣� - targetRow = row + 1; - } else if (remainder == 0) { - // 寰楀埌褰撳墠搴撲綅鐨勫唴鍥村簱浣� - targetRow = row - 1; - } else { - return; - } - String zerofill = zerofill(String.valueOf(targetRow), 2)+locNo.substring(2); - System.out.println(zerofill); - } - - public static String zerofill(String msg, Integer count) { - if (msg.length() == count) { - return msg; - } else if (msg.length() > count) { - return msg.substring(0, 16); - } else { - StringBuilder msgBuilder = new StringBuilder(msg); - for(int i = 0; i < count - msg.length(); ++i) { - msgBuilder.insert(0, "0"); - } - return msgBuilder.toString(); - } } } -- Gitblit v1.9.1