Browse Source

找人获取所有组织机构接口

feature/syp_points
songyunpeng 5 years ago
parent
commit
3a0ef9ba68
  1. 25
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/DeptTreeWithTypeKeyDTO.java
  2. 11
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java
  3. 7
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java
  4. 17
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java
  5. 84
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
  6. 11
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml
  7. 10
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java
  8. 23
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiScreenPopulationController.java
  9. 11
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
  10. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
  11. 9
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java
  12. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

25
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/DeptTreeWithTypeKeyDTO.java

@ -0,0 +1,25 @@
package com.elink.esua.epdc.dto.epdc;
import lombok.Data;
import java.io.Serializable;
/**
* @author: songyunpeng
* @Date: 2019/12/13 14:02
* @Description: 部门表树结构
*/
@Data
public class DeptTreeWithTypeKeyDTO implements Serializable {
private static final long serialVersionUID = 7058545106715835343L;
private Long id;
private Long pid;
private String name;
private String typeKey;
}

11
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java

@ -209,6 +209,17 @@ public class SysDeptController {
public Result<DeptOption> getDeptTree() {
return sysDeptService.getDeptTree();
}
/***
* 获取所有部门树 - 带typekey
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptOption>
* @author qushutong
* @date 2019/12/13 15:25
*/
@GetMapping("party/getDeptTreeWithTypeKey")
public Result<DeptOption> getDeptTreeWithTypeKey() {
return sysDeptService.getDeptTreeWithTypeKey();
}
/**
* @param

7
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java

@ -13,6 +13,7 @@ import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.DeptTreeDTO;
import com.elink.esua.epdc.dto.SysDeptDTO;
import com.elink.esua.epdc.dto.SysSimpleDeptDTO;
import com.elink.esua.epdc.dto.epdc.DeptTreeWithTypeKeyDTO;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
@ -145,6 +146,12 @@ public interface SysDeptDao extends BaseDao<SysDeptEntity> {
* @Description: 查询所有
*/
List<DeptTreeDTO> selectListDeptTree();
/**
* @author: qushutong
* @Date: 2019/12/13 14:17
* @Description: 查询所有带typekey
*/
List<DeptTreeWithTypeKeyDTO> selectListDeptTreeWithTypeKey();
/**
* @param params

17
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java

@ -182,6 +182,15 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
*/
void packgeAllDeptOption();
/***
* 组装所有部门带typekey
* @param
* @return void
* @author qushutong
* @date 2019/12/13 13:54
*/
void packgeAllDeptOptionWithTypeKey();
/***
* 获取所有部门树
* @param
@ -190,6 +199,14 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
* @date 2019/12/13 14:48
*/
Result<DeptOption> getDeptTree();
/***
* 获取所有部门树 - 携带type-key
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptOption>
* @author songyunpeng
* @date 2019/12/13 14:48
*/
Result<DeptOption> getDeptTreeWithTypeKey();
/**
* @param

84
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java

@ -29,6 +29,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
import com.elink.esua.epdc.dao.SysDeptDao;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.DeptTreeWithTypeKeyDTO;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
@ -606,6 +607,62 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
redisUtils.set(RedisKeys.getAllDeptOptionKey(), option);
}
@Override
public void packgeAllDeptOptionWithTypeKey() {
List<DeptTreeWithTypeKeyDTO> deptList = baseDao.selectListDeptTreeWithTypeKey();
JSONObject node;
JSONArray headNodes = new JSONArray();
for (DeptTreeWithTypeKeyDTO deptItemDto : deptList) {
if (deptItemDto.getPid().longValue() == NumConstant.ZERO_L) {
node = new JSONObject();
node.put("value", deptItemDto.getId());
node.put("label", deptItemDto.getName());
node.put("typeKey", deptItemDto.getTypeKey());
headNodes.add(node);
}
}
// 用于存放所有父级节点
JSONArray parent;
parent = headNodes;
// 用于存放所有子级节点
JSONArray allChildren = new JSONArray();
JSONArray children;
// 用于存放单个子级节点
JSONObject childNode;
// 存放其余未处理的类别(节点)
List<DeptTreeWithTypeKeyDTO> others = this.getOtherDeptWithTypeKey(deptList, parent);
while (!others.isEmpty()) {
for (int i = 0; i < parent.size(); i++) {
node = parent.getJSONObject(i);
children = new JSONArray();
for (DeptTreeWithTypeKeyDTO categoryTreeDto : others) {
if (categoryTreeDto.getPid().equals(node.get("value"))) {
childNode = new JSONObject();
childNode.put("value", categoryTreeDto.getId());
childNode.put("label", categoryTreeDto.getName());
childNode.put("typeKey", categoryTreeDto.getTypeKey());
children.add(childNode);
allChildren.add(childNode);
}
}
if (!children.isEmpty()) {
node.put("children", children);
}
}
parent = allChildren;
others = this.getOtherDeptWithTypeKey(others, parent);
}
//存放到redis中
List<JSONArray> cache = Lists.newArrayList();
cache.add(headNodes);
DeptOption option = new DeptOption();
option.setOptions(cache.get(0));
redisUtils.set(RedisKeys.getAllDeptOptionKeyWithTypeKey(), option);
}
List<DeptTreeDTO> getOtherDept(List<DeptTreeDTO> deptList, JSONArray parent) {
List<Long> already = Lists.newArrayList();
@ -623,6 +680,22 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
return others;
}
List<DeptTreeWithTypeKeyDTO> getOtherDeptWithTypeKey(List<DeptTreeWithTypeKeyDTO> deptList, JSONArray parent) {
List<Long> already = Lists.newArrayList();
for (int i = 0; i < parent.size(); i++) {
already.add((Long) parent.getJSONObject(i).get("value"));
}
List<DeptTreeWithTypeKeyDTO> others = Lists.newArrayList();
for (DeptTreeWithTypeKeyDTO categoryTreeDto : deptList) {
Long categoryTreeDtoId = categoryTreeDto.getId();
if (!already.contains(categoryTreeDtoId)) {
others.add(categoryTreeDto);
}
}
return others;
}
/***
@ -643,6 +716,17 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
return new Result<DeptOption>().ok((DeptOption) obj);
}
@Override
public Result<DeptOption> getDeptTreeWithTypeKey() {
String deptKey = RedisKeys.getAllDeptOptionKeyWithTypeKey();
Object obj = redisUtils.get(deptKey);
if (null == obj) {
this.packgeAllDeptOptionWithTypeKey();
obj = redisUtils.get(deptKey);
}
return new Result<DeptOption>().ok((DeptOption) obj);
}
/**
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptOption>

11
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml

@ -252,4 +252,15 @@
where sd.del_flag='0'
and sd.type_key in ('district_party','street_party','street_dept')
</select>
<select id="selectListDeptTreeWithTypeKey"
resultType="com.elink.esua.epdc.dto.epdc.DeptTreeWithTypeKeyDTO">
SELECT
sd.id,
sd.pid,
sd.`name`,
sd.type_key
FROM
sys_dept sd
where sd.del_flag='0'
</select>
</mapper>

10
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java

@ -168,6 +168,16 @@ public class RedisKeys {
public static String getAllDeptOptionKey() {
return rootPrefix.concat("options:dept:all:");
}
/***
* 部门所有层级关系 - 带type key
* @param
* @return java.lang.String
* @author songyunpeng
* @date 2019/12/13 15:03
*/
public static String getAllDeptOptionKeyWithTypeKey() {
return rootPrefix.concat("options:dept:allWithTypeKey:");
}
/**
* @param

23
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiScreenPopulationController.java

@ -2,16 +2,15 @@ package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.DeptOption;
import com.elink.esua.epdc.dto.epdc.form.EpdcScreenSelectPeopleDetailFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcScreenSelectPeopleFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleDetailResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleResultDTO;
import com.elink.esua.epdc.service.AppUserService;
import com.elink.esua.epdc.service.CustomService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -29,6 +28,9 @@ public class ApiScreenPopulationController {
@Autowired
private AppUserService appUserService;
@Autowired
private CustomService customService;
/**
* @Description 大屏找人接口
* @Author songyunpeng
@ -53,4 +55,17 @@ public class ApiScreenPopulationController {
ValidatorUtils.validateEntity(dto);
return appUserService.selectPeopleDetail(dto);
}
/**
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 获取所有组织机构信息
* @Date 2020/1/28 11:50
**/
@GetMapping("getDeptTreeWithTypeKey")
public Result<DeptOption> getDeptTreeWithTypeKey() {
return appUserService.getDeptTreeWithTypeKey();
}
}

