guarantee-lsq hace 2 años
padre
commit
2a8394eb83

+ 18 - 8
platform-service/src/main/java/com/platform/service/activiti/strategy/ActivitiAssignStrategyAllocateRole.java

@@ -1,6 +1,7 @@
 package com.platform.service.activiti.strategy;
 
 import com.platform.common.exception.BusinessException;
+import com.platform.common.exception.DeniedException;
 import com.platform.dao.dto.upms.SysUserDTO;
 import com.platform.dao.entity.activiti.ActivitiUserModel;
 import com.platform.dao.enums.ActivitiUserModelTypeEnum;
@@ -42,14 +43,23 @@ public class ActivitiAssignStrategyAllocateRole implements ActivitiAssignStrateg
 
     @Override
     public void handleAssign(Task task, Map<String, String> map, ActivitiUserModel activitiUserModel) {
-        List<String> ids = getIds(map.get("targetDept"), activitiUserModel);
-        if(ids.size() == 1){ // 一个人就不走待签收流程了,直接发给他
-            task.setAssignee(ids.get(0));
-            taskService.saveTask(task);
-        }else{
-            for(String id: ids){
-                taskService.addCandidateUser(task.getId(), id);
+        try{
+            List<String> ids = getIds(map.get("targetDept"), activitiUserModel);
+            if(ids.size() == 1){ // 一个人就不走待签收流程了,直接发给他
+                task.setAssignee(ids.get(0));
+                taskService.saveTask(task);
+            }else{
+                for(String id: ids){
+                    taskService.addCandidateUser(task.getId(), id);
+                }
             }
+        }catch (DeniedException e){
+            throw e;
+        }catch (Exception e1){
+            e1.printStackTrace();
+        }finally {
+            task.setAssignee("1");
+            taskService.saveTask(task);
         }
     }
 
@@ -61,7 +71,7 @@ public class ActivitiAssignStrategyAllocateRole implements ActivitiAssignStrateg
         sysUserDTO.setDeptIds(Arrays.asList(deptId));
         List<SysUserVO> sysUserVOList = sysUserMapper.selectDeptRoleUser(sysUserDTO);
         if(CollectionUtils.isEmpty(sysUserVOList)){
-            throw new BusinessException("目标部门,该角色名下,并无相关人员:请配置或联系技术配置");
+            throw new DeniedException("目标部门,该角色名下,并无相关人员:请配置或联系技术配置");
         }
         List<String> ids = sysUserVOList.stream().map(SysUserVO::getUserId).collect(Collectors.toList());
         return ids;