From 68214b4b6d8b04a84f23410e77afa02b63428a32 Mon Sep 17 00:00:00 2001 From: vincentlu <t1341870251@gmail.com> Date: 星期一, 20 一月 2025 16:30:39 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java | 27 +++++++++++++++++++++------ 1 files changed, 21 insertions(+), 6 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java index 2fbdeb4..6b0b89c 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java @@ -2,7 +2,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.acs.common.utils.GsonUtils; +import com.zy.acs.framework.common.Cools; +import com.zy.acs.manager.core.cache.CoreCache; import com.zy.acs.manager.core.domain.BackpackDto; +import com.zy.acs.manager.core.domain.CodeStepDto; import com.zy.acs.manager.core.domain.MapWsAgvVo; import com.zy.acs.manager.core.domain.MapWsVo; import com.zy.acs.manager.core.service.MapService; @@ -28,14 +31,11 @@ import java.util.concurrent.Executors; import java.util.stream.Collectors; -/** - * Created by vincent on 10/14/2024 - */ @Slf4j @Component public class MapDataWsScheduler { - public static final int WEBSOCKET_BROADCAST_INTERVAL = 200; + public static final int WEBSOCKET_BROADCAST_INTERVAL = 300; private ExecutorService singleThreadExecutor; @@ -79,12 +79,12 @@ , agvList.stream().map(Agv::getUuid).collect(Collectors.toSet())); for (Agv agv : agvList) { - AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId()); AgvModel agvModel = agvModelService.getByAgvId(agv.getId()); + AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId()); if (null == agvDetail) { continue; } Long recentCode = agvDetail.getRecentCode(); if (null == recentCode) { continue; } - Code code = codeService.getById(recentCode); + Code code = codeService.getCacheById(recentCode); if (null == code) { continue; } MapWsAgvVo vo = new MapWsAgvVo(); @@ -94,6 +94,7 @@ vo.setDirection(agvDetail.getAgvAngle()); vo.setBackpack(GsonUtils.fromJsonToList(agvDetail.getBackpack(), BackpackDto.class)); vo.setBattery(agvDetail.getSoc()); + vo.setJobType(this.getJobType(agv.getId(), code.getData())); vo.setError(agvDetail.realError()); vo.setDynamicRoute(codeDataListMap.get(agv.getUuid())); @@ -104,6 +105,20 @@ return agvVos; } + private String getJobType(Long agvId, String currCodeData) { + if (null == agvId || Cools.isEmpty(currCodeData)) { + return null; + } + CodeStepDto codeStepDto = CoreCache.AGV_MOCK_STEP_CACHE.get(agvId); + if (null == codeStepDto) { + return null; + } + if (!codeStepDto.getCodeData().equals(currCodeData)) { + return null; + } + return codeStepDto.getJobType().toString(); + } + @PreDestroy public void destroy() { this.singleThreadExecutor.shutdownNow(); -- Gitblit v1.9.1