From ebd2f4397a92c6a5096de1b86d59154363344720 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 13 五月 2025 08:48:15 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java |   45 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 40 insertions(+), 5 deletions(-)

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 279d972..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
@@ -5,10 +5,12 @@
 import com.zy.acs.manager.manager.entity.Agv;
 import com.zy.acs.manager.manager.entity.AgvDetail;
 import com.zy.acs.manager.manager.entity.AgvModel;
+import com.zy.acs.manager.manager.entity.Code;
 import com.zy.acs.manager.manager.mapper.AgvDetailMapper;
 import com.zy.acs.manager.manager.service.AgvDetailService;
 import com.zy.acs.manager.manager.service.AgvModelService;
 import com.zy.acs.manager.manager.service.AgvService;
+import com.zy.acs.manager.manager.service.CodeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -19,6 +21,13 @@
     private AgvService agvService;
     @Autowired
     private AgvModelService agvModelService;
+    @Autowired
+    private CodeService codeService;
+
+    @Override
+    public AgvDetail selectMajorByAgvId(Long agvId) {
+        return this.baseMapper.selectMajorByAgvId(agvId);
+    }
 
     @Override
     public AgvDetail selectByAgvId(Long agvId) {
@@ -27,8 +36,7 @@
 
     @Override
     public AgvDetail selectByAgvNo(String agvNo) {
-        Agv agv = agvService.selectByUuid(agvNo);
-        return this.selectByAgvId(agv.getId());
+        return this.selectByAgvId(agvService.getAgvId(agvNo));
     }
 
     @Override
@@ -37,8 +45,18 @@
     }
 
     @Override
+    public Boolean updatePosCodeByAgvId(Long agvId, Long codeId) {
+        return this.baseMapper.updatePosCodeByAgvId(agvId, codeId) > 0;
+    }
+
+    @Override
     public Boolean updateUnPosCode(Long id, Long codeId) {
         return this.baseMapper.updateUnPosCode(id, codeId) > 0;
+    }
+
+    @Override
+    public Boolean updateAngleByAgvId(Long agvId, Double angle) {
+        return this.baseMapper.updateAngleByAgvId(agvId, angle);
     }
 
     @Override
@@ -49,12 +67,29 @@
     @Override
     public Boolean isPowerLoss(Agv agv, AgvDetail agvDetail, AgvModel agvModel) {
         if (null == agvDetail) {
-            agvDetail = this.selectByAgvId(agv.getId());
+            agvDetail = this.selectMajorByAgvId(agv.getId());
         }
         if (null == agvModel) {
-            agvModel = agvModelService.getById(agv.getAgvModel());
+            agvModel = agvModelService.getByAgvId(agv.getId());
         }
-        return agvDetail.getVol() < agv.getChargeLine() || agvDetail.getVol() < agvModel.getLowBattery();
+        if (null == agv.getChargeLine()) {
+            return agvDetail.getVol() < agvModel.getLowBattery();
+        } else {
+            return agvDetail.getVol() < Math.max(agv.getChargeLine(), agvModel.getLowBattery());
+        }
+    }
+
+    @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.getCacheById(recentCode);
     }
 
 }

--
Gitblit v1.9.1