feat(企标稽查流程): 完善
This commit is contained in:
+16
-2
@@ -72,6 +72,20 @@ public class EsInspectPlanFlowController {
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-流程保存
|
||||
* @param esInspectPlanFlowVO 企标稽查计划流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "企标稽查计划流程-流程保存")
|
||||
@ApiOperation(value="企标稽查计划流程-流程保存", notes="企标稽查计划流程-流程保存")
|
||||
@PostMapping(value = "/flowSave")
|
||||
public Result<T> flowSave(@RequestBody EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||
esInspectPlanFlowService.flowSave(esInspectPlanFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-办理详情
|
||||
* @param projectId 项目id
|
||||
@@ -81,8 +95,8 @@ public class EsInspectPlanFlowController {
|
||||
@ApiOperation(value="企标稽查计划流程-办理详情", notes="企标稽查计划流程-办理详情")
|
||||
@GetMapping(value = "/queryDetailByProjectId")
|
||||
@Translation
|
||||
public Result<EsInspectPlanFlowVO> queryDetailByProjectId(String projectId) {
|
||||
return Result.OK(esInspectPlanFlowService.queryDetailByProjectId(projectId));
|
||||
public Result<EsInspectPlanFlowVO> queryDetailByProjectId(String projectId, String taskId) {
|
||||
return Result.OK(esInspectPlanFlowService.queryDetailByProjectId(projectId, taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -169,8 +169,8 @@ public class ProcessEsInspectPlanController extends JeroController<ProcessEsInsp
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(value = "/importExcel")
|
||||
public Result<ProcessEsInspectPlan> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
return super.importExcel(request, response, ProcessEsInspectPlan.class);
|
||||
public Result<List<ProcessEsInspectPlan>> importExcel(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
return processEsInspectPlanService.importExcel(request, response);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+7
-2
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
@@ -28,7 +29,6 @@ import java.util.Date;
|
||||
@ApiModel(value="process_es_inspect_plan对象", description="企标稽查计划业务表")
|
||||
public class ProcessEsInspectPlan extends BaseEntity {
|
||||
/**项目id*/
|
||||
@Excel(name = "项目id", width = 15)
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private String projectId;
|
||||
/**稽查依据标准号*/
|
||||
@@ -55,11 +55,16 @@ public class ProcessEsInspectPlan extends BaseEntity {
|
||||
@Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
|
||||
private String belongDept;
|
||||
/**计划稽查日期*/
|
||||
@Excel(name = "计划稽查日期", width = 15, format = "yyyy-MM-dd")
|
||||
// @Excel(name = "计划稽查日期", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "计划稽查日期")
|
||||
private Date planInspectDate;
|
||||
/**计划稽查日期 导入用*/
|
||||
@Excel(name = "计划稽查日期", width = 15, format = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "计划稽查日期 导入用")
|
||||
@TableField(exist = false)
|
||||
private String planInspectDates;
|
||||
/**稽查负责人*/
|
||||
@Excel(name = "稽查负责人", width = 15)
|
||||
@ApiModelProperty(value = "稽查负责人")
|
||||
|
||||
+9
-1
@@ -19,12 +19,20 @@ public interface IEsInspectPlanFlowService {
|
||||
*/
|
||||
void flowStart(EsInspectPlanFlowVO esInspectPlanFlowVO);
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-流程保存
|
||||
* @param esInspectPlanFlowVO
|
||||
*/
|
||||
void flowSave(EsInspectPlanFlowVO esInspectPlanFlowVO);
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-办理详情
|
||||
*
|
||||
* @param projectId
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
EsInspectPlanFlowVO queryDetailByProjectId(String projectId);
|
||||
EsInspectPlanFlowVO queryDetailByProjectId(String projectId, String taskId);
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-人员信息
|
||||
|
||||
+11
@@ -2,8 +2,11 @@ package com.jero.modules.activiti.process.esinspectplan.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -83,4 +86,12 @@ public interface IProcessEsInspectPlanService extends IService<ProcessEsInspectP
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> findActRuVariableByInstanceId(String instanceId, String key);
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
Result<List<ProcessEsInspectPlan>> importExcel(HttpServletRequest request, HttpServletResponse response) throws Exception;
|
||||
}
|
||||
|
||||
+94
-17
@@ -11,6 +11,9 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.entity.ProcessNodeLink;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.esinspectplan.common.EsInspectPlanCommon;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IEsInspectPlanFlowService;
|
||||
@@ -29,6 +32,7 @@ import org.activiti.engine.repository.ProcessDefinition;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -49,6 +53,7 @@ import java.util.stream.Collectors;
|
||||
public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
private final ProcessAllService processAllService;
|
||||
private final ProcessApprovalRecordService processApprovalRecordService;
|
||||
private final ProcessDraftService processDraftService;
|
||||
private final IProcessEsInspectPlanService processEsInspectPlanService;
|
||||
private final RepositoryService repositoryService;
|
||||
private final ISysUserService sysUserService;
|
||||
@@ -58,6 +63,7 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
|
||||
public EsInspectPlanFlowServiceImpl(ProcessAllService processAllService,
|
||||
ProcessApprovalRecordService processApprovalRecordService,
|
||||
ProcessDraftService processDraftService,
|
||||
IProcessEsInspectPlanService processEsInspectPlanService,
|
||||
RepositoryService repositoryService,
|
||||
ISysUserService sysUserService,
|
||||
@@ -66,6 +72,7 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
SendMessageAPI sendMessageAPI) {
|
||||
this.processAllService = processAllService;
|
||||
this.processApprovalRecordService = processApprovalRecordService;
|
||||
this.processDraftService = processDraftService;
|
||||
this.processEsInspectPlanService = processEsInspectPlanService;
|
||||
this.repositoryService = repositoryService;
|
||||
this.sysUserService = sysUserService;
|
||||
@@ -76,7 +83,6 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
|
||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||
RuntimeService runtimeService = processEngine.getRuntimeService();
|
||||
|
||||
@Autowired
|
||||
private TaskService taskService;
|
||||
|
||||
@@ -97,8 +103,9 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_PLAN.getValue()));
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
processAllService.update(
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProcessInstanceId, processInstance.getId()));
|
||||
|
||||
@@ -115,6 +122,8 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecord.setUserId(loginUser.getId());
|
||||
processApprovalRecord.setProjectId(processAll.getProjectId());
|
||||
processApprovalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
|
||||
processApprovalRecordService.update(processApprovalRecord,
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, task.getId()));
|
||||
@@ -126,6 +135,53 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
taskService.complete(task.getId());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void flowSave(EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||
// 流程信息
|
||||
ProcessAll processAll = esInspectPlanFlowVO.getProcessAll();
|
||||
// 企标稽查计划业务表
|
||||
List<ProcessEsInspectPlan> processEsInspectPlanList = esInspectPlanFlowVO.getProcessEsInspectPlanList();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esInspectPlanFlowVO.getProcessApprovalRecord();
|
||||
|
||||
// 流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_PLAN.getValue()));
|
||||
ProcessDraft processDraft = new ProcessDraft();
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processAll, processDraft);
|
||||
// 保存草稿表
|
||||
if (StringUtils.isNotBlank(processApprovalRecord.getCommitFile())){
|
||||
processDraft.setHandleFile(processApprovalRecord.getCommitFile());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processApprovalRecord.getCommitText())){
|
||||
processDraft.setHandleText(processApprovalRecord.getCommitText());
|
||||
}
|
||||
processDraft.setUserId(loginUser.getId());
|
||||
processDraftService.save(processDraft);
|
||||
|
||||
// 保存企标稽查计划业务表
|
||||
List<String> ids = new ArrayList<>();
|
||||
for (ProcessEsInspectPlan processEsInspectPlan : processEsInspectPlanList) {
|
||||
if (StringUtils.isNotBlank(processApprovalRecord.getId())){
|
||||
ids.add(processEsInspectPlan.getId());
|
||||
}
|
||||
processEsInspectPlan.setProjectId(processAll.getProjectId());
|
||||
}
|
||||
//删除旧数据
|
||||
if (ids.isEmpty()){
|
||||
processEsInspectPlanService.remove(new LambdaQueryWrapper<ProcessEsInspectPlan>()
|
||||
.eq(ProcessEsInspectPlan::getProjectId, processAll.getProjectId()));
|
||||
}else {
|
||||
processEsInspectPlanService.remove(new LambdaQueryWrapper<ProcessEsInspectPlan>()
|
||||
.eq(ProcessEsInspectPlan::getProjectId, processAll.getProjectId())
|
||||
.notIn(ProcessEsInspectPlan::getId, ids));
|
||||
}
|
||||
// 保存新数据
|
||||
processEsInspectPlanService.saveOrUpdateBatch(processEsInspectPlanList);
|
||||
}
|
||||
|
||||
private Map<String, Object> listToString(Map<String, Object> map) {
|
||||
Map<String, Object> stringObjectHashMap;
|
||||
stringObjectHashMap = map.entrySet().stream().map(v -> {
|
||||
@@ -139,24 +195,46 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public EsInspectPlanFlowVO queryDetailByProjectId(String projectId) {
|
||||
public EsInspectPlanFlowVO queryDetailByProjectId(String projectId, String taskId) {
|
||||
EsInspectPlanFlowVO esInspectPlanFlowVO = new EsInspectPlanFlowVO();
|
||||
// 流程信息
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId));
|
||||
esInspectPlanFlowVO.setProcessAll(processAll);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = new ProcessAll();
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
List<ProcessDraft> processDraftList = processDraftService.list(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, projectId)
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId()));
|
||||
if (!processDraftList.isEmpty()){
|
||||
// 存在草稿
|
||||
ProcessDraft processDraft = processDraftList.get(0);
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processDraft, processAll);
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleFile())){
|
||||
processApprovalRecord.setCommitFile(processDraft.getHandleFile());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleText())){
|
||||
processApprovalRecord.setCommitText(processDraft.getHandleText());
|
||||
}
|
||||
}else {
|
||||
// 不存在草稿
|
||||
processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId), false);
|
||||
|
||||
processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getProjectId, projectId)
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
.eq(StringUtils.isNotBlank(taskId), ProcessApprovalRecord::getTaskId, taskId)
|
||||
, false);
|
||||
}
|
||||
|
||||
// 企标稽查计划业务表
|
||||
List<ProcessEsInspectPlan> processEsInspectPlanList = processEsInspectPlanService.list(new LambdaQueryWrapper<ProcessEsInspectPlan>()
|
||||
.eq(ProcessEsInspectPlan::getProjectId, projectId));
|
||||
|
||||
// 业务基本信息
|
||||
List<ProcessEsInspectPlan> processEsInspectPlanList = processEsInspectPlanService.list(
|
||||
new LambdaQueryWrapper<ProcessEsInspectPlan>()
|
||||
.eq(ProcessEsInspectPlan::getProjectId, projectId));
|
||||
esInspectPlanFlowVO.setProcessEsInspectPlanList(processEsInspectPlanList);
|
||||
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getProjectId, projectId));
|
||||
esInspectPlanFlowVO.setProcessAll(processAll);
|
||||
esInspectPlanFlowVO.setProcessApprovalRecord(processApprovalRecord);
|
||||
|
||||
return esInspectPlanFlowVO;
|
||||
}
|
||||
|
||||
@@ -249,7 +327,6 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
// 更新流程审批信息
|
||||
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, taskId)
|
||||
.eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue())
|
||||
.set(ProcessApprovalRecord::getTransferBy, userId)
|
||||
.set(ProcessApprovalRecord::getUserId, userId));
|
||||
// 转办
|
||||
|
||||
+242
-6
@@ -1,21 +1,38 @@
|
||||
package com.jero.modules.activiti.process.esinspectplan.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.util.BeanCopyUtils;
|
||||
import com.jero.common.util.ImportExcelUtil;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
||||
import com.jero.modules.activiti.process.esinspectplan.mapper.ProcessEsInspectPlanMapper;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IProcessEsInspectPlanService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.system.entity.SysDepart;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysDepartService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.commons.beanutils.PropertyUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
/**
|
||||
@@ -29,11 +46,22 @@ import java.util.Map;
|
||||
public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspectPlanMapper, ProcessEsInspectPlan> implements IProcessEsInspectPlanService {
|
||||
|
||||
private final ProcessEsInspectPlanMapper processEsInspectPlanMapper;
|
||||
private final ILawsEnterpriseStandardService lawsEnterpriseStandardService;
|
||||
private final ISysUserService sysUserService;
|
||||
private final ISysDepartService sysDepartService;
|
||||
|
||||
public ProcessEsInspectPlanServiceImpl(ProcessEsInspectPlanMapper processEsInspectPlanMapper) {
|
||||
public ProcessEsInspectPlanServiceImpl(ProcessEsInspectPlanMapper processEsInspectPlanMapper,
|
||||
ILawsEnterpriseStandardService lawsEnterpriseStandardService,
|
||||
ISysUserService sysUserService,
|
||||
ISysDepartService sysDepartService) {
|
||||
this.processEsInspectPlanMapper = processEsInspectPlanMapper;
|
||||
this.lawsEnterpriseStandardService = lawsEnterpriseStandardService;
|
||||
this.sysUserService = sysUserService;
|
||||
this.sysDepartService = sysDepartService;
|
||||
}
|
||||
|
||||
private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
@@ -91,9 +119,9 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
|
||||
*/
|
||||
@Override
|
||||
public void editById(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
Date now = new Date();
|
||||
Date now = new Date();
|
||||
processEsInspectPlan.setUpdateTime(now);
|
||||
saveOrUpdate(processEsInspectPlan);
|
||||
saveOrUpdate(processEsInspectPlan);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -133,4 +161,212 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
|
||||
public Map<String, Object> findActRuVariableByInstanceId(String instanceId, String key) {
|
||||
return processEsInspectPlanMapper.findActRuVariableByInstanceId(instanceId, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<List<ProcessEsInspectPlan>> importExcel(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
||||
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
||||
// 获取上传文件对象
|
||||
MultipartFile file = entity.getValue();
|
||||
ImportParams params = new ImportParams();
|
||||
params.setHeadRows(1);
|
||||
params.setNeedSave(true);
|
||||
// excel表格头部校验
|
||||
excelHeadVerify(file, ProcessEsInspectPlan.class, params.getTitleRows(), 0);
|
||||
List<ProcessEsInspectPlan> lists = ExcelImportUtil.importExcel(file.getInputStream(), ProcessEsInspectPlan.class, params);
|
||||
if (CollectionUtils.isEmpty(lists)) {
|
||||
return Result.error("没有数据可导入!");
|
||||
}
|
||||
List<ProcessEsInspectPlan> list = BeanCopyUtils.copyBeanList(lists, ProcessEsInspectPlan.class);
|
||||
StringBuilder errorMSG = new StringBuilder();
|
||||
// 字段校验
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
String head = "第" + (i + 2) + "行:";
|
||||
List<String> firstVerify = firstVerify(list.get(i));
|
||||
List<String> secondVerify = secondVerify(list.get(i));
|
||||
List<String> thirdVerify = thirdVerify(list.get(i));
|
||||
List<String> fifthVerify = fifthVerify(list.get(i));
|
||||
List<String> sixthVerify = sixthVerify(list.get(i));
|
||||
firstVerify.addAll(secondVerify);
|
||||
firstVerify.addAll(thirdVerify);
|
||||
firstVerify.addAll(fifthVerify);
|
||||
firstVerify.addAll(sixthVerify);
|
||||
|
||||
if (!firstVerify.isEmpty()){
|
||||
errorMSG.append(head).append(String.join(",", fifthVerify));
|
||||
}
|
||||
}
|
||||
//update-begin-author:taoyan date:20190528 for:批量插入数据
|
||||
//update-end-author:taoyan date:20190528 for:批量插入数据
|
||||
if (errorMSG.length() > 0){
|
||||
throw new JeroBootException("文件导入失败:<br/>" + errorMSG);
|
||||
}else {
|
||||
return Result.OK("文件导入成功!数据行数:" + list.size(), list);
|
||||
}
|
||||
}
|
||||
return Result.error("文件导入失败!");
|
||||
}
|
||||
|
||||
private List<String> sixthVerify(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<String> errorList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getStandardizationDockingUser())){
|
||||
SysUser sysUser = sysUserService.getById(processEsInspectPlan.getStandardizationDockingUser());
|
||||
if (Objects.isNull(sysUser)){
|
||||
errorList.add("标准化组对接人不存在!");
|
||||
}else {
|
||||
processEsInspectPlan.setStandardizationDockingUser(sysUser.getId());
|
||||
}
|
||||
}else {
|
||||
errorList.add("标准化组对接人不能为空!");
|
||||
}
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getObjectOfConsultation())){
|
||||
SysUser sysUser = sysUserService.getById(processEsInspectPlan.getObjectOfConsultation());
|
||||
if (Objects.isNull(sysUser)){
|
||||
errorList.add("征求意见对象不存在!");
|
||||
}else {
|
||||
processEsInspectPlan.setObjectOfConsultation(sysUser.getId());
|
||||
}
|
||||
}else {
|
||||
errorList.add("征求意见对象不能为空!");
|
||||
}
|
||||
return errorList;
|
||||
}
|
||||
|
||||
private List<String> fifthVerify(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<String> errorList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getPlanInspectDates())){
|
||||
try{
|
||||
Date parse = dateFormat.parse(processEsInspectPlan.getPlanInspectDates());
|
||||
processEsInspectPlan.setPlanInspectDate(parse);
|
||||
}catch (Exception e){
|
||||
errorList.add("计划稽查日期格式不正确!(正确格式:yyyy-MM-dd)");
|
||||
}
|
||||
}else {
|
||||
errorList.add("计划稽查日期不能为空!");
|
||||
}
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getInspectUser())){
|
||||
SysUser sysUser = sysUserService.getById(processEsInspectPlan.getInspectUser());
|
||||
if (Objects.isNull(sysUser)){
|
||||
errorList.add("稽查负责人不存在!");
|
||||
}else {
|
||||
processEsInspectPlan.setInspectUser(sysUser.getId());
|
||||
}
|
||||
}else {
|
||||
errorList.add("稽查负责人不能为空!");
|
||||
}
|
||||
return errorList;
|
||||
}
|
||||
|
||||
private List<String> thirdVerify(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<String> errorList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getStandardizationWorkGroup())){
|
||||
SysDepart sysDepart = sysDepartService.getById(processEsInspectPlan.getStandardizationWorkGroup());
|
||||
if (Objects.isNull(sysDepart)) {
|
||||
errorList.add("主责标准化工作组不存在!");
|
||||
}else {
|
||||
processEsInspectPlan.setStandardizationWorkGroup(sysDepart.getId());
|
||||
}
|
||||
}else {
|
||||
errorList.add("主责标准化工作组不能为空!");
|
||||
}
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getBelongDept())){
|
||||
SysDepart sysDepart = sysDepartService.getById(processEsInspectPlan.getBelongDept());
|
||||
if (Objects.isNull(sysDepart)) {
|
||||
errorList.add("所属部门不存在!");
|
||||
}else {
|
||||
processEsInspectPlan.setBelongDept(sysDepart.getId());
|
||||
}
|
||||
}else {
|
||||
errorList.add("所属部门不能为空!");
|
||||
}
|
||||
return errorList;
|
||||
}
|
||||
|
||||
private List<String> secondVerify(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<String> errorList = new ArrayList<>();
|
||||
List<String> departList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getInspectObject())){
|
||||
String[] list = processEsInspectPlan.getInspectObject().split(",");
|
||||
for (String s : list) {
|
||||
SysDepart sysDepart = sysDepartService.getById(s);
|
||||
if (Objects.isNull(sysDepart)) {
|
||||
errorList.add("计划稽查对象不存在!");
|
||||
}else {
|
||||
departList.add(sysDepart.getId());
|
||||
}
|
||||
}
|
||||
}else {
|
||||
errorList.add("计划稽查对象不能为空!");
|
||||
}
|
||||
if (errorList.isEmpty()){
|
||||
processEsInspectPlan.setInspectObject(String.join(",", departList));
|
||||
}
|
||||
return errorList;
|
||||
}
|
||||
|
||||
private List<String> firstVerify(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
List<String> errorList = new ArrayList<>();
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getInspectNo())){
|
||||
List<LawsEnterpriseStandard> list = lawsEnterpriseStandardService.list(new LambdaQueryWrapper<LawsEnterpriseStandard>()
|
||||
.eq(LawsEnterpriseStandard::getStandardNumber, processEsInspectPlan.getInspectNo()));
|
||||
if (list.isEmpty()) {
|
||||
errorList.add("稽查依据标准号不存在!");
|
||||
}
|
||||
}else {
|
||||
errorList.add("稽查依据标准号不能为空!");
|
||||
}
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getInspectName())){
|
||||
List<LawsEnterpriseStandard> list = lawsEnterpriseStandardService.list(new LambdaQueryWrapper<LawsEnterpriseStandard>()
|
||||
.eq(LawsEnterpriseStandard::getStandardName, processEsInspectPlan.getInspectName()));
|
||||
if (list.isEmpty()) {
|
||||
errorList.add("稽查依据标准名称不存在!");
|
||||
}
|
||||
}else {
|
||||
errorList.add("稽查依据标准名称不能为空!");
|
||||
}
|
||||
if (StringUtils.isNotBlank(processEsInspectPlan.getInspectNo())
|
||||
&& StringUtils.isNotBlank(processEsInspectPlan.getInspectName())
|
||||
&& errorList.isEmpty()){
|
||||
List<LawsEnterpriseStandard> list = lawsEnterpriseStandardService.list(new LambdaQueryWrapper<LawsEnterpriseStandard>()
|
||||
.eq(LawsEnterpriseStandard::getStandardNumber, processEsInspectPlan.getInspectNo())
|
||||
.eq(LawsEnterpriseStandard::getStandardName, processEsInspectPlan.getInspectName()));
|
||||
if (list.isEmpty()) {
|
||||
errorList.add("稽查依据标准号和稽查依据标准名称不匹配!");
|
||||
}
|
||||
}
|
||||
return errorList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对象ID
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private String getId(ProcessEsInspectPlan item) {
|
||||
try {
|
||||
return PropertyUtils.getProperty(item, "id").toString();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* excel表头校验
|
||||
* @param file
|
||||
* @param carTypeClass
|
||||
* @param titleRows
|
||||
* @param i
|
||||
*/
|
||||
private void excelHeadVerify(MultipartFile file, Class<ProcessEsInspectPlan> carTypeClass, int titleRows, int i) {
|
||||
try {
|
||||
if (!(boolean) ImportExcelUtil.checkTemplateTitle(file, carTypeClass, titleRows, i)){
|
||||
throw new JeroBootException("excel文件表头错误,请重新下载");
|
||||
}
|
||||
}catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new JeroBootException("文件格式有误!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user