From 11cda98620d8758c8a167da9af47270f252c7d9d Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期三, 22 四月 2026 14:16:12 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java
index 67f1ca7..788edfd 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java
@@ -53,6 +53,8 @@
     @Autowired
     private TaskService taskService;
     @Autowired
+    private AgvModelService agvModelService;
+    @Autowired
     private MainService mainService;
     @Autowired
     private MainLockWrapService mainLockWrapService;
@@ -495,6 +497,33 @@
         return R.ok();
     }
 
+    @PreAuthorize("hasAuthority('manager:agv:update')")
+    @PostMapping("/control/agv/charge/stop")
+    public R stopCharging(@RequestHeader String appKey,
+                          @RequestBody HandlerPublishParam param) {
+        if (Cools.isEmpty(param.getAgvNo(), appKey)) {
+            return R.error();
+        }
+        if (!APP_KEY.equals(appKey)) {
+            return R.error();
+        }
+
+        Agv agv = agvService.selectByUuid(param.getAgvNo());
+        if (agv == null) {
+            return R.error("AGV涓嶅瓨鍦�");
+        }
+        AgvModel agvModel = agvModelService.getByAgvId(agv.getId());
+        if (agvModel == null || !AgvModelType.UNDERDRIVE_AGV.toString().equals(agvModel.getType())) {
+            return R.error("褰撳墠AGV杞﹀瀷涓嶆敮鎸佹柇寮�鍏呯數");
+        }
+        if (!hikInstantActionPublishService.support(agv.getId())) {
+            return R.error("褰撳墠AGV鍗忚涓嶆敮鎸佹柇寮�鍏呯數");
+        }
+
+        hikInstantActionPublishService.publishStopCharging(agv.getUuid());
+        return R.ok("鏂紑鍏呯數鎸囦护宸插彂閫�");
+    }
+
     private void publishRestoreCancelIfNeeded(Agv agv) {
         if (agv == null) {
             return;

--
Gitblit v1.9.1