diff --git a/pom.xml b/pom.xml
index f0be7e3d..a1d8e194 100644
--- a/pom.xml
+++ b/pom.xml
@@ -231,6 +231,13 @@
${tlog.version}
+
+
+ org.flowable
+ flowable-spring-boot-starter-process
+ ${flowable.version}
+
+
com.ruoyi
@@ -273,12 +280,6 @@
${ruoyi-flowable-plus.version}
-
- org.flowable
- flowable-spring-boot-starter-process
- ${flowable.version}
-
-
com.ruoyi
diff --git a/ruoyi-flowable/pom.xml b/ruoyi-flowable/pom.xml
index 1c289095..0e0b19ea 100644
--- a/ruoyi-flowable/pom.xml
+++ b/ruoyi-flowable/pom.xml
@@ -8,9 +8,13 @@
3.5.0
4.0.0
- jar
+
ruoyi-flowable
+
+ flowable工作流
+
+
diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/FlowTaskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/FlowTaskServiceImpl.java
index 8c0cfd9c..f7a2f51f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/FlowTaskServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/FlowTaskServiceImpl.java
@@ -88,7 +88,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
@Override
public R complete(FlowTaskVo taskVo) {
Task task = taskService.createTaskQuery().taskId(taskVo.getTaskId()).singleResult();
- if (Objects.isNull(task)){
+ if (Objects.isNull(task)) {
return R.error("任务不存在");
}
if (DelegationState.PENDING.equals(task.getDelegationState())) {
@@ -213,15 +213,15 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
if (targetIds.size() > 1) {
// 1 对 多任务跳转,currentIds 当前节点(1),targetIds 跳转到的节点(多)
runtimeService.createChangeActivityStateBuilder()
- .processInstanceId(task.getProcessInstanceId()).
- moveSingleActivityIdToActivityIds(currentIds.get(0), targetIds).changeState();
+ .processInstanceId(task.getProcessInstanceId()).
+ moveSingleActivityIdToActivityIds(currentIds.get(0), targetIds).changeState();
}
// 如果父级任务只有一个,因此当前任务可能为网关中的任务
if (targetIds.size() == 1) {
// 1 对 1 或 多 对 1 情况,currentIds 当前要跳转的节点列表(1或多),targetIds.get(0) 跳转到的节点(1)
runtimeService.createChangeActivityStateBuilder()
- .processInstanceId(task.getProcessInstanceId())
- .moveActivityIdsToSingleActivityId(currentIds, targetIds.get(0)).changeState();
+ .processInstanceId(task.getProcessInstanceId())
+ .moveActivityIdsToSingleActivityId(currentIds, targetIds.get(0)).changeState();
}
} catch (FlowableObjectNotFoundException e) {
throw new RuntimeException("未找到流程实例,流程可能已发生变化");
@@ -301,8 +301,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
try {
// 1 对 1 或 多 对 1 情况,currentIds 当前要跳转的节点列表(1或多),targetKey 跳转到的节点(1)
runtimeService.createChangeActivityStateBuilder()
- .processInstanceId(task.getProcessInstanceId())
- .moveActivityIdsToSingleActivityId(currentIds, flowTaskVo.getTargetKey()).changeState();
+ .processInstanceId(task.getProcessInstanceId())
+ .moveActivityIdsToSingleActivityId(currentIds, flowTaskVo.getTargetKey()).changeState();
} catch (FlowableObjectNotFoundException e) {
throw new RuntimeException("未找到流程实例,流程可能已发生变化");
} catch (FlowableException e) {
@@ -360,7 +360,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
@Override
public void deleteTask(FlowTaskVo flowTaskVo) {
// todo 待确认删除任务是物理删除任务 还是逻辑删除,让这个任务直接通过?
- taskService.deleteTask(flowTaskVo.getTaskId(),flowTaskVo.getComment());
+ taskService.deleteTask(flowTaskVo.getTaskId(), flowTaskVo.getComment());
}
/**
@@ -405,7 +405,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
@Override
@Transactional(rollbackFor = Exception.class)
public void assignTask(FlowTaskVo flowTaskVo) {
- taskService.setAssignee(flowTaskVo.getTaskId(),flowTaskVo.getComment());
+ taskService.setAssignee(flowTaskVo.getTaskId(), flowTaskVo.getComment());
}
/**
@@ -420,9 +420,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
Page page = new Page<>();
Long userId = LoginUtils.getUserId();
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
- .startedBy(userId.toString())
- .orderByProcessInstanceStartTime()
- .desc();
+ .startedBy(userId.toString())
+ .orderByProcessInstanceStartTime()
+ .desc();
List historicProcessInstances = historicProcessInstanceQuery.listPage(pageNum - 1, pageSize);
page.setTotal(historicProcessInstanceQuery.count());
List flowList = new ArrayList<>();
@@ -442,8 +442,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
// 流程定义信息
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
- .processDefinitionId(hisIns.getProcessDefinitionId())
- .singleResult();
+ .processDefinitionId(hisIns.getProcessDefinitionId())
+ .singleResult();
flowTask.setDeployId(pd.getDeploymentId());
flowTask.setProcDefName(pd.getName());
flowTask.setProcDefVersion(pd.getVersion());
@@ -477,7 +477,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
ProcessInstance processInstance =
- runtimeService.createProcessInstanceQuery().processInstanceId(flowTaskVo.getInstanceId()).singleResult();
+ runtimeService.createProcessInstanceQuery().processInstanceId(flowTaskVo.getInstanceId()).singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
if (Objects.nonNull(bpmnModel)) {
Process process = bpmnModel.getMainProcess();
@@ -488,11 +488,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// StringUtils.isBlank(flowTaskVo.getComment()) ? "取消申请" : flowTaskVo.getComment());
String endId = endNodes.get(0).getId();
List executions =
- runtimeService.createExecutionQuery().parentId(processInstance.getProcessInstanceId()).list();
+ runtimeService.createExecutionQuery().parentId(processInstance.getProcessInstanceId()).list();
List executionIds = new ArrayList<>();
executions.forEach(execution -> executionIds.add(execution.getId()));
runtimeService.createChangeActivityStateBuilder().moveExecutionsToSingleActivityId(executionIds,
- endId).changeState();
+ endId).changeState();
}
}
@@ -513,10 +513,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
List htiList = historyService.createHistoricTaskInstanceQuery()
- .processInstanceId(task.getProcessInstanceId())
- .orderByTaskCreateTime()
- .asc()
- .list();
+ .processInstanceId(task.getProcessInstanceId())
+ .orderByTaskCreateTime()
+ .asc()
+ .list();
String myTaskId = null;
HistoricTaskInstance myTask = null;
for (HistoricTaskInstance hti : htiList) {
@@ -537,7 +537,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// Map variables = runtimeService.getVariableInstances(currentTask.getExecutionId());
String myActivityId = null;
List haiList = historyService.createHistoricActivityInstanceQuery()
- .executionId(myTask.getExecutionId()).finished().list();
+ .executionId(myTask.getExecutionId()).finished().list();
for (HistoricActivityInstance hai : haiList) {
if (myTaskId.equals(hai.getTaskId())) {
myActivityId = hai.getActivityId();
@@ -569,10 +569,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
Page page = new Page<>();
Long userId = LoginUtils.getUserId();
TaskQuery taskQuery = taskService.createTaskQuery()
- .active()
- .includeProcessVariables()
- .taskAssignee(userId.toString())
- .orderByTaskCreateTime().desc();
+ .active()
+ .includeProcessVariables()
+ .taskAssignee(userId.toString())
+ .orderByTaskCreateTime().desc();
page.setTotal(taskQuery.count());
List taskList = taskQuery.listPage(pageNum - 1, pageSize);
List flowList = new ArrayList<>();
@@ -586,8 +586,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
flowTask.setTaskName(task.getName());
// 流程定义信息
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
- .processDefinitionId(task.getProcessDefinitionId())
- .singleResult();
+ .processDefinitionId(task.getProcessDefinitionId())
+ .singleResult();
flowTask.setDeployId(pd.getDeploymentId());
flowTask.setProcDefName(pd.getName());
flowTask.setProcDefVersion(pd.getVersion());
@@ -595,8 +595,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// 流程发起人信息
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
- .processInstanceId(task.getProcessInstanceId())
- .singleResult();
+ .processInstanceId(task.getProcessInstanceId())
+ .singleResult();
SysUser startUser = sysUserService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
// SysUser startUser = sysUserService.selectUserById(Long.parseLong(task.getAssignee()));
flowTask.setStartUserId(startUser.getNickName());
@@ -622,11 +622,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
Page page = new Page<>();
Long userId = LoginUtils.getUserId();
HistoricTaskInstanceQuery taskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
- .includeProcessVariables()
- .finished()
- .taskAssignee(userId.toString())
- .orderByHistoricTaskInstanceEndTime()
- .desc();
+ .includeProcessVariables()
+ .finished()
+ .taskAssignee(userId.toString())
+ .orderByHistoricTaskInstanceEndTime()
+ .desc();
List historicTaskInstanceList = taskInstanceQuery.listPage(pageNum - 1, pageSize);
List hisTaskList = Lists.newArrayList();
for (HistoricTaskInstance histTask : historicTaskInstanceList) {
@@ -643,8 +643,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// 流程定义信息
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
- .processDefinitionId(histTask.getProcessDefinitionId())
- .singleResult();
+ .processDefinitionId(histTask.getProcessDefinitionId())
+ .singleResult();
flowTask.setDeployId(pd.getDeploymentId());
flowTask.setProcDefName(pd.getName());
flowTask.setProcDefVersion(pd.getVersion());
@@ -653,8 +653,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// 流程发起人信息
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
- .processInstanceId(histTask.getProcessInstanceId())
- .singleResult();
+ .processInstanceId(histTask.getProcessInstanceId())
+ .singleResult();
SysUser startUser = sysUserService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
flowTask.setStartUserId(startUser.getNickName());
flowTask.setStartUserName(startUser.getNickName());
@@ -685,10 +685,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
Map map = new HashMap<>();
if (StringUtils.isNotBlank(procInsId)) {
List list = historyService
- .createHistoricActivityInstanceQuery()
- .processInstanceId(procInsId)
- .orderByHistoricActivityInstanceStartTime()
- .desc().list();
+ .createHistoricActivityInstanceQuery()
+ .processInstanceId(procInsId)
+ .orderByHistoricActivityInstanceStartTime()
+ .desc().list();
List hisFlowList = new ArrayList<>();
for (HistoricActivityInstance histIns : list) {
if (StringUtils.isNotBlank(histIns.getTaskId())) {
@@ -808,7 +808,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
//获取自定义图片生成器
ProcessDiagramGenerator diagramGenerator = new CustomProcessDiagramGenerator();
InputStream in = diagramGenerator.generateDiagram(bpmnModel, "png", highLightedNodes, highLightedFlows, configuration.getActivityFontName(),
- configuration.getLabelFontName(), configuration.getAnnotationFontName(), configuration.getClassLoader(), 1.0, true);
+ configuration.getLabelFontName(), configuration.getAnnotationFontName(), configuration.getClassLoader(), 1.0, true);
return in;
}
@@ -868,7 +868,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
List nextUserTask = FindNextNodeUtil.getNextUserTasks(repositoryService, task, new HashMap<>());
if (CollectionUtils.isNotEmpty(nextUserTask)) {
for (UserTask userTask : nextUserTask) {
- MultiInstanceLoopCharacteristics multiInstance = userTask.getLoopCharacteristics();
+ MultiInstanceLoopCharacteristics multiInstance = userTask.getLoopCharacteristics();
// 会签节点
if (Objects.nonNull(multiInstance)) {
List list = sysUserService.selectUserList(new SysUser());