|
|
@ -146,6 +146,7 @@ public class ChartServiceImpl extends Service implements ChartService {
|
|
|
|
ChartDepartmentModeVO departmentModeVO = selectModeInfo(rs.getString("id"));
|
|
|
|
ChartDepartmentModeVO departmentModeVO = selectModeInfo(rs.getString("id"));
|
|
|
|
topChartPO.setColorCheck(departmentModeVO.getColorCheck());
|
|
|
|
topChartPO.setColorCheck(departmentModeVO.getColorCheck());
|
|
|
|
topChartPO.setFleader(departmentModeVO.getLeaderName());
|
|
|
|
topChartPO.setFleader(departmentModeVO.getLeaderName());
|
|
|
|
|
|
|
|
topChartPO.setJobType(departmentModeVO.getJobType());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
filterAndAddData(dataList, topChartPO, hideDepartment);
|
|
|
|
filterAndAddData(dataList, topChartPO, hideDepartment);
|
|
|
|
//dataList.add(topChartPO);
|
|
|
|
//dataList.add(topChartPO);
|
|
|
@ -227,6 +228,7 @@ public class ChartServiceImpl extends Service implements ChartService {
|
|
|
|
ChartDepartmentModeVO departmentModeVO = selectModeInfo(rs.getString("id"));
|
|
|
|
ChartDepartmentModeVO departmentModeVO = selectModeInfo(rs.getString("id"));
|
|
|
|
chartPO.setColorCheck(departmentModeVO.getColorCheck());
|
|
|
|
chartPO.setColorCheck(departmentModeVO.getColorCheck());
|
|
|
|
chartPO.setFleader(departmentModeVO.getLeaderName());
|
|
|
|
chartPO.setFleader(departmentModeVO.getLeaderName());
|
|
|
|
|
|
|
|
chartPO.setJobType(departmentModeVO.getJobType());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -430,8 +432,6 @@ public class ChartServiceImpl extends Service implements ChartService {
|
|
|
|
(existing, replacement) -> existing));
|
|
|
|
(existing, replacement) -> existing));
|
|
|
|
personList = new ArrayList<>(map.values());
|
|
|
|
personList = new ArrayList<>(map.values());
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, String> managerToFobjidMap = personList.stream()
|
|
|
|
|
|
|
|
.collect(Collectors.toMap(ChartPO::getFobjid, ChartPO::getManagerId));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<ChartPO> finalPersonList = personList;
|
|
|
|
List<ChartPO> finalPersonList = personList;
|
|
|
|
personList.forEach(element -> finalPersonList.stream()
|
|
|
|
personList.forEach(element -> finalPersonList.stream()
|
|
|
@ -439,13 +439,8 @@ public class ChartServiceImpl extends Service implements ChartService {
|
|
|
|
.findFirst()
|
|
|
|
.findFirst()
|
|
|
|
.ifPresent(matched -> element.setParentId(matched.getId())));
|
|
|
|
.ifPresent(matched -> element.setParentId(matched.getId())));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
personList.sort(Comparator.comparing(ChartServiceImpl::safeConvertToInteger, Comparator.nullsLast(Comparator.reverseOrder()))
|
|
|
|
// personList.forEach(chart -> {
|
|
|
|
.thenComparing(ChartServiceImpl::safeConvertToDouble, Comparator.nullsLast(Comparator.reverseOrder())));
|
|
|
|
// String fobjId = managerToFobjidMap.get(chart.getManagerId());
|
|
|
|
|
|
|
|
// if (StringUtils.isNotEmpty(fobjId)) {
|
|
|
|
|
|
|
|
// chart.setParentId(chart.getManagerId());
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dataList.addAll(personList);
|
|
|
|
dataList.addAll(personList);
|
|
|
|
departmentChartPO.setFonjob(personList.size());
|
|
|
|
departmentChartPO.setFonjob(personList.size());
|
|
|
@ -462,6 +457,30 @@ public class ChartServiceImpl extends Service implements ChartService {
|
|
|
|
return result;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static Integer safeConvertToInteger(ChartPO chartPO) {
|
|
|
|
|
|
|
|
String level = chartPO.getLevel();
|
|
|
|
|
|
|
|
if (level == null || !level.matches("-?\\d+")) {
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
return Integer.parseInt(level);
|
|
|
|
|
|
|
|
} catch (NumberFormatException e) {
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static Double safeConvertToDouble(ChartPO chartPO) {
|
|
|
|
|
|
|
|
String companyWorkYear = chartPO.getCompanyWorkYear();
|
|
|
|
|
|
|
|
if (companyWorkYear == null) {
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
return Double.parseDouble(companyWorkYear);
|
|
|
|
|
|
|
|
} catch (NumberFormatException e) {
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public String selectVersionDate(String id) {
|
|
|
|
public String selectVersionDate(String id) {
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
@ -1619,6 +1638,7 @@ public class ChartServiceImpl extends Service implements ChartService {
|
|
|
|
ChartDepartmentModeVO departmentModeVO = selectModeInfo(recordSet.getString("id"));
|
|
|
|
ChartDepartmentModeVO departmentModeVO = selectModeInfo(recordSet.getString("id"));
|
|
|
|
chartPO.setColorCheck(departmentModeVO.getColorCheck());
|
|
|
|
chartPO.setColorCheck(departmentModeVO.getColorCheck());
|
|
|
|
chartPO.setFleader(departmentModeVO.getLeaderName());
|
|
|
|
chartPO.setFleader(departmentModeVO.getLeaderName());
|
|
|
|
|
|
|
|
chartPO.setJobType(departmentModeVO.getJobType());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 小于、等于所选层级元素展开
|
|
|
|
// 小于、等于所选层级元素展开
|
|
|
|
chartPO.setExpand(inDepth(selectDepth, chartPO.getDepartmentDepth()) ? "1" : "0");
|
|
|
|
chartPO.setExpand(inDepth(selectDepth, chartPO.getDepartmentDepth()) ? "1" : "0");
|
|
|
@ -1897,16 +1917,29 @@ public class ChartServiceImpl extends Service implements ChartService {
|
|
|
|
int colorCheck = 1;
|
|
|
|
int colorCheck = 1;
|
|
|
|
String leaderId = "";
|
|
|
|
String leaderId = "";
|
|
|
|
String leaderName = "";
|
|
|
|
String leaderName = "";
|
|
|
|
rs.executeQuery("select bmfzrid,bjtp from uf_xnbmfzr where xnzzid = ?",departmentId);
|
|
|
|
String jobType = "";
|
|
|
|
|
|
|
|
rs.executeQuery("select bmfzrid,bjtp,rzlx from uf_xnbmfzr where xnzzid = ?",departmentId);
|
|
|
|
if (rs.next()){
|
|
|
|
if (rs.next()){
|
|
|
|
colorCheck = Util.getIntValue(rs.getString("bjtp"),1);
|
|
|
|
colorCheck = Util.getIntValue(rs.getString("bjtp"),1);
|
|
|
|
leaderId = Util.null2String(rs.getString("bmfzrid"));
|
|
|
|
leaderId = Util.null2String(rs.getString("bmfzrid"));
|
|
|
|
leaderName = com.getLastname(leaderId);
|
|
|
|
leaderName = com.getLastname(leaderId);
|
|
|
|
|
|
|
|
jobType = Util.null2String(rs.getString("rzlx"));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotEmpty(jobType)) {
|
|
|
|
|
|
|
|
String propValue = new BaseBean().getPropValue("hrmOrganization", "jobTypeField");
|
|
|
|
|
|
|
|
rs.executeQuery("select selectname from workflow_selectitem where fieldid = ? and selectvalue = ?",propValue,jobType);
|
|
|
|
|
|
|
|
if (rs.next()) {
|
|
|
|
|
|
|
|
jobType = Util.null2String(rs.getString("selectname"));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return ChartDepartmentModeVO.builder()
|
|
|
|
return ChartDepartmentModeVO.builder()
|
|
|
|
.leaderId(leaderId)
|
|
|
|
.leaderId(leaderId)
|
|
|
|
.leaderName(leaderName)
|
|
|
|
.leaderName(leaderName)
|
|
|
|
.colorCheck(colorCheck)
|
|
|
|
.colorCheck(colorCheck)
|
|
|
|
|
|
|
|
.jobType(jobType)
|
|
|
|
.build();
|
|
|
|
.build();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|