From d08acc96d37e12dfe6129b2b7c2c408ec017b681 Mon Sep 17 00:00:00 2001
From: swb <jpy123456>
Date: Fri, 06 Sep 2024 11:12:03 +0800
Subject: [PATCH] fix:修改立行立改责任主体

---
 screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionPageCond.java |    2 
 screen-api/src/main/java/com/moral/api/service/ResponsibilityUnitService.java                          |    7 +
 screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java                 |  102 ++++++++++++++++
 screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java                       |    3 
 screen-api/src/main/resources/mapper/AllocationExtensionMapper.xml                                     |    7 
 screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java                 |   11 +
 screen-api/src/main/java/com/moral/api/controller/AllocationController.java                            |   12 ++
 screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java                         |   12 +
 screen-api/src/main/java/com/moral/api/pojo/query/ResponsibilityUnitQuery.java                         |   43 +++++++
 screen-manage/src/main/java/com/moral/api/pojo/dto/responsibilityUnit/ResponsibilityUnitQuery.java     |   43 +++++++
 screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java              |   80 ++++++++++++-
 11 files changed, 310 insertions(+), 12 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/AllocationController.java b/screen-api/src/main/java/com/moral/api/controller/AllocationController.java
index 07c8d6e..7a42780 100644
--- a/screen-api/src/main/java/com/moral/api/controller/AllocationController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/AllocationController.java
@@ -11,6 +11,7 @@
 import com.moral.api.pojo.ext.allocation.AllocationExcelExt;
 import com.moral.api.pojo.ext.allocation.AllocationExt;
 import com.moral.api.pojo.ext.allocation.AllocationPageExt;
+import com.moral.api.pojo.query.ResponsibilityUnitQuery;
 import com.moral.api.pojo.query.allocation.*;
 import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond;
 import com.moral.api.pojo.vo.allocation.AllocationListExcelVo;
@@ -18,6 +19,7 @@
 import com.moral.api.pojo.vo.allocation.AllocationVo;
 import com.moral.api.pojo.vo.file.FileAddressVo;
 import com.moral.api.service.AllocationService;
+import com.moral.api.service.ResponsibilityUnitService;
 import com.moral.api.utils.*;
 import com.moral.constant.Constants;
 import com.moral.constant.PageResult;
@@ -53,6 +55,8 @@
     private String basePath;
     @Autowired
     private AllocationService allocationService;
+    @Autowired
+    private ResponsibilityUnitService responsibilityUnitService;
 
 
     @ApiOperation(value = "������������", notes = "������������")
@@ -274,4 +278,12 @@
         return basePath.replaceAll(StringUtils.BACKSLASH.concat(StringUtils.BACKSLASH), StringUtils.SLASH).concat(StringUtils.SLASH).concat(path);
     }
 
+
+    @GetMapping("unitQuery")
+    @ApiOperation("������������������")
+    public ResultMessage unitQuery(){
+        List<ResponsibilityUnitQuery> responsibilityUnitQueries = responsibilityUnitService.unitQuery();
+        return ResultMessage.ok(responsibilityUnitQueries);
+    }
+
 }
diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/ResponsibilityUnitQuery.java b/screen-api/src/main/java/com/moral/api/pojo/query/ResponsibilityUnitQuery.java
new file mode 100644
index 0000000..0b180c2
--- /dev/null
+++ b/screen-api/src/main/java/com/moral/api/pojo/query/ResponsibilityUnitQuery.java
@@ -0,0 +1,43 @@
+package com.moral.api.pojo.query;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+
+/**
+ * Description //todo
+ *
+ * @author swb
+ * @ClassName ResponsibilityUnitQuery
+ * @date 2024.09.03 15:18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ResponsibilityUnitQuery extends Model<ResponsibilityUnitQuery> {
+
+
+    //������������id
+    private Integer unitId;
+    /**
+     * ������������
+     */
+    private String unitName;
+    /**
+     * ������������
+     */
+    private Integer areaCode;
+    /**
+     * ������������
+     */
+    private  Integer parentCode;
+
+    /*
+     * ������������
+     * */
+    @TableField(exist = false)
+    private List<ResponsibilityUnitQuery> children;
+}
diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionPageCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionPageCond.java
index fd4dada..fdb8831 100644
--- a/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionPageCond.java
+++ b/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionPageCond.java
@@ -28,7 +28,7 @@
     private String allocationNum;
 
     @ApiModelProperty(value = "������������id")
