时点花名册查询id转换

This commit is contained in:
Administrator 2025-05-27 14:38:12 +08:00
parent a162f191c6
commit 18b4dd31b2
1 changed files with 141 additions and 0 deletions

View File

@ -35,11 +35,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
import static com.weaver.inc.common.util.TimeUtil.DATE_FORMATTER;
@Service
public class EmployeeRelationServiceImpl implements EmployeeRelationService {
@ -896,6 +900,12 @@ public class EmployeeRelationServiceImpl implements EmployeeRelationService {
resultList.addAll(transferInfoNew);
}
}
convertHireDatesRobust(resultList);
/**
* 相关id转化为名称
*/
transformname(resultList);
return resultList;
}
@ -993,4 +1003,135 @@ public class EmployeeRelationServiceImpl implements EmployeeRelationService {
log.error("queryTransferInfo.recordList:{}", recordList);
return recordList;
}
/**
* 更健壮的版本可以处理String类型的时间戳
*/
private void convertHireDatesRobust(List<Map<String, Object>> resultList) {
if (resultList == null) {
return;
}
resultList.forEach(map -> {
if (map.containsKey("hiredate")) {
Object hiredateValue = map.get("hiredate");
try {
// 尝试处理Long类型的时间戳
if (hiredateValue instanceof Long) {
Long timestamp = (Long) hiredateValue;
LocalDateTime dateTime = LocalDateTime.ofInstant(
Instant.ofEpochMilli(timestamp),
ZoneId.systemDefault());
map.put("hiredate", dateTime.format(DATE_FORMATTER));
}
// 尝试处理String类型的时间戳
else if (hiredateValue instanceof String) {
String dateStr = (String) hiredateValue;
try {
// 尝试解析为Long
Long timestamp = Long.parseLong(dateStr);
LocalDateTime dateTime = LocalDateTime.ofInstant(
Instant.ofEpochMilli(timestamp),
ZoneId.systemDefault());
map.put("hiredate", dateTime.format(DATE_FORMATTER));
} catch (NumberFormatException e) {
// 不是时间戳格式假设已经是正确格式不做处理
}
}
} catch (Exception e) {
// 处理异常情况
e.printStackTrace();
}
}
});
}
/**
* 查询员工类型名称
*/
private String getYglxmc(String id){
String name = "";
String sql = "select yglxmc from uf_jcl_yglx where delete_type = 0 and id = " + id;
log.error("getYglxmc.sql:{}", sql);
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
log.error("getYglxmc.recordList:{}", recordList);
if(CollectionUtils.isEmpty(recordList)){
name = String.valueOf(recordList.get(0).get("yglxmc"));
}
return name;
}
/**
* 查询公司或部门
*/
private String getDepartmentName(String deptid){
String name = "";
String sql = "select name from eteams.department where delete_type = 0 and id = " + deptid;
log.error("getDepartmentName.sql:{}", sql);
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
log.error("getDepartmentName.recordList:{}", recordList);
if(CollectionUtils.isEmpty(recordList)){
name = String.valueOf(recordList.get(0).get("name"));
}
return name;
}
/**
* 查询岗位
*/
private String getPositionName(String positionid){
String name = "";
String sql = "select name from eteams.position where delete_type = 0 and id = " + positionid;
log.error("getPositionName.sql:{}", sql);
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
log.error("getPositionName.recordList:{}", recordList);
if(CollectionUtils.isEmpty(recordList)){
name = String.valueOf(recordList.get(0).get("name"));
}
return name;
}
/**
* 查询上级
*/
private String getUsername(String empid){
String name = "";
String sql = "select username from eteams.employee where delete_type = 0 and id = " + empid;
log.error("getUsername.sql:{}", sql);
Map<String, Object> rs = databaseUtils.execute("LOGIC", "weaver-ebuilder-form-service", sql);
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(rs);
log.error("getUsername.recordList:{}", recordList);
if(CollectionUtils.isEmpty(recordList)){
name = String.valueOf(recordList.get(0).get("username"));
}
return name;
}
/**
* 人员信息id转化为名称
*/
private void transformname (List<Map<String, Object>> resultList){
for (Map<String, Object> map : resultList) {
String yglx = String.valueOf(map.get("yglx"));
String subcompany = String.valueOf(map.get("subcompany"));
String department = String.valueOf(map.get("department"));
String position = String.valueOf(map.get("position"));
String superior = String.valueOf(map.get("superior"));
String yglxmc = getYglxmc(yglx);
String subcompanyName = getDepartmentName(subcompany);
String departmentName = getDepartmentName(department);
String positionName = getPositionName(position);
String username = getUsername(superior);
map.put("yglx",yglxmc);
map.put("subcompany",subcompanyName);
map.put("department",departmentName);
map.put("position",positionName);
map.put("superior",username);
}
}
}