From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能

---
 service-common/src/main/java/com/java110/common/smo/impl/AreaInnerServiceSMOImpl.java |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/smo/impl/AreaInnerServiceSMOImpl.java b/service-common/src/main/java/com/java110/common/smo/impl/AreaInnerServiceSMOImpl.java
old mode 100644
new mode 100755
index ca1e8c8..93b41fd
--- a/service-common/src/main/java/com/java110/common/smo/impl/AreaInnerServiceSMOImpl.java
+++ b/service-common/src/main/java/com/java110/common/smo/impl/AreaInnerServiceSMOImpl.java
@@ -1,17 +1,17 @@
 package com.java110.common.smo.impl;
 
 import com.java110.common.dao.IAreaServiceDao;
-import com.java110.common.dao.IFileServiceDao;
 import com.java110.core.base.smo.BaseServiceSMO;
-import com.java110.core.smo.common.IAreaInnerServiceSMO;
-import com.java110.core.smo.file.IFileInnerServiceSMO;
+import com.java110.intf.common.IAreaInnerServiceSMO;
 import com.java110.dto.area.AreaDto;
-import com.java110.dto.file.FileDto;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 
 @RestController
@@ -35,4 +35,42 @@
 
         return areas;
     }
+
+    @Override
+    public List<AreaDto> getWholeArea(@RequestBody AreaDto areaDto) {
+        String areacode = "";
+        if (areaDto.getAreaCode() != null && areaDto.getAreaCode().length() > 5){
+            areacode = areaDto.getAreaCode();
+        }else{
+            areacode = "110101001";//涓滃崕闂ㄨ閬�
+        }
+        areaDto.setAreaCode(areacode.substring(0,2));
+        List<AreaDto> areas = BeanConvertUtil.covertBeanList(areaServiceDaoImpl.getWholeArea(BeanConvertUtil.beanCovertMap(areaDto)), AreaDto.class);
+        List<AreaDto> newlist = new ArrayList();
+        AreaDto nowarea = new AreaDto();
+        for (AreaDto area :areas){
+            if (areacode.equals(area.getAreaCode())){
+                newlist.add(area);
+                nowarea = area;
+                break;
+            }
+        }
+        getTree(areas,nowarea,newlist);
+        Collections.reverse(newlist);
+        return newlist;
+    }
+
+    private void getTree(List<AreaDto> areas,AreaDto area,List<AreaDto> newlist){
+        for (AreaDto a :areas){
+            if (area.getParentAreaCode().equals(a.getAreaCode())){
+                newlist.add(a);
+                area = a;
+                areas.remove(a);
+                getTree(areas,area,newlist);
+                break;
+            }
+        }
+    }
+
+
 }

--
Gitblit v1.8.0