From 73121ec6ec5219dcd8f2c3c5271e87d51bad4420 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期五, 23 一月 2026 16:12:37 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java            |    8 ++++----
 zy-acs-flow/src/map/tool.js                                                              |    2 +-
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java          |    2 +-
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java        |   12 +++++++-----
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java |   24 ++++++++++++++----------
 5 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js
index 5d27ee7..4781c21 100644
--- a/zy-acs-flow/src/map/tool.js
+++ b/zy-acs-flow/src/map/tool.js
@@ -856,7 +856,7 @@
         if (backpackCount !== prevBackpackCount || battery !== prevBattery) {
             const agvStatusMode = getAgvStatusMode(backpackCount, battery);
             const agvTexture = generateAgvSpriteTexture(agvStatusMode);
-            agvSprite.texture = PIXI.Texture.from(agvTexture, { resourceOptions: { scale: 1 } });
+            agvSprite.texture = PIXI.Texture.from(agvTexture, { resourceOptions: { scale: 1 } }); // todo Uncaught TypeError: Cannot read properties of undefined (reading '_pixiId')
             // update backpackCount and battery
             agvSprite.data.backpackCount = backpackCount;
             agvSprite.data.battery = battery;
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
index 5067f8f..4763a54 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
@@ -64,7 +64,6 @@
         List<String> result = new ArrayList<>();
         for (Agv agv : agvList) {
             if (!hasRunning) {
-                // 1. without running tasks
                 if (0 < taskService.count(new LambdaQueryWrapper<Task>()
                         .eq(Task::getAgvId, agv.getId())
                         .and(i -> i
@@ -75,10 +74,13 @@
                 )) {
                     continue;
                 }
-            }
-            // 2. in idle status
-            if (!agvService.judgeEnable(agv.getId(), true)) {
-                continue;
+                if (!agvService.judgeEnable(agv.getId(), true, true)) {
+                    continue;
+                }
+            } else {
+                if (!agvService.judgeEnable(agv.getId(), true, false)) {
+                    continue;
+                }
             }
 
             result.add(agv.getUuid());
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index 81af921..bb6ae1c 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -486,7 +486,7 @@
         try {
             // valid -----------------------------------------------
             Agv agv = agvService.getById(agvId);
-            if (!agvService.judgeEnable(agv.getId(), false)) {
+            if (!agvService.judgeEnable(agv.getId())) {
                 return;
             }
             if (!Cools.isEmpty(taskService.selectInSts(agvId, TaskStsType.ASSIGN, TaskStsType.PROGRESS))) {
@@ -1863,7 +1863,7 @@
                                     staReserveService.rollbackWaitingToReserved(sta, currTask, StaReserveType.OUT);
                                     break;
                                 }
-                                log.info("AGV[{}] load permitted at conveyor station [{}]", protocol.getAgvNo(), sta.getStaNo());
+                                log.info("AGV [{}] load permitted at conveyor station [{}]", protocol.getAgvNo(), sta.getStaNo());
                                 success = true;
                                 break;
                             case DEST_STA:
@@ -1879,11 +1879,11 @@
                                     staReserveService.rollbackWaitingToReserved(sta, currTask, StaReserveType.IN);
                                     break;
                                 }
-                                log.info("AGV[{}] unload permitted at conveyor station [{}]", protocol.getAgvNo(), sta.getStaNo());
+                                log.info("AGV [{}] unload permitted at conveyor station [{}]", protocol.getAgvNo(), sta.getStaNo());
                                 success = true;
                                 break;
                             default:
-                                log.error("agv[{}] has wrong posType [{}], segment [{}]", protocol.getAgvNo(), posType.toString(), currSeg.getId());
+                                log.error("AGV [{}] has wrong posType [{}], segment [{}]", protocol.getAgvNo(), posType.toString(), currSeg.getId());
                                 break;
                         }
                     }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java
index 6bc4935..12d54b0 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java
@@ -32,7 +32,7 @@
 
     Boolean judgeEnable(Long agvId);
 
-    Boolean judgeEnable(Long agvId, Boolean withBattery);
+    Boolean judgeEnable(Long agvId, Boolean withBattery, Boolean idleStatus);
 
     Boolean judgeOnline(Long agvId);
 
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 fedc29c..4fb9bd3 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
@@ -190,19 +190,21 @@
 
     @Override
     public Boolean judgeEnable(Long agvId) {
-        return this.judgeEnable(agvId, false);
+        return this.judgeEnable(agvId, false, true);
     }
 
     @Override
-    public Boolean judgeEnable(Long agvId, Boolean isLowBattery) {
+    public Boolean judgeEnable(Long agvId, Boolean isLowBattery, Boolean idleStatus) {
         String agvNo = this.getAgvNo(agvId);
         AgvModel agvModel = agvModelService.getByAgvId(agvId);
-        if (0 < segmentService.count(new LambdaQueryWrapper<Segment>()
-                        .eq(Segment::getAgvId, agvId)
-                        .eq(Segment::getState, SegmentStateType.RUNNING.toString())
-        )) {
+        if (idleStatus) {
+            if (0 < segmentService.count(new LambdaQueryWrapper<Segment>()
+                    .eq(Segment::getAgvId, agvId)
+                    .eq(Segment::getState, SegmentStateType.RUNNING.toString())
+            )) {
 //            log.warn("[{}]鍙稟gv姝e湪蹇欑 - segment......", agvNo);
-            return false;
+                return false;
+            }
         }
         if (!this.judgeOnline(agvId)) {
 //            log.warn("[{}]鍙稟gv涓嶆槸鍦ㄧ嚎鐘舵��......", agvNo);
@@ -216,9 +218,11 @@
         if (null == agvDetail.getSoc() || agvDetail.getSoc() == 0) {
             return false;
         }
-        if (!agvDetail.getAgvStatus().equals(AgvStatusType.IDLE) && !agvDetail.getAgvStatus().equals(AgvStatusType.CHARGE)) {
-            log.warn("[{}]鍙稟gv涓嶆槸绌洪棽鐘舵��......", agvNo);
-            return false;
+        if (idleStatus) {
+            if (!agvDetail.getAgvStatus().equals(AgvStatusType.IDLE) && !agvDetail.getAgvStatus().equals(AgvStatusType.CHARGE)) {
+                log.warn("[{}]鍙稟gv涓嶆槸绌洪棽鐘舵��......", agvNo);
+                return false;
+            }
         }
         if (agvDetail.getAgvStatus().equals(AgvStatusType.CHARGE)) {
             if (agvDetail.getSoc() < agvModel.getQuaBattery()) {

--
Gitblit v1.9.1