From 24fb5d17effaef4e24a4057062407bbcff0c8872 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期三, 22 四月 2026 14:35:09 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java | 111 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 84 insertions(+), 27 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 788edfd..c5b80a4 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
@@ -445,6 +445,90 @@
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涓嶅瓨鍦�");
+ }
+
+ 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.publishStopCharging(agv.getUuid());
+ return R.ok("鏂紑鍏呯數鎸囦护宸插彂閫�");
+ }
+
+ @PreAuthorize("hasAuthority('manager:agv:update')")
+ @PostMapping("/control/agv/task/cancel")
+ @Transactional
+ public R cancelAgvTask(@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.publishCancelOrder(agv.getUuid());
+// List<Task> tasks = taskService.selectInSts(agv.getId(), TaskStsType.WAITING, TaskStsType.ASSIGN, TaskStsType.PROGRESS);
+// if (Cools.isEmpty(tasks)) {
+// return R.error("褰撳墠AGV娌℃湁鍙彇娑堢殑浠诲姟");
+// }
+//
+// Long userId = getLoginUserId();
+// Date now = new Date();
+// List<Long> taskIds = tasks.stream().map(Task::getId).collect(Collectors.toList());
+// for (Task task : tasks) {
+// taskService.cancel(task.getId(), userId, Constants.HANDLE);
+// }
+// actionService.update(new LambdaUpdateWrapper<Action>()
+// .in(Action::getTaskId, taskIds)
+// .set(Action::getActionSts, ActionStsType.FINISH.val())
+// .set(Action::getUpdateBy, userId)
+// .set(Action::getUpdateTime, now));
+ 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)) {
@@ -495,33 +579,6 @@
}
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) {
--
Gitblit v1.9.1