dev
luotaiqian 2026-08-03 10:26:46 +08:00
parent 311fbf6946
commit 135ed094d3
1 changed files with 14 additions and 2 deletions

View File

@ -23,6 +23,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
@ -48,6 +49,8 @@ public class OrgPersonnelExcelImporter {
private static final Logger LOGGER = LoggerFactory.getLogger(OrgPersonnelExcelImporter.class); private static final Logger LOGGER = LoggerFactory.getLogger(OrgPersonnelExcelImporter.class);
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd"); private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
private static final DateTimeFormatter SLASH_DATE_FORMATTER =
new DateTimeFormatterBuilder().appendPattern("yyyy/M/d").toFormatter();
@Resource @Resource
private OrgDepartmentGateway orgDepartmentGateway; private OrgDepartmentGateway orgDepartmentGateway;
@ -362,13 +365,22 @@ public class OrgPersonnelExcelImporter {
return list.isEmpty() ? null : list; return list.isEmpty() ? null : list;
} }
/**
* yyyy-MM-dd yyyy/M/d 1988-05-121988/5/12 Excel
*/
private LocalDate parseDate(String text) { private LocalDate parseDate(String text) {
if (!StringUtils.hasText(text)) { if (!StringUtils.hasText(text)) {
return null; return null;
} }
String trimmed = text.trim();
try { try {
return LocalDate.parse(text, DATE_FORMATTER); return LocalDate.parse(trimmed, DATE_FORMATTER);
} catch (Exception ex) { } catch (Exception ignore) {
// 继续尝试斜杠格式
}
try {
return LocalDate.parse(trimmed, SLASH_DATE_FORMATTER);
} catch (Exception ignore) {
return null; return null;
} }
} }