From fc67e7de548d5fc4ba84a2c09d3e99aad2fc11d7 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 29 四月 2026 20:35:19 +0800
Subject: [PATCH] #堆垛机任务执行优先级修改
---
src/main/java/com/zy/core/utils/DualCrnOperateProcessUtils.java | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/core/utils/DualCrnOperateProcessUtils.java b/src/main/java/com/zy/core/utils/DualCrnOperateProcessUtils.java
index 1d415b0..0ffb9f9 100644
--- a/src/main/java/com/zy/core/utils/DualCrnOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/DualCrnOperateProcessUtils.java
@@ -560,6 +560,10 @@
return null;
}
+ if (isConveyorStationTaskLimitReached()) {
+ return null;
+ }
+
if (station == 1) {
if (dualCrnProtocol.getTaskNo() > 0) {
News.taskInfo(wrkMast.getWrkNo(), "宸ヤ綅1绯荤粺鍐呴儴璁板綍鏈変换鍔�");
@@ -676,6 +680,22 @@
wrkMast.getStaNo(),
currentStationTaskCount,
basStation.getOutTaskLimit());
+ return true;
+ }
+ return false;
+ }
+
+ private boolean isConveyorStationTaskLimitReached() {
+ int conveyorStationTaskLimit = getSystemConfigInt("conveyorStationTaskLimit", 30);
+ if (conveyorStationTaskLimit <= 0) {
+ return false;
+ }
+
+ int currentStationTaskCount = stationOperateProcessUtils.getCurrentStationTaskCount();
+ if (currentStationTaskCount >= conveyorStationTaskLimit) {
+ News.warn("杈撻�佺珯鐐逛换鍔℃暟閲忚揪鍒颁笂闄愶紝宸插仠姝㈠弻宸ヤ綅鍫嗗灈鏈轰换鍔′笅鍙戙�傚綋鍓嶄换鍔℃暟={}锛屼笂闄�={}",
+ currentStationTaskCount,
+ conveyorStationTaskLimit);
return true;
}
return false;
@@ -978,6 +998,22 @@
return getSystemConfigBoolean(CRN_OUT_REQUIRE_STATION_OUT_ENABLE_CONFIG, true);
}
+ private int getSystemConfigInt(String code, int defaultValue) {
+ Object systemConfigMapObj = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key);
+ if (!(systemConfigMapObj instanceof Map)) {
+ return defaultValue;
+ }
+ try {
+ Object value = ((Map<?, ?>) systemConfigMapObj).get(code);
+ if (value == null) {
+ return defaultValue;
+ }
+ return Integer.parseInt(String.valueOf(value).trim());
+ } catch (Exception ignore) {
+ return defaultValue;
+ }
+ }
+
private boolean getSystemConfigBoolean(String code, boolean defaultValue) {
Object systemConfigMapObj = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key);
if (!(systemConfigMapObj instanceof Map)) {
--
Gitblit v1.9.1