| | |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.temporal.ChronoUnit; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | |
| | | List<Long> employeeIds = certs.stream() |
| | | .map(SafetyCertificateDO::getEmployeeId) |
| | | .filter(Objects::nonNull).distinct().toList(); |
| | | Map<Long, HrmEmployeeSimpleDTO> employeeMap = employeeIds.isEmpty() ? Map.of() |
| | | // 用 new HashMap<>() 而非 Map.of():employeeId 允许为 null, |
| | | // 后面 employeeMap.get(cert.getEmployeeId()) 在空集合场景会 get(null), |
| | | // Map.of() 的 get(null) 会抛 NPE 导致证件列表接口 500。 |
| | | Map<Long, HrmEmployeeSimpleDTO> employeeMap = employeeIds.isEmpty() ? new HashMap<>() |
| | | : hrmEmployeeApi.getEmployeeList(employeeIds).stream() |
| | | .collect(Collectors.toMap(HrmEmployeeSimpleDTO::getId, e -> e, (a, b) -> a)); |
| | | certs.forEach(cert -> { |