From a957c1c914f6890c8a6a8c477495809b065fcbcf Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 18 四月 2025 16:59:35 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/header/FakeFab.jsx | 2
zy-acs-flow/src/map/http.js | 21 ++++++++++
zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java | 15 +++++++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java | 6 ++-
zy-acs-flow/src/map/MapPage.jsx | 2 +
zy-acs-flow/src/map/header/RePositionBtn.jsx | 40 ++++++++++++++++++++
6 files changed, 83 insertions(+), 3 deletions(-)
diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx
index 8082926..a92cbe7 100644
--- a/zy-acs-flow/src/map/MapPage.jsx
+++ b/zy-acs-flow/src/map/MapPage.jsx
@@ -25,6 +25,7 @@
import PulseSignal from "../page/components/PulseSignal";
import FakeFab from "./header/FakeFab";
import RouteFab from "./header/RouteFab";
+import RePositionBtn from "./header/RePositionBtn";
let player;
let websocket;
@@ -282,6 +283,7 @@
>
{rcsStatus ? translate('page.map.action.shutdown') : translate('page.map.action.startup')}
</Button>
+ <RePositionBtn />
<Button variant="contained" color="primary">
{translate('page.map.action.monitor')}
</Button>
diff --git a/zy-acs-flow/src/map/header/FakeFab.jsx b/zy-acs-flow/src/map/header/FakeFab.jsx
index 635c918..3fabf66 100644
--- a/zy-acs-flow/src/map/header/FakeFab.jsx
+++ b/zy-acs-flow/src/map/header/FakeFab.jsx
@@ -25,7 +25,7 @@
pass = true;
} else {
pass = false;
- if (!pwd) {
+ if (pwd) {
alert('Incorrect password');
}
}
diff --git a/zy-acs-flow/src/map/header/RePositionBtn.jsx b/zy-acs-flow/src/map/header/RePositionBtn.jsx
new file mode 100644
index 0000000..2dedf87
--- /dev/null
+++ b/zy-acs-flow/src/map/header/RePositionBtn.jsx
@@ -0,0 +1,40 @@
+import React, { useState, useRef, useEffect, useMemo } from "react";
+import { useTranslate } from "react-admin";
+import {
+ Button,
+} from '@mui/material';
+import { handleRePositionAll } from "../http";
+
+const RePositionBtn = ({ onClick }) => {
+
+ const handleToggle = () => {
+ let pass = true;
+ const pwd = prompt("please enter password:");
+ if (pwd === 'xltys1995') {
+ pass = true;
+ } else {
+ pass = false;
+ if (pwd) {
+ alert('Incorrect password');
+ }
+ }
+ if (pass) {
+ handleRePositionAll(null, (res) => {
+ console.log(res);
+ });
+ }
+ }
+
+ return (
+ <Button
+ variant="contained"
+ color="primary"
+ onClick={handleToggle}
+ sx={{ mr: 2 }}
+ >
+ 閲嶆柊瀹氫綅
+ </Button>
+ );
+}
+
+export default RePositionBtn;
\ No newline at end of file
diff --git a/zy-acs-flow/src/map/http.js b/zy-acs-flow/src/map/http.js
index 88ab8dc..fe7bd49 100644
--- a/zy-acs-flow/src/map/http.js
+++ b/zy-acs-flow/src/map/http.js
@@ -309,4 +309,25 @@
console.error(error.message);
}
return false;
+}
+
+export const handleRePositionAll = async (param) => {
+ try {
+ const res = await request.post('/handler/rePositionAllAgv', param, {
+ headers: {
+ 'appKey': HANDLE_APP_KEY
+ }
+ });
+ const { code, msg, data } = res.data;
+ if (code === 200) {
+ notify.success(msg);
+ return true;
+ } else {
+ notify.error(msg);
+ }
+ } catch (error) {
+ notify.error(error.message);
+ console.error(error.message);
+ }
+ return false;
}
\ No newline at end of file
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 ac1a177..ed7b01e 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
@@ -2,6 +2,8 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.acs.common.constant.RedisConstant;
+import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.common.utils.Utils;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.R;
@@ -17,6 +19,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -32,6 +35,8 @@
@RestController
@RequestMapping("/api/handler")
public class HandlerController extends BaseController {
+
+ private final RedisSupport redis = RedisSupport.defaultRedisSupport;
public static final String APP_KEY = "xltys1995";
@@ -66,6 +71,16 @@
@Autowired
private PatrolService patrolService;
+ @PreAuthorize("hasAuthority('manager:loc:update')")
+ @PostMapping("/rePositionAllAgv")
+ public synchronized R rePositionAllAgv() {
+ final Integer MAP_DEFAULT_LEV = 1;
+ redis.deleteValue(RedisConstant.AGV_MAP_ASTAR_DYNAMIC_FLAG, String.valueOf(MAP_DEFAULT_LEV));
+// avoidWaveCalculator.calcDynamicNodeWhenBoot();
+ return R.ok();
+ }
+
+
@RequestMapping(value = "/control/agv", method = {RequestMethod.GET, RequestMethod.POST})
@Transactional
public R controlAgv(@RequestHeader String appKey,
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java
index c5f98be..513ab9b 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java
@@ -13,16 +13,16 @@
import com.zy.acs.manager.common.domain.MapDto;
import com.zy.acs.manager.common.domain.MapRouteDto;
import com.zy.acs.manager.common.exception.BusinessException;
-import com.zy.acs.manager.core.service.PatrolService;
import com.zy.acs.manager.core.domain.BackpackDto;
+import com.zy.acs.manager.core.service.AvoidWaveCalculator;
import com.zy.acs.manager.core.service.MapService;
+import com.zy.acs.manager.core.service.PatrolService;
import com.zy.acs.manager.core.service.floyd.FloydNavigateService;
import com.zy.acs.manager.manager.controller.param.MapDataParam;
import com.zy.acs.manager.manager.controller.param.MapParam;
import com.zy.acs.manager.manager.controller.result.MapAgvVo;
import com.zy.acs.manager.manager.controller.result.MapPointVo;
import com.zy.acs.manager.manager.controller.result.MapRouteVo;
-import com.zy.acs.manager.manager.entity.NavMap;
import com.zy.acs.manager.manager.entity.*;
import com.zy.acs.manager.manager.enums.AgvStsType;
import com.zy.acs.manager.manager.enums.StatusType;
@@ -72,6 +72,8 @@
private ConfigService configService;
@Autowired
private PatrolService patrolService;
+ @Autowired
+ private AvoidWaveCalculator avoidWaveCalculator;
@PreAuthorize("hasAuthority('manager:loc:update')")
@PostMapping("/startupOrShutdown")
--
Gitblit v1.9.1