diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java index 04c75977..3db8e17d 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java @@ -614,9 +614,9 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl 0) { errorMsgs.add(errMsgHeader.append(errMsg).toString()); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java index 2a95291e..f6a8b32f 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java @@ -489,9 +489,9 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl 0) { errorMsgs.add(errMsgHeader.append(errMsg).toString()); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/util/ExcelUtils.java b/laws-modules/src/main/java/com/jero/modules/activiti/util/ExcelUtils.java index ac8dfe59..d373c5d4 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/util/ExcelUtils.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/util/ExcelUtils.java @@ -368,19 +368,24 @@ public class ExcelUtils { return matcher.find(); } - public String validSingleDateMustInput(String date, String name) { + public String validSingleDateMustInputNotBeforeToday(String date, String name) { if (StrUtil.isBlank(date)) { return "'" + name + "'不能为空。"; } - return this.validSingleDate(date, name); + return this.validSingleDateNotBeforeToday(date, name); } - public String validSingleDate(String date, String name) { - if (importUtil.singleDateValid(date)) { + public String validSingleDateNotBeforeToday(String date, String name) { + if (StrUtil.isBlank(date)) { return ""; - } else { + } + if (!importUtil.singleDateValid(date)) { return "'" + name + "'格式错误。"; } + if (!importUtil.singleDateValidNotBeforeToday(date)) { + return "'" + name + "'不能早于今天。"; + } + return ""; } public String validPartName(String value, List listDict) { diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java b/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java index a33eda66..61ec840b 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/util/ImportUtil.java @@ -552,6 +552,39 @@ public class ImportUtil { return checkList; } + public boolean singleDateValidNotBeforeToday(String cellValue) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + // 设置lenient为false,使得日期解析更为严格 + sdf.setLenient(false); + try { + Date date = sdf.parse(cellValue.trim()); // 解析日期 + + Calendar today = Calendar.getInstance(); + today.set(Calendar.HOUR_OF_DAY, 0); + today.set(Calendar.MINUTE, 0); + today.set(Calendar.SECOND, 0); + today.set(Calendar.MILLISECOND, 0); + + Calendar inputDate = Calendar.getInstance(); + inputDate.setTime(date); + inputDate.set(Calendar.HOUR_OF_DAY, 0); + inputDate.set(Calendar.MINUTE, 0); + inputDate.set(Calendar.SECOND, 0); + inputDate.set(Calendar.MILLISECOND, 0); + + if (inputDate.before(today)) { + log.error("日期必须大于等于今天"); + return false; + } + return true; + } catch (ParseException e) { + // 这里捕获的应该是ParseException + log.error("日期转换错误: {}", e.getMessage()); + return false; + } + } + // 单选日期校验 public boolean singleDateValid(String cellValue) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");