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