From cf074430480e44eba1e6ddce09ccce9f28067120 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期三, 17 九月 2025 08:56:24 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java | 47 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 44 insertions(+), 3 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 b928487..bf0bab6 100644
--- a/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/BareBoardHandler.java
@@ -12,6 +12,7 @@
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.CodeDetectionUtil;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
@@ -94,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("妫�绱㈡簮绔欏け璐�");
@@ -160,6 +166,8 @@
return null;
}
ArrayList<Integer> crns =new ArrayList<>();
+ ArrayList<Integer> crnList =new ArrayList<>();
+ int[] crnCount = new int[7];
crns.add(1);
crns.add(2);
crns.add(3);
@@ -169,12 +177,39 @@
crns.add(7);
boolean sign = true;
for (Integer crnNo : crns){
+ int crnCountD = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("crn_no", crnNo));
+ crnCount[crnNo-1] = crnCountD;
+ }
+ 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)-3)[0]+3);
+ crnList.add(CodeDetectionUtil.crnCodeDetectionMax(new int[]{crnCount[5],crnCount[6]})[0]+6);
+ crnList.add(1);
+ crnList.add(2);
+ crnList.add(3);
+ crnList.add(4);
+ crnList.add(5);
+ crnList.add(6);
+ crnList.add(7);
+ for (Integer crnNo : crnList){
+ // 妫�娴嬭矾寰�
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", 110)
+ .eq("stn_no", staNo)
+ .eq("crn_no", crnNo);
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)){
+ continue;
+ }
BasCrnp basCrnp = basCrnpService.selectById(crnNo);
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;
@@ -214,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