From 80f5003a640db7795d69c5e3a73caa685c289b80 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期三, 14 一月 2026 16:27:38 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java
index 9f155e7..fedc29c 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java
@@ -120,7 +120,7 @@
     }
 
     @Override
-    public Agv modify(Agv agv, Long userId) {
+    public synchronized Agv modify(Agv agv, Long userId) {
         if (agv == null || agv.getId() == null) {
             throw new CoolException("Update Fail");
         }
@@ -139,6 +139,9 @@
         Agv oldAgv = this.getById(agv.getId());
         String oldAgvNo = oldAgv.getUuid();
 
+        AgvModelServiceImpl.AGV_ID_MODEL_CACHE.remove(agv.getId());
+        AgvModelServiceImpl.AGV_NO_MODEL_CACHE.remove(oldAgvNo);
+
         agv.setUpdateBy(userId);
         agv.setUpdateTime(now);
         if (!this.updateById(agv)) {
@@ -156,6 +159,10 @@
             AGV_NO_MAP.remove(newAgv.getId());
             AGV_NO_MAP.put(newAgv.getId(), newAgvNo);
         }
+
+//        AgvModel agvModel = agvModelService.getById(agv.getAgvModel());
+//        AgvModelServiceImpl.AGV_ID_MODEL_CACHE.put(agv.getId(), agvModel);
+//        AgvModelServiceImpl.AGV_NO_MODEL_CACHE.put(newAgvNo, agvModel);
 
         return newAgv;
     }
@@ -206,7 +213,7 @@
             log.warn("[{}]鍙稟gv鏈敹鍒扮姸鎬佸寘......", agvNo);
             return false;
         }
-        if (agvDetail.getVol() == 0) {
+        if (null == agvDetail.getSoc() || agvDetail.getSoc() == 0) {
             return false;
         }
         if (!agvDetail.getAgvStatus().equals(AgvStatusType.IDLE) && !agvDetail.getAgvStatus().equals(AgvStatusType.CHARGE)) {
@@ -214,7 +221,7 @@
             return false;
         }
         if (agvDetail.getAgvStatus().equals(AgvStatusType.CHARGE)) {
-            if (agvDetail.getVol() < agvModel.getQuaBattery()) {
+            if (agvDetail.getSoc() < agvModel.getQuaBattery()) {
                 return false;
             }
         }
@@ -266,11 +273,14 @@
     }
 
     @Override
-    public Integer getBackpack(Agv agv) {
+    public Integer getBackpack(Long agvId) {
+        if (null == agvId) {
+            return 0;
+        }
 //        if (null != agv.getStage()) {
 //            return agv.getStage();
 //        }
-        AgvModel agvModel = agvModelService.getByAgvId(agv.getId());
+        AgvModel agvModel = agvModelService.getByAgvId(agvId);
         assert null != agvModel;
         return agvModel.getBackpack();
     }

--
Gitblit v1.9.1