|
@@ -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;
|