Browse Source

组织架构

ftature/screen
lichao 2 years ago
parent
commit
eedae2c063
  1. 62
      esua-epdc/epdc-module/epdc-screen/epdc-screen-client/src/main/java/com/elink/esua/epdc/dto/result/ScreenAgencyGridResultDTO.java
  2. 9
      esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/controller/ScreenAgencyGridController.java
  3. 7
      esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/dao/ScreenAgencyGridDao.java
  4. 3
      esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/ScreenAgencyGridService.java
  5. 40
      esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/impl/ScreenAgencyGridServiceImpl.java
  6. 6
      esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/resources/mapper/ScreenAgencyGridDao.xml

62
esua-epdc/epdc-module/epdc-screen/epdc-screen-client/src/main/java/com/elink/esua/epdc/dto/result/ScreenAgencyGridResultDTO.java

@ -0,0 +1,62 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<ScreenAgencyGridResultDTO> children;
}

9
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<List<ScreenAgencyGridResultDTO>> treeList(){
List<ScreenAgencyGridResultDTO> result = screenAgencyGridService.treeList();
return new Result<List<ScreenAgencyGridResultDTO>>().ok(result);
}
}

7
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<ScreenAgencyGridEntity> {
List<ScreenAgencyGridResultDTO> getList();
}

3
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<ScreenAgencyGridEnt
* @date 2023-09-18
*/
void delete(String[] ids);
List<ScreenAgencyGridResultDTO> treeList();
}

40
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<ScreenAgencyGridDao, ScreenAgencyGridEntity> implements ScreenAgencyGridService {
private static final Logger logger = LoggerFactory.getLogger(ScreenAgencyGridServiceImpl.class);
@Autowired
private ScreenAgencyGridRedis screenAgencyGridRedis;
@ -101,4 +104,35 @@ public class ScreenAgencyGridServiceImpl extends BaseServiceImpl<ScreenAgencyGri
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public List<ScreenAgencyGridResultDTO> treeList() {
List<ScreenAgencyGridResultDTO> agencyGridResultDTOList = baseDao.getList();
Map<String, ScreenAgencyGridResultDTO> nodeMap = new HashMap<>();
for (ScreenAgencyGridResultDTO screenAgencyGridResultDTO : agencyGridResultDTOList) {
nodeMap.put(screenAgencyGridResultDTO.getId(),screenAgencyGridResultDTO);
}
// 创建根节点列表
List<ScreenAgencyGridResultDTO> 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;
}
}

6
esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/resources/mapper/ScreenAgencyGridDao.xml

@ -15,6 +15,12 @@
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
</resultMap>
<select id="getList" resultType="com.elink.esua.epdc.dto.result.ScreenAgencyGridResultDTO">
select ID as id,PID as pid,NAME as name,LEVEL as level from screen_agency_grid where DEL_FLAG = 0
</select>
</mapper>
Loading…
Cancel
Save