From 67996eced2ded8d7f3f4d66e513349c550102a4e Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 06 六月 2023 14:28:14 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 101 +++++++++++++++----------------------------------- 1 files changed, 31 insertions(+), 70 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index cd4b253..0423184 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -50,7 +50,7 @@ /** * 鐢熸垚宸ヤ綔鍙� - * @param wrkMk 0:鍏ュ簱 1 - 3000 ; 1:鎷f枡/骞舵澘/鐩樼偣 3001 - 6000 ; 2: 鍑哄簱 6001 -9000 ; 3:鍏朵粬 9001 -9999 + * @param wrkMk * @return workNo(宸ヤ綔鍙�) */ public int getWorkNo(Integer wrkMk) { @@ -97,10 +97,22 @@ */ @Transactional public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto, int times) { - whsType = getWhsType(sourceStaNo, times); + + if (sourceStaNo < 200){ + whsType = 1; + } else if (sourceStaNo > 199 && sourceStaNo < 300){ + whsType = 2; + } else if (sourceStaNo > 299){ + whsType = 3; + } + // 鐩爣鍫嗗灈鏈哄彿 + int crnNo = whsType; + if (!basCrnpService.checkSiteError(crnNo, true)){ + throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満"); + } + StartupDto startupDto = new StartupDto(); - // 鐢熸垚宸ヤ綔鍙� - int workNo = getWorkNo(0); + RowLastno rowLastno = rowLastnoService.selectById(whsType); if (Cools.isEmpty(rowLastno)) { throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�"); @@ -112,8 +124,7 @@ int eRow = rowLastno.geteRow(); int crn_qty = rowLastno.getCrnQty(); int rowCount = eRow - sRow + 1; - // 鐩爣鍫嗗灈鏈哄彿 - int crnNo = 0; + // 鐩爣搴撲綅 LocMast locMast = null; @@ -131,7 +142,6 @@ if (VersionUtils.locMoveCheckLocType(shallowLoc, locTypeDto)) { if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) { locMast = shallowLoc; - crnNo = locMast.getCrnNo(); break; } } @@ -153,7 +163,6 @@ if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) { if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) { locMast = shallowLoc; - crnNo = locMast.getCrnNo(); break; } } @@ -162,44 +171,10 @@ } // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋� - if (null == locMast) { - Shelves shelves = new Shelves(rowCount, crn_qty); - 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; - break; - } - } - } else { - for (int i = 0; i < shelves.group; i ++) { - curRow = shelves.start(curRow); - if (curRow < 0) { - throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳"); - } - Integer crnNo1 = shelves.get(curRow); - if (basCrnpService.checkSiteError(crnNo1, true)) { - crnNo = crnNo1; - break; - } - } - } + if (null == locMast){ + curRow = getCurRow(curRow); } - if (crnNo == 0) { - throw new CoolException("娌℃湁鍙敤鐨勫爢鍨涙満"); - } // 鑾峰彇鐩爣绔� Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", staDescId) @@ -214,6 +189,7 @@ if (!staNo.getAutoing().equals("Y")) { throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�"); } + // 鏇存柊搴撲綅鎺掑彿 rowLastno.setCurrentRow(curRow); rowLastnoService.updateById(rowLastno); @@ -222,7 +198,7 @@ // 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺� if (locMast == null) { - if (Utils.isShallowLoc(slaveProperties, curRow)) { + if ( Utils.isShallowLoc(slaveProperties, curRow)) { Integer deepRow = Utils.getDeepRow(slaveProperties, curRow); locMast = locMastService.queryFreeLocMast(deepRow, locTypeDto.getLocType1()); // todo:luxiaotao 濡傛灉鐢ㄦ祬鎺掓壘鍒扮殑娣卞簱浣嶏紝閭d箞鍒欓渶瑕佸垽鏂繖涓繁搴撲綅瀵瑰簲鐨勬祬搴撲綅鏄惁鏈夎揣锛團銆乆銆丏锛� @@ -272,6 +248,8 @@ } String locNo = locMast.getLocNo(); + // 鐢熸垚宸ヤ綔鍙� + int workNo = getWorkNo(0); // 杩斿洖dto startupDto.setWorkNo(workNo); startupDto.setCrnNo(crnNo); @@ -299,31 +277,14 @@ /** * 鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰� */ - private Integer getWhsType(Integer sourceStaNo, int times) { - if (times >= 16) { - return 4; + private Integer getCurRow(Integer curRow) { + if (Utils.isDeepLocLeft(slaveProperties,curRow)){ + curRow=curRow+3; + }else if (Utils.isDeepLocLeft(slaveProperties,curRow-1)){ + curRow=curRow+1; + }else { + curRow=curRow-2; } - switch (sourceStaNo) { - case 173: - case 176: - case 180: - case 185: - return 1; - case 189: - case 194: - case 198: - case 202: - return 2; - case 206: -// case 211: -// case 215: -// case 219: -// case 223: - case 227: - return 3; - default: - throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + sourceStaNo); - } + return curRow; } - } -- Gitblit v1.9.1