-    private Integer unitId;
+    private List<Integer> unitId;
 
     @ApiModelProperty(value = "������������id")
     private Integer polluteType;
diff --git a/screen-api/src/main/java/com/moral/api/service/ResponsibilityUnitService.java b/screen-api/src/main/java/com/moral/api/service/ResponsibilityUnitService.java
index b43c7e8..9e90be9 100644
--- a/screen-api/src/main/java/com/moral/api/service/ResponsibilityUnitService.java
+++ b/screen-api/src/main/java/com/moral/api/service/ResponsibilityUnitService.java
@@ -5,6 +5,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.moral.api.entity.ResponsibilityUnit;
+import com.moral.api.pojo.query.ResponsibilityUnitQuery;
 
 public interface ResponsibilityUnitService extends IService<ResponsibilityUnit> {
 
@@ -23,5 +24,11 @@
     List<ResponsibilityUnit> selectAreaUnit(Integer code);
 
 
+    /**
+     * ������������������
+     * @return
+     */
+    List<ResponsibilityUnitQuery> unitQuery();
+
 
 }
\ No newline at end of file
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
index ea4a702..703639c 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
@@ -211,9 +211,13 @@
     public Map<String, Object> selectUnitView(Map<String, Object> map) {
         QueryWrapper<Allocation> wrapper = new QueryWrapper<>();
         //������������������
+
         List<Integer> list = this.unitResult();
         if (!ObjectUtils.isEmpty(map.get("unitId"))){
-            wrapper.in("unit_id",map.get("unitId").toString());
+            String unitId = map.get("unitId").toString();
+//            unitId.split(",");
+            List<String> list1 = Arrays.asList(unitId.split(","));
+            wrapper.in("unit_id",list1);
         }else {
             if (!ObjectUtils.isEmpty(list)){
                 Integer integer = list.get(0);
@@ -373,7 +377,11 @@
         //������������������
         List<Integer> list = this.unitResult();
         if (!ObjectUtils.isEmpty(map.get("unitId"))){
-            wrapper.in("unit_id",map.get("unitId").toString());
+            String unitId = map.get("unitId").toString();
+//            unitId.split(",");
+            List<String> list1 = Arrays.asList(unitId.split(","));
+            wrapper.in("unit_id",list1);
+//            wrapper.in("unit_id",map.get("unitId").toString());
         }else {
             if (!ObjectUtils.isEmpty(list)){
                 Integer integer = list.get(0);
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
index f03423f..95cd1df 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
@@ -1,15 +1,24 @@
 package com.moral.api.service.impl;
 
+import org.apache.xmlbeans.impl.xb.xsdschema.Public;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
-
+import java.util.Map;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.api.entity.ResponsibilityUnit;
 import com.moral.api.mapper.ResponsibilityUnitMapper;
+import com.moral.api.pojo.query.ResponsibilityUnitQuery;
+import com.moral.api.service.AllocationService;
 import com.moral.api.service.ResponsibilityUnitService;
+
 
 
 @Service
@@ -17,6 +26,10 @@
 
     @Autowired
     private  ResponsibilityUnitMapper responsibilityUnitMapper;
+
+    @Autowired
+    private AllocationService allocationService;
+
     /**
      * ������������������������������������
      *
@@ -50,4 +63,91 @@
         List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitMapper.selectList(wrapper);
         return responsibilityUnits;
     }
+
+    /**
+     * ������������������
+     *
+     * @return
+     */
+    @Override
+    public List<ResponsibilityUnitQuery> unitQuery() {
+        List<Integer> list = allocationService.unitResult();
+        LambdaQueryWrapper<ResponsibilityUnit> wrapper = new LambdaQueryWrapper<>();
+        if (!ObjectUtils.isEmpty(list)){
+            wrapper.in(ResponsibilityUnit::getUnitId,list);
+        }
+
+        List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitMapper.selectList(wrapper);
+        ArrayList<ResponsibilityUnitQuery> sysAreas = new ArrayList<>();
+        for (ResponsibilityUnit responsibilityUnit : responsibilityUnits) {
+            ResponsibilityUnitQuery responsibilityUnitQuery = new ResponsibilityUnitQuery();
+            BeanUtils.copyProperties(responsibilityUnit,responsibilityUnitQuery);
+            sysAreas.add(responsibilityUnitQuery);
+        }
+
+        Map<Integer, Integer> areaMap1 = new HashMap<>();
+        Map<Integer, ResponsibilityUnitQuery> areaMap = new HashMap<>();
+        for (ResponsibilityUnitQuery responsibilityUnitQuery : sysAreas) {
+            if (responsibilityUnitQuery.getUnitName().equals("������������")){
+                areaMap1.put(responsibilityUnitQuery.getAreaCode(), responsibilityUnitQuery.getUnitId());
+                responsibilityUnitQuery.setUnitId(responsibilityUnitQuery.getAreaCode());
+                responsibilityUnitQuery.setUnitName("������������������������");
+            }
+            if (responsibilityUnitQuery.getUnitName().equals("������������������")){
+                areaMap1.put(responsibilityUnitQuery.getAreaCode(),responsibilityUnitQuery.getUnitId());
+                responsibilityUnitQuery.setUnitId(responsibilityUnitQuery.getAreaCode());
+                responsibilityUnitQuery.setUnitName("������������������������");
+            }
+            areaMap.put(responsibilityUnitQuery.getAreaCode(), responsibilityUnitQuery);
+            responsibilityUnitQuery.setChildren(new ArrayList<>());//���������children������
+        }
+        //������������������������������������������������������������������������������������
+        for (int i = 0; i < sysAreas.size(); i++) {
+            ResponsibilityUnitQuery responsibilityUnitQuery = sysAreas.get(i);
+            Integer parentCode = responsibilityUnitQuery.getParentCode();
+            ResponsibilityUnitQuery parentArea = areaMap.get(parentCode);
+
+            if (responsibilityUnitQuery.getAreaCode().equals(210381)|| responsibilityUnitQuery.getAreaCode().equals(320900)){
+                Integer integer = areaMap1.get(responsibilityUnitQuery.getAreaCode());
+                ResponsibilityUnitQuery rsUnitQuery = new ResponsibilityUnitQuery();
+                rsUnitQuery.setUnitId(integer);
+                rsUnitQuery.setParentCode(responsibilityUnitQuery.getParentCode());
+                if (responsibilityUnitQuery.getAreaCode().equals(210381)){
+                    rsUnitQuery.setUnitName("������������������");
+                }else {
+                    rsUnitQuery.setUnitName("������������");
+                }
+                rsUnitQuery.setAreaCode(responsibilityUnitQuery.getAreaCode());
+                rsUnitQuery.setChildren(new ArrayList<>());
+                List<ResponsibilityUnitQuery> children = responsibilityUnitQuery.getChildren();
+                children.add(rsUnitQuery);
+                responsibilityUnitQuery.setChildren(children);
+            }
+            if (ObjectUtils.isEmpty(parentArea)){
+                continue;
+            }
+            List<ResponsibilityUnitQuery> children = parentArea.getChildren();
+            children.add(responsibilityUnitQuery);
+            sysAreas.remove(responsibilityUnitQuery);
+            i--;
+        }
+      /*  if (!ObjectUtils.isEmpty(sysAreas.get(0).getChildren())){
+            ArrayList<ResponsibilityUnitQuery> result = new ArrayList<>();
+            for (ResponsibilityUnitQuery responsibilityUnitQuery : sysAreas) {
+                ArrayList<ResponsibilityUnitQuery> responsibilityUnitQueries = new ArrayList<>();
+                responsibilityUnitQueries.add(responsibilityUnitQuery);
+                ResponsibilityUnitQuery responsibilityUnitQuery1 = new ResponsibilityUnitQuery();
+                SysArea areaByCode = sysAreaService.getAreaByCode(responsibilityUnitQuery.getParentCode());
+                responsibilityUnitQuery1.setParentCode(areaByCode.getParentCode());
+                responsibilityUnitQuery1.setAreaCode(areaByCode.getAreaCode());
+                responsibilityUnitQuery1.setUnitName(areaByCode.getAreaName());
+                responsibilityUnitQuery1.setUnitId(areaByCode.getAreaCode());
+                responsibilityUnitQuery1.setChildren(responsibilityUnitQueries);
+                result.add(responsibilityUnitQuery1);
+            }
+            return result;
+        }*/
+        return sysAreas;
+    }
+
 }
diff --git a/screen-api/src/main/resources/mapper/AllocationExtensionMapper.xml b/screen-api/src/main/resources/mapper/AllocationExtensionMapper.xml
index d20106c..4af3088 100644
--- a/screen-api/src/main/resources/mapper/AllocationExtensionMapper.xml
+++ b/screen-api/src/main/resources/mapper/AllocationExtensionMapper.xml
@@ -43,8 +43,11 @@
         <where>
             1 = 1 and allocationextension.is_del = 0
 
-            <if test="allocation.unitId != null and allocation.unitId != 0">
-                and t1.unit_id = #{allocation.unitId}
+            <if test="allocation.unitId != null and allocation.unitId.size != 0">
+                and t1.unit_id in
+                <foreach collection="allocation.unitId" item="id" index="index" open="(" close=")" separator=",">
+                    #{id}
+                </foreach>
             </if>
             <if test="allocation.polluteType != null and allocation.polluteType != 0">
                 and t1.pollute_type = #{allocation.polluteType}
diff --git a/screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java b/screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java
index 5fc0a4e..f8d7e77 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java
@@ -2,6 +2,7 @@
 
 
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.apache.ibatis.annotations.Update;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.ObjectUtils;
@@ -18,6 +19,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.moral.api.entity.ResponsibilityUnit;
+import com.moral.api.pojo.dto.responsibilityUnit.ResponsibilityUnitQuery;
 import com.moral.api.service.ResponsibilityUnitService;
 import com.moral.constant.ResponseCodeEnum;
 import com.moral.constant.ResultMessage;
@@ -115,4 +117,13 @@
         responsibilityUnitService.removeById(unitId);
         return ResultMessage.ok();
     }
+
+
+
+    @GetMapping("query")
+    @ApiOperation("���������������������������")
+    public ResultMessage query(){
+        List<ResponsibilityUnitQuery> responsibilityUnitQueries = responsibilityUnitService.unitQuery();
+        return ResultMessage.ok(responsibilityUnitQueries);
+    }
 }
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/responsibilityUnit/ResponsibilityUnitQuery.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/responsibilityUnit/ResponsibilityUnitQuery.java
new file mode 100644
index 0000000..473af3a
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/responsibilityUnit/ResponsibilityUnitQuery.java
@@ -0,0 +1,43 @@
+package com.moral.api.pojo.dto.responsibilityUnit;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+
+/**
+ * Description //todo
+ *
+ * @author swb
+ * @ClassName ResponsibilityUnitQuery
+ * @date 2024.09.03 11:47
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ResponsibilityUnitQuery extends Model<ResponsibilityUnitQuery> {
+
+    //������������id
+    private Integer unitId;
+    /**
+     * ������������
+     */
+    private String unitName;
+    /**
+     * ������������
+     */
+    private Integer areaCode;
+    /**
+     * ������������
+     */
+    private  Integer parentCode;
+
+    /*
+     * ������������
+     * */
+    @TableField(exist = false)
+    private List<ResponsibilityUnitQuery> children;
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java b/screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java
index d31a5d6..cf54c59 100644
--- a/screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java
@@ -5,6 +5,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.moral.api.entity.ResponsibilityUnit;
+import com.moral.api.pojo.dto.responsibilityUnit.ResponsibilityUnitQuery;
 
 public interface ResponsibilityUnitService extends IService<ResponsibilityUnit> {
 
@@ -18,4 +19,6 @@
     void  updateState(Integer  unitId);
 
     void updateInvalid(Integer unitId,String code);
+
+    List<ResponsibilityUnitQuery> unitQuery();
 }
\ No newline at end of file
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
index 753a2ce..32b9a1a 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
@@ -1,6 +1,7 @@
 package com.moral.api.service.impl;
 
 
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
@@ -8,11 +9,15 @@
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.function.Predicate;
+
 import javax.servlet.http.HttpServletRequest;
 
 import com.alibaba.fastjson.JSONArray;
@@ -20,9 +25,11 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.datatype.jsr310.ser.YearSerializer;
 import com.moral.api.entity.ResponsibilityUnit;
 import com.moral.api.entity.SysArea;
 import com.moral.api.mapper.ResponsibilityUnitMapper;
+import com.moral.api.pojo.dto.responsibilityUnit.ResponsibilityUnitQuery;
 import com.moral.api.pojo.redisBean.AccountInfoDTO;
 import com.moral.api.service.ResponsibilityUnitService;
 import com.moral.api.service.SysAreaService;
@@ -82,19 +89,21 @@
 //        wrapper.eq("is_invalid",0);
         int page = Integer.parseInt(parameters.get("page").toString());
         int size = Integer.parseInt(parameters.get("size").toString());
-        Object parentName1 = parameters.get("parentCode");
-        Object areaName1 = parameters.get("areaCode");
+        Object unitId = parameters.get("unitId");
+//        Object parentName1 = parameters.get("parentCode");
+//        Object areaName1 = parameters.get("areaCode");
         //������������������
         if (!ObjectUtils.isEmpty(parameters.get("name"))){
             wrapper.like("unit_name",parameters.get("name").toString());
         }
-        //������������������
+/*        //������������������
         if (!ObjectUtils.isEmpty(parentName1)){
             wrapper.eq("parent_code",Integer.parseInt(parentName1.toString()));
-        }
+        }*/
         //������������������
-        if (!ObjectUtils.isEmpty(areaName1)){
-            wrapper.eq("parent_code",Integer.parseInt(areaName1.toString()));
+        if (!ObjectUtils.isEmpty(unitId)){
+//            List<String> list = Arrays.asList(unitId.toString().split(","));
+            wrapper.eq("unit_id",unitId.toString());
         }
         Page<ResponsibilityUnit> pageList = new Page<>(page, size);
         Page<ResponsibilityUnit> responsibilityUnitPage = responsibilityUnitMapper.selectPage(pageList, wrapper);
@@ -183,6 +192,65 @@
 
     }
 
+    @Override
+    public List<ResponsibilityUnitQuery> unitQuery() {
+        List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitMapper.selectList(null);
+        ArrayList<ResponsibilityUnitQuery> sysAreas = new ArrayList<>();
+        for (ResponsibilityUnit responsibilityUnit : responsibilityUnits) {
+            ResponsibilityUnitQuery responsibilityUnitQuery = new ResponsibilityUnitQuery();
+            BeanUtils.copyProperties(responsibilityUnit,responsibilityUnitQuery);
+            sysAreas.add(responsibilityUnitQuery);
+        }
+        Map<Integer, Integer> areaMap1 = new HashMap<>();
+        Map<Integer, ResponsibilityUnitQuery> areaMap = new HashMap<>();
+        for (ResponsibilityUnitQuery responsibilityUnitQuery : sysAreas) {
+            if (responsibilityUnitQuery.getUnitName().equals("������������")){
+                areaMap1.put(responsibilityUnitQuery.getAreaCode(), responsibilityUnitQuery.getUnitId());
+                responsibilityUnitQuery.setUnitId(responsibilityUnitQuery.getAreaCode());
+                responsibilityUnitQuery.setUnitName("������������������������");
+            }
+            if (responsibilityUnitQuery.getUnitName().equals("������������������")){
+                areaMap1.put(responsibilityUnitQuery.getAreaCode(),responsibilityUnitQuery.getUnitId());
+                responsibilityUnitQuery.setUnitId(responsibilityUnitQuery.getAreaCode());
+                responsibilityUnitQuery.setUnitName("������������������������");
+            }
+            areaMap.put(responsibilityUnitQuery.getAreaCode(), responsibilityUnitQuery);
+            responsibilityUnitQuery.setChildren(new ArrayList<>());//���������children������
+        }
+        //������������������������������������������������������������������������������������
+        for (int i = 0; i < sysAreas.size(); i++) {
+            ResponsibilityUnitQuery responsibilityUnitQuery = sysAreas.get(i);
+            Integer parentCode = responsibilityUnitQuery.getParentCode();
+            ResponsibilityUnitQuery parentArea = areaMap.get(parentCode);
+
+            if (responsibilityUnitQuery.getAreaCode().equals(210381)|| responsibilityUnitQuery.getAreaCode().equals(320900)){
+                Integer integer = areaMap1.get(responsibilityUnitQuery.getAreaCode());
+                ResponsibilityUnitQuery rsUnitQuery = new ResponsibilityUnitQuery();
+                rsUnitQuery.setUnitId(integer);
+                rsUnitQuery.setParentCode(responsibilityUnitQuery.getParentCode());
+                if (responsibilityUnitQuery.getAreaCode().equals(210381)){
+                    rsUnitQuery.setUnitName("������������������");
+                }else {
+                    rsUnitQuery.setUnitName("������������");
+                }
+                rsUnitQuery.setAreaCode(responsibilityUnitQuery.getAreaCode());
+                rsUnitQuery.setChildren(new ArrayList<>());
+                List<ResponsibilityUnitQuery> children = responsibilityUnitQuery.getChildren();
+                children.add(rsUnitQuery);
+                responsibilityUnitQuery.setChildren(children);
+            }
+            if (ObjectUtils.isEmpty(parentArea)){
+                continue;
+            }
+            List<ResponsibilityUnitQuery> children = parentArea.getChildren();
+            children.add(responsibilityUnitQuery);
+            sysAreas.remove(responsibilityUnitQuery);
+            i--;
+        }
+        return sysAreas;
+
+    }
+
 
     /**
      * ������������������

--
Gitblit v1.8.0