feat: 年度制修订导入增加时间限制必须大于等于今天
This commit is contained in:
+3
-3
@@ -614,9 +614,9 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
errMsg.append(excelUtils.validStandardCode(enStandardCode, listDict));
|
||||
errMsg.append(excelUtils.validStandardClassification(enStandardClassification, listDict));
|
||||
errMsg.append(excelUtils.validPartName(partName, listDict));
|
||||
errMsg.append(excelUtils.validSingleDate(draftPlannedCompleteDateString, "草稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDate(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDate(planApprovalDateString, "计划报批日期"));
|
||||
errMsg.append(excelUtils.validSingleDateNotBeforeToday(draftPlannedCompleteDateString, "草稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateNotBeforeToday(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateNotBeforeToday(planApprovalDateString, "计划报批日期"));
|
||||
// 如果数据有问题,则将提示信息添加到 errorMsgs 中
|
||||
if (errMsg.length() > 0) {
|
||||
errorMsgs.add(errMsgHeader.append(errMsg).toString());
|
||||
|
||||
+3
-3
@@ -489,9 +489,9 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
|
||||
errMsg.append(excelUtils.validStandardSystem(standardSystem, listDict));
|
||||
errMsg.append(excelUtils.validStandardType(standardType, listDict));
|
||||
errMsg.append(excelUtils.validStandardClassification(standardClassification, listDict));
|
||||
errMsg.append(excelUtils.validSingleDateMustInput(draftPlannedCompleteDateString, "草稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateMustInput(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateMustInput(planApprovalDateString, "计划报批日期"));
|
||||
errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(draftPlannedCompleteDateString, "草稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期"));
|
||||
errMsg.append(excelUtils.validSingleDateMustInputNotBeforeToday(planApprovalDateString, "计划报批日期"));
|
||||
// 如果数据有问题,则将提示信息添加到 errorMsgs 中
|
||||
if (errMsg.length() > 0) {
|
||||
errorMsgs.add(errMsgHeader.append(errMsg).toString());
|
||||
|
||||
@@ -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<SysDictItemCore> listDict) {
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user