From d5c06a9e5bc44564cc1d31cb82ec29640c4f2cbb Mon Sep 17 00:00:00 2001 From: vincentlu <t1341870251@gmail.com> Date: 星期二, 21 一月 2025 14:25:01 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java | 26 ++++++++++++++++++++++---- 1 files changed, 22 insertions(+), 4 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 6b0b89c..56015c9 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 @@ -1,5 +1,6 @@ package com.zy.acs.manager.core.scheduler; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.acs.common.utils.GsonUtils; import com.zy.acs.framework.common.Cools; @@ -8,6 +9,7 @@ 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.domain.type.JobType; import com.zy.acs.manager.core.service.MapService; import com.zy.acs.manager.manager.entity.Agv; import com.zy.acs.manager.manager.entity.AgvDetail; @@ -87,14 +89,16 @@ Code code = codeService.getCacheById(recentCode); if (null == code) { continue; } + JobType jobType = this.getJobType(agv.getId(), code.getData()); + MapWsAgvVo vo = new MapWsAgvVo(); vo.setAgvModel(agvModel.getType()); vo.setAgvNo(agv.getUuid()); vo.setCode(code.getData()); vo.setDirection(agvDetail.getAgvAngle()); - vo.setBackpack(GsonUtils.fromJsonToList(agvDetail.getBackpack(), BackpackDto.class)); + vo.setBackpack(this.getBackpack(agv.getId(), agvDetail.getBackpack())); vo.setBattery(agvDetail.getSoc()); - vo.setJobType(this.getJobType(agv.getId(), code.getData())); + vo.setJobType(null == jobType ? null : jobType.breif); vo.setError(agvDetail.realError()); vo.setDynamicRoute(codeDataListMap.get(agv.getUuid())); @@ -105,7 +109,7 @@ return agvVos; } - private String getJobType(Long agvId, String currCodeData) { + private JobType getJobType(Long agvId, String currCodeData) { if (null == agvId || Cools.isEmpty(currCodeData)) { return null; } @@ -116,7 +120,7 @@ if (!codeStepDto.getCodeData().equals(currCodeData)) { return null; } - return codeStepDto.getJobType().toString(); + return codeStepDto.getJobType(); } @PreDestroy @@ -124,4 +128,18 @@ this.singleThreadExecutor.shutdownNow(); } + private Integer getBackpack(Long agvId, String backpackJson) { + if (null == agvId || Cools.isEmpty(backpackJson)) { + return null; + } + List<BackpackDto> backpackDtoList = JSON.parseArray(backpackJson, BackpackDto.class); + int jsonCount = (int) backpackDtoList.stream().filter(BackpackDto::getLoaded).count(); + + Integer cacheCount = CoreCache.AGV_BACKPACK_USED_CACHE.get(agvId); + if (null == cacheCount) { + return jsonCount; + } + return Math.max(jsonCount, cacheCount); + } + } -- Gitblit v1.9.1