mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-20 18:15:56 +08:00
update 调整流程办理优化撤销,驳回,草稿等动作
This commit is contained in:
parent
472dfc165d
commit
763d5aa3d2
@ -209,7 +209,7 @@ public class ActTaskController extends BaseController {
|
|||||||
*/
|
*/
|
||||||
@GetMapping("/getBusinessStatus/{taskId}")
|
@GetMapping("/getBusinessStatus/{taskId}")
|
||||||
public R<String> getBusinessStatus(@PathVariable String taskId) {
|
public R<String> getBusinessStatus(@PathVariable String taskId) {
|
||||||
return R.ok("操作成功", WorkflowUtils.getBusinessStatus(taskId));
|
return R.ok("操作成功", WorkflowUtils.getBusinessStatusByTaskId(taskId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ package org.dromara.workflow.flowable.strategy;
|
|||||||
public interface FlowProcessEventHandler {
|
public interface FlowProcessEventHandler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 执行办理任务监听
|
* 执行办理任务监听 当状态为草稿,驳回,撤销时说明流程为申请人节点提交办理
|
||||||
*
|
*
|
||||||
* @param processInstanceId 流程实例id
|
* @param processInstanceId 流程实例id
|
||||||
* @param status 状态
|
* @param status 状态
|
||||||
|
|||||||
@ -77,8 +77,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
throw new ServiceException("启动工作流时必须包含业务ID");
|
throw new ServiceException("启动工作流时必须包含业务ID");
|
||||||
}
|
}
|
||||||
// 判断当前业务是否启动过流程
|
// 判断当前业务是否启动过流程
|
||||||
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceBusinessKey(startProcessBo.getBusinessKey()).processInstanceTenantId(TenantHelper.getTenantId()).singleResult();
|
||||||
.processInstanceBusinessKey(startProcessBo.getBusinessKey()).processInstanceTenantId(TenantHelper.getTenantId()).singleResult();
|
|
||||||
if (ObjectUtil.isNotEmpty(historicProcessInstance)) {
|
if (ObjectUtil.isNotEmpty(historicProcessInstance)) {
|
||||||
BusinessStatusEnum.checkStartStatus(historicProcessInstance.getBusinessStatus());
|
BusinessStatusEnum.checkStartStatus(historicProcessInstance.getBusinessStatus());
|
||||||
}
|
}
|
||||||
@ -130,8 +129,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
List<RoleDTO> roles = LoginHelper.getLoginUser().getRoles();
|
List<RoleDTO> roles = LoginHelper.getLoginUser().getRoles();
|
||||||
String userId = String.valueOf(LoginHelper.getUserId());
|
String userId = String.valueOf(LoginHelper.getUserId());
|
||||||
TaskQuery taskQuery = taskService.createTaskQuery();
|
TaskQuery taskQuery = taskService.createTaskQuery();
|
||||||
taskQuery.taskId(completeTaskBo.getTaskId())
|
taskQuery.taskId(completeTaskBo.getTaskId()).taskTenantId(TenantHelper.getTenantId()).taskCandidateOrAssigned(userId);
|
||||||
.taskTenantId(TenantHelper.getTenantId()).taskCandidateOrAssigned(userId);
|
|
||||||
if (CollUtil.isNotEmpty(roles)) {
|
if (CollUtil.isNotEmpty(roles)) {
|
||||||
List<String> groupIds = StreamUtils.toList(roles, e -> String.valueOf(e.getRoleId()));
|
List<String> groupIds = StreamUtils.toList(roles, e -> String.valueOf(e.getRoleId()));
|
||||||
taskQuery.taskCandidateGroupIn(groupIds);
|
taskQuery.taskCandidateGroupIn(groupIds);
|
||||||
@ -166,11 +164,18 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
} else {
|
} else {
|
||||||
taskService.complete(completeTaskBo.getTaskId());
|
taskService.complete(completeTaskBo.getTaskId());
|
||||||
}
|
}
|
||||||
|
FlowProcessEventHandler processHandler = flowEventStrategy.getProcessHandler(processInstance.getProcessDefinitionKey());
|
||||||
|
|
||||||
|
String businessStatus = WorkflowUtils.getBusinessStatus(task.getProcessInstanceId());
|
||||||
|
if (BusinessStatusEnum.DRAFT.getStatus().equals(businessStatus) || BusinessStatusEnum.BACK.getStatus().equals(businessStatus) || BusinessStatusEnum.CANCEL.getStatus().equals(businessStatus)) {
|
||||||
|
if (processHandler != null) {
|
||||||
|
processHandler.handleProcess(processInstance.getId(), businessStatus);
|
||||||
|
}
|
||||||
|
}
|
||||||
List<Task> list = taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId()).processInstanceId(task.getProcessInstanceId()).list();
|
List<Task> list = taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId()).processInstanceId(task.getProcessInstanceId()).list();
|
||||||
if (CollUtil.isEmpty(list)) {
|
if (CollUtil.isEmpty(list)) {
|
||||||
UpdateBusinessStatusCmd updateBusinessStatusCmd = new UpdateBusinessStatusCmd(task.getProcessInstanceId(), BusinessStatusEnum.FINISH.getStatus());
|
UpdateBusinessStatusCmd updateBusinessStatusCmd = new UpdateBusinessStatusCmd(task.getProcessInstanceId(), BusinessStatusEnum.FINISH.getStatus());
|
||||||
managementService.executeCommand(updateBusinessStatusCmd);
|
managementService.executeCommand(updateBusinessStatusCmd);
|
||||||
FlowProcessEventHandler processHandler = flowEventStrategy.getProcessHandler(processInstance.getProcessDefinitionKey());
|
|
||||||
if (processHandler != null) {
|
if (processHandler != null) {
|
||||||
processHandler.handleProcess(processInstance.getId(), BusinessStatusEnum.FINISH.getStatus());
|
processHandler.handleProcess(processInstance.getId(), BusinessStatusEnum.FINISH.getStatus());
|
||||||
}
|
}
|
||||||
@ -297,8 +302,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
@Override
|
@Override
|
||||||
public TableDataInfo<TaskVo> getTaskFinishByPage(TaskBo taskBo) {
|
public TableDataInfo<TaskVo> getTaskFinishByPage(TaskBo taskBo) {
|
||||||
String userId = String.valueOf(LoginHelper.getUserId());
|
String userId = String.valueOf(LoginHelper.getUserId());
|
||||||
HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery()
|
HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery().taskAssignee(userId).taskTenantId(TenantHelper.getTenantId()).finished().orderByHistoricTaskInstanceStartTime().desc();
|
||||||
.taskAssignee(userId).taskTenantId(TenantHelper.getTenantId()).finished().orderByHistoricTaskInstanceStartTime().desc();
|
|
||||||
if (StringUtils.isNotBlank(taskBo.getName())) {
|
if (StringUtils.isNotBlank(taskBo.getName())) {
|
||||||
query.taskNameLike("%" + taskBo.getName() + "%");
|
query.taskNameLike("%" + taskBo.getName() + "%");
|
||||||
}
|
}
|
||||||
@ -339,8 +343,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<TaskVo> getAllTaskFinishByPage(TaskBo taskBo) {
|
public TableDataInfo<TaskVo> getAllTaskFinishByPage(TaskBo taskBo) {
|
||||||
HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery()
|
HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery().taskTenantId(TenantHelper.getTenantId()).finished().orderByHistoricTaskInstanceStartTime().desc();
|
||||||
.taskTenantId(TenantHelper.getTenantId()).finished().orderByHistoricTaskInstanceStartTime().desc();
|
|
||||||
if (StringUtils.isNotBlank(taskBo.getName())) {
|
if (StringUtils.isNotBlank(taskBo.getName())) {
|
||||||
query.taskNameLike("%" + taskBo.getName() + "%");
|
query.taskNameLike("%" + taskBo.getName() + "%");
|
||||||
}
|
}
|
||||||
@ -382,9 +385,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public boolean delegateTask(DelegateBo delegateBo) {
|
public boolean delegateTask(DelegateBo delegateBo) {
|
||||||
TaskEntity task = (TaskEntity) taskService.createTaskQuery()
|
TaskEntity task = (TaskEntity) taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId()).taskId(delegateBo.getTaskId()).taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())).singleResult();
|
||||||
.taskTenantId(TenantHelper.getTenantId()).taskId(delegateBo.getTaskId())
|
|
||||||
.taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())).singleResult();
|
|
||||||
if (ObjectUtil.isEmpty(task)) {
|
if (ObjectUtil.isEmpty(task)) {
|
||||||
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
||||||
}
|
}
|
||||||
@ -413,8 +414,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public boolean terminationTask(TerminationBo terminationBo) {
|
public boolean terminationTask(TerminationBo terminationBo) {
|
||||||
Task task = taskService.createTaskQuery()
|
Task task = taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId()).taskId(terminationBo.getTaskId()).singleResult();
|
||||||
.taskTenantId(TenantHelper.getTenantId()).taskId(terminationBo.getTaskId()).singleResult();
|
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(task)) {
|
if (ObjectUtil.isEmpty(task)) {
|
||||||
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
||||||
@ -422,8 +422,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
if (task.isSuspended()) {
|
if (task.isSuspended()) {
|
||||||
throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED);
|
throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED);
|
||||||
}
|
}
|
||||||
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceBusinessKey(task.getProcessInstanceId()).processInstanceTenantId(TenantHelper.getTenantId()).singleResult();
|
||||||
.processInstanceBusinessKey(task.getProcessInstanceId()).processInstanceTenantId(TenantHelper.getTenantId()).singleResult();
|
|
||||||
if (ObjectUtil.isNotEmpty(historicProcessInstance)) {
|
if (ObjectUtil.isNotEmpty(historicProcessInstance)) {
|
||||||
BusinessStatusEnum.checkStatus(historicProcessInstance.getBusinessStatus());
|
BusinessStatusEnum.checkStatus(historicProcessInstance.getBusinessStatus());
|
||||||
}
|
}
|
||||||
@ -434,8 +433,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
terminationBo.setComment(LoginHelper.getLoginUser().getNickname() + "终止了申请:" + terminationBo.getComment());
|
terminationBo.setComment(LoginHelper.getLoginUser().getNickname() + "终止了申请:" + terminationBo.getComment());
|
||||||
}
|
}
|
||||||
taskService.addComment(task.getId(), task.getProcessInstanceId(), TaskStatusEnum.TERMINATION.getStatus(), terminationBo.getComment());
|
taskService.addComment(task.getId(), task.getProcessInstanceId(), TaskStatusEnum.TERMINATION.getStatus(), terminationBo.getComment());
|
||||||
List<Task> list = taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId())
|
List<Task> list = taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId()).processInstanceId(task.getProcessInstanceId()).list();
|
||||||
.processInstanceId(task.getProcessInstanceId()).list();
|
|
||||||
if (CollectionUtil.isNotEmpty(list)) {
|
if (CollectionUtil.isNotEmpty(list)) {
|
||||||
List<Task> subTasks = StreamUtils.filter(list, e -> StringUtils.isNotBlank(e.getParentTaskId()));
|
List<Task> subTasks = StreamUtils.filter(list, e -> StringUtils.isNotBlank(e.getParentTaskId()));
|
||||||
if (CollectionUtil.isNotEmpty(subTasks)) {
|
if (CollectionUtil.isNotEmpty(subTasks)) {
|
||||||
@ -461,8 +459,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean transferTask(TransmitBo transmitBo) {
|
public boolean transferTask(TransmitBo transmitBo) {
|
||||||
Task task = taskService.createTaskQuery().taskId(transmitBo.getTaskId()).taskTenantId(TenantHelper.getTenantId())
|
Task task = taskService.createTaskQuery().taskId(transmitBo.getTaskId()).taskTenantId(TenantHelper.getTenantId()).taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())).singleResult();
|
||||||
.taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())).singleResult();
|
|
||||||
if (ObjectUtil.isEmpty(task)) {
|
if (ObjectUtil.isEmpty(task)) {
|
||||||
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
||||||
}
|
}
|
||||||
@ -471,8 +468,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
TaskEntity newTask = WorkflowUtils.createNewTask(task);
|
TaskEntity newTask = WorkflowUtils.createNewTask(task);
|
||||||
taskService.addComment(newTask.getId(), task.getProcessInstanceId(), TaskStatusEnum.TRANSFER.getStatus(),
|
taskService.addComment(newTask.getId(), task.getProcessInstanceId(), TaskStatusEnum.TRANSFER.getStatus(), StringUtils.isNotBlank(transmitBo.getComment()) ? transmitBo.getComment() : LoginHelper.getUsername() + "转办了任务");
|
||||||
StringUtils.isNotBlank(transmitBo.getComment()) ? transmitBo.getComment() : LoginHelper.getUsername() + "转办了任务");
|
|
||||||
taskService.complete(newTask.getId());
|
taskService.complete(newTask.getId());
|
||||||
taskService.setAssignee(task.getId(), transmitBo.getUserId());
|
taskService.setAssignee(task.getId(), transmitBo.getUserId());
|
||||||
return true;
|
return true;
|
||||||
@ -489,8 +485,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean addMultiInstanceExecution(AddMultiBo addMultiBo) {
|
public boolean addMultiInstanceExecution(AddMultiBo addMultiBo) {
|
||||||
Task task = taskService.createTaskQuery().taskId(addMultiBo.getTaskId()).taskTenantId(TenantHelper.getTenantId())
|
Task task = taskService.createTaskQuery().taskId(addMultiBo.getTaskId()).taskTenantId(TenantHelper.getTenantId()).taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())).singleResult();
|
||||||
.taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())).singleResult();
|
|
||||||
if (ObjectUtil.isEmpty(task)) {
|
if (ObjectUtil.isEmpty(task)) {
|
||||||
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
||||||
}
|
}
|
||||||
@ -533,8 +528,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean deleteMultiInstanceExecution(DeleteMultiBo deleteMultiBo) {
|
public boolean deleteMultiInstanceExecution(DeleteMultiBo deleteMultiBo) {
|
||||||
Task task = taskService.createTaskQuery().taskId(deleteMultiBo.getTaskId()).taskTenantId(TenantHelper.getTenantId())
|
Task task = taskService.createTaskQuery().taskId(deleteMultiBo.getTaskId()).taskTenantId(TenantHelper.getTenantId()).taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())).singleResult();
|
||||||
.taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())).singleResult();
|
|
||||||
if (ObjectUtil.isEmpty(task)) {
|
if (ObjectUtil.isEmpty(task)) {
|
||||||
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
||||||
}
|
}
|
||||||
@ -580,8 +574,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public String backProcess(BackProcessBo backProcessBo) {
|
public String backProcess(BackProcessBo backProcessBo) {
|
||||||
Task task = taskService.createTaskQuery().taskId(backProcessBo.getTaskId()).taskTenantId(TenantHelper.getTenantId())
|
Task task = taskService.createTaskQuery().taskId(backProcessBo.getTaskId()).taskTenantId(TenantHelper.getTenantId()).taskAssignee(String.valueOf(LoginHelper.getUserId())).singleResult();
|
||||||
.taskAssignee(String.valueOf(LoginHelper.getUserId())).singleResult();
|
|
||||||
if (ObjectUtil.isEmpty(task)) {
|
if (ObjectUtil.isEmpty(task)) {
|
||||||
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
||||||
}
|
}
|
||||||
@ -604,14 +597,10 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
taskService.addComment(task.getId(), processInstanceId, TaskStatusEnum.BACK.getStatus(), StringUtils.isNotBlank(backProcessBo.getMessage()) ? backProcessBo.getMessage() : "退回");
|
taskService.addComment(task.getId(), processInstanceId, TaskStatusEnum.BACK.getStatus(), StringUtils.isNotBlank(backProcessBo.getMessage()) ? backProcessBo.getMessage() : "退回");
|
||||||
if (taskList.size() > 1) {
|
if (taskList.size() > 1) {
|
||||||
//当前多个任务驳回到单个节点
|
//当前多个任务驳回到单个节点
|
||||||
runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId)
|
runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId).moveActivityIdsToSingleActivityId(taskList.stream().map(Task::getTaskDefinitionKey).distinct().collect(Collectors.toList()), backTaskDefinitionKey).changeState();
|
||||||
.moveActivityIdsToSingleActivityId(taskList.stream().map(Task::getTaskDefinitionKey).distinct().collect(Collectors.toList()), backTaskDefinitionKey)
|
|
||||||
.changeState();
|
|
||||||
} else {
|
} else {
|
||||||
//当前单个节点驳回单个节点
|
//当前单个节点驳回单个节点
|
||||||
runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId)
|
runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId).moveActivityIdTo(task.getTaskDefinitionKey(), backTaskDefinitionKey).changeState();
|
||||||
.moveActivityIdTo(task.getTaskDefinitionKey(), backTaskDefinitionKey)
|
|
||||||
.changeState();
|
|
||||||
}
|
}
|
||||||
List<Task> list = taskService.createTaskQuery().processInstanceId(processInstanceId).taskTenantId(TenantHelper.getTenantId()).list();
|
List<Task> list = taskService.createTaskQuery().processInstanceId(processInstanceId).taskTenantId(TenantHelper.getTenantId()).list();
|
||||||
for (Task t : list) {
|
for (Task t : list) {
|
||||||
|
|||||||
@ -297,13 +297,24 @@ public class WorkflowUtils {
|
|||||||
*
|
*
|
||||||
* @param taskId 任务id
|
* @param taskId 任务id
|
||||||
*/
|
*/
|
||||||
public static String getBusinessStatus(String taskId) {
|
public static String getBusinessStatusByTaskId(String taskId) {
|
||||||
HistoricTaskInstance historicTaskInstance = PROCESS_ENGINE.getHistoryService().createHistoricTaskInstanceQuery().taskId(taskId).taskTenantId(TenantHelper.getTenantId()).singleResult();
|
HistoricTaskInstance historicTaskInstance = PROCESS_ENGINE.getHistoryService().createHistoricTaskInstanceQuery().taskId(taskId).taskTenantId(TenantHelper.getTenantId()).singleResult();
|
||||||
HistoricProcessInstance historicProcessInstance = PROCESS_ENGINE.getHistoryService().createHistoricProcessInstanceQuery()
|
HistoricProcessInstance historicProcessInstance = PROCESS_ENGINE.getHistoryService().createHistoricProcessInstanceQuery()
|
||||||
.processInstanceId(historicTaskInstance.getProcessInstanceId()).processInstanceTenantId(TenantHelper.getTenantId()).singleResult();
|
.processInstanceId(historicTaskInstance.getProcessInstanceId()).processInstanceTenantId(TenantHelper.getTenantId()).singleResult();
|
||||||
return historicProcessInstance.getBusinessStatus();
|
return historicProcessInstance.getBusinessStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前流程状态
|
||||||
|
*
|
||||||
|
* @param processInstanceId 流程实例id
|
||||||
|
*/
|
||||||
|
public static String getBusinessStatus(String processInstanceId) {
|
||||||
|
HistoricProcessInstance historicProcessInstance = PROCESS_ENGINE.getHistoryService().createHistoricProcessInstanceQuery()
|
||||||
|
.processInstanceId(processInstanceId).processInstanceTenantId(TenantHelper.getTenantId()).singleResult();
|
||||||
|
return historicProcessInstance.getBusinessStatus();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置流程实例对象
|
* 设置流程实例对象
|
||||||
*
|
*
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user