From 1ef2fe5c532eaeab144196aa9ad4c06d1f1c67e3 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期三, 17 十二月 2025 08:43:54 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/areaSettings/AreaBasicTab.jsx                                         |    2 +-
 zy-acs-flow/src/map/areaSettings/index.jsx                                                |   21 +++++++++++++++++++--
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AreaServiceImpl.java |   23 ++++++++++++++++++++++-
 3 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/zy-acs-flow/src/map/areaSettings/AreaBasicTab.jsx b/zy-acs-flow/src/map/areaSettings/AreaBasicTab.jsx
index c51dff3..1ae729a 100644
--- a/zy-acs-flow/src/map/areaSettings/AreaBasicTab.jsx
+++ b/zy-acs-flow/src/map/areaSettings/AreaBasicTab.jsx
@@ -69,7 +69,7 @@
     };
 
     return (
-        <Stack spacing={3}>
+        <Stack spacing={3} sx={{ mt: 1 }}>
             <Stack direction="row" spacing={1} alignItems="center">
                 <TextField
                     label={translate('page.map.area.name', { _: '鍚嶇О' })}
diff --git a/zy-acs-flow/src/map/areaSettings/index.jsx b/zy-acs-flow/src/map/areaSettings/index.jsx
index 897a6f4..bb1b4e3 100644
--- a/zy-acs-flow/src/map/areaSettings/index.jsx
+++ b/zy-acs-flow/src/map/areaSettings/index.jsx
@@ -172,8 +172,25 @@
         }
     };
 
-    const handleSaveAdvanced = () => {
-        // placeholder for save logic
+    const handleSaveAdvanced = async () => {
+        const id = sprite?.data?.id;
+        if (!id) {
+            return;
+        }
+        const payload = {
+            id,
+            code,
+            maxCount,
+            speedLimit,
+            priority,
+            memo,
+            // start: startPoint,
+            // end: endPoint,
+        };
+        const data = await updateAreaData(payload);
+        if (data) {
+            setCurAreaInfo(data);
+        }
     };
 
     const basicDirty = name !== initialBasic.name
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AreaServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AreaServiceImpl.java
index 93ad8dd..ec8e83b 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AreaServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AreaServiceImpl.java
@@ -20,6 +20,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
+import java.util.Objects;
 
 @Slf4j
 @Service("areaService")
@@ -91,10 +92,30 @@
 
         // area
         boolean needModify = false;
-        if (!Cools.isEmpty(param.getName()) && !area.getName().equals(param.getName())) {
+        if (param.getName() != null && !Objects.equals(area.getName(), param.getName())) {
             area.setName(param.getName());
             needModify = true;
         }
+        if (param.getCode() != null && !Objects.equals(area.getCode(), param.getCode())) {
+            area.setCode(param.getCode());
+            needModify = true;
+        }
+        if (param.getMaxCount() != null && !Objects.equals(area.getMaxCount(), param.getMaxCount())) {
+            area.setMaxCount(param.getMaxCount());
+            needModify = true;
+        }
+        if (param.getSpeedLimit() != null && !Objects.equals(area.getSpeedLimit(), param.getSpeedLimit())) {
+            area.setSpeedLimit(param.getSpeedLimit());
+            needModify = true;
+        }
+        if (param.getPriority() != null && !Objects.equals(area.getPriority(), param.getPriority())) {
+            area.setPriority(param.getPriority());
+            needModify = true;
+        }
+        if (param.getMemo() != null && !Objects.equals(area.getMemo(), param.getMemo())) {
+            area.setMemo(param.getMemo());
+            needModify = true;
+        }
 
         if (needModify) {
             area.setUpdateTime(new Date());

--
Gitblit v1.9.1