From 84e27510eac3b86af8a98d7498eb451b876c5413 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期五, 20 三月 2026 09:11:30 +0800
Subject: [PATCH] 入库口强制入库确认后还会退回一次,才可入库修复
---
src/main/java/com/zy/core/plugin/NormalProcess.java | 33 +++++++++++++++++++++------------
1 files changed, 21 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/core/plugin/NormalProcess.java b/src/main/java/com/zy/core/plugin/NormalProcess.java
index 9dadea4..97f3ccb 100644
--- a/src/main/java/com/zy/core/plugin/NormalProcess.java
+++ b/src/main/java/com/zy/core/plugin/NormalProcess.java
@@ -4,7 +4,6 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
-import com.core.common.SpringUtils;
import com.zy.asrs.domain.param.CreateInTaskParam;
import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.BasDevp;
@@ -163,6 +162,10 @@
Integer stationIdVal = stationProtocol.getStationId();
+ String stationBackKey = RedisKeyType.GENERATE_STATION_BACK_LIMIT.key + barcode + "_" + stationIdVal;
+ if (redisUtil.get(stationBackKey) != null) {
+ continue;
+ }
// 1. 棣栧厛鏌ヨ鏄惁鏈夊凡瀹屾垚鐨勫紓姝ュ搷搴�
String response = wmsOperateUtils.queryAsyncInTaskResponse(barcode, stationIdVal);
@@ -203,6 +206,7 @@
News.taskInfo(wrkMast.getWrkNo(), "鑾峰彇杈撻�佺嚎鍛戒护澶辫触");
continue;
}
+ redisUtil.del(stationBackKey);
stationProtocol.setSystemWarning("");
MessageQueue.offer(SlaveType.Devp, basDevp.getDevpNo(), new Task(2, command));
} else {
@@ -211,12 +215,13 @@
StationCommand command = stationThread.getCommand(StationCommandType.WRITE_INFO,
9991, 1015, 1013, 0);
MessageQueue.offer(SlaveType.Devp, basDevp.getDevpNo(), new Task(2, command));
- // 鎺ュ彛杩斿洖闈�200锛岄噸鏂板彂璧疯姹�
- News.error("WMS鍏ュ簱鎺ュ彛杩斿洖闈�200锛岄噸鏂板彂璧疯姹傦紝barcode={}锛宻tationId={}锛宺esponse={}", barcode,
+ redisUtil.set(stationBackKey, "lock", 15);
+ wmsOperateUtils.clearAsyncInTaskCache(barcode, stationIdVal);
+ // 鎺ュ彛杩斿洖闈�200锛屽厛閫�鍥烇紝绛夊緟涓嬫寰幆閲嶆柊璇锋眰
+ News.error("WMS鍏ュ簱鎺ュ彛杩斿洖闈�200锛屽厛閫�鍥炲悗绛夊緟閲嶈瘯锛宐arcode={}锛宻tationId={}锛宺esponse={}", barcode,
stationIdVal, response);
- wmsOperateUtils.applyInTaskAsync(barcode, stationIdVal,
- stationProtocol.getPalletHeight(),stationProtocol.getWeight());
redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 2);
+ continue;
}
} else {
// 3. 娌℃湁鍝嶅簲缁撴灉锛屾鏌ユ槸鍚︽湁璇锋眰姝e湪杩涜涓�
@@ -305,14 +310,18 @@
}
}
- try {
- WmsOperateUtils wmsOperateUtils = SpringUtils.getBean(WmsOperateUtils.class);
- if (wmsOperateUtils != null) {
- wmsOperateUtils.reportCrnDb110Status(crnProtocol.getCrnNo(), currentIndices);
- }
- } catch (Exception e) {
- log.error("Report Crn Db110 Status Fail", e);
+ if (currentIndices.isEmpty()) {
+ continue;
}
+
+ String reportLockKey = RedisKeyType.REPORT_CRN_DB110_STATUS_LIMIT.key + crnProtocol.getCrnNo();
+ if (redisUtil.get(reportLockKey) != null) {
+ continue;
+ }
+
+ long reportLockSeconds = Math.max(60L, currentIndices.size() * 35L);
+ redisUtil.set(reportLockKey, "lock", reportLockSeconds);
+ wmsOperateUtils.reportCrnDb110StatusAsync(crnProtocol.getCrnNo(), new ArrayList<>(currentIndices));
}
}
--
Gitblit v1.9.1