fix: 78318

国标--导入--在产实施日期字段输入多个日期报错
This commit is contained in:
2023-11-08 11:58:21 +08:00
parent b2ee8964fb
commit c16c3d2114
@@ -411,8 +411,8 @@ public class ImportUtil {
// 多选时间
if (FieldShowTypeEnum.MULTI_DATE_PICKER.getValue().equals(tag.getFieldShowType())) {
if (!this.multiDateValid(cellValue)) {
log.error("" + row + "" + tag.getDbFieldTxt() + "填写错误 ");
errMsg.append("").append(row).append("").append(tag.getDbFieldTxt()).append("填写错误 ");
log.error("" + row + "" + tag.getDbFieldTxt() + "填写错误,多选时间格式为yyyy-MM-dd,yyyy-MM-dd ");
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) {
String dataPath = "yyyy-MM-dd";
String[] dates = cellValue.split(",");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf = new SimpleDateFormat(dataPath);
// 设置lenient为false,使得日期解析更为严格
sdf.setLenient(false);
try {
for (String date : dates) {
if (date.length() < dataPath.length()) {
return false;
}
// 使用parse方法而不是format方法
sdf.parse(date.trim()); // 这里还添加了trim()以去除可能的空白字符
}