From 4c9169967a879b54c04b0754ab9830a5a6baa708 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 18 三月 2025 14:30:48 +0800
Subject: [PATCH] #
---
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