#
vincentlu
16 小时以前 f43a65438cbfb5c11675bea8b643de8e0770f52b
#
5个文件已修改
60 ■■■■ 已修改文件
zy-acs-flow/src/map/MapPage.jsx 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/constants.js 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/http.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/tool.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/MapPage.jsx
@@ -8,7 +8,7 @@
    useTheme,
    Fab,
} from '@mui/material';
import { MAP_MODE, MAP_DEFAULT_ROTATION } from "./constants";
import { MAP_MODE, MAP_DEFAULT_ROTATION, setMapPreferences } from "./constants";
import Player from './player';
import * as Tool from './tool';
import { NotificationProvider, useNotification } from './Notification';
@@ -85,6 +85,7 @@
            Tool.setThemeMode(themeMode);
            Http.setNotify(notify);
            Http.setMapContainer(player.mapContainer);
            await Http.fetchMapPreferences(curZone, setMapPreferences);
            websocket = new WebSocketClient('/ws/map/websocket');
            await Http.fetchMapData(curZone, setRcsStatus, setCurSprite);
zy-acs-flow/src/map/constants.js
@@ -1,12 +1,25 @@
export const MAP_DEFAULT_ROTATION = 180;
export const AGV_ANGLE_OFFSET_VAL = 90;
export const MAP_MIRROR = true;
export const MAP_DEFAULT_ROTATION = 0;
export const ANIMATE_DURING_TIME = 300;
export let AGV_ANGLE_OFFSET_VAL = 0;
export let MAP_MIRROR = false;;
export const setMapPreferences = (preferences = {}) => {
    if (preferences == null || typeof preferences !== 'object') {
        return;
    }
    const { agvAngleOffsetVal, mapMirror } = preferences;
    if (typeof agvAngleOffsetVal === 'number' && !isNaN(agvAngleOffsetVal)) {
        AGV_ANGLE_OFFSET_VAL = agvAngleOffsetVal;
    }
    if (typeof mapMirror === 'boolean') {
        MAP_MIRROR = mapMirror;
    }
};
export const MAP_MODE = Object.freeze({
    OBSERVER_MODE: "1",
    MOVABLE_MODE: "2",
zy-acs-flow/src/map/http.js
@@ -14,6 +14,26 @@
    mapContainer = param;
}
export const fetchMapPreferences = async (zoneId, setMapPreferences) => {
    try {
        const res = await request.post('/map/config/preferences', {
            zoneId: zoneId
        }, {
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
        });
        const { code, msg, data } = res.data;
        if (code === 200) {
            setMapPreferences(data);
            return data || {};
        }
        notify?.error(msg);
    } catch (error) {
        notify?.error(error.message);
        console.error(error.message);
    }
    return {};
}
export const fetchMapData = (zoneId, setRcsStatus, setCurSprite) => {
    Tool.clearMapData();
    return request.post('/map/data/fetch', {
zy-acs-flow/src/map/tool.js
@@ -801,8 +801,6 @@
    }
}
const agvRotationOffset = rotationParseNum(AGV_ANGLE_OFFSET_VAL);
const showAgvSprite = (curZone, agvVo, setCurSprite) => {
    const { agvNo, agvModel, code, direction, battery, jobType, backpack: backpackCount, slots, error } = agvVo;
    if (!code) { return; }
@@ -810,6 +808,7 @@
    if (!codeSprite) { return; }
    const targetRotation = rotationParseNum(direction);
    const agvRotationOffset = rotationParseNum(AGV_ANGLE_OFFSET_VAL);
    // const backpackCount = backpack?.filter(item => item.loaded === true).length || 0;
    let agvSprite = querySprite(DEVICE_TYPE.AGV, agvNo);
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java
@@ -87,6 +87,17 @@
    }
    @PreAuthorize("hasAuthority('manager:loc:list')")
    @PostMapping("/config/preferences")
    public R configPreferences(@RequestParam(required = false) Long zoneId, @RequestParam(required = false) Integer floor) {
        Integer dashboardAgvAngleOffsetVal = configService.getVal("dashboardAgvAngleOffsetVal", Integer.class);
        Boolean dashMapMirror = configService.getVal("dashMapMirror", Boolean.class);
        return R.ok().add(Cools
                .add("agvAngleOffsetVal", Optional.ofNullable(dashboardAgvAngleOffsetVal).orElse(0))
                .add("mapMirror", Optional.ofNullable(dashMapMirror).orElse(Boolean.FALSE))
        );
    }
    @PreAuthorize("hasAuthority('manager:loc:list')")
    @PostMapping("/data/fetch")
    public R fetch(@RequestParam(required = false) Long zoneId, @RequestParam(required = false) Integer floor) {
        // code