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/domain/MapWsAgvVo.java                    |    2 ++
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java         |   23 +++++++++++++++++++----
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java |    5 ++++-
 3 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/MapWsAgvVo.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/MapWsAgvVo.java
index ddba884..c841bdf 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/MapWsAgvVo.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/MapWsAgvVo.java
@@ -25,6 +25,8 @@
 
     private Integer battery;
 
+    private String jobType;
+
     private String error;
 
 //    public int getBackpackLoadedCount() {
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 860ee60..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,9 +31,6 @@
 import java.util.concurrent.Executors;
 import java.util.stream.Collectors;
 
-/**
- * Created by vincent on 10/14/2024
- */
 @Slf4j
 @Component
 public class MapDataWsScheduler {
@@ -79,8 +79,8 @@
                 , 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; }
@@ -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();
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java
index dce8c0c..e432eec 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java
@@ -82,11 +82,14 @@
     @Override
     public Code getCurrentCode(Long agvId) {
         AgvDetail agvDetail = this.selectMajorByAgvId(agvId);
+        if (null == agvDetail) {
+            return null;
+        }
         Long recentCode = agvDetail.getRecentCode();
         if (null == recentCode) {
             return null;
         }
-        return codeService.getById(recentCode);
+        return codeService.getCacheById(recentCode);
     }
 
 }

--
Gitblit v1.9.1