From 5719d901b424f3b9b60f46731e7b1cd607dae733 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 18 三月 2024 17:31:30 +0800
Subject: [PATCH] 工单下发

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java
index 713130a..045e50c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/RegionServiceImpl.java
@@ -3,6 +3,7 @@
 import com.ycl.platform.base.BaseSelect;
 import com.ycl.platform.domain.entity.Region;
 import com.ycl.platform.domain.entity.YwUnit;
+import com.ycl.platform.domain.vo.RegionCascaderVO;
 import com.ycl.platform.mapper.RegionMapper;
 import com.ycl.platform.service.RegionService;
 import com.ycl.system.Result;
@@ -171,4 +172,34 @@
         }).collect(Collectors.toList());
         return Result.ok().data(vos);
     }
+
+    @Override
+    public Result cascader() {
+        List<Region> regionList = new LambdaQueryChainWrapper<>(baseMapper)
+                .ne(Region::getRegionLevel, RegionLevelEnum.CITY)
+                .list();
+        List<RegionCascaderVO> vos = regionList.stream().map(entity -> {
+            RegionCascaderVO vo = new RegionCascaderVO();
+            vo.setValue(entity.getId());
+            vo.setLabel(entity.getSimpleName());
+            vo.setRegionLevel(entity.getRegionLevel());
+            vo.setParentId(entity.getParentId());
+            return vo;
+        }).collect(Collectors.toList());
+        List<RegionCascaderVO> removeList = new ArrayList<>(12);
+        for (RegionCascaderVO region : vos) {
+            if (region.getRegionLevel() == RegionLevelEnum.COUNTY) {
+                List<RegionCascaderVO> childList = new ArrayList<>(12);
+                for (RegionCascaderVO region1 : vos) {
+                    if (region1.getParentId() == region.getValue()) {
+                        childList.add(region1);
+                        removeList.add(region1);
+                    }
+                }
+                region.setChildren(childList);
+            }
+        }
+        vos.removeAll(removeList);
+        return Result.ok().data(vos);
+    }
 }

--
Gitblit v1.8.0