From c859fa4c38cc027cb7005dcb5c504ffc89430e33 Mon Sep 17 00:00:00 2001 From: songgaoshuai <1742057357@qq.com> Date: 星期五, 29 三月 2024 15:59:48 +0800 Subject: [PATCH] update 调整自定义任务 --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java | 61 ++++++++++++++++++++---------- 1 files changed, 41 insertions(+), 20 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java index cc82e00..dafbad6 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java @@ -20,8 +20,10 @@ import org.dromara.workflow.domain.WfCategory; import org.dromara.workflow.domain.bo.ProcessDefinitionBo; import org.dromara.workflow.domain.vo.ProcessDefinitionVo; +import org.dromara.workflow.domain.vo.WfFormDefinitionVo; import org.dromara.workflow.service.IActProcessDefinitionService; import org.dromara.workflow.service.IWfCategoryService; +import org.dromara.workflow.service.IWfFormDefinitionService; import org.dromara.workflow.utils.QueryUtils; import org.flowable.engine.ProcessMigrationService; import org.flowable.engine.RepositoryService; @@ -37,7 +39,6 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -53,6 +54,7 @@ private final RepositoryService repositoryService; private final ProcessMigrationService processMigrationService; private final IWfCategoryService wfCategoryService; + private final IWfFormDefinitionService iWfFormDefinitionService; /** * 鍒嗛〉鏌ヨ @@ -81,20 +83,29 @@ List<String> deploymentIds = StreamUtils.toList(definitionList, ProcessDefinition::getDeploymentId); deploymentList = QueryUtils.deploymentQuery(deploymentIds).list(); } - for (ProcessDefinition processDefinition : definitionList) { - ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class); - if (CollUtil.isNotEmpty(deploymentList)) { - // 閮ㄧ讲鏃堕棿 - deploymentList.stream().filter(e -> e.getId().equals(processDefinition.getDeploymentId())).findFirst().ifPresent(e -> { - processDefinitionVo.setDeploymentTime(e.getDeploymentTime()); - }); + if (CollUtil.isNotEmpty(definitionList)) { + List<String> ids = StreamUtils.toList(definitionList, ProcessDefinition::getId); + List<WfFormDefinitionVo> wfFormDefinitionVos = iWfFormDefinitionService.queryList(ids); + for (ProcessDefinition processDefinition : definitionList) { + ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class); + if (CollUtil.isNotEmpty(deploymentList)) { + // 閮ㄧ讲鏃堕棿 + deploymentList.stream().filter(e -> e.getId().equals(processDefinition.getDeploymentId())).findFirst().ifPresent(e -> { + processDefinitionVo.setDeploymentTime(e.getDeploymentTime()); + }); + } + if (CollUtil.isNotEmpty(wfFormDefinitionVos)) { + wfFormDefinitionVos.stream().filter(e -> e.getDefinitionId().equals(processDefinition.getId())).findFirst().ifPresent(processDefinitionVo::setWfFormDefinitionVo); + } + processDefinitionVoList.add(processDefinitionVo); } - processDefinitionVoList.add(processDefinitionVo); } // 鎬昏褰曟暟 long total = query.count(); - - return new TableDataInfo<>(processDefinitionVoList, total); + TableDataInfo<ProcessDefinitionVo> build = TableDataInfo.build(); + build.setRows(processDefinitionVoList); + build.setTotal(total); + return build; } /** @@ -109,18 +120,25 @@ List<ProcessDefinition> definitionList = query.processDefinitionKey(key).list(); List<Deployment> deploymentList = null; if (CollUtil.isNotEmpty(definitionList)) { - List<String> deploymentIds = definitionList.stream().map(ProcessDefinition::getDeploymentId).collect(Collectors.toList()); + List<String> deploymentIds = StreamUtils.toList(definitionList, ProcessDefinition::getDeploymentId); deploymentList = QueryUtils.deploymentQuery(deploymentIds).list(); } - for (ProcessDefinition processDefinition : definitionList) { - ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class); - if (CollUtil.isNotEmpty(deploymentList)) { - // 閮ㄧ讲鏃堕棿 - deploymentList.stream().filter(e -> e.getId().equals(processDefinition.getDeploymentId())).findFirst().ifPresent(e -> { - processDefinitionVo.setDeploymentTime(e.getDeploymentTime()); - }); + if (CollUtil.isNotEmpty(definitionList)) { + List<String> ids = StreamUtils.toList(definitionList, ProcessDefinition::getId); + List<WfFormDefinitionVo> wfFormDefinitionVos = iWfFormDefinitionService.queryList(ids); + for (ProcessDefinition processDefinition : definitionList) { + ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class); + if (CollUtil.isNotEmpty(deploymentList)) { + // 閮ㄧ讲鏃堕棿 + deploymentList.stream().filter(e -> e.getId().equals(processDefinition.getDeploymentId())).findFirst().ifPresent(e -> { + processDefinitionVo.setDeploymentTime(e.getDeploymentTime()); + }); + if (CollUtil.isNotEmpty(wfFormDefinitionVos)) { + wfFormDefinitionVos.stream().filter(e -> e.getDefinitionId().equals(processDefinition.getId())).findFirst().ifPresent(processDefinitionVo::setWfFormDefinitionVo); + } + } + processDefinitionVoList.add(processDefinitionVo); } - processDefinitionVoList.add(processDefinitionVo); } return CollectionUtil.reverse(processDefinitionVoList); } @@ -163,6 +181,7 @@ * @param processDefinitionId 娴佺▼瀹氫箟id */ @Override + @Transactional(rollbackFor = Exception.class) public boolean deleteDeployment(String deploymentId, String processDefinitionId) { try { List<HistoricTaskInstance> taskInstanceList = QueryUtils.hisTaskInstanceQuery() @@ -172,6 +191,8 @@ } //鍒犻櫎娴佺▼瀹氫箟 repositoryService.deleteDeployment(deploymentId); + //鍒犻櫎琛ㄥ崟閰嶇疆 + iWfFormDefinitionService.getByDefId(processDefinitionId); return true; } catch (Exception e) { e.printStackTrace(); -- Gitblit v1.9.3