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

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 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 c5b80a4..64e4f2c 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
@@ -529,6 +529,71 @@
         return R.ok("鍙栨秷浠诲姟鎸囦护宸插彂閫�");
     }
 
+    @PreAuthorize("hasAuthority('manager:agv:update')")
+    @PostMapping("/control/agv/load/lift/up")
+    public R liftAgvLoadPlatform(@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涓嶅瓨鍦�");
+        }
+        if (!agvService.judgeEnable(agv.getId())) {
+            log.info("{}鍙稟GV涓嶅彲鐢紝涓惧崌澶辫触...", agv.getUuid());
+            return R.error();
+        }
+        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鍗忚涓嶆敮鎸佽浇璐у彴涓惧崌");
+        }
+        if (agvModel.getLiftHeight() == null) {
+            return R.error("褰撳墠AGV杞﹀瀷鏈厤缃妇鍗囬珮搴�");
+        }
+
+        hikInstantActionPublishService.publishPick(agv.getUuid(), agvModel.getLiftHeight() / 1000D);
+        return R.ok("杞借揣鍙颁妇鍗囨寚浠ゅ凡鍙戦��");
+    }
+
+    @PreAuthorize("hasAuthority('manager:agv:update')")
+    @PostMapping("/control/agv/load/lift/down")
+    public R downAgvLoadPlatform(@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涓嶅瓨鍦�");
+        }
+        if (!agvService.judgeEnable(agv.getId())) {
+            log.info("{}鍙稟GV涓嶅彲鐢紝涓嬫斁澶辫触...", agv.getUuid());
+            return R.error();
+        }
+        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.publishDrop(agv.getUuid());
+        return R.ok("杞借揣鍙颁笅闄嶆寚浠ゅ凡鍙戦��");
+    }
+
     @RequestMapping(value = "/restore/agv", method = {RequestMethod.GET, RequestMethod.POST})
     public R restoreAgv(@RequestHeader String appKey, @RequestBody HandlerPublishParam param) {
         if (Cools.isEmpty(appKey)) {

--
Gitblit v1.9.1