ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActTaskController.java
@@ -42,7 +42,7 @@ private final TaskService taskService; private final IWfTaskBackNodeService iWfTaskBackNodeService; private final IWfTaskBackNodeService wfTaskBackNodeService; /** @@ -269,7 +269,7 @@ */ @GetMapping("/getTaskNodeList/{processInstanceId}") public R<List<WfTaskBackNode>> getNodeList(@PathVariable String processInstanceId) { return R.ok(CollUtil.reverse(iWfTaskBackNodeService.getListByInstanceId(processInstanceId))); return R.ok(CollUtil.reverse(wfTaskBackNodeService.getListByInstanceId(processInstanceId))); } /** ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java
@@ -64,8 +64,8 @@ public class ActModelServiceImpl implements IActModelService { private final RepositoryService repositoryService; private final IWfNodeConfigService iWfNodeConfigService; private final IWfDefinitionConfigService iWfDefinitionConfigService; private final IWfNodeConfigService wfNodeConfigService; private final IWfDefinitionConfigService wfDefinitionConfigService; /** * 分页查询模型 @@ -291,16 +291,16 @@ repositoryService.setProcessDefinitionCategory(definition.getId(), model.getCategory()); //更新流程定义配置 if (processDefinition != null) { WfDefinitionConfigVo definitionVo = iWfDefinitionConfigService.getByDefId(processDefinition.getId()); WfDefinitionConfigVo definitionVo = wfDefinitionConfigService.getByDefId(processDefinition.getId()); if (definitionVo != null) { iWfDefinitionConfigService.deleteByDefIds(Collections.singletonList(processDefinition.getId())); wfDefinitionConfigService.deleteByDefIds(Collections.singletonList(processDefinition.getId())); WfDefinitionConfigBo wfFormDefinition = new WfDefinitionConfigBo(); wfFormDefinition.setDefinitionId(definition.getId()); wfFormDefinition.setProcessKey(definition.getKey()); wfFormDefinition.setTableName(definitionVo.getTableName()); wfFormDefinition.setVersion(definition.getVersion()); wfFormDefinition.setRemark(definitionVo.getRemark()); iWfDefinitionConfigService.saveOrUpdate(wfFormDefinition); wfDefinitionConfigService.saveOrUpdate(wfFormDefinition); } } //更新流程节点配置表单 @@ -321,7 +321,7 @@ } } if (CollUtil.isNotEmpty(wfNodeConfigList)) { iWfNodeConfigService.saveOrUpdate(wfNodeConfigList); wfNodeConfigService.saveOrUpdate(wfNodeConfigList); } return true; } catch (Exception e) { ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java
@@ -62,9 +62,9 @@ private final RepositoryService repositoryService; private final ProcessMigrationService processMigrationService; private final IWfCategoryService wfCategoryService; private final IWfDefinitionConfigService iWfDefinitionConfigService; private final IWfDefinitionConfigService wfDefinitionConfigService; private final WfDefinitionConfigMapper wfDefinitionConfigMapper; private final IWfNodeConfigService iWfNodeConfigService; private final IWfNodeConfigService wfNodeConfigService; /** * 分页查询 @@ -95,7 +95,7 @@ } if (CollUtil.isNotEmpty(definitionList)) { List<String> ids = StreamUtils.toList(definitionList, ProcessDefinition::getId); List<WfDefinitionConfigVo> wfDefinitionConfigVos = iWfDefinitionConfigService.queryList(ids); List<WfDefinitionConfigVo> wfDefinitionConfigVos = wfDefinitionConfigService.queryList(ids); for (ProcessDefinition processDefinition : definitionList) { ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class); if (CollUtil.isNotEmpty(deploymentList)) { @@ -135,7 +135,7 @@ } if (CollUtil.isNotEmpty(definitionList)) { List<String> ids = StreamUtils.toList(definitionList, ProcessDefinition::getId); List<WfDefinitionConfigVo> wfDefinitionConfigVos = iWfDefinitionConfigService.queryList(ids); List<WfDefinitionConfigVo> wfDefinitionConfigVos = wfDefinitionConfigService.queryList(ids); for (ProcessDefinition processDefinition : definitionList) { ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class); if (CollUtil.isNotEmpty(deploymentList)) { @@ -203,9 +203,9 @@ repositoryService.deleteDeployment(deploymentId); } //删除流程定义配置 iWfDefinitionConfigService.deleteByDefIds(processDefinitionIds); wfDefinitionConfigService.deleteByDefIds(processDefinitionIds); //删除节点配置 iWfNodeConfigService.deleteByDefIds(processDefinitionIds); wfNodeConfigService.deleteByDefIds(processDefinitionIds); return true; } catch (Exception e) { e.printStackTrace(); @@ -387,7 +387,7 @@ wfDefinitionConfigBo.setProcessKey(processDefinition.getKey()); wfDefinitionConfigBo.setTableName("test_leave"); wfDefinitionConfigBo.setVersion(processDefinition.getVersion()); iWfDefinitionConfigService.saveOrUpdate(wfDefinitionConfigBo); wfDefinitionConfigService.saveOrUpdate(wfDefinitionConfigBo); } } @@ -402,16 +402,16 @@ private void setWfConfig(ProcessDefinition oldProcessDefinition, ProcessDefinition definition) { //更新流程定义表单 if (oldProcessDefinition != null) { WfDefinitionConfigVo definitionVo = iWfDefinitionConfigService.getByDefId(oldProcessDefinition.getId()); WfDefinitionConfigVo definitionVo = wfDefinitionConfigService.getByDefId(oldProcessDefinition.getId()); if (definitionVo != null) { iWfDefinitionConfigService.deleteByDefIds(Collections.singletonList(oldProcessDefinition.getId())); wfDefinitionConfigService.deleteByDefIds(Collections.singletonList(oldProcessDefinition.getId())); WfDefinitionConfigBo wfDefinitionConfigBo = new WfDefinitionConfigBo(); wfDefinitionConfigBo.setDefinitionId(definition.getId()); wfDefinitionConfigBo.setProcessKey(definition.getKey()); wfDefinitionConfigBo.setTableName(definitionVo.getTableName()); wfDefinitionConfigBo.setVersion(definition.getVersion()); wfDefinitionConfigBo.setRemark(definitionVo.getRemark()); iWfDefinitionConfigService.saveOrUpdate(wfDefinitionConfigBo); wfDefinitionConfigService.saveOrUpdate(wfDefinitionConfigBo); } } //更新流程节点配置表单 @@ -432,7 +432,7 @@ } } if (CollUtil.isNotEmpty(wfNodeConfigList)) { iWfNodeConfigService.saveOrUpdate(wfNodeConfigList); wfNodeConfigService.saveOrUpdate(wfNodeConfigList); } } } ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java
@@ -76,8 +76,8 @@ private final IActHiProcinstService actHiProcinstService; private final ManagementService managementService; private final FlowEventStrategy flowEventStrategy; private final IWfTaskBackNodeService iWfTaskBackNodeService; private final IWfNodeConfigService iWfNodeConfigService; private final IWfTaskBackNodeService wfTaskBackNodeService; private final IWfNodeConfigService wfNodeConfigService; @Value("${flowable.activity-font-name}") private String activityFontName; @@ -122,7 +122,7 @@ } if (CollUtil.isNotEmpty(list)) { List<String> processDefinitionIds = StreamUtils.toList(list, ProcessInstanceVo::getProcessDefinitionId); List<WfNodeConfigVo> wfNodeConfigVoList = iWfNodeConfigService.selectByDefIds(processDefinitionIds); List<WfNodeConfigVo> wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); for (ProcessInstanceVo processInstanceVo : list) { if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(processInstanceVo.getProcessDefinitionId()) && FlowConstant.TRUE.equals(e.getApplyUserTask())).findFirst().ifPresent(processInstanceVo::setWfNodeConfigVo); @@ -169,7 +169,7 @@ } if (CollUtil.isNotEmpty(list)) { List<String> processDefinitionIds = StreamUtils.toList(list, ProcessInstanceVo::getProcessDefinitionId); List<WfNodeConfigVo> wfNodeConfigVoList = iWfNodeConfigService.selectByDefIds(processDefinitionIds); List<WfNodeConfigVo> wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); for (ProcessInstanceVo processInstanceVo : list) { if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(processInstanceVo.getProcessDefinitionId()) && FlowConstant.TRUE.equals(e.getApplyUserTask())).findFirst().ifPresent(processInstanceVo::setWfNodeConfigVo); @@ -523,7 +523,7 @@ if (ObjectUtil.isNotEmpty(historicProcessInstanceList)) { historyService.bulkDeleteHistoricProcessInstances(processInstanceIds); } iWfTaskBackNodeService.deleteByInstanceIds(processInstanceIds); wfTaskBackNodeService.deleteByInstanceIds(processInstanceIds); return true; } catch (Exception e) { e.printStackTrace(); @@ -558,7 +558,7 @@ if (ObjectUtil.isNotEmpty(historicProcessInstanceList)) { historyService.bulkDeleteHistoricProcessInstances(processInstanceIds); } iWfTaskBackNodeService.deleteByInstanceIds(processInstanceIds); wfTaskBackNodeService.deleteByInstanceIds(processInstanceIds); return true; } catch (Exception e) { e.printStackTrace(); @@ -576,7 +576,7 @@ public boolean deleteFinishAndHisInstance(List<String> processInstanceIds) { try { historyService.bulkDeleteHistoricProcessInstances(processInstanceIds); iWfTaskBackNodeService.deleteByInstanceIds(processInstanceIds); wfTaskBackNodeService.deleteByInstanceIds(processInstanceIds); return true; } catch (Exception e) { e.printStackTrace(); @@ -677,7 +677,7 @@ } if (CollUtil.isNotEmpty(list)) { List<String> processDefinitionIds = StreamUtils.toList(list, ProcessInstanceVo::getProcessDefinitionId); List<WfNodeConfigVo> wfNodeConfigVoList = iWfNodeConfigService.selectByDefIds(processDefinitionIds); List<WfNodeConfigVo> wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); for (ProcessInstanceVo processInstanceVo : list) { if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(processInstanceVo.getProcessDefinitionId()) && FlowConstant.TRUE.equals(e.getApplyUserTask())).findFirst().ifPresent(processInstanceVo::setWfNodeConfigVo); ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java
@@ -77,10 +77,10 @@ private final ManagementService managementService; private final FlowEventStrategy flowEventStrategy; private final ActTaskMapper actTaskMapper; private final IWfTaskBackNodeService iWfTaskBackNodeService; private final IWfTaskBackNodeService wfTaskBackNodeService; private final ActHiTaskinstMapper actHiTaskinstMapper; private final IWfNodeConfigService iWfNodeConfigService; private final IWfDefinitionConfigService iWfDefinitionConfigService; private final IWfNodeConfigService wfNodeConfigService; private final IWfDefinitionConfigService wfDefinitionConfigService; private final UserService userService; /** @@ -110,7 +110,7 @@ map.put("taskId", taskResult.get(0).getId()); return map; } WfDefinitionConfigVo wfDefinitionConfigVo = iWfDefinitionConfigService.getByTableNameLastVersion(startProcessBo.getTableName()); WfDefinitionConfigVo wfDefinitionConfigVo = wfDefinitionConfigService.getByTableNameLastVersion(startProcessBo.getTableName()); if (wfDefinitionConfigVo == null) { throw new ServiceException("请到流程定义绑定业务表名与流程KEY!"); } @@ -209,7 +209,7 @@ taskService.complete(completeTaskBo.getTaskId()); } //记录执行过的流程任务节点 iWfTaskBackNodeService.recordExecuteNode(task); wfTaskBackNodeService.recordExecuteNode(task); ProcessInstance pi = QueryUtils.instanceQuery(task.getProcessInstanceId()).singleResult(); if (pi == null) { UpdateBusinessStatusCmd updateBusinessStatusCmd = new UpdateBusinessStatusCmd(task.getProcessInstanceId(), BusinessStatusEnum.FINISH.getStatus()); @@ -284,7 +284,7 @@ List<TaskVo> taskList = page.getRecords(); if (CollUtil.isNotEmpty(taskList)) { List<String> processDefinitionIds = StreamUtils.toList(taskList, TaskVo::getProcessDefinitionId); List<WfNodeConfigVo> wfNodeConfigVoList = iWfNodeConfigService.selectByDefIds(processDefinitionIds); List<WfNodeConfigVo> wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); for (TaskVo task : taskList) { task.setBusinessStatusName(BusinessStatusEnum.findByStatus(task.getBusinessStatus())); task.setParticipantVo(WorkflowUtils.getCurrentTaskParticipant(task.getId())); @@ -338,7 +338,7 @@ List<TaskVo> list = new ArrayList<>(); if (CollUtil.isNotEmpty(taskList)) { List<String> processDefinitionIds = StreamUtils.toList(taskList, Task::getProcessDefinitionId); List<WfNodeConfigVo> wfNodeConfigVoList = iWfNodeConfigService.selectByDefIds(processDefinitionIds); List<WfNodeConfigVo> wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); for (Task task : taskList) { TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class); if (CollUtil.isNotEmpty(processInstanceList)) { @@ -386,7 +386,7 @@ List<TaskVo> taskList = page.getRecords(); if (CollUtil.isNotEmpty(taskList)) { List<String> processDefinitionIds = StreamUtils.toList(taskList, TaskVo::getProcessDefinitionId); List<WfNodeConfigVo> wfNodeConfigVoList = iWfNodeConfigService.selectByDefIds(processDefinitionIds); List<WfNodeConfigVo> wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); for (TaskVo task : taskList) { task.setBusinessStatusName(BusinessStatusEnum.findByStatus(task.getBusinessStatus())); if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { @@ -422,7 +422,7 @@ List<TaskVo> taskList = page.getRecords(); if (CollUtil.isNotEmpty(taskList)) { List<String> processDefinitionIds = StreamUtils.toList(taskList, TaskVo::getProcessDefinitionId); List<WfNodeConfigVo> wfNodeConfigVoList = iWfNodeConfigService.selectByDefIds(processDefinitionIds); List<WfNodeConfigVo> wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); for (TaskVo task : taskList) { task.setBusinessStatusName(BusinessStatusEnum.findByStatus(task.getBusinessStatus())); if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { @@ -450,7 +450,7 @@ List<TaskVo> taskList = page.getRecords(); if (CollUtil.isNotEmpty(taskList)) { List<String> processDefinitionIds = StreamUtils.toList(taskList, TaskVo::getProcessDefinitionId); List<WfNodeConfigVo> wfNodeConfigVoList = iWfNodeConfigService.selectByDefIds(processDefinitionIds); List<WfNodeConfigVo> wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); for (TaskVo task : taskList) { task.setBusinessStatusName(BusinessStatusEnum.findByStatus(task.getBusinessStatus())); if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { @@ -725,7 +725,7 @@ managementService.executeCommand(deleteExecutionCmd); } WfTaskBackNode wfTaskBackNode = iWfTaskBackNodeService.getListByInstanceIdAndNodeId(task.getProcessInstanceId(), backProcessBo.getTargetActivityId()); WfTaskBackNode wfTaskBackNode = wfTaskBackNodeService.getListByInstanceIdAndNodeId(task.getProcessInstanceId(), backProcessBo.getTargetActivityId()); if (ObjectUtil.isNotNull(wfTaskBackNode) && wfTaskBackNode.getOrderNo() == 0) { runtimeService.updateBusinessStatus(processInstanceId, BusinessStatusEnum.BACK.getStatus()); FlowProcessEventHandler processHandler = flowEventStrategy.getProcessHandler(processInstance.getProcessDefinitionKey()); @@ -734,7 +734,7 @@ } } //删除驳回后的流程节点 iWfTaskBackNodeService.deleteBackTaskNode(processInstanceId, backProcessBo.getTargetActivityId()); wfTaskBackNodeService.deleteBackTaskNode(processInstanceId, backProcessBo.getTargetActivityId()); } catch (Exception e) { throw new ServiceException(e.getMessage()); } ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java
@@ -35,7 +35,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService { private final TestLeaveMapper baseMapper; private final IActProcessInstanceService iActProcessInstanceService; private final IActProcessInstanceService actProcessInstanceService; /** * 查询请假 @@ -115,7 +115,7 @@ @Transactional(rollbackFor = Exception.class) public Boolean deleteWithValidByIds(Collection<Long> ids) { List<String> idList = StreamUtils.toList(ids, String::valueOf); iActProcessInstanceService.deleteRunAndHisInstanceByBusinessKeys(idList); actProcessInstanceService.deleteRunAndHisInstanceByBusinessKeys(idList); return baseMapper.deleteBatchIds(ids) > 0; } } ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfNodeConfigServiceImpl.java
@@ -27,7 +27,7 @@ public class WfNodeConfigServiceImpl implements IWfNodeConfigService { private final WfNodeConfigMapper baseMapper; private final IWfFormManageService iWfFormManageService; private final IWfFormManageService wfFormManageService; /** * 查询节点配置 @@ -65,7 +65,7 @@ List<WfNodeConfigVo> wfNodeConfigVos = baseMapper.selectVoList(new LambdaQueryWrapper<WfNodeConfig>().in(WfNodeConfig::getDefinitionId, ids)); if (CollUtil.isNotEmpty(wfNodeConfigVos)) { List<Long> formIds = StreamUtils.toList(wfNodeConfigVos, WfNodeConfigVo::getFormId); List<WfFormManageVo> wfFormManageVos = iWfFormManageService.queryByIds(formIds); List<WfFormManageVo> wfFormManageVos = wfFormManageService.queryByIds(formIds); for (WfNodeConfigVo wfNodeConfigVo : wfNodeConfigVos) { wfFormManageVos.stream().filter(e -> ObjectUtil.equals(e.getId(), wfNodeConfigVo.getFormId())).findFirst().ifPresent(wfNodeConfigVo::setWfFormManageVo); }