diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java index b2fc04253..d74deff40 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java @@ -11,6 +11,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.databind.ObjectMapper; import com.pig4cloud.pigx.common.core.util.R; +import com.pig4cloud.pigx.common.data.tenant.TenantContextHolder; import com.pig4cloud.pigx.flow.engine.utils.ModelUtil; import com.pig4cloud.pigx.flow.task.dto.*; import com.pig4cloud.pigx.flow.task.entity.Process; @@ -83,7 +84,8 @@ public class EngineFlowController { log.debug("部署时的模型文件:{}", filename); FileUtil.writeBytes(bpmnBytess, filename); } - repositoryService.createDeployment().addBpmnModel(StrUtil.format("{}.bpmn20.xml", "pig"), bpmnModel).deploy(); + repositoryService.createDeployment().addBpmnModel(StrUtil.format("{}.bpmn20.xml", "pig"), bpmnModel) + .tenantId(TenantContextHolder.getTenantId().toString()).deploy(); return R.ok(flowId); } @@ -97,8 +99,8 @@ public class EngineFlowController { @PostMapping("/start") public R start(@RequestBody ProcessInstanceParamDto processInstanceParamDto) { Authentication.setAuthenticatedUserId(processInstanceParamDto.getStartUserId()); - ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processInstanceParamDto.getFlowId(), - processInstanceParamDto.getParamMap()); + ProcessInstance processInstance = runtimeService.startProcessInstanceByKeyAndTenantId(processInstanceParamDto.getFlowId(), + processInstanceParamDto.getParamMap(), TenantContextHolder.getTenantId().toString()); String processInstanceId = processInstance.getProcessInstanceId(); return R.ok(processInstanceId); @@ -134,6 +136,7 @@ public class EngineFlowController { // 查询流程实例 ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() .processInstanceId(processInstanceId) + .processInstanceTenantId(TenantContextHolder.getTenantId().toString()) .singleResult(); if (Optional.ofNullable(processInstance).isPresent()) { // 查询执行实例 @@ -239,6 +242,7 @@ public class EngineFlowController { if (StrUtil.isNotBlank(taskQueryParamDto.getProcessName())) { List processInstanceList = runtimeService.createProcessInstanceQuery() .processDefinitionName(taskQueryParamDto.getProcessName()) + .processInstanceTenantId(TenantContextHolder.getTenantId().toString()) .list(); if (CollUtil.isNotEmpty(processInstanceList)) { taskQuery.processInstanceIdIn(processInstanceList.stream() diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineProcessInstanceController.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineProcessInstanceController.java index be2d2b0e5..0f039c7df 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineProcessInstanceController.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineProcessInstanceController.java @@ -1,6 +1,7 @@ package com.pig4cloud.pigx.flow.engine.controller; import com.pig4cloud.pigx.common.core.util.R; +import com.pig4cloud.pigx.common.data.tenant.TenantContextHolder; import com.pig4cloud.pigx.flow.task.dto.IndexPageStatistics; import com.pig4cloud.pigx.flow.task.dto.VariableQueryParamDto; import lombok.RequiredArgsConstructor; @@ -12,6 +13,7 @@ import org.flowable.engine.history.HistoricActivityInstanceQuery; import org.flowable.task.api.TaskQuery; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; /** @@ -23,49 +25,54 @@ import java.util.Map; @RequestMapping("/process-instance") public class EngineProcessInstanceController { - private final TaskService taskService; + private final TaskService taskService; - private final HistoryService historyService; + private final HistoryService historyService; - private final RuntimeService runtimeService; + private final RuntimeService runtimeService; - /** - * 查询首页统计数量 - * @param userId 用户ID - * @return 统计结果 - */ - @GetMapping("querySimpleData") - public R querySimpleData(long userId) { - TaskQuery taskQuery = taskService.createTaskQuery(); + /** + * 查询首页统计数量 + * + * @param userId 用户ID + * @return 统计结果 + */ + @GetMapping("querySimpleData") + public R querySimpleData(long userId) { + TaskQuery taskQuery = taskService.createTaskQuery(); - // 待办数量 - long pendingNum = taskQuery.taskAssignee(String.valueOf(userId)).count(); - // 已完成任务 - HistoricActivityInstanceQuery historicActivityInstanceQuery = historyService - .createHistoricActivityInstanceQuery(); + // 待办数量 + long pendingNum = taskQuery.taskAssignee(String.valueOf(userId)) + .taskTenantId(TenantContextHolder.getTenantId().toString()) + .count(); + // 已完成任务 + HistoricActivityInstanceQuery historicActivityInstanceQuery = historyService + .createHistoricActivityInstanceQuery(); - long completedNum = historicActivityInstanceQuery.taskAssignee(String.valueOf(userId)).finished().count(); + long completedNum = historicActivityInstanceQuery.taskAssignee(String.valueOf(userId)) + .tenantIdIn(List.of(TenantContextHolder.getTenantId().toString())).finished().count(); - IndexPageStatistics indexPageStatistics = IndexPageStatistics.builder() - .pendingNum(pendingNum) - .completedNum(completedNum) - .build(); + IndexPageStatistics indexPageStatistics = IndexPageStatistics.builder() + .pendingNum(pendingNum) + .completedNum(completedNum) + .build(); - return R.ok(indexPageStatistics); - } + return R.ok(indexPageStatistics); + } - /** - * 查询流程变量 - * @param paramDto 查询参数 - * @return 流程变量 - */ - @PostMapping("queryVariables") - public R queryVariables(@RequestBody VariableQueryParamDto paramDto) { + /** + * 查询流程变量 + * + * @param paramDto 查询参数 + * @return 流程变量 + */ + @PostMapping("queryVariables") + public R queryVariables(@RequestBody VariableQueryParamDto paramDto) { - Map variables = runtimeService.getVariables(paramDto.getExecutionId()); + Map variables = runtimeService.getVariables(paramDto.getExecutionId()); - return R.ok(variables); + return R.ok(variables); - } + } } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/ITaskService.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/ITaskService.java index 82698ecde..16529694d 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/ITaskService.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/ITaskService.java @@ -10,57 +10,65 @@ public interface ITaskService { /** * 查询任务 - * @param taskId - * @param view - * @return + * + * @param taskId 任务ID + * @param view 是否查看 + * @return 查询结果 */ R queryTask(String taskId, boolean view); /** * 完成任务 - * @param taskParamDto - * @return + * + * @param taskParamDto 任务参数DTO + * @return 任务执行结果 */ R completeTask(TaskParamDto taskParamDto); /** - * 前加签 - * @param taskParamDto - * @return + * 委托任务(前加签) + * + * @param taskParamDto 任务参数DTO + * @return 委托任务结果 */ R delegateTask(TaskParamDto taskParamDto); /** * 加签完成任务 - * @param taskParamDto - * @return + * + * @param taskParamDto 任务参数DTO + * @return 任务处理结果 */ R resolveTask(TaskParamDto taskParamDto); /** - * 设置执行人 - * @param taskParamDto - * @return + * 设置任务执行人 + * + * @param taskParamDto 任务参数DTO + * @return 操作结果 */ R setAssignee(TaskParamDto taskParamDto); /** - * 结束流程 - * @param taskParamDto - * @return + * 结束流程实例 + * + * @param taskParamDto 任务参数DTO + * @return 操作结果 */ R stopProcessInstance(TaskParamDto taskParamDto); /** - * 退回 - * @param taskParamDto - * @return + * 退回任务 + * + * @param taskParamDto 任务参数DTO + * @return 操作结果 */ R back(TaskParamDto taskParamDto); /** * 查询首页数据看板 - * @return + * + * @return 任务数据结果 */ R queryTaskData();