From a4f07b2a0ddb6c210e05afbbb491feeb466203e7 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 09 三月 2026 19:15:50 +0800
Subject: [PATCH] #V3重大更新,升级JDK17,升级SpirngBoot3.5.1
---
src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java | 60 +++++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 41 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
index 141dee2..ab54c17 100644
--- a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
@@ -3,7 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.NotifyMsgType;
import com.zy.asrs.domain.param.CreateLocMoveTaskParam;
@@ -54,6 +54,8 @@
private CommonService commonService;
@Autowired
private NotifyUtils notifyUtils;
+ @Autowired
+ private StationOperateProcessUtils stationOperateProcessUtils;
public synchronized void crnIoExecute() {
Object systemConfigMapObj = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key);
@@ -69,7 +71,7 @@
//鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
public synchronized void crnIoExecuteNormal() {
- List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
+ List<BasCrnp> basCrnps = basCrnpService.list(new QueryWrapper<>());
for (BasCrnp basCrnp : basCrnps) {
CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
if(crnThread == null){
@@ -81,9 +83,10 @@
continue;
}
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>()
.eq("crn_no", basCrnp.getCrnNo())
- .in("wrk_sts", WrkStsType.INBOUND_RUN.sts, WrkStsType.OUTBOUND_RUN.sts)
+ .in("wrk_sts", WrkStsType.INBOUND_RUN.sts, WrkStsType.OUTBOUND_RUN.sts, WrkStsType.LOC_MOVE_RUN.sts)
+ .orderBy(true, false, "batch_seq")
);
if(!wrkMasts.isEmpty()){
continue;
@@ -199,12 +202,16 @@
continue;
}
+ if (!wrkMast.getCrnNo().equals(basCrnp.getCrnNo())) {
+ continue;
+ }
+
if(wrkMast.getWrkSts() != WrkStsType.INBOUND_DEVICE_RUN.sts){
continue;
}
// 鑾峰彇搴撲綅淇℃伅
- LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ LocMast locMast = locMastService.getById(wrkMast.getLocNo());
if (locMast == null) {
News.taskInfo(wrkMast.getWrkNo(), "鐩爣搴撲綅:{} 淇℃伅涓嶅瓨鍦�", wrkMast.getLocNo());
continue;
@@ -257,11 +264,27 @@
return false;
}
+ int stationMaxTaskCount = 30;
+ Object systemConfigMapObj = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key);
+ if (systemConfigMapObj != null) {
+ try {
+ HashMap<String, String> systemConfigMap = (HashMap<String, String>) systemConfigMapObj;
+ stationMaxTaskCount = Integer.parseInt(systemConfigMap.getOrDefault("stationMaxTaskCountLimit", "30"));
+ } catch (Exception ignore) {}
+ }
+
+ int currentStationTaskCount = stationOperateProcessUtils.getCurrentStationTaskCount();
+ if (stationMaxTaskCount > 0 && currentStationTaskCount >= stationMaxTaskCount) {
+ News.warn("杈撻�佺珯鐐逛换鍔℃暟閲忚揪鍒颁笂闄愶紝宸插仠姝换鍔′笅鍙戙�傚綋鍓嶄换鍔℃暟={}锛屼笂闄�={}", currentStationTaskCount, stationMaxTaskCount);
+ return false;
+ }
+
Integer crnNo = basCrnp.getCrnNo();
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>()
.eq("crn_no", crnNo)
.eq("wrk_sts", WrkStsType.NEW_OUTBOUND.sts)
+ .orderBy(true, false, "batch_seq")
);
for (WrkMast wrkMast : wrkMasts) {
@@ -295,7 +318,7 @@
}
// 鑾峰彇搴撲綅淇℃伅
- LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+ LocMast locMast = locMastService.getById(wrkMast.getSourceLocNo());
if (locMast == null) {
News.taskInfo(wrkMast.getWrkNo(), "婧愬簱浣�:{} 淇℃伅涓嶅瓨鍦�", wrkMast.getSourceLocNo());
continue;
@@ -389,7 +412,7 @@
}
// 鑾峰彇搴撲綅淇℃伅
- LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ LocMast locMast = locMastService.getById(wrkMast.getLocNo());
if (locMast == null) {
News.taskInfo(wrkMast.getWrkNo(), "鐩爣搴撲綅:{} 淇℃伅涓嶅瓨鍦�", wrkMast.getLocNo());
continue;
@@ -474,7 +497,7 @@
}
// 鑾峰彇搴撲綅淇℃伅
- LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+ LocMast locMast = locMastService.getById(wrkMast.getSourceLocNo());
if (locMast == null) {
News.taskInfo(wrkMast.getWrkNo(), "婧愬簱浣�:{} 淇℃伅涓嶅瓨鍦�", wrkMast.getSourceLocNo());
continue;
@@ -518,14 +541,14 @@
Integer crnNo = basCrnp.getCrnNo();
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>()
.eq("crn_no", crnNo)
.eq("wrk_sts", WrkStsType.NEW_LOC_MOVE.sts)
);
for (WrkMast wrkMast : wrkMasts) {
// 鑾峰彇婧愬簱浣嶄俊鎭�
- LocMast sourceLocMast = locMastService.selectById(wrkMast.getSourceLocNo());
+ LocMast sourceLocMast = locMastService.getById(wrkMast.getSourceLocNo());
if (sourceLocMast == null) {
News.taskInfo(wrkMast.getWrkNo(), "婧愬簱浣�:{} 淇℃伅涓嶅瓨鍦�", wrkMast.getSourceLocNo());
continue;
@@ -537,7 +560,7 @@
}
// 鑾峰彇搴撲綅淇℃伅
- LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ LocMast locMast = locMastService.getById(wrkMast.getLocNo());
if (locMast == null) {
News.taskInfo(wrkMast.getWrkNo(), "搴撲綅:{} 淇℃伅涓嶅瓨鍦�", wrkMast.getLocNo());
continue;
@@ -566,7 +589,7 @@
//鍫嗗灈鏈轰换鍔℃墽琛屽畬鎴�
public synchronized void crnIoExecuteFinish() {
- List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
+ List<BasCrnp> basCrnps = basCrnpService.list(new QueryWrapper<>());
for (BasCrnp basCrnp : basCrnps) {
CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
if(crnThread == null){
@@ -640,7 +663,7 @@
public synchronized void plannerExecute() {
int nowSec = (int) (System.currentTimeMillis() / 1000);
- List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
+ List<BasCrnp> basCrnps = basCrnpService.list(new QueryWrapper<>());
for (BasCrnp basCrnp : basCrnps) {
String key = RedisKeyType.PLANNER_SCHEDULE.key + "CRN-" + basCrnp.getCrnNo();
List<Object> items = redisUtil.lGet(key, 0, -1);
@@ -656,7 +679,7 @@
if (crnProtocol == null) {
continue;
}
- List<WrkMast> running = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ List<WrkMast> running = wrkMastService.list(new QueryWrapper<WrkMast>()
.eq("crn_no", basCrnp.getCrnNo())
.in("wrk_sts", WrkStsType.INBOUND_RUN.sts, WrkStsType.OUTBOUND_RUN.sts, WrkStsType.LOC_MOVE_RUN.sts)
);
@@ -748,7 +771,7 @@
}
// 鑾峰彇婧愬簱浣嶄俊鎭�
- LocMast sourceLocMast = locMastService.selectById(wrkMast.getSourceLocNo());
+ LocMast sourceLocMast = locMastService.getById(wrkMast.getSourceLocNo());
if (sourceLocMast == null) {
News.taskInfo(wrkMast.getWrkNo(), "婧愬簱浣�:{} 淇℃伅涓嶅瓨鍦�", wrkMast.getSourceLocNo());
return false;
@@ -760,7 +783,7 @@
}
// 鑾峰彇搴撲綅淇℃伅
- LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ LocMast locMast = locMastService.getById(wrkMast.getLocNo());
if (locMast == null) {
News.taskInfo(wrkMast.getWrkNo(), "搴撲綅:{} 淇℃伅涓嶅瓨鍦�", wrkMast.getLocNo());
return false;
@@ -813,8 +836,7 @@
String shallowLocNo = Utils.getLocNo(shallowRow, Utils.getBay(locNo), Utils.getLev(locNo));
LocMast shallowLocMast = locMastService.queryByLoc(shallowLocNo);
if (shallowLocMast == null) {
- News.taskInfo(taskNo, "娴呭簱浣�:{} 鏁版嵁涓嶅瓨鍦�", shallowLocNo);
- return false;
+ return true;
}
if (shallowLocMast.getLocSts().equals("O")) {
--
Gitblit v1.9.1