#
vincentlu
2025-04-18 a957c1c914f6890c8a6a8c477495809b065fcbcf
#
5个文件已修改
1个文件已添加
86 ■■■■■ 已修改文件
zy-acs-flow/src/map/MapPage.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/header/FakeFab.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/header/RePositionBtn.jsx 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/http.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
zy-acs-flow/src/map/header/FakeFab.jsx
@@ -25,7 +25,7 @@
                    pass = true;
                } else {
                    pass = false;
                    if (!pwd) {
                    if (pwd) {
                        alert('Incorrect password');
                    }
                }
zy-acs-flow/src/map/header/RePositionBtn.jsx
New file
@@ -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;
zy-acs-flow/src/map/http.js
@@ -310,3 +310,24 @@
    }
    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;
}
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,
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")