From 4f1cb437bd84e1922e5c60d4a583137fda581cc8 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期四, 29 六月 2023 17:09:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/CommonService.java | 111 +++++++++++++++++++++++++++++++------------------------ 1 files changed, 62 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 38c15a0..c4c5166 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -17,6 +17,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Random; @@ -112,6 +113,7 @@ int start; int end; Integer matType = null;//鐗╂枡绫诲瀷 + Integer crnNo = 0; //鏍规嵁鍏ュ簱绔欙紝鍐冲畾鎼滅储鎸囧畾鍫嗗灈鏈� ArrayList<Integer> crnNos = new ArrayList<>(); //鏍规嵁鍏ュ簱绔欙紝鎵惧埌搴撲綅缁勬渶鍐呬晶鎺� @@ -131,6 +133,7 @@ rows.add(7); rows.add(8); rows.add(14); + crnNo = 1; break; case 203://203鍏ュ簱绔� whsType = 2; @@ -146,6 +149,7 @@ rows.add(14); rows.add(15); rows.add(21); + crnNo = 3; break; default: throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳"); @@ -166,12 +170,37 @@ sign=true; } + //3鍙峰彲浠ュ叆搴撳墠蹇呴』鎵撳紑鎺у埗 + if (!Cools.isEmpty(matNos)) { + for (String matNo : matNos) { + Mat mat = matService.selectByMatnr(matNo); + if (matType == null) { + matType = mat.getMatType(); + } + if (!matType.equals(mat.getMatType())) { + throw new CoolException("娣锋斁鐗╂枡绫诲瀷涓嶄竴鑷�"); + } + } + + if (matNos.size() > 1 && matType == 1) { + //鐗╂枡涓哄崟鍝佺被鍨嬶紝涓旂墿鏂欑绫昏秴杩�1(瀹為檯涓洪珮棰戞贩鏀�)锛屽垯绂佹鍏ュ簱 + throw new CoolException("鐗╂枡绫诲瀷鍜屽疄闄呯绫讳笉涓�鑷�"); + } + } + if (!sign && matType != null) { if (matType == 1) {//鍗曞搧绫诲瀷鍏ュ簱 locMast = getLocNoStep2(locTypeDto, matNos, rows, crnNos); if (locMast != null) { //鎵惧埌搴撲綅锛岃繑鍥瀌to sign=true; + } else { + //鍗曞搧娌℃湁鎵惧埌搴撲綅锛屾壘楂橀娣锋斁鍖哄煙搴撲綅 + locMast = getLocNoStep3(locTypeDto, crnNos); + if (locMast != null) { + //鎵惧埌搴撲綅锛岃繑鍥瀌to + sign=true; + } } } else if (matType == 2) {//楂橀绫诲瀷鍏ユ渶澶栦晶搴撲綅 locMast = getLocNoStep3(locTypeDto, crnNos); @@ -194,52 +223,30 @@ - if (!sign){ - //----------------2023.06.02鍏煎浠g爜锛屽悗鏈熷簱浣嶈鍒欑鍚堣姹傚悗鍙垹闄�------------------------ - //濡傛灉浠ヤ笂閮芥壘涓嶅埌搴撲綅锛屽垯寮哄埗鎼滅储1銆�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()>7) - { - continue; - } - if(sourceStaNo==203 && mast.getRow1()<8) - { - continue; - } - //鎵惧埌搴撲綅锛岃繑鍥瀌to - locMast=mast; - 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){ - //3鍙峰彲浠ュ叆搴撳墠蹇呴』鎵撳紑鎺у埗 - if (!Cools.isEmpty(matNos) && locMast.getCrnNo()==3) { - for (String matNo : matNos) { - Mat mat = matService.selectByMatnr(matNo); - if (matType == null) { - matType = mat.getMatType(); - } - if (!matType.equals(mat.getMatType())) { - throw new CoolException("娣锋斁鐗╂枡绫诲瀷涓嶄竴鑷�"); - } - } - - if (matNos.size() > 1 && matType == 1) { - //鐗╂枡涓哄崟鍝佺被鍨嬶紝涓旂墿鏂欑绫昏秴杩�1(瀹為檯涓洪珮棰戞贩鏀�)锛屽垯绂佹鍏ュ簱 - throw new CoolException("鐗╂枡绫诲瀷鍜屽疄闄呯绫讳笉涓�鑷�"); - } - } return getLocNoFinalStep(staDescId, sourceStaNo, locMast);//杩斿洖dto } //----------------2023.06.02鍏煎浠g爜end--------------------- @@ -326,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; } @@ -353,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; } @@ -411,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; } @@ -438,7 +445,7 @@ // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父 if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) { // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣� - if (locMastService.checkEmptyCount(locMast0, 10)) { + if (locMastService.checkEmptyCount0(locMast0, 6)) { locMast = locMast0; } } @@ -458,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