From 47796e9f5ac45f4d207d03b727de97dbb34a2058 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 06 六月 2023 15:06:52 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 191 ++++++----------------------------------------- 1 files changed, 24 insertions(+), 167 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index fa334c9..cb56388 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -97,37 +97,21 @@ */ @Transactional public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos, LocTypeDto locTypeDto, int times) { -// whsType = getWhsType(sourceStaNo, times); - switch (sourceStaNo){ - case 101: - case 109: - case 117: - whsType=1; //1-8璐ф灦 - slaveProperties.setDoubleDeep(false); - slaveProperties.setGroupCount(2); - break; - case 201: - slaveProperties.setDoubleDeep(true); - slaveProperties.setGroupCount(4); - whsType=2; //9-12璐ф灦 - break; - case 207: - whsType=3; //13-14璐ф灦 - slaveProperties.setDoubleDeep(false); - slaveProperties.setGroupCount(2); - break; - case 213: - slaveProperties.setDoubleDeep(true); - slaveProperties.setGroupCount(4); - whsType=4; //15-18璐ф灦 - break; - default: - throw new CoolException("鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰嶅け璐ワ紝鍏ュ簱绔欙細" + sourceStaNo); + + 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(); - - RowLastno rowLastno = rowLastnoService.selectById(whsType); if (Cools.isEmpty(rowLastno)) { @@ -140,13 +124,12 @@ int eRow = rowLastno.geteRow(); int crn_qty = rowLastno.getCrnQty(); int rowCount = eRow - sRow + 1; - // 鐩爣鍫嗗灈鏈哄彿 - int crnNo = 0; + // 鐩爣搴撲綅 LocMast locMast = null; // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� - if (!Cools.isEmpty(matNos) && (whsType==2 || whsType==4)) { + if (!Cools.isEmpty(matNos)) { List<String> locNos = locDetlService.getSameDetlToday(matNos.get(0), sRow, eRow); for (String locNo : locNos) { if (Utils.isShallowLoc(slaveProperties, locNo)) { @@ -159,7 +142,6 @@ if (VersionUtils.locMoveCheckLocType(shallowLoc, locTypeDto)) { if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) { locMast = shallowLoc; - crnNo = locMast.getCrnNo(); break; } } @@ -168,7 +150,7 @@ } // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 - if (staDescId == 10 && (whsType==2 || whsType==4)) { + 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) { @@ -181,7 +163,6 @@ if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) { if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) { locMast = shallowLoc; - crnNo = locMast.getCrnNo(); break; } } @@ -192,48 +173,8 @@ // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋� if (null == locMast){ curRow = getCurRow(curRow); - if (curRow == 0){ - crnNo = 0; - }else if( curRow <= 8 && curRow > 0){ - crnNo=(curRow+1)/2; - }else if (curRow <= 12 && curRow >= 9){ - crnNo=5; - }else if (curRow <= 14 && curRow >= 13){ - crnNo=6; - }else if (curRow <= 18 && curRow >= 15){ - crnNo=7; - } - if (curRow!=0 && !basCrnpService.checkSiteError(crnNo, true)) { - crnNo = 0; - } } -// // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋� -// 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) @@ -257,7 +198,7 @@ // 1.褰撴绱㈠簱鎺掍负娴呭簱浣嶆帓鏃讹紝浼樺厛瀵绘壘褰撳墠搴撴帓鐨勬繁搴撲綅鎺� if (locMast == null) { - if ((whsType==2 || whsType==4) && Utils.isShallowLoc(slaveProperties, curRow)) { + if (Utils.isShallowLoc(slaveProperties, curRow)) { Integer deepRow = Utils.getDeepRow(slaveProperties, curRow); locMast = locMastService.queryFreeLocMast(deepRow, locTypeDto.getLocType1()); // todo:luxiaotao 濡傛灉鐢ㄦ祬鎺掓壘鍒扮殑娣卞簱浣嶏紝閭d箞鍒欓渶瑕佸垽鏂繖涓繁搴撲綅瀵瑰簲鐨勬祬搴撲綅鏄惁鏈夎揣锛團銆乆銆丏锛� @@ -273,61 +214,17 @@ locMast = null; } // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X - if ((whsType==2 || whsType==4) && null != locMast && Utils.isShallowLoc(slaveProperties, locMast.getLocNo())) { + 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 ((whsType==2 || whsType==4) && null != locMast && Utils.isDeepLoc(slaveProperties, locMast.getLocNo())) { + if (null != locMast && Utils.isDeepLoc(slaveProperties, locMast.getLocNo())) { LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, locMast.getLocNo())); if (!shallowLoc.getLocSts().equals("O")) { locMast = null; - } - } - } - } - //20230203娣诲姞 lfd鏂欑搴撴牴鎹緭閫佺嚎绛涢�夊叆搴� - if (!Cools.isEmpty(locMast) && locMast.getCrnNo()<5){ - int wrkMastsC0 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", locMast.getCrnNo()).eq("io_type",1)); - if (wrkMastsC0>3 && times < rowCount){ - int locO1 = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("crn_no", 1)); - BasCrnp basCrnp1 = basCrnpService.selectById(1); - if (!Cools.isEmpty(locO1) && basCrnp1.getInEnable().equals("Y") && basCrnp1.getCrnSts().equals(3)){ - int wrkMastsC1 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", 1).eq("io_type",1)); - if (wrkMastsC0>wrkMastsC1){ - locMast=null; - } - } - if (!Cools.isEmpty(locMast)){ - locO1=locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("crn_no", 2)); - BasCrnp basCrnp2 = basCrnpService.selectById(2); - if (!Cools.isEmpty(locO1) && basCrnp2.getInEnable().equals("Y") && basCrnp2.getCrnSts().equals(3)){ - int wrkMastsC2 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", 2).eq("io_type",1)); - if (wrkMastsC0>wrkMastsC2){ - locMast=null; - } - } - } - if (!Cools.isEmpty(locMast)){ - locO1=locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("crn_no", 2)); - BasCrnp basCrnp3 = basCrnpService.selectById(3); - if (!Cools.isEmpty(locO1) && basCrnp3.getInEnable().equals("Y") && basCrnp3.getCrnSts().equals(3)){ - int wrkMastsC3 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", 3).eq("io_type",1)); - if (wrkMastsC0>wrkMastsC3){ - locMast=null; - } - } - } - if (!Cools.isEmpty(locMast)){ - locO1=locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("crn_no", 2)); - BasCrnp basCrnp4 = basCrnpService.selectById(4); - if (!Cools.isEmpty(locO1) && basCrnp4.getInEnable().equals("Y") && basCrnp4.getCrnSts().equals(3)){ - int wrkMastsC4 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", 4).eq("io_type",1)); - if (wrkMastsC0>wrkMastsC4){ - locMast=null; - } } } } @@ -381,52 +278,12 @@ * 鏍规嵁鍏ュ簱绔欒幏鍙栧簱浣嶆帓鍙峰垎閰� */ private Integer getCurRow(Integer curRow) { - boolean sign=false; - int count=0; - while (!sign){ - count=count+1; - if (count==5){ - return 0; - } - switch (curRow){ - case 1: - case 3: - case 5: - case 2: - case 4: - case 6: - curRow=curRow+2; - break; - case 7: - curRow=2; - break; - case 8: - curRow=1; - break; - case 13: - return 14; - case 14: - return 13; - case 9: - return 12; - case 10: - return 11; - case 11: - return 9; - case 12: - return 10; - case 15: - return 18; - case 16: - return 17; - case 17: - return 15; - case 18: - return 16; - default: - throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細"+curRow); - } - sign = basCrnpService.checkSiteError((curRow+1)/2, true); + if (Utils.isDeepLocLeft(slaveProperties,curRow)){ + curRow=curRow+3; + }else if (Utils.isDeepLocLeft(slaveProperties,curRow-1)){ + curRow=curRow+1; + }else { + curRow=curRow-2; } return curRow; } -- Gitblit v1.9.1