From 292b800a6a3e7aed7834e93dd90f3cf56a6dbac2 Mon Sep 17 00:00:00 2001 From: wangliwen Date: Fri, 22 Apr 2022 14:29:11 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=B8=85=E6=99=B0=E7=82=B9=E7=9A=84?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=AE=A1=E6=89=B9=E6=B5=81=E7=A8=8B=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../processForm/listener/CorrectionListener.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java b/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java index dd555adc..ac61e62c 100644 --- a/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java +++ b/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java @@ -48,6 +48,7 @@ public class CorrectionListener implements TaskListener, ExecutionListener, Acti @Override public void notify(DelegateTask delegateTask) { + logger.info("-------------------------进入部门动态审批人流程-------------------------------"); Map kv = delegateTask.getVariables(); Gson gson = new Gson(); JsonElement jsonElement = gson.toJsonTree(kv); @@ -55,10 +56,12 @@ public class CorrectionListener implements TaskListener, ExecutionListener, Acti SysRoleDTO roleDTO = sysRoleService.getByName(roleName); logger.info("roleDTOId:" + roleDTO.getId()); - - logger.info("abilityApplicationDTO:" + abilityApplicationDTO.toString()); - ResourceDTO resourceEntityDto = resourceService.get(Long.valueOf(abilityApplicationDTO.getResourceId())); + ResourceDTO resourceEntityDto = null; Long deptId = null; + if (abilityApplicationDTO != null) { + logger.info("abilityApplicationDTO:" + abilityApplicationDTO.toString()); + resourceEntityDto = resourceService.get(Long.valueOf(abilityApplicationDTO.getResourceId())); + } if (resourceEntityDto != null && resourceEntityDto.getDeptId() != null) { deptId = resourceEntityDto.getDeptId(); } else { @@ -74,14 +77,14 @@ public class CorrectionListener implements TaskListener, ExecutionListener, Acti if (deptId != null) { userDTO = sysUserService.getByDeptIdAndRoleId(deptId, roleDTO.getId()); // 搜出审批人 } - - delegateTask.setAssignee("1513432847327199233"); if (userDTO != null) { logger.info("审批人id:" + userDTO.getId()); taskService.setAssignee(delegateTask.getId(), userDTO.getId().toString()); } else { - logger.info("未查到该部门对应 " + roleName); + logger.info("未查到该部门对应的 " + roleName); + taskService.setAssignee(delegateTask.getId(), "1513432847327199233"); } + logger.info("-------------------------结束部门动态审批人流程-------------------------------"); } @Override From 9c39989591f5881c28cea65605e5cca123b97e13 Mon Sep 17 00:00:00 2001 From: wangliwen Date: Fri, 22 Apr 2022 14:31:31 +0800 Subject: [PATCH 2/6] ... --- .../processForm/listener/CorrectionListener.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java b/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java index ac61e62c..7ad4c6f9 100644 --- a/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java +++ b/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java @@ -48,27 +48,27 @@ public class CorrectionListener implements TaskListener, ExecutionListener, Acti @Override public void notify(DelegateTask delegateTask) { - logger.info("-------------------------进入部门动态审批人流程-------------------------------"); + logger.error("-------------------------进入部门动态审批人流程-------------------------------"); Map kv = delegateTask.getVariables(); Gson gson = new Gson(); JsonElement jsonElement = gson.toJsonTree(kv); TAbilityApplicationDTO abilityApplicationDTO = gson.fromJson(jsonElement, TAbilityApplicationDTO.class); SysRoleDTO roleDTO = sysRoleService.getByName(roleName); - logger.info("roleDTOId:" + roleDTO.getId()); + logger.error("roleDTOId:" + roleDTO.getId()); ResourceDTO resourceEntityDto = null; Long deptId = null; if (abilityApplicationDTO != null) { - logger.info("abilityApplicationDTO:" + abilityApplicationDTO.toString()); + logger.error("abilityApplicationDTO:" + abilityApplicationDTO.toString()); resourceEntityDto = resourceService.get(Long.valueOf(abilityApplicationDTO.getResourceId())); } if (resourceEntityDto != null && resourceEntityDto.getDeptId() != null) { deptId = resourceEntityDto.getDeptId(); } else { - logger.info("表单内单位名称:" + abilityApplicationDTO.getUnit()); + logger.error("表单内单位名称:" + abilityApplicationDTO.getUnit()); SysDeptDTO deptDTO = sysDeptService.getByName(abilityApplicationDTO.getUnit()); if (deptDTO != null) { - logger.info("deptDTOId:" + deptDTO.getId()); + logger.error("deptDTOId:" + deptDTO.getId()); deptId = deptDTO.getId(); } @@ -78,13 +78,13 @@ public class CorrectionListener implements TaskListener, ExecutionListener, Acti userDTO = sysUserService.getByDeptIdAndRoleId(deptId, roleDTO.getId()); // 搜出审批人 } if (userDTO != null) { - logger.info("审批人id:" + userDTO.getId()); + logger.error("审批人id:" + userDTO.getId()); taskService.setAssignee(delegateTask.getId(), userDTO.getId().toString()); } else { - logger.info("未查到该部门对应的 " + roleName); + logger.error("未查到该部门对应的 " + roleName); taskService.setAssignee(delegateTask.getId(), "1513432847327199233"); } - logger.info("-------------------------结束部门动态审批人流程-------------------------------"); + logger.error("-------------------------结束部门动态审批人流程-------------------------------"); } @Override From 3decf2840528bd788296c5143d669da333dad527 Mon Sep 17 00:00:00 2001 From: wangliwen Date: Fri, 22 Apr 2022 16:15:17 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=90=84=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E5=8A=A0=E4=B8=8A=E5=AE=A1=E6=89=B9=E4=BA=BA=E5=A7=93?= =?UTF-8?q?=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activiti/dto/HistoryDetailDTO.java | 5 +++- .../activiti/entity/HistoryDetailEntity.java | 4 ++- .../mapper/activiti/ProcessActivityDao.xml | 29 ++++++++++++++----- 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/renren-admin/src/main/java/io/renren/modules/activiti/dto/HistoryDetailDTO.java b/renren-admin/src/main/java/io/renren/modules/activiti/dto/HistoryDetailDTO.java index 66051fb2..f95e03d3 100644 --- a/renren-admin/src/main/java/io/renren/modules/activiti/dto/HistoryDetailDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/activiti/dto/HistoryDetailDTO.java @@ -36,7 +36,7 @@ public class HistoryDetailDTO { @ApiModelProperty(value = "执行ID") private String executionId; - @ApiModelProperty(value = "受理人") + @ApiModelProperty(value = "受理人id") private String assignee; @ApiModelProperty(value = "开始时间") @@ -50,4 +50,7 @@ public class HistoryDetailDTO { @ApiModelProperty(value = "审批意见") private String comment; + + @ApiModelProperty(value = "受理人姓名") + private String assigneeName; } diff --git a/renren-admin/src/main/java/io/renren/modules/activiti/entity/HistoryDetailEntity.java b/renren-admin/src/main/java/io/renren/modules/activiti/entity/HistoryDetailEntity.java index 4e78910b..4716e91e 100644 --- a/renren-admin/src/main/java/io/renren/modules/activiti/entity/HistoryDetailEntity.java +++ b/renren-admin/src/main/java/io/renren/modules/activiti/entity/HistoryDetailEntity.java @@ -9,7 +9,7 @@ import java.util.Date; * @author Jone */ @Data -@EqualsAndHashCode(callSuper=false) +@EqualsAndHashCode(callSuper = false) public class HistoryDetailEntity { private static final long serialVersionUID = 1L; @@ -37,4 +37,6 @@ public class HistoryDetailEntity { private String comment; + private String assigneeName; + } diff --git a/renren-admin/src/main/resources/mapper/activiti/ProcessActivityDao.xml b/renren-admin/src/main/resources/mapper/activiti/ProcessActivityDao.xml index e41e4f87..4e7ef980 100644 --- a/renren-admin/src/main/resources/mapper/activiti/ProcessActivityDao.xml +++ b/renren-admin/src/main/resources/mapper/activiti/ProcessActivityDao.xml @@ -56,13 +56,28 @@ \ No newline at end of file From d7735a4fdfbad3d848dc0eab9a2b13bc06ba1539 Mon Sep 17 00:00:00 2001 From: wangliwen Date: Fri, 22 Apr 2022 17:04:34 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E4=B8=BA=E5=A4=A7=E6=95=B0=E6=8D=AE=E6=97=B6=EF=BC=8C=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/processForm/listener/CorrectionListener.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java b/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java index 7ad4c6f9..4a3abb37 100644 --- a/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java +++ b/renren-admin/src/main/java/io/renren/modules/processForm/listener/CorrectionListener.java @@ -64,6 +64,12 @@ public class CorrectionListener implements TaskListener, ExecutionListener, Acti } if (resourceEntityDto != null && resourceEntityDto.getDeptId() != null) { deptId = resourceEntityDto.getDeptId(); + SysDeptDTO deptDTO = + sysDeptService.get(resourceEntityDto.getDeptId()); + if (deptDTO != null && deptDTO.getName().equals("青岛市大数据发展管理局")) { + logger.error("第二级别审批仍然为 青岛市大数据发展管理局"); + taskService.complete(delegateTask.getId(), delegateTask.getVariables()); + } } else { logger.error("表单内单位名称:" + abilityApplicationDTO.getUnit()); SysDeptDTO deptDTO = sysDeptService.getByName(abilityApplicationDTO.getUnit()); From 5f2317e6fa4fcddf5e8336db12a4d348c19c4fe1 Mon Sep 17 00:00:00 2001 From: wangliwen Date: Fri, 22 Apr 2022 17:29:25 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=88=91=E7=9A=84=E4=BB=A3=E5=8A=9E?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=20=E7=94=B3=E8=AF=B7=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activiti/service/ActTaskService.java | 133 ++++++++++-------- 1 file changed, 77 insertions(+), 56 deletions(-) diff --git a/renren-admin/src/main/java/io/renren/modules/activiti/service/ActTaskService.java b/renren-admin/src/main/java/io/renren/modules/activiti/service/ActTaskService.java index 7df33273..f5278c2e 100644 --- a/renren-admin/src/main/java/io/renren/modules/activiti/service/ActTaskService.java +++ b/renren-admin/src/main/java/io/renren/modules/activiti/service/ActTaskService.java @@ -8,9 +8,14 @@ import io.renren.common.page.PageData; import io.renren.common.service.impl.BaseServiceImpl; import io.renren.common.utils.MessageUtils; import io.renren.modules.activiti.dto.TaskDTO; +import io.renren.modules.processForm.dto.TAbilityApplicationDTO; +import io.renren.modules.processForm.service.TAbilityApplicationService; import io.renren.modules.security.user.SecurityUser; import io.renren.modules.sys.service.SysRoleUserService; -import org.activiti.engine.*; +import org.activiti.engine.HistoryService; +import org.activiti.engine.RepositoryService; +import org.activiti.engine.RuntimeService; +import org.activiti.engine.TaskService; import org.activiti.engine.delegate.Expression; import org.activiti.engine.history.HistoricActivityInstance; import org.activiti.engine.history.HistoricProcessInstance; @@ -30,6 +35,7 @@ import org.activiti.engine.task.Task; import org.activiti.engine.task.TaskInfo; import org.activiti.engine.task.TaskQuery; import org.apache.commons.lang3.StringUtils; +import org.codehaus.jackson.map.ObjectMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -54,6 +60,9 @@ public class ActTaskService extends BaseServiceImpl { @Autowired private SysRoleUserService sysRoleUserService; + @Autowired + private TAbilityApplicationService tAbilityApplicationService; + /** * 根据参数获取当前运行的任务信息 * @@ -74,17 +83,17 @@ public class ActTaskService extends BaseServiceImpl { if (StringUtils.isNotEmpty(userId)) { taskQuery.taskAssignee(userId); } - if (StringUtils.isNotEmpty((String)params.get("taskName"))){ - taskQuery.taskNameLike("%"+(String)params.get("taskName")+"%"); + if (StringUtils.isNotEmpty((String) params.get("taskName"))) { + taskQuery.taskNameLike("%" + (String) params.get("taskName") + "%"); } - if(StringUtils.isNotEmpty((String)params.get("isRoleGroup"))&&"1".equals(params.get("isRoleGroup"))){ + if (StringUtils.isNotEmpty((String) params.get("isRoleGroup")) && "1".equals(params.get("isRoleGroup"))) { List listRoles = sysRoleUserService.getRoleIdList(SecurityUser.getUserId()); List listStr = new ArrayList<>(); - for(Long role : listRoles){ + for (Long role : listRoles) { listStr.add(role.toString()); } listStr.add(SecurityUser.getUserId().toString()); - if(!listStr.isEmpty()){ + if (!listStr.isEmpty()) { taskQuery.taskCandidateGroupIn(listStr); } else { return new PageData<>(new ArrayList<>(), 0); @@ -96,6 +105,13 @@ public class ActTaskService extends BaseServiceImpl { for (Task task : list) { TaskDTO dto = new TaskDTO(); this.convertTaskInfo(task, dto); + TAbilityApplicationDTO abilityApplicationDTO = + tAbilityApplicationService.get(Long.valueOf(dto.getBusinessKey())); + if (abilityApplicationDTO != null) { + ObjectMapper oMapper = new ObjectMapper(); + Map variables = oMapper.convertValue(abilityApplicationDTO, Map.class); + dto.setParams(variables); + } listDto.add(dto); } return new PageData<>(listDto, (int) taskQuery.count()); @@ -122,7 +138,7 @@ public class ActTaskService extends BaseServiceImpl { public void claimTask(String taskId) { String userId = SecurityUser.getUserId().toString(); Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); - if(StringUtils.isNotEmpty(task.getAssignee())){ + if (StringUtils.isNotEmpty(task.getAssignee())) { throw new RenException(ErrorCode.TASK_CLIME_FAIL); } taskService.claim(taskId, userId); @@ -152,7 +168,7 @@ public class ActTaskService extends BaseServiceImpl { } } } - if(lstGroupId.isEmpty()){ + if (lstGroupId.isEmpty()) { throw new RenException(ErrorCode.UNCLAIM_ERROR_MESSAGE); } taskService.unclaim(taskId); @@ -167,10 +183,10 @@ public class ActTaskService extends BaseServiceImpl { public void completeTask(String taskId, String comment) { String userId = SecurityUser.getUserId().toString(); Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); - if(StringUtils.isNotEmpty(task.getAssignee())){ + if (StringUtils.isNotEmpty(task.getAssignee())) { taskService.setAssignee(taskId, userId); } - if(StringUtils.isNotEmpty(comment)){ + if (StringUtils.isNotEmpty(comment)) { taskService.addComment(taskId, task.getProcessInstanceId(), comment); } taskService.complete(taskId); @@ -199,7 +215,7 @@ public class ActTaskService extends BaseServiceImpl { Map map = null; if (StringUtils.isNotBlank(variableName)) { Object value = taskService.getVariable(taskId, variableName); - if(null != value){ + if (null != value) { map = new HashMap<>(); map.put(variableName, value); } @@ -211,6 +227,7 @@ public class ActTaskService extends BaseServiceImpl { /** * 更新任务变量 + * * @param taskDTO */ public void updateTaskVariable(TaskDTO taskDTO) { @@ -220,21 +237,22 @@ public class ActTaskService extends BaseServiceImpl { /** * 根据任务ID判断是否为多实例任务 + * * @param taskId * @return */ private boolean isMultiInstance(String taskId) { boolean flag = false; - Task task=taskService.createTaskQuery().taskId(taskId).singleResult(); - if(task != null){ + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (task != null) { // 获取流程定义id - String processDefinitionId=task.getProcessDefinitionId(); - ProcessDefinitionEntity processDefinitionEntity=(ProcessDefinitionEntity) repositoryService.getProcessDefinition(processDefinitionId); + String processDefinitionId = task.getProcessDefinitionId(); + ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) repositoryService.getProcessDefinition(processDefinitionId); // 根据活动id获取活动实例 - ActivityImpl activityImpl=processDefinitionEntity.findActivity(task.getTaskDefinitionKey()); - if((activityImpl).getActivityBehavior() instanceof ParallelMultiInstanceBehavior){ - ParallelMultiInstanceBehavior behavior = (ParallelMultiInstanceBehavior)activityImpl.getActivityBehavior(); - if(behavior != null && behavior.getCollectionExpression() != null){ + ActivityImpl activityImpl = processDefinitionEntity.findActivity(task.getTaskDefinitionKey()); + if ((activityImpl).getActivityBehavior() instanceof ParallelMultiInstanceBehavior) { + ParallelMultiInstanceBehavior behavior = (ParallelMultiInstanceBehavior) activityImpl.getActivityBehavior(); + if (behavior != null && behavior.getCollectionExpression() != null) { flag = true; } } @@ -269,6 +287,7 @@ public class ActTaskService extends BaseServiceImpl { /** * 任务回退至上一用户任务节点 + * * @param taskId * @return */ @@ -276,16 +295,16 @@ public class ActTaskService extends BaseServiceImpl { public void doBackPreviousTask(String taskId, String comment) { Map variables = null; HistoricTaskInstance currTask = historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult(); - if(this.isMultiInstance(taskId)){ + if (this.isMultiInstance(taskId)) { throw new RenException(ErrorCode.BACK_PROCESS_PARALLEL_ERROR); } ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(currTask.getProcessInstanceId()).singleResult(); ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService) .getDeployedProcessDefinition(currTask.getProcessDefinitionId()); ActivityImpl currActivity = processDefinitionEntity.findActivity(currTask.getTaskDefinitionKey()); - List canBackActivitys = new ArrayList<>(); + List canBackActivitys = new ArrayList<>(); this.getCanBackUpActivitys(currActivity, canBackActivitys); - if(canBackActivitys.isEmpty()) { + if (canBackActivitys.isEmpty()) { throw new RenException(ErrorCode.SUPERIOR_NOT_EXIST); } List originPvmTransitionList = new ArrayList(); @@ -299,28 +318,28 @@ public class ActTaskService extends BaseServiceImpl { .processInstanceId(processInstance.getId()) .finished().orderByHistoricActivityInstanceEndTime().desc().list(); List backActivitys = new ArrayList<>(); - for(HistoricActivityInstance historicActivityInstance: historicActivityInstances){ - for(ActivityImpl activity : canBackActivitys){ - if(historicActivityInstance.getActivityId().equals(activity.getId())){ + for (HistoricActivityInstance historicActivityInstance : historicActivityInstances) { + for (ActivityImpl activity : canBackActivitys) { + if (historicActivityInstance.getActivityId().equals(activity.getId())) { boolean flag = false; - for(ActivityImpl activity1 : backActivitys){ - if(activity.getId().equals(activity1.getId())){ + for (ActivityImpl activity1 : backActivitys) { + if (activity.getId().equals(activity1.getId())) { flag = true; break; } } - if(!flag){ + if (!flag) { backActivitys.add(activity); } } } } - if(backActivitys.isEmpty()){ + if (backActivitys.isEmpty()) { throw new RenException(ErrorCode.SUPERIOR_NOT_EXIST); } List transitionList = new ArrayList<>(); - for(ActivityImpl activity : backActivitys) { + for (ActivityImpl activity : backActivitys) { TransitionImpl transition = currActivity.createOutgoingTransition(IdWorker.get32UUID()); transition.setDestination(activity); transitionList.add(transition); @@ -331,8 +350,8 @@ public class ActTaskService extends BaseServiceImpl { .taskDefinitionKey(currTask.getTaskDefinitionKey()).list(); for (Task task : tasks) { String commentMode = MessageUtils.getMessage(ErrorCode.ROLLBACK_MESSAGE); - if(StringUtils.isNotEmpty(comment)){ - commentMode += "[" +comment+"]"; + if (StringUtils.isNotEmpty(comment)) { + commentMode += "[" + comment + "]"; } taskService.addComment(task.getId(), task.getProcessInstanceId(), commentMode); taskService.complete(task.getId(), variables); @@ -341,13 +360,13 @@ public class ActTaskService extends BaseServiceImpl { for (PvmTransition pvmTransition : originPvmTransitionList) { currActivity.getOutgoingTransitions().add(pvmTransition); } - for(ActivityImpl activity : backActivitys) { + for (ActivityImpl activity : backActivitys) { List incomingTransitions = activity.getIncomingTransitions(); Iterator iterator = incomingTransitions.iterator(); while (iterator.hasNext()) { PvmTransition pvmTransition = iterator.next(); - for(TransitionImpl transition : transitionList) { - if(transition.getId().equals(pvmTransition.getId())){ + for (TransitionImpl transition : transitionList) { + if (transition.getId().equals(pvmTransition.getId())) { iterator.remove(); } } @@ -357,13 +376,13 @@ public class ActTaskService extends BaseServiceImpl { private void getCanBackUpActivitys(ActivityImpl currActivity, List rtnList) { List incomingTransitions = currActivity.getIncomingTransitions(); - for(PvmTransition pvmTransition : incomingTransitions){ + for (PvmTransition pvmTransition : incomingTransitions) { TransitionImpl transitionImpl = (TransitionImpl) pvmTransition; ActivityImpl activityImpl = transitionImpl.getSource(); String type = (String) activityImpl.getProperty("type"); - if ("parallelGateway".equals(type)){ + if ("parallelGateway".equals(type)) { // 并行路线 - if(activityImpl.getOutgoingTransitions().size() > 1){ + if (activityImpl.getOutgoingTransitions().size() > 1) { throw new RenException(ErrorCode.BACK_PROCESS_HANDLEING_ERROR); } this.getCanBackUpActivitys(activityImpl, rtnList); @@ -373,8 +392,8 @@ public class ActTaskService extends BaseServiceImpl { rtnList.add(activityImpl); } else if ("exclusiveGateway".equals(type)) { this.getCanBackUpActivitys(activityImpl, rtnList); - } else if("inclusiveGateway".equals(type)) { - if(activityImpl.getOutgoingTransitions().size() > 1){ + } else if ("inclusiveGateway".equals(type)) { + if (activityImpl.getOutgoingTransitions().size() > 1) { return; } this.getCanBackUpActivitys(activityImpl, rtnList); @@ -384,13 +403,13 @@ public class ActTaskService extends BaseServiceImpl { @Transactional(rollbackFor = Exception.class) public void endProcess(String taskId, String comment) { - if(isMultiInstance(taskId)){ + if (isMultiInstance(taskId)) { throw new RenException(ErrorCode.END_PROCESS_PARALLEL_ERROR); } Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); List tasks = taskService.createTaskQuery().processInstanceId(task.getProcessInstanceId()) .taskDefinitionKey(task.getTaskDefinitionKey()).list(); - if(tasks.size() > 1){ + if (tasks.size() > 1) { throw new RenException(ErrorCode.END_PROCESS_HANDLEING_ERROR); } ActivityImpl endActivity = findActivitiImpl(taskId, "end"); @@ -418,8 +437,8 @@ public class ActTaskService extends BaseServiceImpl { if (StringUtils.isNotEmpty(task.getOwner())) { taskService.resolveTask(task.getId()); } - String message =MessageUtils.getMessage(ErrorCode.END_PROCESS_MESSAGE); - comment = message + "["+ comment+ "]"; + String message = MessageUtils.getMessage(ErrorCode.END_PROCESS_MESSAGE); + comment = message + "[" + comment + "]"; taskService.addComment(task.getId(), task.getProcessInstanceId(), comment); taskService.complete(taskId); pointActivity.getIncomingTransitions().remove(newTransition); @@ -446,8 +465,8 @@ public class ActTaskService extends BaseServiceImpl { } if ("END".equals(activityId.toUpperCase())) { for (ActivityImpl activityImpl : processDefinition.getActivities()) { - String type = (String)activityImpl.getProperty("type"); - if("endEvent".equals(type)){ + String type = (String) activityImpl.getProperty("type"); + if ("endEvent".equals(type)) { return activityImpl; } } @@ -458,6 +477,7 @@ public class ActTaskService extends BaseServiceImpl { /** * 转换Task对象 + * * @param task * @param dto */ @@ -470,7 +490,7 @@ public class ActTaskService extends BaseServiceImpl { ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(task.getProcessDefinitionId()).singleResult(); dto.setProcessDefinitionName(processDefinition.getName()); dto.setProcessDefinitionKey(processDefinition.getKey()); - HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult(); + HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult(); dto.setStartTime(processInstance.getStartTime()); dto.setBusinessKey(processInstance.getBusinessKey()); dto.setProcessInstanceId(task.getProcessInstanceId()); @@ -481,11 +501,12 @@ public class ActTaskService extends BaseServiceImpl { /** * 驳回至第一个用户任务 + * * @param taskId */ @Transactional(rollbackFor = Exception.class) public void backToFirst(String taskId, String comment) { - if(this.isMultiInstance(taskId)){ + if (this.isMultiInstance(taskId)) { throw new RenException(ErrorCode.REJECT_PROCESS_PARALLEL_ERROR); } Map variables = null; @@ -498,7 +519,7 @@ public class ActTaskService extends BaseServiceImpl { } List tasks = taskService.createTaskQuery().processInstanceId(currTask.getProcessInstanceId()) .taskDefinitionKey(currTask.getTaskDefinitionKey()).list(); - if(tasks.size() > 1){ + if (tasks.size() > 1) { throw new RenException(ErrorCode.REJECT_PROCESS_HANDLEING_ERROR); } ActivityImpl currActivity = processDefinitionEntity.findActivity(currTask.getTaskDefinitionKey()); @@ -523,8 +544,8 @@ public class ActTaskService extends BaseServiceImpl { variables = processInstance.getProcessVariables(); for (Task task : tasks) { String commentMode = MessageUtils.getMessage(ErrorCode.REJECT_MESSAGE); - if(StringUtils.isNotEmpty(comment)){ - commentMode += "[" + comment+"]"; + if (StringUtils.isNotEmpty(comment)) { + commentMode += "[" + comment + "]"; } taskService.addComment(task.getId(), task.getProcessInstanceId(), commentMode); taskService.complete(task.getId(), variables); @@ -537,18 +558,18 @@ public class ActTaskService extends BaseServiceImpl { } public void completeTaskByVariables(TaskDTO taskDTO) { - if(null != taskDTO.getParams()){ + if (null != taskDTO.getParams()) { Set keySet = taskDTO.getParams().keySet(); Iterator iterator = keySet.iterator(); - while(iterator.hasNext()){ - String key = (String)iterator.next(); - this.setTaskVariable(taskDTO.getTaskId(),key , taskDTO.getParams().get(key)); + while (iterator.hasNext()) { + String key = (String) iterator.next(); + this.setTaskVariable(taskDTO.getTaskId(), key, taskDTO.getParams().get(key)); } } this.completeTask(taskDTO.getTaskId(), taskDTO.getComment()); } - private void setTaskVariable(String taskId, String key, Object value){ + private void setTaskVariable(String taskId, String key, Object value) { TaskInfo taskInfo = taskService.createTaskQuery().taskId(taskId).singleResult(); runtimeService.setVariable(taskInfo.getExecutionId(), key, value); } From 4d21104623d50e088c171d7c25815637368f717a Mon Sep 17 00:00:00 2001 From: wangliwen Date: Fri, 22 Apr 2022 18:07:43 +0800 Subject: [PATCH 6/6] ... --- .../modules/activiti/controller/HistoryController.java | 10 ++++++++++ .../modules/activiti/dto/ProcessActivityDTO.java | 3 +++ 2 files changed, 13 insertions(+) diff --git a/renren-admin/src/main/java/io/renren/modules/activiti/controller/HistoryController.java b/renren-admin/src/main/java/io/renren/modules/activiti/controller/HistoryController.java index bea98aab..ba73c851 100644 --- a/renren-admin/src/main/java/io/renren/modules/activiti/controller/HistoryController.java +++ b/renren-admin/src/main/java/io/renren/modules/activiti/controller/HistoryController.java @@ -8,6 +8,8 @@ import io.renren.modules.activiti.dto.ProcessActivityDTO; import io.renren.modules.activiti.dto.ProcessInstanceDTO; import io.renren.modules.activiti.service.ActHistoryService; import io.renren.modules.activiti.service.ActivitiService; +import io.renren.modules.processForm.dto.TAbilityApplicationDTO; +import io.renren.modules.processForm.service.TAbilityApplicationService; import io.renren.modules.sys.dto.SysUserDTO; import io.renren.modules.sys.service.SysUserService; import io.swagger.annotations.Api; @@ -42,6 +44,9 @@ public class HistoryController { @Autowired private SysUserService sysUserService; + @Autowired + private TAbilityApplicationService abilityApplicationService; + @GetMapping("getInstImage") @ApiOperation(value = "获取流程活动图", produces = "application/octet-stream") @ApiImplicitParam(name = "processInstanceId", value = "流程实例ID", paramType = "query", dataType = "String") @@ -113,6 +118,11 @@ public class HistoryController { SysUserDTO userDTO = sysUserService.get(Long.valueOf(activityDTO.getAssignee())); activityDTO.setAssigneeName(userDTO != null ? userDTO.getRealName() : ""); } + TAbilityApplicationDTO abilityApplicationDTO = + abilityApplicationService.get(Long.valueOf(activityDTO.getBusinessKey())); + if (abilityApplicationDTO != null) { + activityDTO.setResourceName(abilityApplicationDTO.getSystem()); + } } return new Result().ok(page); } diff --git a/renren-admin/src/main/java/io/renren/modules/activiti/dto/ProcessActivityDTO.java b/renren-admin/src/main/java/io/renren/modules/activiti/dto/ProcessActivityDTO.java index 1a372b2a..4b316c89 100644 --- a/renren-admin/src/main/java/io/renren/modules/activiti/dto/ProcessActivityDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/activiti/dto/ProcessActivityDTO.java @@ -47,4 +47,7 @@ public class ProcessActivityDTO { @ApiModelProperty(value = "受理人姓名") private String assigneeName; + @ApiModelProperty(value = "申请资源名称") + private String resourceName; + }