From 26956bc393bb08eb868aeafde10c187336ad5888 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期二, 26 三月 2024 14:23:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/Four-Way-Rack' into Four-Way-Rack

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java |   33 ++++++++++++++++
 zy-asrs-flow/src/pages/map/header/floor.jsx                                |   30 +++-----------
 zy-asrs-flow/src/pages/map/utils.js                                        |   20 +++++++++-
 3 files changed, 58 insertions(+), 25 deletions(-)

diff --git a/zy-asrs-flow/src/pages/map/header/floor.jsx b/zy-asrs-flow/src/pages/map/header/floor.jsx
index 07ddd87..7b0f3cc 100644
--- a/zy-asrs-flow/src/pages/map/header/floor.jsx
+++ b/zy-asrs-flow/src/pages/map/header/floor.jsx
@@ -16,34 +16,18 @@
     }
 })
 
-const floorSelectOptions = [
-    {
-        label: '1F',
-        value: 1
-    },
-    {
-        label: '2F',
-        value: 2
-    },
-    {
-        label: '3F',
-        value: 3
-    },
-    {
-        label: '4F',
-        value: 4
-    },
-    {
-        label: '5F',
-        value: 5
-    },
-]
-
 const MapFloor = (props) => {
     const intl = useIntl();
     const { styles } = useStyles();
 
+    const [floorSelectOptions, setFloorSelectOptions] = useState([]);
+
     React.useEffect(() => {
+        const initFloorList = async () => {
+            const data = await Utils.fetchMapFloor();
+            setFloorSelectOptions(data)
+        }
+        initFloorList();
     }, []);
 
     const floorChange = (floor) => {
diff --git a/zy-asrs-flow/src/pages/map/utils.js b/zy-asrs-flow/src/pages/map/utils.js
index a54f4b1..25f2ca2 100644
--- a/zy-asrs-flow/src/pages/map/utils.js
+++ b/zy-asrs-flow/src/pages/map/utils.js
@@ -44,6 +44,14 @@
     DISABLE: 1,
 })
 
+export const NOTIFY_TYPE = Object.freeze({
+    OPEN: 'open',
+    SUCCESS: 'success',
+    INFO: 'info',
+    WARNING: 'warning',
+    ERROR: 'error',
+})
+
 export const getRealPosition = (x, y, mapContainer) => {
     const rect = app.view.getBoundingClientRect();
     return {
@@ -335,6 +343,14 @@
     return options;
 }
 
+export const fetchMapFloor = async () => {
+    const res = await Http.doPost('api/map/floor/list');
+    if (res.code === 200) {
+        return eval(res.data);
+    }
+    mapNotify(res.msg, NOTIFY_TYPE.ERROR);
+}
+
 export const fetchMapData = async (curFloor) => {
     clearMapData();
     await Http.doPostPromise('api/map/list', { floor: curFloor }, (res) => {
@@ -462,8 +478,8 @@
         .to(targetPos, 500).start();
 }
 
-export const mapNotify = (msg) => {
-    notify.open({
+export const mapNotify = (msg, type = NOTIFY_TYPE.OPEN) => {
+    notify[type]({
         description: msg,
         duration: 1.5,
         style: { width: 300 },
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
index 0da5f5a..03965db 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
@@ -30,6 +30,39 @@
     public String getMapFloorList(Long userId) {
         String floorKey = "map-floor-list";
         Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, floorKey));
+        if (null == dict) {
+            dict = new Dict();
+            dict.setName(floorKey);
+            dict.setFlag(floorKey);
+            dict.setType(DictType.JSON.flag);
+            dict.setValue("[\n" +
+                    "    {\n" +
+                    "        label: '1F',\n" +
+                    "        value: 1\n" +
+                    "    },\n" +
+                    "    {\n" +
+                    "        label: '2F',\n" +
+                    "        value: 2\n" +
+                    "    },\n" +
+                    "    {\n" +
+                    "        label: '3F',\n" +
+                    "        value: 3\n" +
+                    "    },\n" +
+                    "    {\n" +
+                    "        label: '4F',\n" +
+                    "        value: 4\n" +
+                    "    },\n" +
+                    "    {\n" +
+                    "        label: '5F',\n" +
+                    "        value: 5\n" +
+                    "    },\n" +
+                    "]");
+            dict.setCreateBy(userId);
+            dict.setUpdateBy(userId);
+            if (!dictService.save(dict)) {
+                throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
+            }
+        }
         return Optional.ofNullable(dict).map(Dict::getValue).orElse(null);
     }
 

--
Gitblit v1.9.1