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 |   64 +++++++++++++++++--------------
 1 files changed, 35 insertions(+), 29 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..0f3f7ec 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -112,6 +112,7 @@
         int start;
         int end;
         Integer matType = null;//鐗╂枡绫诲瀷
+        Integer crnNo  = 0;
         //鏍规嵁鍏ュ簱绔欙紝鍐冲畾鎼滅储鎸囧畾鍫嗗灈鏈�
         ArrayList<Integer> crnNos = new ArrayList<>();
         //鏍规嵁鍏ュ簱绔欙紝鎵惧埌搴撲綅缁勬渶鍐呬晶鎺�
@@ -131,6 +132,7 @@
                 rows.add(7);
                 rows.add(8);
                 rows.add(14);
+                crnNo = 1;
                 break;
             case 203://203鍏ュ簱绔�
                 whsType = 2;
@@ -138,7 +140,7 @@
                 end = 21;
 
                 //203绔欏垎閰�2锛�3鍫嗗灈鏈�
-                crnNos.add(2);
+//                crnNos.add(2);
                 crnNos.add(3);
 
                 //鍒嗛厤8锛�14锛�15锛�21鎺�
@@ -146,6 +148,7 @@
                 rows.add(14);
                 rows.add(15);
                 rows.add(21);
+                crnNo = 3;
                 break;
             default:
                 throw new CoolException("妫�绱㈠簱浣嶅け璐ワ紝璇疯仈绯荤鐞嗗憳");
@@ -166,12 +169,37 @@
             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.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);
@@ -196,7 +224,7 @@
 
         if (!sign){
             //----------------2023.06.02鍏煎浠g爜锛屽悗鏈熷簱浣嶈鍒欑鍚堣姹傚悗鍙垹闄�------------------------
-            //濡傛灉浠ヤ笂閮芥壘涓嶅埌搴撲綅锛屽垯寮哄埗鎼滅储1銆�2鍫嗗灈鏈虹┖搴撲綅杩涜鍏ュ簱锛屼繚闅�3鍙峰爢鍨涙満搴撲綅閮芥槸绗﹀悎瑕佹眰鐨�
+            //濡傛灉浠ヤ笂閮芥壘涓嶅埌搴撲綅锛屽垯寮哄埗鎼滅储2鍫嗗灈鏈虹┖搴撲綅杩涜鍏ュ簱锛屼繚闅�3鍙峰爢鍨涙満搴撲綅閮芥槸绗﹀悎瑕佹眰鐨�
             EntityWrapper<LocMast> wrapper = new EntityWrapper<>();
             wrapper.eq("loc_type1", locTypeDto.getLocType1());
             wrapper.in("crn_no", "2");
@@ -208,14 +236,9 @@
                     //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣�
                     continue;
                 }
-                if(sourceStaNo==103 && mast.getRow1()>7)
-                {
-                    continue;
-                }
-                if(sourceStaNo==203 && mast.getRow1()<8)
-                {
-                    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;
@@ -223,23 +246,6 @@
         }
 
         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 +332,7 @@
                         // 娴呭簱浣嶅搴斿爢鍨涙満蹇呴』鍙敤涓旀棤寮傚父
                         if (basCrnpService.checkSiteError(locMast0.getCrnNo(), true)) {
                             // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
-                            if (locMastService.checkEmptyCount(locMast0, 10)) {
+                            if (locMastService.checkEmptyCount(locMast0, 10) && locMast0.getCrnNo()>=3) {
                                 locMast = locMast0;
                                 break;
                             }
@@ -353,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;
                         }

--
Gitblit v1.9.1