fix: 各部门主动上报流程日期上传失败BUG
This commit is contained in:
+9
-3
@@ -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;
|
||||
|
||||
/**
|
||||
* 项目状态
|
||||
*/
|
||||
|
||||
+21
-3
@@ -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,使得日期解析更为严格
|
||||
|
||||
Reference in New Issue
Block a user