From 41ace7c0738ba39750b2809d5077dd0d7640ced8 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 07 四月 2026 10:03:34 +0800
Subject: [PATCH] #入库条码站异常信号点
---
src/main/java/com/zy/core/plugin/GslProcess.java | 84 ++++++++++++++++++++++++------------------
1 files changed, 48 insertions(+), 36 deletions(-)
diff --git a/src/main/java/com/zy/core/plugin/GslProcess.java b/src/main/java/com/zy/core/plugin/GslProcess.java
index ba7b541..f079fc9 100644
--- a/src/main/java/com/zy/core/plugin/GslProcess.java
+++ b/src/main/java/com/zy/core/plugin/GslProcess.java
@@ -77,44 +77,12 @@
stationOperateProcessUtils.submitCheckTaskToCompleteTasks(DISPATCH_INTERVAL_MS);
// 妫�娴嬪苟澶勭悊鍑哄簱鎺掑簭
stationOperateProcessUtils.submitCheckStationOutOrderTasks(MAINTENANCE_INTERVAL_MS);
- // 鐩戞帶杈撻�佺嚎缁曞湀绔欑偣
- stationOperateProcessUtils.submitWatchCircleStationTasks(MAINTENANCE_INTERVAL_MS);
+// // 鐩戞帶杈撻�佺嚎缁曞湀绔欑偣
+// stationOperateProcessUtils.submitWatchCircleStationTasks(MAINTENANCE_INTERVAL_MS);
// 妫�娴嬭緭閫佺嚎杩愯鍫靛
stationOperateProcessUtils.submitCheckStationRunBlockTasks(MAINTENANCE_INTERVAL_MS);
- // 妫�娴嬬珯鍙扮┖闂茶秴鏃跺悗鐨勬仮澶嶅鐞�
- stationOperateProcessUtils.submitCheckStationIdleRecoverTasks(MAINTENANCE_INTERVAL_MS);
- }
-
- @Override
- public boolean matchCandidate(StoreInTaskContext context) {
- return canRequestStoreIn(context.getStationProtocol());
- }
-
- @Override
- public boolean beforeApply(StoreInTaskContext context) {
- StationProtocol stationProtocol = context.getStationProtocol();
- if (stationProtocol.getError() <= 0) {
- return true;
- }
-
- Object lock = redisUtil.get(RedisKeyType.GENERATE_STATION_BACK_LIMIT.key + stationProtocol.getStationId());
- if (lock != null) {
- return false;
- }
-
- StationObjModel backStation = context.getStationObjModel().getBackStation();
- StationCommand command = context.getStationThread().getCommand(StationCommandType.MOVE,
- commonService.getWorkNo(WrkIoType.STATION_BACK.id),
- context.getStationObjModel().getStationId(),
- backStation.getStationId(), 0);
- if (command == null) {
- News.taskInfo(stationProtocol.getTaskNo(), "{}宸ヤ綔,鑾峰彇杈撻�佺嚎鍛戒护澶辫触", stationProtocol.getTaskNo());
- return false;
- }
- stationCommandDispatcher.dispatch(context.getBasDevp().getDevpNo(), command, "gsl-process", "station-back");
- News.taskInfo(stationProtocol.getTaskNo(), "{}鎵爜寮傚父锛屽凡閫�鍥炶嚦{}", backStation.getStationId());
- redisUtil.set(RedisKeyType.GENERATE_STATION_BACK_LIMIT.key + stationProtocol.getStationId(), "lock", 10);
- return true;
+// // 妫�娴嬬珯鍙扮┖闂茶秴鏃跺悗鐨勬仮澶嶅鐞�
+// stationOperateProcessUtils.submitCheckStationIdleRecoverTasks(MAINTENANCE_INTERVAL_MS);
}
@Override
@@ -192,6 +160,9 @@
if (!stationMap.containsKey(stationId)) {
continue;
}
+ if (!handleErrorStationBack(basDevp, stationThread, stationObjModel, stationMap.get(stationId))) {
+ continue;
+ }
if (!canRequestStoreIn(stationMap.get(stationId))) {
continue;
}
@@ -203,6 +174,7 @@
private boolean canRequestStoreIn(StationProtocol stationProtocol) {
return stationProtocol != null
+ && stationProtocol.getError() <= 0
&& stationProtocol.isAutoing()
&& stationProtocol.isLoading()
&& stationProtocol.isInEnable()
@@ -210,4 +182,44 @@
&& !Cools.isEmpty(stationProtocol.getBarcode());
}
+ private boolean handleErrorStationBack(BasDevp basDevp,
+ StationThread stationThread,
+ StationObjModel stationObjModel,
+ StationProtocol stationProtocol) {
+ if (!stationProtocol.isAutoing()) {
+ return false;
+ }
+
+ if (!stationProtocol.isLoading()) {
+ return false;
+ }
+
+ if (stationProtocol.getError() <= 0) {
+ return true;//绔欑偣鏃犳晠闅�
+ }
+
+ if (!stationProtocol.isInBarcodeError()) {
+ return true;//绔欑偣鏃犲紓甯�
+ }
+
+ Object lock = redisUtil.get(RedisKeyType.GENERATE_STATION_BACK_LIMIT.key + stationProtocol.getStationId());
+ if (lock != null) {
+ return false;
+ }
+
+ StationObjModel backStation = stationObjModel.getBackStation();
+ StationCommand command = stationThread.getCommand(StationCommandType.MOVE,
+ commonService.getWorkNo(WrkIoType.STATION_BACK.id),
+ stationObjModel.getStationId(),
+ backStation.getStationId(), 0);
+ if (command == null) {
+ News.taskInfo(stationProtocol.getTaskNo(), "{}宸ヤ綔,鑾峰彇杈撻�佺嚎鍛戒护澶辫触", stationProtocol.getTaskNo());
+ return false;
+ }
+ stationCommandDispatcher.dispatch(basDevp.getDevpNo(), command, "gsl-process", "station-back");
+ News.taskInfo(stationProtocol.getTaskNo(), "{}鎵爜寮傚父锛屽凡閫�鍥炶嚦{}", backStation.getStationId());
+ redisUtil.set(RedisKeyType.GENERATE_STATION_BACK_LIMIT.key + stationProtocol.getStationId(), "lock", 10);
+ return false;
+ }
+
}
--
Gitblit v1.9.1