fix: 78318
国标--导入--在产实施日期字段输入多个日期报错
This commit is contained in:
@@ -411,8 +411,8 @@ public class ImportUtil {
|
|||||||
// 多选时间
|
// 多选时间
|
||||||
if (FieldShowTypeEnum.MULTI_DATE_PICKER.getValue().equals(tag.getFieldShowType())) {
|
if (FieldShowTypeEnum.MULTI_DATE_PICKER.getValue().equals(tag.getFieldShowType())) {
|
||||||
if (!this.multiDateValid(cellValue)) {
|
if (!this.multiDateValid(cellValue)) {
|
||||||
log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误 ");
|
log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误,多选时间格式为yyyy-MM-dd,yyyy-MM-dd ");
|
||||||
errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误 ");
|
errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误,多选时间格式为yyyy-MM-dd,yyyy-MM-dd ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 多选标准弹框
|
// 多选标准弹框
|
||||||
@@ -525,12 +525,16 @@ public class ImportUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean multiDateValid(String cellValue) {
|
private boolean multiDateValid(String cellValue) {
|
||||||
|
String dataPath = "yyyy-MM-dd";
|
||||||
String[] dates = cellValue.split(",");
|
String[] dates = cellValue.split(",");
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
SimpleDateFormat sdf = new SimpleDateFormat(dataPath);
|
||||||
// 设置lenient为false,使得日期解析更为严格
|
// 设置lenient为false,使得日期解析更为严格
|
||||||
sdf.setLenient(false);
|
sdf.setLenient(false);
|
||||||
try {
|
try {
|
||||||
for (String date : dates) {
|
for (String date : dates) {
|
||||||
|
if (date.length() < dataPath.length()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
// 使用parse方法而不是format方法
|
// 使用parse方法而不是format方法
|
||||||
sdf.parse(date.trim()); // 这里还添加了trim()以去除可能的空白字符
|
sdf.parse(date.trim()); // 这里还添加了trim()以去除可能的空白字符
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user