From 500f6ce071c0bc14d6720354ce148599ac3f35ee Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 25 十月 2024 15:38:42 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java |   30 ++++++++++++++++++------------
 1 files changed, 18 insertions(+), 12 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 59e06fd..336317f 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
@@ -4,7 +4,6 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zy.acs.common.constant.RedisConstant;
 import com.zy.acs.common.enums.AgvStatusType;
-import com.zy.acs.common.utils.JudgeSupport;
 import com.zy.acs.common.utils.RedisSupport;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.manager.common.domain.BaseParam;
@@ -67,19 +66,19 @@
 
     @Override
     public Boolean judgeEnable(Long agvId) {
-        return this.judgeEnable(agvId, null);
+        return this.judgeEnable(agvId, false);
     }
 
     @Override
-    public Boolean judgeEnable(Long agvId, JudgeSupport<AgvDetail> support) {
+    public Boolean judgeEnable(Long agvId, Boolean withBattery) {
         Agv agv = this.getById(agvId);
         AgvModel agvModel = agvModelService.getById(agv.getAgvModel());
         if (segmentService.count(new LambdaQueryWrapper<Segment>()
-                .eq(Segment::getAgvId, agvId)
-                .and( i -> {
+                        .eq(Segment::getAgvId, agvId)
+                        .and( i -> {
 //                    i.eq(Segment::getState, SegmentStateType.WAITING.toString()).or()
-                    i.eq(Segment::getState, SegmentStateType.RUNNING.toString());
-                })
+                            i.eq(Segment::getState, SegmentStateType.RUNNING.toString());
+                        })
         ) > 0) {
             log.warn("[{}]鍙稟gv姝e湪蹇欑 -segment......", agv.getUuid());
             return false;
@@ -105,17 +104,24 @@
                 return false;
             }
         }
-        if (support != null) {
-            if (!support.execute(agvDetail)) {
-                return false;
-            }
-        }
         if (!agvDetail.getAgvStatus().equals(AgvStatusType.CHARGE)) {
             if (agvDetail.getPos() != 1) {
                 log.warn("[{}]鍙稟gv褰撳墠涓嶅湪瀹氫綅......", agv.getUuid());
                 return false;
             }
         }
+        // with battery
+        if (withBattery) {
+            if (agvDetail.getVol() < agv.getChargeLine()) {
+                log.warn("[{}]鍙稟gv鐢甸噺涓嶈冻......", agv.getUuid());
+                return false;
+            }
+            if (agvDetail.getVol() < agvModel.getLowBattery()) {
+                log.warn("[{}]鍙稟gv鐢甸噺涓嶈冻......", agv.getUuid());
+                return false;
+            }
+        }
+
         return true;
     }
 

--
Gitblit v1.9.1