+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.elink.esua.epdc.dto.result;
+
+import com.elink.esua.epdc.dto.ScreenAgencyGridDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 网格化组织
+ *
+ * @author qu qu@elink-cn.com
+ * @since v1.0.0 2023-09-18
+ */
+@Data
+public class ScreenAgencyGridResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ private String id;
+
+ /**
+ *
+ */
+ private String pid;
+
+ /**
+ * 名称
+ */
+ private String name;
+
+ /**
+ *
+ */
+ private String level;
+
+
+ private List children;
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/controller/ScreenAgencyGridController.java b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/controller/ScreenAgencyGridController.java
index bdaee504..d98c9ebd 100755
--- a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/controller/ScreenAgencyGridController.java
+++ b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/controller/ScreenAgencyGridController.java
@@ -26,6 +26,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.ScreenAgencyGridDTO;
+import com.elink.esua.epdc.dto.result.ScreenAgencyGridResultDTO;
import com.elink.esua.epdc.excel.ScreenAgencyGridExcel;
import com.elink.esua.epdc.service.ScreenAgencyGridService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -43,7 +44,7 @@ import java.util.Map;
* @since v1.0.0 2023-09-18
*/
@RestController
-@RequestMapping("screenagencygrid")
+@RequestMapping("agencygrid")
public class ScreenAgencyGridController {
@Autowired
@@ -91,4 +92,10 @@ public class ScreenAgencyGridController {
ExcelUtils.exportExcelToTarget(response, null, list, ScreenAgencyGridExcel.class);
}
+ @GetMapping("treeList")
+ public Result> treeList(){
+ List result = screenAgencyGridService.treeList();
+ return new Result>().ok(result);
+ }
+
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/dao/ScreenAgencyGridDao.java b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/dao/ScreenAgencyGridDao.java
index 573fd06e..ea2dc742 100755
--- a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/dao/ScreenAgencyGridDao.java
+++ b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/dao/ScreenAgencyGridDao.java
@@ -17,10 +17,14 @@
package com.elink.esua.epdc.dao;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
+import com.elink.esua.epdc.dto.result.ScreenAgencyGridResultDTO;
import com.elink.esua.epdc.entity.ScreenAgencyGridEntity;
import org.apache.ibatis.annotations.Mapper;
+import java.util.List;
+
/**
* 网格化组织
*
@@ -29,5 +33,6 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ScreenAgencyGridDao extends BaseDao {
-
+
+ List getList();
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/ScreenAgencyGridService.java b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/ScreenAgencyGridService.java
index ed34aacf..6d14d891 100755
--- a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/ScreenAgencyGridService.java
+++ b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/ScreenAgencyGridService.java
@@ -20,6 +20,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.ScreenAgencyGridDTO;
+import com.elink.esua.epdc.dto.result.ScreenAgencyGridResultDTO;
import com.elink.esua.epdc.entity.ScreenAgencyGridEntity;
import java.util.List;
@@ -92,4 +93,6 @@ public interface ScreenAgencyGridService extends BaseService treeList();
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/impl/ScreenAgencyGridServiceImpl.java b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/impl/ScreenAgencyGridServiceImpl.java
index cc873248..a2785095 100755
--- a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/impl/ScreenAgencyGridServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/impl/ScreenAgencyGridServiceImpl.java
@@ -25,17 +25,18 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.dao.ScreenAgencyGridDao;
import com.elink.esua.epdc.dto.ScreenAgencyGridDTO;
+import com.elink.esua.epdc.dto.result.ScreenAgencyGridResultDTO;
import com.elink.esua.epdc.entity.ScreenAgencyGridEntity;
import com.elink.esua.epdc.redis.ScreenAgencyGridRedis;
import com.elink.esua.epdc.service.ScreenAgencyGridService;
import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 网格化组织
@@ -46,6 +47,8 @@ import java.util.Map;
@Service
public class ScreenAgencyGridServiceImpl extends BaseServiceImpl implements ScreenAgencyGridService {
+ private static final Logger logger = LoggerFactory.getLogger(ScreenAgencyGridServiceImpl.class);
+
@Autowired
private ScreenAgencyGridRedis screenAgencyGridRedis;
@@ -101,4 +104,35 @@ public class ScreenAgencyGridServiceImpl extends BaseServiceImpl treeList() {
+
+ List agencyGridResultDTOList = baseDao.getList();
+
+
+ Map nodeMap = new HashMap<>();
+
+ for (ScreenAgencyGridResultDTO screenAgencyGridResultDTO : agencyGridResultDTOList) {
+ nodeMap.put(screenAgencyGridResultDTO.getId(),screenAgencyGridResultDTO);
+ }
+
+ // 创建根节点列表
+ List rootNodes = new ArrayList<>();
+ for (ScreenAgencyGridResultDTO screenAgencyGridResultDTO : agencyGridResultDTOList) {
+ String parentId = screenAgencyGridResultDTO.getPid();
+ if (parentId.equals("0")){
+ rootNodes.add(screenAgencyGridResultDTO);
+ }else{
+ ScreenAgencyGridResultDTO parentNode = nodeMap.get(parentId);
+ if (parentNode.getChildren() == null) {
+ parentNode.setChildren(new ArrayList<>());
+ }
+ parentNode.getChildren().add(screenAgencyGridResultDTO);
+ }
+
+ }
+
+ return rootNodes;
+ }
+
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/resources/mapper/ScreenAgencyGridDao.xml b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/resources/mapper/ScreenAgencyGridDao.xml
index 9ab3fdbd..3f335572 100755
--- a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/resources/mapper/ScreenAgencyGridDao.xml
+++ b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/resources/mapper/ScreenAgencyGridDao.xml
@@ -15,6 +15,12 @@
+
\ No newline at end of file