顺胜v5.0开发

上海顺胜组织架构图v2
Chengliang 10 months ago
parent 601fe344e7
commit b38f98693b

@ -22,4 +22,6 @@ public class ChartDepartmentModeVO {
private String leaderName; private String leaderName;
private Integer colorCheck; private Integer colorCheck;
private String jobType;
} }

@ -53,6 +53,7 @@ public class ChartPO {
private String level; private String level;
private String jobType;
private String id; private String id;
private String key; private String key;

@ -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();
} }

Loading…
Cancel
Save