fix: 各部门主动上报流程日期上传失败BUG

This commit is contained in:
2023-12-14 16:06:10 +08:00
parent 0cbf57eef6
commit add7459d3f
4 changed files with 44 additions and 8 deletions
@@ -187,30 +187,36 @@ public class ProcessEsAnnualReport implements Serializable {
/**
* 草稿计划完成日期
*/
@Excel(name = "草稿计划完成日期", width = 20, orderNum = "12")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "草稿计划完成日期")
private Date draftPlannedCompleteDate;
@Excel(name = "草稿计划完成日期", width = 20, orderNum = "12")
private String draftPlannedCompleteDateString;
/**
* 征求意见稿计划完成日期
*/
@Excel(name = "征求意见稿计划完成日期", width = 24, orderNum = "13")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "征求意见稿计划完成日期")
private Date solicitationDraftPlanCompleteDate;
@Excel(name = "征求意见稿计划完成日期", width = 24, orderNum = "13")
private String solicitationDraftPlanCompleteDateString;
/**
* 计划报批日期
*/
@Excel(name = "计划报批日期", width = 15, orderNum = "14")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "计划报批日期")
private Date planApprovalDate;
@Excel(name = "计划报批日期", width = 15, orderNum = "14")
private String planApprovalDateString;
/**
* 项目状态
*/
@@ -22,10 +22,12 @@ import com.jero.modules.activiti.service.ProcessNodeLinkService;
import com.jero.modules.activiti.service.ProcessNodeService;
import com.jero.modules.activiti.util.ExcelUtils;
import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.util.ImportUtil;
import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil;
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
import com.jero.modules.sys.utils.UserUtils;
import lombok.Cleanup;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
@@ -40,6 +42,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
@@ -79,6 +82,9 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
@Resource
private TaskService taskService;
@Resource
private ImportUtil importUtil;
@Override
public void startProcess(AnnualReportDataVO annualReportData) {
// 流程Key
@@ -321,10 +327,12 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
params.setHeadRows(1);
params.setNeedSave(true);
try {
List<ProcessEsAnnualReport> list = ExcelImportUtil.importExcel(file.getInputStream(), ProcessEsAnnualReport.class, params);
@Cleanup
InputStream inputStream = file.getInputStream();
List<ProcessEsAnnualReport> list = ExcelImportUtil.importExcel(inputStream, ProcessEsAnnualReport.class, params);
list.remove(0);
list.remove(0);
if (list.size() == 0) {
if (list.isEmpty()) {
errorMsgs.add("文件暂无数据,请检查后重试。");
resultMap.put("msg", errorMsgs);
resultMap.put("flag", YesOrNoEnum.NO.getValue());
@@ -332,7 +340,7 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
}
// 批量检查数据是否有效
errorMsgs = this.validationList(list, listDict);
if (errorMsgs.size() > 0) {
if (!errorMsgs.isEmpty()) {
resultMap.put("msg", errorMsgs);
resultMap.put("flag", YesOrNoEnum.NO.getValue());
} else {
@@ -395,6 +403,10 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
item.setMainDraftingUnitResponsiblePerson(excelUtils.translateDictValue("CONCAT(realname, '(', username, ')')", "id", "sys_user", item.getMainDraftingUnitResponsiblePerson(), listDict));
item.setStandardPromoter(excelUtils.translateDictValue("CONCAT(realname, '(', username, ')')", "id", "sys_user", item.getStandardPromoter(), listDict));
item.setWorkGroup(excelUtils.translateDictValue("name", "id", "laws_working_group", item.getWorkGroup(), listDict));
item.setEnStandardSystem(excelUtils.translateDictValue("node_name", "id", "laws_tree_node", item.getWorkGroup(), listDict));
item.setDraftPlannedCompleteDate(importUtil.convertDate(item.getDraftPlannedCompleteDateString()));
item.setSolicitationDraftPlanCompleteDate(importUtil.convertDate(item.getSolicitationDraftPlanCompleteDateString()));
item.setPlanApprovalDate(importUtil.convertDate(item.getPlanApprovalDateString()));
});
}
@@ -424,6 +436,9 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
String standardSystem = plan.getEnStandardSystem();
String standardType = plan.getStandardType();
String standardClassification = plan.getEnStandardClassification();
String draftPlannedCompleteDateString = plan.getDraftPlannedCompleteDateString();
String solicitationDraftPlanCompleteDateString = plan.getSolicitationDraftPlanCompleteDateString();
String planApprovalDateString = plan.getPlanApprovalDateString();
StringBuilder errMsgHeader = new StringBuilder();
StringBuilder errMsg = new StringBuilder();
@@ -442,6 +457,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.validSingleDate(draftPlannedCompleteDateString, "草稿计划完成日期"));
errMsg.append(excelUtils.validSingleDate(solicitationDraftPlanCompleteDateString, "征求意见稿计划完成日期"));
errMsg.append(excelUtils.validSingleDate(planApprovalDateString, "计划报批日期"));
// 如果数据有问题,则将提示信息添加到 errorMsgs 中
if (errMsg.length() > 0) {
errorMsgs.add(errMsgHeader.append(errMsg).toString());
@@ -6,6 +6,7 @@ import com.jero.common.system.vo.SysDictItemCore;
import com.jero.common.util.oConvertUtils;
import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit;
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType;
import com.jero.modules.laws.common.util.ImportUtil;
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
import com.jero.modules.system.entity.SysDictItem;
@@ -41,6 +42,9 @@ public class ExcelUtils {
@Resource
private ExcelUtils excelUtils;
@Resource
private ImportUtil importUtil;
@Resource
private ILawsEnterpriseStandardService enterpriseStandardService;
@@ -363,4 +367,12 @@ public class ExcelUtils {
return matcher.find();
}
public String validSingleDate(String date, String name) {
if (importUtil.singleDateValid(date)) {
return "";
} else {
return "'" + name + "'格式错误。";
}
}
}
@@ -504,7 +504,7 @@ public class ImportUtil {
return errMsgList;
}
private Date convertDate(String cellValue) {
public Date convertDate(String cellValue) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 设置lenient为false,使得日期解析更为严格
sdf.setLenient(false);
@@ -552,7 +552,7 @@ public class ImportUtil {
}
// 单选日期校验
private boolean singleDateValid(String cellValue) {
public boolean singleDateValid(String cellValue) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 设置lenient为false,使得日期解析更为严格