From 1af3b14449eb33792e606185c55643bca53efbb7 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 07 六月 2023 16:50:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/service/CommonService.java |   97 +++++++++++++++++++++++++++---------------------
 1 files changed, 54 insertions(+), 43 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index b725378..38c15a0 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;
@@ -156,37 +157,21 @@
         // 鐩爣搴撲綅
         LocMast locMast = null;
 
-        //3鍙峰彲浠ュ叆搴撳墠蹇呴』鎵撳紑鎺у埗
-//        if (!Cools.isEmpty(matNos)) {
-//            for (String matNo : matNos) {
-//                Mat mat = matService.selectByMatnr(matNo);
-//                if (matType == null) {
-//                    matType = mat.getMatType();
-//                }
-//                if (matType != mat.getMatType()) {
-//                    throw new CoolException("娣锋斁鐗╂枡绫诲瀷涓嶄竴鑷�");
-//                }
-//            }
-//
-//            if (matNos.size() > 1 && matType == 1) {
-//                //鐗╂枡涓哄崟鍝佺被鍨嬶紝涓旂墿鏂欑绫昏秴杩�1(瀹為檯涓洪珮棰戞贩鏀�)锛屽垯绂佹鍏ュ簱
-//                throw new CoolException("鐗╂枡绫诲瀷鍜屽疄闄呯绫讳笉涓�鑷�");
-//            }
-//        }
+        boolean sign = false;
 
         // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭
         locMast = getLocNoStep1(staDescId, locTypeDto, start, end);
         if (locMast != null) {
             //鎵惧埌搴撲綅锛岃繑鍥瀌to
-            return getLocNoFinalStep(staDescId, sourceStaNo, locMast);//杩斿洖dto
+            sign=true;
         }
 
-        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 if (matType == 2) {//楂橀绫诲瀷鍏ユ渶澶栦晶搴撲綅
                 locMast = getLocNoStep3(locTypeDto, crnNos);
@@ -196,40 +181,66 @@
                 }
                 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;
+
+
+        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(sourceStaNo==103 && mast.getRow1()>7)
-            {
-                continue;
+        }
+
+        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("鐗╂枡绫诲瀷鍜屽疄闄呯绫讳笉涓�鑷�");
+                }
             }
-            if(sourceStaNo==203 && mast.getRow1()<8)
-            {
-                continue;
-            }
-            //鎵惧埌搴撲綅锛岃繑鍥瀌to
-            return getLocNoFinalStep(staDescId, sourceStaNo, mast);//杩斿洖dto
+            return getLocNoFinalStep(staDescId, sourceStaNo, locMast);//杩斿洖dto
         }
         //----------------2023.06.02鍏煎浠g爜end---------------------
 

--
Gitblit v1.9.1