11
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java

@ -86,11 +86,20 @@ public interface AdminFeignClient {
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptOption>
* @Author yinzuomei
* @Description 获取所有组织机构信息
* @Description 获取所有组织机构信息 - 二级只带街道
* @Date 2020/1/28 12:15
**/
@GetMapping("sys/dept/party/getDeptTreeForEpiDemic")
Result<DeptOption> getDeptTreeForEpiDemic();
/**
* @Description 所有组织机构
* @Author songyunpeng
* @Date 2020/9/15
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptOption>
**/
@GetMapping("sys/dept/party/getDeptTreeWithTypeKey")
Result<DeptOption> getDeptTreeWithTypeKey();
/**
* 根据数据字典类型获取简版数据字典列表用于页面下拉菜单

5
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java

@ -50,6 +50,11 @@ public class AdminFeignClientFallback implements AdminFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDeptTreeForEpiDemic");
}
@Override
public Result<DeptOption> getDeptTreeWithTypeKey() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDeptTreeWithTypeKey");
}
@Override
public Result<List<SysSimpleDictDTO>> getListSimpleDictInfo(String dictType) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getListSimpleDictInfo", dictType);

9
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java

@ -2,6 +2,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.DeptOption;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.form.v2.EpdcCompleteVolunteerInfoV2FormDTO;
import com.elink.esua.epdc.dto.epdc.result.*;
@ -334,4 +335,12 @@ public interface AppUserService {
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcScreenSelectPeopleDetailResultDTO>
**/
Result<EpdcScreenSelectPeopleDetailResultDTO> selectPeopleDetail(EpdcScreenSelectPeopleDetailFormDTO dto);
/**
* @Description 大屏找人组织机构获取
* @Author songyunpeng
* @Date 2020/9/15
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptOption>
**/
Result<DeptOption> getDeptTreeWithTypeKey();
}

5
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -1596,4 +1596,9 @@ public class AppUserServiceImpl implements AppUserService {
return userFeignClient.selectPeopleDetail(dto);
}
@Override
public Result<DeptOption> getDeptTreeWithTypeKey() {
return adminFeignClient.getDeptTreeWithTypeKey();
}
}

Loading…
Cancel
Save