From fd0dc8eec755272d9b5adfd58369195db55173c4 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 25 六月 2025 10:36:12 +0800
Subject: [PATCH] 1

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 52 insertions(+), 2 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 5b6a942..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
@@ -4,9 +4,13 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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;
 
@@ -15,6 +19,15 @@
 
     @Autowired
     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) {
@@ -23,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
@@ -33,13 +45,51 @@
     }
 
     @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
     public Boolean removeByAgvId(Long agvId) {
         return baseMapper.delete(new LambdaQueryWrapper<AgvDetail>().eq(AgvDetail::getAgvId, agvId)) > 0;
     }
 
+    @Override
+    public Boolean isPowerLoss(Agv agv, AgvDetail agvDetail, AgvModel agvModel) {
+        if (null == agvDetail) {
+            agvDetail = this.selectMajorByAgvId(agv.getId());
+        }
+        if (null == agvModel) {
+            agvModel = agvModelService.getByAgvId(agv.getId());
+        }
+        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