From fd82105a3dfe347c4c9acb0410c117d8d67c9339 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 18 三月 2026 10:40:16 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java | 34 ++++++++++++++++++++++++++--------
1 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java b/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java
index 20292ed..8f63434 100644
--- a/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.java
+++ b/src/main/java/com/zy/core/thread/impl/ZyStationV4Thread.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.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
@@ -30,6 +30,7 @@
import com.zy.core.network.DeviceConnectPool;
import com.zy.core.network.ZyStationConnectDriver;
import com.zy.core.network.entity.ZyStationStatusEntity;
+import com.zy.core.utils.DeviceLogRedisKeyBuilder;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -47,6 +48,7 @@
private RedisUtil redisUtil;
private ZyStationConnectDriver zyStationConnectDriver;
private int deviceLogCollectTime = 200;
+ private boolean initStatus = false;
private long deviceDataLogTime = System.currentTimeMillis();
private ExecutorService executor = Executors.newFixedThreadPool(9999);
@@ -64,14 +66,16 @@
Thread readThread = new Thread(() -> {
while (true) {
try {
- deviceLogCollectTime = Utils.getDeviceLogCollectTime();
+ if (initStatus) {
+ deviceLogCollectTime = Utils.getDeviceLogCollectTime();
+ }
readStatus();
Thread.sleep(100);
} catch (Exception e) {
log.error("StationV4Thread Fail", e);
}
}
- });
+ }, "DevpRead-" + deviceConfig.getDeviceNo());
readThread.start();
Thread processThread = new Thread(() -> {
@@ -91,7 +95,7 @@
log.error("StationV4Process Fail", e);
}
}
- });
+ }, "DevpProcess-" + deviceConfig.getDeviceNo());
processThread.start();
}
@@ -111,7 +115,7 @@
}
BasDevp basDevp = basDevpService
- .selectOne(new EntityWrapper<BasDevp>().eq("devp_no", deviceConfig.getDeviceNo()));
+ .getOne(new QueryWrapper<BasDevp>().eq("devp_no", deviceConfig.getDeviceNo()));
if (basDevp == null) {
return;
}
@@ -122,6 +126,7 @@
stationProtocol.setStationId(entity.getStationId());
statusList.add(stationProtocol);
}
+ initStatus = true;
}
List<ZyStationStatusEntity> zyStationStatusEntities = zyStationConnectDriver.getStatus();
@@ -143,6 +148,7 @@
stationProtocol.setRunBlock(statusEntity.isRunBlock());
stationProtocol.setEnableIn(statusEntity.isEnableIn());
stationProtocol.setWeight(statusEntity.getWeight());
+ stationProtocol.setTaskWriteIdx(statusEntity.getTaskWriteIdx());
}
if (!Cools.isEmpty(stationProtocol.getSystemWarning())) {
@@ -165,7 +171,7 @@
deviceDataLog.setDeviceNo(deviceConfig.getDeviceNo());
deviceDataLog.setCreateTime(new Date());
- redisUtil.set(RedisKeyType.DEVICE_LOG_KEY.key + System.currentTimeMillis(), deviceDataLog, 60 * 60 * 24);
+ redisUtil.set(DeviceLogRedisKeyBuilder.build(deviceDataLog), deviceDataLog, 60 * 60 * 24);
deviceDataLogTime = System.currentTimeMillis();
}
}
@@ -272,7 +278,7 @@
JSON.toJSONString(commandResponse)
);
if (optService != null) {
- optService.insert(basStationOpt);
+ optService.save(basStationOpt);
}
}
return commandResponse;
@@ -301,6 +307,18 @@
List<Integer> path = JSON.parseArray(JSON.toJSONString(original.getNavigatePath(), SerializerFeature.DisableCircularReferenceDetect), Integer.class);
List<Integer> liftTransferPath = JSON.parseArray(JSON.toJSONString(original.getLiftTransferPath(), SerializerFeature.DisableCircularReferenceDetect), Integer.class);
if (path == null || path.isEmpty()) {
+ // 鍚岀珯鐐逛换鍔′笉浼氱敓鎴愯矾寰勶紝浣嗕粛闇�涓嬪彂鍛戒护鍐欏叆浠诲姟鏁版嵁
+ if (Objects.equals(original.getStationId(), original.getTargetStaNo())) {
+ while (true) {
+ CommandResponse commandResponse = sendCommand(original);
+ if (commandResponse != null && commandResponse.getResult()) {
+ break;
+ }
+ try {
+ Thread.sleep(200);
+ } catch (Exception ignore) {}
+ }
+ }
return;
}
@@ -440,7 +458,7 @@
if (deviceConfigService == null) {
return null;
}
- List<DeviceConfig> devpList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ List<DeviceConfig> devpList = deviceConfigService.list(new QueryWrapper<DeviceConfig>()
.eq("device_type", String.valueOf(SlaveType.Devp)));
for (DeviceConfig dc : devpList) {
com.zy.core.thread.StationThread t = (com.zy.core.thread.StationThread) SlaveConnection.get(SlaveType.Devp, dc.getDeviceNo());
--
Gitblit v1.9.1