From eaf0ad590f5dc0ba52000211bd713390774209a3 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Sun, 7 Apr 2024 15:28:59 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=BA=E8=83=9C=E9=A1=B9=E7=9B=AE=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E6=9E=B6=E6=9E=84=E5=9B=BE=E4=BA=8C=E5=BC=80=20?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E8=B4=9F=E8=B4=A3=E4=BA=BA=E5=9B=BE=E5=83=8F?= =?UTF-8?q?=E5=8F=8A=E4=BA=BA=E5=91=98=E6=8C=89=E7=85=A7=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E7=BA=A7=E5=88=86=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/chart/ChartDepartmentModeVO.java | 2 + .../organization/entity/chart/ChartPO.java | 2 + .../service/impl/ChartServiceImpl.java | 46 ++++++++++++++++--- 3 files changed, 43 insertions(+), 7 deletions(-) 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();