From ed361165f4518ab5eaa94bfc5fc97f30603619f4 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期四, 29 六月 2023 14:45:09 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 94 +++++++++++++++++++++++++++++++--------------- 1 files changed, 63 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index e2be8c9..f70ed5b 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; @@ -16,6 +17,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Random; @@ -111,6 +113,7 @@ int start; int end; Integer matType = null;//鐗╂枡绫诲瀷 + Integer crnNo = 0; //鏍规嵁鍏ュ簱绔欙紝鍐冲畾鎼滅储鎸囧畾鍫嗗灈鏈� ArrayList<Integer> crnNos = new ArrayList<>(); //鏍规嵁鍏ュ簱绔欙紝鎵惧埌搴撲綅缁勬渶鍐呬晶鎺� @@ -130,6 +133,7 @@ rows.add(7); rows.add(8); rows.add(14); + crnNo = 1; break; case 203://203鍏ュ簱绔� whsType = 2; @@ -145,6 +149,7 @@ rows.add(14); rows.add(15); rows.add(21); + crnNo = 3; break; default: throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳"); @@ -156,13 +161,23 @@ // 鐩爣搴撲綅 LocMast locMast = null; + boolean sign = false; + + // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 + locMast = getLocNoStep1(staDescId, locTypeDto, start, end); + if (locMast != null) { + //鎵惧埌搴撲綅锛岃繑鍥瀌to + sign=true; + } + + //3鍙峰彲浠ュ叆搴撳墠蹇呴』鎵撳紑鎺у埗 if (!Cools.isEmpty(matNos)) { 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 +188,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,33 +210,44 @@ } 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; } } } - //----------------2023.06.02鍏煎浠g爜锛屽悗鏈熷簱浣嶈鍒欑鍚堣姹傚悗鍙垹闄�------------------------ - //濡傛灉浠ヤ笂閮芥壘涓嶅埌搴撲綅锛屽垯寮哄埗鎼滅储1銆�2鍫嗗灈鏈虹┖搴撲綅杩涜鍏ュ簱锛屼繚闅�3鍙峰爢鍨涙満搴撲綅閮芥槸绗﹀悎瑕佹眰鐨� - EntityWrapper<LocMast> wrapper = new EntityWrapper<>(); - wrapper.eq("loc_type1", locTypeDto.getLocType1()); - wrapper.in("crn_no", "1,2"); - wrapper.eq("loc_sts", "O"); - List<LocMast> locMasts = locMastService.selectList(wrapper); - for (LocMast mast : locMasts) { - //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆 - if (Utils.checkInsideLocIsDFX(mast.getLocNo())) { - //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣� - continue; - } - //鎵惧埌搴撲綅锛岃繑鍥瀌to - return getLocNoFinalStep(staDescId, sourceStaNo, mast);//杩斿洖dto + +// 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--------------------- @@ -307,7 +333,7 @@ // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast0, 10)) { + if (locMastService.checkEmptyCount(locMast0, 10) && locMast0.getCrnNo()!=2) { locMast = locMast0; break; } @@ -334,7 +360,7 @@ // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast0, 10)) { + if (locMastService.checkEmptyCount(locMast0, 10) && locMast0.getCrnNo()!=2) { locMast = locMast0; break; } @@ -392,7 +418,7 @@ List<LocMast> locMasts = locMastService.findEmptyLowFrequencyLocMast(locTypeDto.getLocType1(), randomCrnNo); for (LocMast locMast0 : locMasts) { //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆 - if (Utils.checkInsideLocIsDFX(locMast0.getLocNo())) { + if (Utils.checkInsideLocIsDFX2(locMast0.getLocNo())) { //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣� continue; } @@ -439,7 +465,13 @@ StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}, crnNo={}", staDescId, sourceStaNo, locMast.getCrnNo()); - throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); + if (sourceStaNo==103 && locMast.getCrnNo()==3){ + throw new CoolException("璇锋斁鍒�203鍏ュ簱鍙�"); + }else if (sourceStaNo==203 && locMast.getCrnNo()==1){ + throw new CoolException("璇锋斁鍒�103鍏ュ簱鍙�"); + }else { + throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); + } } // 妫�娴嬬洰鏍囩珯 -- Gitblit v1.9.1