Commit 11827504 authored by 鲁鸿波's avatar 鲁鸿波

东北港口显示港口及以下

        其它的显示上一级以及所有下级
        中粮贸易: 显示所有
        大区: 大区以及下面所有的经营部以及所有的粮库
        经营部: 经营部以及下面所有的粮库
        粮库: 显示自己上级的经营部以及此经营部下面所有的粮库
        东北港口下的组织机构账号选择的时候也是展示整个东北港口
parent 3657bf7c
...@@ -511,6 +511,86 @@ public class NewSysOrgController extends SuperController { ...@@ -511,6 +511,86 @@ public class NewSysOrgController extends SuperController {
return baseResponse; return baseResponse;
} }
@ApiModelProperty(value = "根据机构id获取机构树(危险作业)")
@ApiOperation(
value = "据机构id获取机构树(危险作业)",
notes = ""
)
@GetMapping(value = "/getOrgTreeHazardWorkPlan")
public BaseResponse<NewTreeVo> getOrgTreeHazardWorkPlan(String orgId) throws Exception {
BaseResponse<NewTreeVo> baseResponse = new BaseResponse<>();
NewSysOrg org = sysOrgService.getOne(new QueryWrapper<NewSysOrg>().eq("org_id", orgId));
List<NewSysOrg> allOrgs = new ArrayList<>();
/*东北港口显示港口及以下
其它的显示上一级以及所有下级
中粮贸易: 显示所有
大区: 大区以及下面所有的经营部以及所有的粮库
经营部: 经营部以及下面所有的粮库
粮库: 显示自己上级的经营部以及此经营部下面所有的粮库
东北港口下的组织机构账号选择的时候也是展示整个东北港口
*/
String dbgkOrgId = "1335dbc3f81b4919bf59014fede4819d";
if(org.getParentIds().contains(dbgkOrgId)){
//东北港口
allOrgs = sysOrgService.list(new QueryWrapper<NewSysOrg>()
.ne(SysOrg.STATUS, BizConstants.STATUS_DELETE)
.eq(SysOrg.IS_DEPT, "0")
.like("parent_ids", dbgkOrgId)
.or().eq("org_id",dbgkOrgId)
);
}else{
if(org.getTreeLevel().compareTo(BigDecimal.valueOf(4))==0){
allOrgs = sysOrgService.list(new QueryWrapper<NewSysOrg>()
.ne(SysOrg.STATUS, BizConstants.STATUS_DELETE)
.eq(SysOrg.IS_DEPT, "0")
.like("parent_ids", org.getParentId())
.or().eq("org_id",org.getParentId())
);
}else{
allOrgs = sysOrgService.list(new QueryWrapper<NewSysOrg>()
.ne(SysOrg.STATUS, BizConstants.STATUS_DELETE)
.eq(SysOrg.IS_DEPT, "0")
.like("parent_ids", org.getOrgId())
.or().eq("org_id",org.getOrgId())
);
}
}
// 使用Map来存储orgId到SysOrg的映射
Map<String, NewSysOrg> orgMap = allOrgs.stream()
.collect(Collectors.toMap(NewSysOrg::getOrgId, Function.identity()));
SysOrg rootOrg = new SysOrg();
if (org.getParentIds().contains(dbgkOrgId)) {
rootOrg = orgMap.get(dbgkOrgId);
}else{
rootOrg = orgMap.get(orgId);
}
if (rootOrg == null) {
return new BaseResponse<>(); // 根节点不存在
}
// 将SysOrg转为NewTreeVo
NewTreeVo rootNewTreeVo = BeanHelper.beanToBean(rootOrg, NewTreeVo.class);
if (org.getParentIds().contains(dbgkOrgId)) {
rootNewTreeVo.setChildren(buildChildren(dbgkOrgId, orgMap));
}else if(org.getTreeLevel().compareTo(BigDecimal.valueOf(4))==0){
rootNewTreeVo.setChildren(buildChildren(org.getParentId(), orgMap));
}else{
rootNewTreeVo.setChildren(buildChildren(orgId, orgMap));
}
baseResponse.setData(rootNewTreeVo);
return baseResponse;
}
private List<NewTreeVo> buildChildren(String parentId, Map<String, NewSysOrg> orgMap) { private List<NewTreeVo> buildChildren(String parentId, Map<String, NewSysOrg> orgMap) {
List<NewTreeVo> children = new ArrayList<>(); List<NewTreeVo> children = 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