diff --git a/src/com/engine/organization/entity/chart/ChartDepartmentModeVO.java b/src/com/engine/organization/entity/chart/ChartDepartmentModeVO.java index 989942a7..53339d71 100644 --- a/src/com/engine/organization/entity/chart/ChartDepartmentModeVO.java +++ b/src/com/engine/organization/entity/chart/ChartDepartmentModeVO.java @@ -17,6 +17,8 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class ChartDepartmentModeVO { + private String leaderId; + private String leaderName; private Integer colorCheck; diff --git a/src/com/engine/organization/entity/chart/ChartPO.java b/src/com/engine/organization/entity/chart/ChartPO.java index 39bf4e09..47f3378c 100644 --- a/src/com/engine/organization/entity/chart/ChartPO.java +++ b/src/com/engine/organization/entity/chart/ChartPO.java @@ -47,6 +47,8 @@ public class ChartPO { private String jobResponsibility; + private String managerId; + private String id; private String key; diff --git a/src/com/engine/organization/service/impl/ChartServiceImpl.java b/src/com/engine/organization/service/impl/ChartServiceImpl.java index fd722e69..3a63777f 100644 --- a/src/com/engine/organization/service/impl/ChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/ChartServiceImpl.java @@ -278,8 +278,13 @@ public class ChartServiceImpl extends Service implements ChartService { ChartDepartmentModeVO chartDepartmentModeVO = selectModeInfo(departmentId); departmentChartPO.setFleader(chartDepartmentModeVO.getLeaderName()); departmentChartPO.setColorCheck(chartDepartmentModeVO.getColorCheck()); + try { + departmentChartPO.setFleaderimg(new ResourceComInfo().getMessagerUrls(chartDepartmentModeVO.getLeaderId())); + } catch (Exception e) { + throw new RuntimeException(e); + } }else { - // 部门负责人 + // 部门负责人 非虚拟维度部门负责人多个 不设置图像 departmentChartPO.setFleader(getDepartmentLeader(fLeader)); } @@ -336,19 +341,43 @@ public class ChartServiceImpl extends Service implements ChartService { // 直接查询岗位下的人员 if (isRealTime) { if (isRealDimension) { - sql = "select a.id,a.lastname as name ,a.belongto ,a.companyworkyear from hrmresource a where a.status < 4 and a.departmentid = ? "; + sql = "select a.id,a.lastname as name ,a.belongto ,a.companyworkyear,a.managerid from hrmresource a where a.status < 4 and a.departmentid = ? "; } else { - sql = "select a.id,a.lastname as name ,a.belongto ,a.companyworkyear from hrmresource a inner join hrmresourcevirtual b on a.id = b.resourceid where a.status < 4 and b.departmentid = ? "; + sql = "select a.id,a.lastname as name ,a.belongto ,a.companyworkyear,a.managerid from hrmresource a inner join hrmresourcevirtual b on a.id = b.resourceid where a.status < 4 and b.departmentid = ? "; } } else { - sql = "select a.resourceid as id,a.lastname as name ,a.belongto ,a.companyworkyear from jcl_chart_resource a where a.status < 4 and a.departmentid = ? and versionid = " + versionId; + sql = "select a.resourceid as id,a.lastname as name ,a.belongto ,a.companyworkyear,a.manager from jcl_chart_resource a where a.status < 4 and a.departmentid = ? and versionid = " + versionId; } + + List personList = new ArrayList<>(); rs.executeQuery(sql, departmentId); while (rs.next()) { + String managerId; + if (isRealTime) { + managerId = Util.null2String(rs.getString("managerid")); + }else { + managerId = Util.null2String(rs.getString("manager")); + } ChartPO chartPO = getResourceChartPO(rs.getString("id"), rs.getString("name"), rootId, rs.getString("belongto"), rs.getString("companyworkyear"),isRealDimension); - dataList.add(chartPO); + chartPO.setManagerId(managerId); + personList.add(chartPO); departmentOnJob++; } + //顺胜二开 直接上级单独节点 + //Map managerToFobjidMap = personList.stream() + // .collect(Collectors.toMap(ChartPO::getManagerId, ChartPO::getFobjid,(existingValue, newValue) -> newValue)); + + Map managerToFobjidMap = personList.stream() + .collect(Collectors.toMap(ChartPO::getFobjid, ChartPO::getManagerId)); + + personList.forEach(chart -> { + String managerId = managerToFobjidMap.get(chart.getManagerId()); + if (StringUtils.isNotEmpty(managerId)) { + chart.setParentId(chart.getManagerId()); + } + }); + + dataList.addAll(personList); } departmentChartPO.setFonjob(departmentOnJob); @@ -1733,13 +1762,16 @@ public class ChartServiceImpl extends Service implements ChartService { RecordSet rs = new RecordSet(); ResourceComInfo com = new ResourceComInfo(); int colorCheck = 1; - String leaderName = null; + String leaderId = ""; + String leaderName = ""; rs.executeQuery("select bmfzrid,bjtp from uf_xnbmfzr where xnzzid = ?",departmentId); if (rs.next()){ colorCheck = Util.getIntValue(rs.getString("bjtp"),1); - leaderName = com.getLastname(Util.null2String(rs.getString("bmfzrid"))); + leaderId = Util.null2String(rs.getString("bmfzrid")); + leaderName = com.getLastname(leaderId); } return ChartDepartmentModeVO.builder() + .leaderId(leaderId) .leaderName(leaderName) .colorCheck(colorCheck) .build();