From eeca5bc061d3f74e76658a5ae339fa9e5eff0d57 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 06 四月 2026 20:37:30 +0800
Subject: [PATCH] #出库站点命令下发
---
src/main/java/com/zy/core/plugin/FakeProcess.java | 38 ++++++++++++++++++++++++++------------
1 files changed, 26 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/core/plugin/FakeProcess.java b/src/main/java/com/zy/core/plugin/FakeProcess.java
index 962bacd..9ca01d3 100644
--- a/src/main/java/com/zy/core/plugin/FakeProcess.java
+++ b/src/main/java/com/zy/core/plugin/FakeProcess.java
@@ -1,7 +1,6 @@
package com.zy.core.plugin;
import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.core.common.Cools;
import com.zy.asrs.domain.param.CreateInTaskParam;
@@ -111,6 +110,10 @@
stationOperateProcessUtils.submitInboundStationArrivalTasks(MAIN_DISPATCH_INTERVAL_MS);
// 杈撻�佺嚎鎵ц鍫嗗灈鏈哄嚭搴撳悗鐨勭珯鍙版祦杞�
stationOperateProcessUtils.submitCrnStationOutTasks(MainProcessLane.FAKE_STATION_OUT, MAIN_DISPATCH_INTERVAL_MS);
+ // 妫�娴嬪嚭搴撲换鍔℃槸鍚﹀凡缁忓埌杈剧洰鏍囩珯鍙�
+ stationOperateProcessUtils.submitStationOutExecuteFinishTasks(MAIN_DISPATCH_INTERVAL_MS);
+ // 妫�娴嬬珯鍙拌繍琛屽畬鎴愬悗鐨勪换鍔¤浆瀹屾垚
+ stationOperateProcessUtils.submitCheckTaskToCompleteTasks(MAIN_DISPATCH_INTERVAL_MS);
// 妫�娴嬪苟澶勭悊鍑哄簱鎺掑簭
stationOperateProcessUtils.submitCheckStationOutOrderTasks(MainProcessLane.FAKE_STATION_OUT_ORDER, MAIN_DISPATCH_INTERVAL_MS);
// 鐩戞帶杈撻�佺嚎缁曞湀绔欑偣
@@ -187,10 +190,23 @@
private void submitGenerateStoreTasks() {
List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<>());
for (BasDevp basDevp : basDevps) {
+ StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
+ if (stationThread == null) {
+ continue;
+ }
+
+ Map<Integer, StationProtocol> stationMap = stationThread.getStatusMap();
+ if (stationMap == null || stationMap.isEmpty()) {
+ continue;
+ }
+
List<StationObjModel> barcodeStations = getBarcodeStations(basDevp);
for (StationObjModel stationObjModel : barcodeStations) {
Integer stationId = stationObjModel == null ? null : stationObjModel.getStationId();
- if (stationId == null) {
+ if (stationId == null || !stationMap.containsKey(stationId)) {
+ continue;
+ }
+ if (!canRequestStoreIn(stationMap.get(stationId))) {
continue;
}
storeInTaskGenerationService.submitGenerateStoreTask(
@@ -434,15 +450,6 @@
}
@Override
- public boolean matchCandidate(StoreInTaskContext context) {
- StationProtocol stationProtocol = context.getStationProtocol();
- return stationProtocol.isAutoing()
- && stationProtocol.isLoading()
- && stationProtocol.getTaskNo() > 0
- && !Cools.isEmpty(stationProtocol.getBarcode());
- }
-
- @Override
public void onRequestPermitGranted(StoreInTaskContext context) {
redisUtil.set(getGenerateLockKey(context), "lock", 3);
}
@@ -457,6 +464,14 @@
return;
}
stationCommandDispatcher.dispatch(context.getBasDevp().getDevpNo(), command, "fake-process", "write-info");
+ }
+
+ private boolean canRequestStoreIn(StationProtocol stationProtocol) {
+ return stationProtocol != null
+ && stationProtocol.isAutoing()
+ && stationProtocol.isLoading()
+ && stationProtocol.getTaskNo() > 0
+ && !Cools.isEmpty(stationProtocol.getBarcode());
}
// 璁$畻鎵�鏈夌珯鐐瑰仠鐣欐椂闂�
@@ -705,7 +720,6 @@
StationCommand command = stationThread.getCommand(StationCommandType.WRITE_INFO, 9998,
wrkMast.getSourceStaNo(), 0, 0);
stationCommandDispatcher.dispatch(stationObjModel.getDeviceNo(), command, "fake-process", "crn-out-complete-write-info");
- redisUtil.set(RedisKeyType.CRN_OUT_TASK_COMPLETE_STATION_INFO.key + wrkMast.getWrkNo(), JSON.toJSONString(stationObjModel, SerializerFeature.DisableCircularReferenceDetect), 60 * 60 * 24);
}
} else if (wrkMast.getWrkSts() == WrkStsType.LOC_MOVE_RUN.sts) {
updateWrkSts = WrkStsType.COMPLETE_LOC_MOVE.sts;
--
Gitblit v1.9.1