优化代码String deptparentid = nullStr(map.get("HR_DEPT_PARENT"));//上级部门id String orgparentid = null;//上级组织id if(zjkDeptOrgMaps.get(orgparentid) != null){//集团无上级 if("2".equals(zjkDeptOrgMaps.get(deptparentid).get("DEPTORGTYPE"))){//2为组织\0集团(组织) orgparentid = deptparentid; }else if("2".equals(zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(deptparentid).get("HR_DEPT_PARENT")).get("DEPTORGTYPE"))){ orgparentid = zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(deptparentid).get("HR_DEPT_PARENT")).toString(); }else if("2".equals(zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(deptparentid).get("HR_DEPT_PARENT")).get("HR_DEPT_PARENT")).get("DEPTORGTYPE"))){ orgparentid = zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(deptparentid).get("HR_DEPT_PARENT")).get("HR_DEPT_PARENT")).toString(); }else if("2".equals(zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(deptparentid).get("HR_DEPT_PARENT")).get("HR_DEPT_PARENT"))).get("DEPTORGTYPE"))){ orgparentid = zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(zjkDeptOrgMaps.get(deptparentid).get("HR_DEPT_PARENT")).get("HR_DEPT_PARENT"))).toString(); }
时间: 2024-03-16 18:45:51 浏览: 25
这段代码可以进行如下优化:
1. 将重复的代码提取出来,写成一个方法,这样可以避免代码的冗余。
2. 用循环代替多重嵌套的 if 语句,这样可以使代码更简洁易懂。
3. 使用变量来存储中间结果,避免多次访问 map 和 zjkDeptOrgMaps,提高代码的效率。
以下是代码优化后的示例:
```
private String findOrgParentId(String deptParentId, Map<String, Map<String, String>> zjkDeptOrgMaps) {
String orgParentId = null;
String currentDeptId = deptParentId;
while (zjkDeptOrgMaps.get(currentDeptId) != null && "1".equals(zjkDeptOrgMaps.get(currentDeptId).get("DEPTORGTYPE"))) {
currentDeptId = zjkDeptOrgMaps.get(currentDeptId).get("HR_DEPT_PARENT");
}
if (zjkDeptOrgMaps.get(currentDeptId) != null && "2".equals(zjkDeptOrgMaps.get(currentDeptId).get("DEPTORGTYPE"))) {
orgParentId = currentDeptId;
}
return orgParentId;
}
```
然后在原来的代码中,可以直接调用这个方法来获取上级组织 id,如下所示:
```
String deptParentId = nullStr(map.get("HR_DEPT_PARENT"));
String orgParentId = findOrgParentId(deptParentId, zjkDeptOrgMaps);
```
相关推荐
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pas](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)