From 079f90766fe447e58c6b0870082b6826ddd0d32e Mon Sep 17 00:00:00 2001 From: songgaoshuai <1742057357@qq.com> Date: 星期四, 07 三月 2024 13:21:07 +0800 Subject: [PATCH] update 修复创建任务,模型租户判断 --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java | 46 ++++++++++++++++++++-------------------------- 1 files changed, 20 insertions(+), 26 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 fda10d3..51c90f1 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,14 +20,11 @@ import org.dromara.workflow.domain.vo.ProcessDefinitionVo; import org.dromara.workflow.service.IActProcessDefinitionService; import org.dromara.workflow.service.IWfCategoryService; -import org.flowable.engine.HistoryService; +import org.dromara.workflow.utils.QueryUtils; import org.flowable.engine.ProcessMigrationService; import org.flowable.engine.RepositoryService; import org.flowable.engine.impl.bpmn.deployer.ResourceNameUtil; -import org.flowable.engine.repository.Deployment; -import org.flowable.engine.repository.Model; -import org.flowable.engine.repository.ProcessDefinition; -import org.flowable.engine.repository.ProcessDefinitionQuery; +import org.flowable.engine.repository.*; import org.flowable.task.api.history.HistoricTaskInstance; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -50,11 +47,7 @@ public class ActProcessDefinitionServiceImpl implements IActProcessDefinitionService { private final RepositoryService repositoryService; - - private final HistoryService historyService; - private final ProcessMigrationService processMigrationService; - private final IWfCategoryService wfCategoryService; /** @@ -65,8 +58,7 @@ */ @Override public TableDataInfo<ProcessDefinitionVo> page(ProcessDefinitionBo processDefinitionBo) { - ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery(); - query.processDefinitionTenantId(TenantHelper.getTenantId()); + ProcessDefinitionQuery query = QueryUtils.definitionQuery(); if (StringUtils.isNotEmpty(processDefinitionBo.getKey())) { query.processDefinitionKey(processDefinitionBo.getKey()); } @@ -83,7 +75,7 @@ List<Deployment> deploymentList = null; if (CollUtil.isNotEmpty(definitionList)) { List<String> deploymentIds = StreamUtils.toList(definitionList, ProcessDefinition::getDeploymentId); - deploymentList = repositoryService.createDeploymentQuery().deploymentIds(deploymentIds).list(); + deploymentList = QueryUtils.deploymentQuery(deploymentIds).list(); } for (ProcessDefinition processDefinition : definitionList) { ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class); @@ -109,13 +101,12 @@ @Override public List<ProcessDefinitionVo> getProcessDefinitionListByKey(String key) { List<ProcessDefinitionVo> processDefinitionVoList = new ArrayList<>(); - ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery(); - List<ProcessDefinition> definitionList = query.processDefinitionTenantId(TenantHelper.getTenantId()).processDefinitionKey(key).list(); + ProcessDefinitionQuery query = QueryUtils.definitionQuery(); + 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()); - deploymentList = repositoryService.createDeploymentQuery() - .deploymentIds(deploymentIds).list(); + deploymentList = QueryUtils.deploymentQuery(deploymentIds).list(); } for (ProcessDefinition processDefinition : definitionList) { ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class); @@ -170,7 +161,7 @@ @Override public boolean deleteDeployment(String deploymentId, String processDefinitionId) { try { - List<HistoricTaskInstance> taskInstanceList = historyService.createHistoricTaskInstanceQuery() + List<HistoricTaskInstance> taskInstanceList = QueryUtils.hisTaskInstanceQuery() .processDefinitionId(processDefinitionId).list(); if (CollectionUtil.isNotEmpty(taskInstanceList)) { throw new ServiceException("褰撳墠娴佺▼瀹氫箟宸茶浣跨敤涓嶅彲鍒犻櫎锛�"); @@ -192,8 +183,8 @@ @Override public boolean updateProcessDefState(String processDefinitionId) { try { - ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery() - .processDefinitionId(processDefinitionId).processDefinitionTenantId(TenantHelper.getTenantId()).singleResult(); + ProcessDefinition processDefinition = QueryUtils.definitionQuery() + .processDefinitionId(processDefinitionId).singleResult(); //灏嗗綋鍓嶄负鎸傝捣鐘舵�佹洿鏂颁负婵�娲荤姸鎬� //鍙傛暟璇存槑锛氬弬鏁�1锛氭祦绋嬪畾涔塱d,鍙傛暟2锛氭槸鍚︽縺娲伙紙true鏄惁绾ц仈瀵瑰簲娴佺▼瀹炰緥锛屾縺娲讳簡鍒欏搴旀祦绋嬪疄渚嬮兘鍙互瀹℃壒锛夛紝 //鍙傛暟3锛氫粈涔堟椂鍊欐縺娲伙紝濡傛灉涓簄ull鍒欑珛鍗虫縺娲伙紝濡傛灉涓哄叿浣撴椂闂村垯鍒拌揪姝ゆ椂闂村悗婵�娲� @@ -244,10 +235,11 @@ */ @Override public boolean convertToModel(String processDefinitionId) { - ProcessDefinition pd = repositoryService.createProcessDefinitionQuery() + ProcessDefinition pd = QueryUtils.definitionQuery() .processDefinitionId(processDefinitionId).singleResult(); InputStream inputStream = repositoryService.getResourceAsStream(pd.getDeploymentId(), pd.getResourceName()); - Model model = repositoryService.createModelQuery().modelKey(pd.getKey()).modelTenantId(TenantHelper.getTenantId()).singleResult(); + ModelQuery query = QueryUtils.modelQuery(); + Model model = query.modelKey(pd.getKey()).singleResult(); try { if (ObjectUtil.isNotNull(model)) { repositoryService.addModelEditorSource(model.getId(), IoUtil.readBytes(inputStream)); @@ -295,9 +287,10 @@ InputStream inputStream = file.getInputStream(); Deployment deployment; if (FlowConstant.ZIP.equals(suffix)) { - deployment = repositoryService.createDeployment() + DeploymentBuilder builder = repositoryService.createDeployment(); + deployment = builder.addZipInputStream(new ZipInputStream(inputStream)) .tenantId(TenantHelper.getTenantId()) - .addZipInputStream(new ZipInputStream(inputStream)).name(processName).key(processKey).category(categoryCode).deploy(); + .name(processName).key(processKey).category(categoryCode).deploy(); } else { String[] list = ResourceNameUtil.BPMN_RESOURCE_SUFFIXES; boolean flag = false; @@ -308,15 +301,16 @@ } } if (flag) { - deployment = repositoryService.createDeployment() + DeploymentBuilder builder = repositoryService.createDeployment(); + deployment = builder.addInputStream(filename, inputStream) .tenantId(TenantHelper.getTenantId()) - .addInputStream(filename, inputStream).name(processName).key(processKey).category(categoryCode).deploy(); + .name(processName).key(processKey).category(categoryCode).deploy(); } else { throw new ServiceException("鏂囦欢绫诲瀷涓婁紶閿欒锛�"); } } // 鏇存柊鍒嗙被 - ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult(); + ProcessDefinition definition = QueryUtils.definitionQuery().deploymentId(deployment.getId()).singleResult(); repositoryService.setProcessDefinitionCategory(definition.getId(), categoryCode); return true; -- Gitblit v1.9.3