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