import
parent
311fbf6946
commit
135ed094d3
|
|
@ -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-12、1988/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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue