From c382cb4559cf2606883e30efbbdf4bbce0465cf6 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期五, 16 六月 2023 16:59:20 +0800 Subject: [PATCH] # 组托前先查询托盘码是否存在提示 --- src/main/java/com/zy/common/service/CommonService.java | 79 +++++++++++++++++++++++++++++++-------- 1 files changed, 63 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 32bdf6d..0f3f7ec 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Cools; import com.core.exception.CoolException; +import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; import com.zy.asrs.entity.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; @@ -111,6 +112,7 @@ int start; int end; Integer matType = null;//鐗╂枡绫诲瀷 + Integer crnNo = 0; //鏍规嵁鍏ュ簱绔欙紝鍐冲畾鎼滅储鎸囧畾鍫嗗灈鏈� ArrayList<Integer> crnNos = new ArrayList<>(); //鏍规嵁鍏ュ簱绔欙紝鎵惧埌搴撲綅缁勬渶鍐呬晶鎺� @@ -130,6 +132,7 @@ rows.add(7); rows.add(8); rows.add(14); + crnNo = 1; break; case 203://203鍏ュ簱绔� whsType = 2; @@ -137,7 +140,7 @@ end = 21; //203绔欏垎閰�2锛�3鍫嗗灈鏈� - crnNos.add(2); +// crnNos.add(2); crnNos.add(3); //鍒嗛厤8锛�14锛�15锛�21鎺� @@ -145,6 +148,7 @@ rows.add(14); rows.add(15); rows.add(21); + crnNo = 3; break; default: throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳"); @@ -156,13 +160,23 @@ // 鐩爣搴撲綅 LocMast locMast = null; - if (!Cools.isEmpty(matNos)) { + boolean sign = false; + + // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 + locMast = getLocNoStep1(staDescId, locTypeDto, start, end); + if (locMast != null) { + //鎵惧埌搴撲綅锛岃繑鍥瀌to + sign=true; + } + + //3鍙峰彲浠ュ叆搴撳墠蹇呴』鎵撳紑鎺у埗 + if (!Cools.isEmpty(matNos) && crnNo==3) { for (String matNo : matNos) { Mat mat = matService.selectByMatnr(matNo); if (matType == null) { matType = mat.getMatType(); } - if (matType != mat.getMatType()) { + if (!matType.equals(mat.getMatType())) { throw new CoolException("娣锋斁鐗╂枡绫诲瀷涓嶄竴鑷�"); } } @@ -173,19 +187,19 @@ } } - // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 - locMast = getLocNoStep1(staDescId, locTypeDto, start, end); - if (locMast != null) { - //鎵惧埌搴撲綅锛岃繑鍥瀌to - return getLocNoFinalStep(staDescId, sourceStaNo, locMast);//杩斿洖dto - } - - if (matType != null) { + if (!sign && matType != null) { if (matType == 1) {//鍗曞搧绫诲瀷鍏ュ簱 locMast = getLocNoStep2(locTypeDto, matNos, rows, crnNos); if (locMast != null) { //鎵惧埌搴撲綅锛岃繑鍥瀌to - return getLocNoFinalStep(staDescId, sourceStaNo, locMast);//杩斿洖dto + sign=true; + } else { + //鍗曞搧娌℃湁鎵惧埌搴撲綅锛屾壘楂橀娣锋斁鍖哄煙搴撲綅 + locMast = getLocNoStep3(locTypeDto, crnNos); + if (locMast != null) { + //鎵惧埌搴撲綅锛岃繑鍥瀌to + sign=true; + } } } else if (matType == 2) {//楂橀绫诲瀷鍏ユ渶澶栦晶搴撲綅 locMast = getLocNoStep3(locTypeDto, crnNos); @@ -195,16 +209,46 @@ } if (locMast != null) { //鎵惧埌搴撲綅锛岃繑鍥瀌to - return getLocNoFinalStep(staDescId, sourceStaNo, locMast);//杩斿洖dto + sign=true; } } else if (matType == 3) {//浣庨娣锋斁绫诲瀷 locMast = getLocNoStep4(locTypeDto, crnNos); if (locMast != null) { //鎵惧埌搴撲綅锛岃繑鍥瀌to - return getLocNoFinalStep(staDescId, sourceStaNo, locMast);//杩斿洖dto + sign=true; } } } + + + + if (!sign){ + //----------------2023.06.02鍏煎浠g爜锛屽悗鏈熷簱浣嶈鍒欑鍚堣姹傚悗鍙垹闄�------------------------ + //濡傛灉浠ヤ笂閮芥壘涓嶅埌搴撲綅锛屽垯寮哄埗鎼滅储2鍫嗗灈鏈虹┖搴撲綅杩涜鍏ュ簱锛屼繚闅�3鍙峰爢鍨涙満搴撲綅閮芥槸绗﹀悎瑕佹眰鐨� + EntityWrapper<LocMast> wrapper = new EntityWrapper<>(); + wrapper.eq("loc_type1", locTypeDto.getLocType1()); + wrapper.in("crn_no", "2"); + wrapper.eq("loc_sts", "O"); + List<LocMast> locMasts = locMastService.selectList(wrapper); + for (LocMast mast : locMasts) { + //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆 + if (Utils.checkInsideLocIsDFX(mast.getLocNo())) { + //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣� + continue; + } + if(sourceStaNo==103 && mast.getRow1()>14) continue; + if(sourceStaNo==103 && mast.getRow1()<8) continue; + if(sourceStaNo==203 && mast.getRow1()<15) continue; + //鎵惧埌搴撲綅锛岃繑鍥瀌to + locMast=mast; + sign = true; + } + } + + if (sign){ + return getLocNoFinalStep(staDescId, sourceStaNo, locMast);//杩斿洖dto + } + //----------------2023.06.02鍏煎浠g爜end--------------------- throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳"); } @@ -288,7 +332,7 @@ // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast0, 10)) { + if (locMastService.checkEmptyCount(locMast0, 10) && locMast0.getCrnNo()>=3) { locMast = locMast0; break; } @@ -315,7 +359,7 @@ // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast0, 10)) { + if (locMastService.checkEmptyCount(locMast0, 10) && locMast0.getCrnNo()>=3) { locMast = locMast0; break; } @@ -333,6 +377,9 @@ //闅忔満鍙敤鍫嗗灈鏈哄彿 Integer randomCrnNo = Utils.getRandomCrnNo(crnNos, locTypeDto.getLocType1()); + if (randomCrnNo == null) { + return locMast; + } ArrayList<Integer> randomCrnNos = new ArrayList<>(); randomCrnNos.add(randomCrnNo); -- Gitblit v1.9.1