From 6ecd168c3bb818397ca97650da9bfeb1b85bfd6e Mon Sep 17 00:00:00 2001
From: jinglun-cloud <jinglun2019@foxmail.com>
Date: 星期五, 24 四月 2026 13:39:17 +0800
Subject: [PATCH] 添加环穿

---
 src/main/java/com/zy/asrs/service/impl/BasMapEditorServiceImpl.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/BasMapEditorServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasMapEditorServiceImpl.java
index 193d7f6..d0fa637 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasMapEditorServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasMapEditorServiceImpl.java
@@ -47,7 +47,7 @@
 
     private static final String FREE_EDITOR_MODE = "free-v1";
     private static final Set<String> RUNTIME_TYPES = new HashSet<>(Arrays.asList(
-            "shelf", "crn", "dualCrn", "devp", "rgv"
+            "shelf", "crn", "dualCrn", "devp", "rgv", "annulus"
     ));
     private static final int DEFAULT_ROW_HEIGHT = 200;
     private static final int DEFAULT_COL_WIDTH = 1000;
@@ -289,6 +289,26 @@
         element.setWidth(width);
         element.setHeight(height);
         element.setValue(stringifyValue(source == null ? null : source.getValue()));
+        // 娣诲姞鐜┛杞ㄩ亾绛変俊鎭�
+        if (source != null && !Cools.isEmpty(source.getShape())) {
+            element.setShape(String.valueOf(source.getShape()).trim());
+        }
+        if (source != null && source.getPathList() != null && !source.getPathList().isEmpty()) {
+            List<Map<String, Object>> copy = new ArrayList<>();
+            for (Map<String, Object> seg : source.getPathList()) {
+                if (seg == null || seg.isEmpty()) {
+                    continue;
+                }
+                copy.add(new LinkedHashMap<>(seg));
+            }
+            element.setPathList(copy);
+        }
+        if (source != null && source.getTurningPoint() != null && !source.getTurningPoint().isEmpty()) {
+            element.setTurningPoint(new LinkedHashMap<>(source.getTurningPoint()));
+        }
+        if (source != null && source.getAnnulusBandInset() != null) {
+            element.setAnnulusBandInset(source.getAnnulusBandInset());
+        }
         if ("devp".equals(element.getType())) {
             validateDevpValue(element.getValue(), index);
         }

--
Gitblit v1.9.1