From e6d6fa19110a4be3cbe7237f5f1fb17798a56029 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Thu, 16 Nov 2023 17:11:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E4=BC=81=E6=A0=87=E7=A8=BD=E6=9F=A5?= =?UTF-8?q?=E6=B5=81=E7=A8=8B):=20=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EsInspectPlanFlowController.java | 18 +- .../ProcessEsInspectPlanController.java | 4 +- .../entity/ProcessEsInspectPlan.java | 9 +- .../service/IEsInspectPlanFlowService.java | 10 +- .../service/IProcessEsInspectPlanService.java | 11 + .../impl/EsInspectPlanFlowServiceImpl.java | 111 ++++++-- .../impl/ProcessEsInspectPlanServiceImpl.java | 248 +++++++++++++++++- 7 files changed, 381 insertions(+), 30 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/controller/EsInspectPlanFlowController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/controller/EsInspectPlanFlowController.java index a2b6c11b..ce7cfd0c 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/controller/EsInspectPlanFlowController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/controller/EsInspectPlanFlowController.java @@ -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 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 queryDetailByProjectId(String projectId) { - return Result.OK(esInspectPlanFlowService.queryDetailByProjectId(projectId)); + public Result queryDetailByProjectId(String projectId, String taskId) { + return Result.OK(esInspectPlanFlowService.queryDetailByProjectId(projectId, taskId)); } /** diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/controller/ProcessEsInspectPlanController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/controller/ProcessEsInspectPlanController.java index 9211c04c..f78ad13c 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/controller/ProcessEsInspectPlanController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/controller/ProcessEsInspectPlanController.java @@ -169,8 +169,8 @@ public class ProcessEsInspectPlanController extends JeroController importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, ProcessEsInspectPlan.class); + public Result> importExcel(HttpServletRequest request, HttpServletResponse response) throws Exception { + return processEsInspectPlanService.importExcel(request, response); } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/entity/ProcessEsInspectPlan.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/entity/ProcessEsInspectPlan.java index ed228fbf..6d0b56be 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/entity/ProcessEsInspectPlan.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/entity/ProcessEsInspectPlan.java @@ -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 = "稽查负责人") diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/IEsInspectPlanFlowService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/IEsInspectPlanFlowService.java index d9c8f66d..bf7ed8ec 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/IEsInspectPlanFlowService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/IEsInspectPlanFlowService.java @@ -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); /** * 企标稽查计划流程-人员信息 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/IProcessEsInspectPlanService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/IProcessEsInspectPlanService.java index e4015f82..5ea5392e 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/IProcessEsInspectPlanService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/IProcessEsInspectPlanService.java @@ -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 findActRuVariableByInstanceId(String instanceId, String key); + + /** + * 通过excel导入数据 + * @param request + * @param response + * @return + */ + Result> importExcel(HttpServletRequest request, HttpServletResponse response) throws Exception; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/EsInspectPlanFlowServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/EsInspectPlanFlowServiceImpl.java index 89acfde0..d447f16f 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/EsInspectPlanFlowServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/EsInspectPlanFlowServiceImpl.java @@ -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() .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() .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 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 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() + .eq(ProcessEsInspectPlan::getProjectId, processAll.getProjectId())); + }else { + processEsInspectPlanService.remove(new LambdaQueryWrapper() + .eq(ProcessEsInspectPlan::getProjectId, processAll.getProjectId()) + .notIn(ProcessEsInspectPlan::getId, ids)); + } + // 保存新数据 + processEsInspectPlanService.saveOrUpdateBatch(processEsInspectPlanList); + } + private Map listToString(Map map) { Map 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() - .eq(ProcessAll::getProjectId, projectId)); - esInspectPlanFlowVO.setProcessAll(processAll); + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + ProcessAll processAll = new ProcessAll(); + ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord(); + + // 是否存在草稿 + List processDraftList = processDraftService.list(new LambdaQueryWrapper() + .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() + .eq(ProcessAll::getProjectId, projectId), false); + + processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper() + .eq(ProcessApprovalRecord::getProjectId, projectId) + .eq(ProcessApprovalRecord::getUserId, loginUser.getId()) + .eq(StringUtils.isNotBlank(taskId), ProcessApprovalRecord::getTaskId, taskId) + , false); + } + + // 企标稽查计划业务表 + List processEsInspectPlanList = processEsInspectPlanService.list(new LambdaQueryWrapper() + .eq(ProcessEsInspectPlan::getProjectId, projectId)); - // 业务基本信息 - List processEsInspectPlanList = processEsInspectPlanService.list( - new LambdaQueryWrapper() - .eq(ProcessEsInspectPlan::getProjectId, projectId)); esInspectPlanFlowVO.setProcessEsInspectPlanList(processEsInspectPlanList); - - // 流程审批信息 - ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper() - .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() .eq(ProcessApprovalRecord::getTaskId, taskId) - .eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue()) .set(ProcessApprovalRecord::getTransferBy, userId) .set(ProcessApprovalRecord::getUserId, userId)); // 转办 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/ProcessEsInspectPlanServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/ProcessEsInspectPlanServiceImpl.java index 72832424..77596bf8 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/ProcessEsInspectPlanServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectplan/service/impl/ProcessEsInspectPlanServiceImpl.java @@ -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 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 findActRuVariableByInstanceId(String instanceId, String key) { return processEsInspectPlanMapper.findActRuVariableByInstanceId(instanceId, key); } + + @Override + public Result> importExcel(HttpServletRequest request, HttpServletResponse response) throws Exception { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map fileMap = multipartRequest.getFileMap(); + for (Map.Entry 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 lists = ExcelImportUtil.importExcel(file.getInputStream(), ProcessEsInspectPlan.class, params); + if (CollectionUtils.isEmpty(lists)) { + return Result.error("没有数据可导入!"); + } + List list = BeanCopyUtils.copyBeanList(lists, ProcessEsInspectPlan.class); + StringBuilder errorMSG = new StringBuilder(); + // 字段校验 + for (int i = 0; i < list.size(); i++) { + String head = "第" + (i + 2) + "行:"; + List firstVerify = firstVerify(list.get(i)); + List secondVerify = secondVerify(list.get(i)); + List thirdVerify = thirdVerify(list.get(i)); + List fifthVerify = fifthVerify(list.get(i)); + List 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("文件导入失败:
" + errorMSG); + }else { + return Result.OK("文件导入成功!数据行数:" + list.size(), list); + } + } + return Result.error("文件导入失败!"); + } + + private List sixthVerify(ProcessEsInspectPlan processEsInspectPlan) { + List 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 fifthVerify(ProcessEsInspectPlan processEsInspectPlan) { + List 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 thirdVerify(ProcessEsInspectPlan processEsInspectPlan) { + List 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 secondVerify(ProcessEsInspectPlan processEsInspectPlan) { + List errorList = new ArrayList<>(); + List 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 firstVerify(ProcessEsInspectPlan processEsInspectPlan) { + List errorList = new ArrayList<>(); + if (StringUtils.isNotBlank(processEsInspectPlan.getInspectNo())){ + List list = lawsEnterpriseStandardService.list(new LambdaQueryWrapper() + .eq(LawsEnterpriseStandard::getStandardNumber, processEsInspectPlan.getInspectNo())); + if (list.isEmpty()) { + errorList.add("稽查依据标准号不存在!"); + } + }else { + errorList.add("稽查依据标准号不能为空!"); + } + if (StringUtils.isNotBlank(processEsInspectPlan.getInspectName())){ + List list = lawsEnterpriseStandardService.list(new LambdaQueryWrapper() + .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 list = lawsEnterpriseStandardService.list(new LambdaQueryWrapper() + .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 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("文件格式有误!"); + } + } }