From fc6a73660fb4c76a2b0479bb8108768b7ff0d146 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 21 八月 2025 16:47:42 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java
index a131caf..bf0bab6 100644
--- a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java
@@ -95,6 +95,11 @@
                             .eq("stn_no", staNo)
                             .eq("crn_no", locMast.getCrnNo());
                     StaDesc staDesc = staDescService.selectOne(wrapper);
+                    if (Cools.isEmpty(staDesc)) {
+//                        throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
+                        sign = false;
+                        continue;
+                    }
                     Integer sourceStaNo = staDesc.getCrnStn();
                     if (Cools.isEmpty(sourceStaNo)) {
 //                    throw new CoolException("妫�绱㈡簮绔欏け璐�");
@@ -177,7 +182,7 @@
             }
             crnList.add(CodeDetectionUtil.crnCodeDetectionMax(new int[]{crnCount[0],crnCount[1]})[0]+1);
             crnList.add(CodeDetectionUtil.crnCodeDetectionMax(new int[]{crnCount[2],crnCount[3],crnCount[4]})[0]+3);
-            crnList.add(CodeDetectionUtil.crnCodeDetectionMaxT(new int[]{crnCount[2],crnCount[3],crnCount[4]},crnList.get(1))[0]+3);
+            crnList.add(CodeDetectionUtil.crnCodeDetectionMaxT(new int[]{crnCount[2],crnCount[3],crnCount[4]},crnList.get(1)-3)[0]+3);
             crnList.add(CodeDetectionUtil.crnCodeDetectionMax(new int[]{crnCount[5],crnCount[6]})[0]+6);
             crnList.add(1);
             crnList.add(2);
@@ -200,8 +205,11 @@
                 if (basCrnp.getCrnSts()!=3 || !basCrnp.getOutEnable().equals("Y")){
                     continue;
                 }
+                if (!basCrnpService.checkSiteError(crnNo, false)){
+                    continue;
+                }
                 // 鑾峰彇搴撲綅
-                List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("crn_no", crnNo));
+                List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("crn_no", crnNo).orderBy("lev1",true).orderBy("bay1",true));
                 for (LocMast locMastS : locMasts){
                     List<String> locNoList = new ArrayList<>();
                     sign = true;
@@ -241,14 +249,20 @@
                             sign=false;
                         }
                     }
+                    ArrayList<String> locArrayList = new ArrayList<>();
+                    for (String locNo : locNoList){
+                        if (!locArrayList.contains(locNo)){
+                            locArrayList.add(locNo);
+                        }
+                    }
                     if (sign) {
                         EmptyPlateOutParam param = new EmptyPlateOutParam();
                         param.setOutSite(staNo);
-                        param.setLocNos(locNoList);
+                        param.setLocNos(locArrayList);
                         try{
                             workService.emptyPlateOut(param, 9999L);
                         }catch (Exception e){
-                            log.error("浜屾ゼ灏忔枡绠辫嚜鍔ㄨˉ绌烘澘澶辫触锛侊紒寮傚父鍘熷洜锛�"+e);
+                            log.error(staNo+"鑷姩琛ョ┖鏉垮け璐ワ紒锛佸紓甯稿師鍥狅細"+e);
                         }
                         return SUCCESS;
                     }

--
Gitblit v1.9.1