From 10f91cf8cc7f5ebe1cb4d9f06bd9cf4693277dc6 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 21 十一月 2024 09:17:45 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java |   36 +++++++++++++++++++++++-------------
 1 files changed, 23 insertions(+), 13 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 844be39..545cfc7 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
@@ -13,7 +13,6 @@
 import com.zy.acs.manager.manager.controller.result.AgvResult;
 import com.zy.acs.manager.manager.entity.*;
 import com.zy.acs.manager.manager.enums.SegmentStateType;
-import com.zy.acs.manager.manager.enums.StatusType;
 import com.zy.acs.manager.manager.mapper.AgvMapper;
 import com.zy.acs.manager.manager.service.*;
 import com.zy.acs.manager.system.service.ConfigService;
@@ -46,6 +45,8 @@
     private CodeService codeService;
     @Autowired
     private SegmentService segmentService;
+    @Autowired
+    private TaskService taskService;
 
     @Override
     public PageResult<AgvResult> pageRel(PageParam<Agv, BaseParam> pageParam) {
@@ -74,16 +75,24 @@
     public Boolean judgeEnable(Long agvId, Boolean withBattery) {
         Agv agv = this.getById(agvId);
         AgvModel agvModel = agvModelService.getById(agv.getAgvModel());
-        if (segmentService.count(new LambdaQueryWrapper<Segment>()
+        if (0 < segmentService.count(new LambdaQueryWrapper<Segment>()
                         .eq(Segment::getAgvId, agvId)
                         .and( i -> {
 //                    i.eq(Segment::getState, SegmentStateType.WAITING.toString()).or()
                             i.eq(Segment::getState, SegmentStateType.RUNNING.toString());
                         })
-        ) > 0) {
-            log.warn("[{}]鍙稟gv姝e湪蹇欑 -segment......", agv.getUuid());
+        )) {
+            log.warn("[{}]鍙稟gv姝e湪蹇欑 - segment......", agv.getUuid());
             return false;
         }
+//        if (0 < taskService.count(new LambdaQueryWrapper<Task>()
+//                .eq(Task::getAgvId, agvId)
+//                .eq(Task::getTaskType, TaskTypeType.TO_CHARGE.val())
+//                .in(Task::getTaskSts, TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val())
+//        )){
+//            log.warn("[{}]鍙稟gv姝e湪鍘诲厖鐢� - task......", agv.getUuid());
+//            return false;
+//        }
         if (!this.judgeOnline(agv.getId())) {
             log.warn("[{}]鍙稟gv涓嶆槸鍦ㄧ嚎鐘舵��......", agv.getUuid());
             return false;
@@ -113,11 +122,7 @@
         }
         // with battery
         if (withBattery) {
-            if (agvDetail.getVol() < agv.getChargeLine()) {
-                log.warn("[{}]鍙稟gv鐢甸噺涓嶈冻......", agv.getUuid());
-                return false;
-            }
-            if (agvDetail.getVol() < agvModel.getLowBattery()) {
+            if (agvDetailService.isPowerLoss(agv, agvDetail, agvModel)) {
                 log.warn("[{}]鍙稟gv鐢甸噺涓嶈冻......", agv.getUuid());
                 return false;
             }
@@ -153,9 +158,9 @@
 
     @Override
     public Integer getBackpack(Agv agv) {
-        if (null != agv.getStage()) {
-            return agv.getStage();
-        }
+//        if (null != agv.getStage()) {
+//            return agv.getStage();
+//        }
         AgvModel agvModel = agvModelService.getById(agv.getAgvModel());
         assert null != agvModel;
         return agvModel.getBackpack();
@@ -163,12 +168,17 @@
 
     @Override
     public Agv findByPosition(Long codeId) {
-        List<Agv> agvList = this.list(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, StatusType.ENABLE.val));
+        List<Agv> agvList = this.list(new LambdaQueryWrapper<Agv>()
+//                .eq(Agv::getStatus, StatusType.ENABLE.val)
+        );
         for (Agv agv : agvList) {
             AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId());
             if (null == agvDetail) {
                 continue;
             }
+            if (null == agvDetail.getRecentCode()) {
+                continue;
+            }
             if (agvDetail.getRecentCode().equals(codeId)) {
                 return agv;
             }

--
Gitblit v1.9.1