From 66ab394f977a2fcf4b4fc9334829fc5bb171296f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 09 十月 2024 16:45:28 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/http.js | 61 ++++++++++++++++++++
zy-acs-flow/src/map/tool.js | 22 +++++++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java | 33 +++++++++++
zy-acs-flow/src/map/MapPage.jsx | 8 ++
4 files changed, 124 insertions(+), 0 deletions(-)
diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx
index c67fcf4..69c9801 100644
--- a/zy-acs-flow/src/map/MapPage.jsx
+++ b/zy-acs-flow/src/map/MapPage.jsx
@@ -23,6 +23,7 @@
import * as Tool from './tool';
import { NotificationProvider, useNotification } from './Notification';
import Device from "./Device";
+import * as Http from './http';
let player;
@@ -49,6 +50,9 @@
setMapContainer(player.mapContainer);
Tool.setApp(player.app);
Tool.setMapContainer(player.mapContainer);
+ Http.setNotify(notify);
+
+ await Http.fetchMapData(0);
}
initialize();
@@ -59,6 +63,10 @@
const height = contentRef.current.offsetHeight;
player.resize(width, height);
+ if (mode === MapMode.MOVABLE_MODE) {
+ console.log('aa');
+ player.showGridLines();
+ }
};
handleResize();
window.addEventListener('resize', handleResize);
diff --git a/zy-acs-flow/src/map/http.js b/zy-acs-flow/src/map/http.js
new file mode 100644
index 0000000..7cdea35
--- /dev/null
+++ b/zy-acs-flow/src/map/http.js
@@ -0,0 +1,61 @@
+import request from '@/utils/request';
+import * as Tool from './tool';
+
+let notify;
+
+export function setNotify(param) {
+ notify = param;
+}
+
+export const fetchMapData = async (zoneId) => {
+ Tool.clearMapData();
+ await request.post('/map/data', {
+ zoneId: zoneId
+ }, {
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ }
+ }).then((res) => {
+ const { code, msg, data } = res.data;
+ if (code === 200) {
+ const mapItemList = eval(data);
+ } else {
+ notify(msg, "error")
+ }
+
+ // mapItemList.forEach(item => {
+ // if (!(
+ // item.type === SENSOR_TYPE.SHUTTLE
+ // || item.type === SENSOR_TYPE.AGV
+ // )) {
+ // const sprite = generateSprite(item.type);
+ // if (sprite) {
+ // initSprite(sprite, item.type);
+ // // data
+ // sprite.data.uuid = item.uuid;
+ // sprite.data.no = item.no;
+
+ // // dynamical data
+ // Object.assign(sprite.data, item.property);
+
+ // showSheflType(sprite);
+ // // graph
+ // setTimeout(() => {
+ // sprite.position.set(item.positionX, item.positionY);
+ // sprite.scale.set(item.scaleX, item.scaleY);
+ // sprite.rotation = rotationParseNum(item.rotation);
+ // }, 50);
+
+ // mapContainer.addChild(sprite);
+ // }
+ // }
+ // })
+
+ }).catch((error) => {
+ notify(error.message, "error")
+ console.error(error.message);
+ })
+}
+
+
+
diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js
index 8cf5173..2a9ced4 100644
--- a/zy-acs-flow/src/map/tool.js
+++ b/zy-acs-flow/src/map/tool.js
@@ -182,6 +182,28 @@
&& spriteBounds.y < boxBounds.y + boxBounds.height;
}
+export const clearMapData = () => {
+ if (!mapContainer) {
+ return;
+ }
+ let childList = [];
+ mapContainer.children.forEach(child => {
+ if (child.data?.uuid) {
+ childList.push(child);
+ }
+ })
+ if (childList.length > 0) {
+ childList.forEach(child => {
+ mapContainer.removeChild(child);
+ child.destroy({ children: true, texture: false, baseTexture: false });
+ })
+ childList.forEach((child, index) => {
+ childList[index] = null;
+ });
+ childList = [];
+ }
+}
+
export const generateID = () => {
return Date.now().toString(36) + Math.random().toString(36).substring(2);
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 087f9e7..a31ff55 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
@@ -16,6 +16,7 @@
import com.zy.acs.manager.system.controller.BaseController;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.R;
+import com.zy.acs.manager.system.service.ConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
@@ -47,6 +48,38 @@
private FloydNavigateService floydNavigateService;
@Autowired
private MapService mapService;
+ @Autowired
+ private ConfigService configService;
+
+
+
+
+
+ @PreAuthorize("hasAuthority('manager:loc:list')")
+ @PostMapping("/data")
+ public R mapData(@RequestParam(required = false) Long zoneId) {
+ String mapData = configService.getVal("mapData", String.class);
+ return R.ok().add(mapData);
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@PreAuthorize("hasAuthority('map:save')")
@PostMapping("/save")
--
Gitblit v1.9.1