Commit 8febe2ad authored by gaodongdong's avatar gaodongdong

修改组织机构树

parent 5103c452
...@@ -6,6 +6,8 @@ import lombok.experimental.Accessors; ...@@ -6,6 +6,8 @@ import lombok.experimental.Accessors;
import java.util.List; import java.util.List;
import org.springframework.util.ObjectUtils;
/** /**
* @author fengwang * @author fengwang
* @date 2021-06-19. * @date 2021-06-19.
...@@ -14,12 +16,43 @@ import java.util.List; ...@@ -14,12 +16,43 @@ import java.util.List;
@Accessors(chain = true) @Accessors(chain = true)
@ApiModel(value="OrgMenuVo", description="树菜单") @ApiModel(value="OrgMenuVo", description="树菜单")
public class OrgMenuVo { public class OrgMenuVo {
public Long key; private Long key;
public String title; private Long value;
public Long parentId; private String title;
public boolean leaf = true; private String name;
public List<OrgMenuVo> children; private Long parentId;
public String bizOrgType; private Boolean leaf = true;
private Boolean isLeaf = true;
private List<OrgMenuVo> children;
private String bizOrgType;
private String bizOrgCode;
public Boolean getLeaf() {
return ObjectUtils.isEmpty(children);
}
public Boolean getIsLeaf() {
return ObjectUtils.isEmpty(children);
}
public Long getValue() {
return key;
}
public String getName() {
return title;
}
public OrgMenuVo(Long key, String title, Long parentId, String bizOrgType, boolean leaf, String bizOrgCode) {
super();
this.key = key;
this.title = title;
this.parentId = parentId;
this.bizOrgType = bizOrgType;
this.leaf = leaf;
this.bizOrgCode = bizOrgCode;
}
public OrgMenuVo(Long key, String title, Long parentId, String bizOrgType, boolean leaf) { public OrgMenuVo(Long key, String title, Long parentId, String bizOrgType, boolean leaf) {
super(); super();
this.key = key; this.key = key;
......
...@@ -138,12 +138,26 @@ public class OrgUsrController extends BaseController { ...@@ -138,12 +138,26 @@ public class OrgUsrController extends BaseController {
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/companyTree", method = RequestMethod.GET) @RequestMapping(value = "/companyTree", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取单位部门树", notes = "获取单位部门树") @ApiOperation(httpMethod = "GET", value = "获取单位部门树(key为物理主键)", notes = "获取单位部门树(key为物理主键)\"")
public ResponseModel< List<OrgMenuVo>>selectCompanyTree() throws Exception { public ResponseModel< List<OrgMenuVo>>selectCompanyTree() throws Exception {
List<OrgMenuVo> menus = iOrgUsrService.getTree(null, iOrgUsrService.selectCompanyDepartmentMsg(), OrgUsr.class.getName(), "getSequenceNbr", 2, "getBizOrgName", "getParentId", "getBizOrgType"); List<OrgMenuVo> menus = iOrgUsrService.getTree(null, iOrgUsrService.selectCompanyDepartmentMsg(), OrgUsr.class.getName(), "getSequenceNbr", 2, "getBizOrgName", "getParentId", "getBizOrgType");
return ResponseHelper.buildResponse(menus); return ResponseHelper.buildResponse(menus);
} }
/**
*
* 获取单位部门树
* @param
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/orgTree", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取单位部门树(bizOrgCode为物理主键)", notes = "获取单位部门树(bizOrgCode为物理主键)\"")
public ResponseModel< List<OrgMenuVo>>selectCompanyTreeCode() throws Exception {
List<OrgMenuVo> menus = iOrgUsrService.buildTreeParallel(iOrgUsrService.selectCompanyDepartmentMsg());
return ResponseHelper.buildResponse(menus);
}
/** /**
* 列表分页查询 * 列表分页查询
......
...@@ -9,6 +9,7 @@ import java.util.HashMap; ...@@ -9,6 +9,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Random; import java.util.Random;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -63,6 +64,37 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -63,6 +64,37 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
return this.baseMapper.selectUpUnitByParam(id); return this.baseMapper.selectUpUnitByParam(id);
} }
public static List<OrgMenuVo> buildTreeParallel(List<OrgUsr> list) {
List<OrgMenuVo> menuList = list.stream().map(o -> {
OrgMenuVo menu = new OrgMenuVo(o.getSequenceNbr(), o.getBizOrgName(), ObjectUtils.isEmpty(o.getParentId()) ? 0L :Long.valueOf(o.getParentId()), o.getBizOrgType(), false, o.getBizOrgCode());
return menu;
}).collect(Collectors.toList());
List<OrgMenuVo> result = new ArrayList<>();
Map<Long, OrgMenuVo> map = new HashMap<>(menuList.size());
menuList.forEach(e -> map.put(e.getKey(), e));
Set<? extends Map.Entry<Long, ? extends OrgMenuVo>> entries = map.entrySet();
entries.parallelStream().forEach(entry -> {
OrgMenuVo value = entry.getValue();
if (value != null) {
OrgMenuVo treeDto = map.get(value.getParentId());
if (treeDto != null) {
List<OrgMenuVo> children = treeDto.getChildren();
if (children == null) {
children = new ArrayList<>();
treeDto.setChildren(children);
}
children.add(value);
} else {
result.add(value);
}
}
});
return result;
}
@Override @Override
public List<OrgMenuVo> getTree(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy, String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception { public List<OrgMenuVo> getTree(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy, String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception {
List<OrgMenuVo> resultList = new ArrayList<>(); List<OrgMenuVo> resultList = new ArrayList<>();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment