Commit 8e9cb110c759fe5cf7316bd39ceb51ba3b4fd232

Authored by YunaiV
1 parent 9f0cd04f

BPM 模型重构 7:增加任务分配规则的列表 UI 界面(增加角色的规则配置)

Showing 13 changed files with 90 additions and 18 deletions
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmTaskAssignRuleController.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition; @@ -2,6 +2,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition;
2 2
3 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; 3 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO;
4 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO; 4 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO;
  5 +import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO;
5 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; 6 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService;
6 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 7 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
7 import io.swagger.annotations.Api; 8 import io.swagger.annotations.Api;
@@ -36,7 +37,8 @@ public class BpmTaskAssignRuleController { @@ -36,7 +37,8 @@ public class BpmTaskAssignRuleController {
36 } 37 }
37 38
38 @PutMapping("/update") 39 @PutMapping("/update")
39 - public CommonResult<Boolean> updateTaskAssignRule(@Valid @RequestBody BpmTaskAssignRuleCreateReqVO reqVO) { 40 + public CommonResult<Boolean> updateTaskAssignRule(@Valid @RequestBody BpmTaskAssignRuleUpdateReqVO reqVO) {
  41 + taskAssignRuleService.updateTaskAssignRule(reqVO);
40 return success(true); 42 return success(true);
41 } 43 }
42 44
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule; 1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule;
2 2
  3 +import lombok.Data;
  4 +
3 import java.util.Set; 5 import java.util.Set;
4 6
  7 +@Data
5 public class BpmTaskAssignRuleUpdateReqVO extends BpmTaskAssignRuleBaseVO { 8 public class BpmTaskAssignRuleUpdateReqVO extends BpmTaskAssignRuleBaseVO {
6 9
7 private Long id; 10 private Long id;
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmTaskAssignRuleConvert.java
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition; @@ -3,6 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; 4 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO;
5 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO; 5 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO;
  6 +import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO;
6 import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; 7 import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
7 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 8 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
8 import org.activiti.bpmn.model.UserTask; 9 import org.activiti.bpmn.model.UserTask;
@@ -36,4 +37,6 @@ public interface BpmTaskAssignRuleConvert { @@ -36,4 +37,6 @@ public interface BpmTaskAssignRuleConvert {
36 37
37 BpmTaskAssignRuleDO convert(BpmTaskAssignRuleCreateReqVO bean); 38 BpmTaskAssignRuleDO convert(BpmTaskAssignRuleCreateReqVO bean);
38 39
  40 + BpmTaskAssignRuleDO convert(BpmTaskAssignRuleUpdateReqVO bean);
  41 +
39 } 42 }
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/BpmErrorCodeConstants.java
@@ -42,6 +42,8 @@ public interface BpmErrorCodeConstants { @@ -42,6 +42,8 @@ public interface BpmErrorCodeConstants {
42 42
43 // ========== 流程任务分配规则 1-009-006-000 ========== 43 // ========== 流程任务分配规则 1-009-006-000 ==========
44 ErrorCode TASK_ASSIGN_RULE_EXISTS = new ErrorCode(1009006000, "流程({}) 的任务({}) 已经存在分配规则"); 44 ErrorCode TASK_ASSIGN_RULE_EXISTS = new ErrorCode(1009006000, "流程({}) 的任务({}) 已经存在分配规则");
  45 + ErrorCode TASK_ASSIGN_RULE_NOT_EXISTS = new ErrorCode(1009006000, "流程任务分配规则不存在");
  46 + ErrorCode TASK_UPDATE_FAIL_NOT_MODEL = new ErrorCode(1009006000, "只有流程模型的任务分配规则,才允许被修改");
45 47
46 // ========== 动态表单模块 1-009-010-000 ========== 48 // ========== 动态表单模块 1-009-010-000 ==========
47 ErrorCode FORM_NOT_EXISTS = new ErrorCode(1009010000, "动态表单不存在"); 49 ErrorCode FORM_NOT_EXISTS = new ErrorCode(1009010000, "动态表单不存在");
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/core/behavior/BpmUserTaskActivitiBehavior.java
@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil; @@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
6 import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; 6 import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
7 import cn.iocoder.yudao.adminserver.modules.bpm.enums.definition.BpmTaskAssignRuleTypeEnum; 7 import cn.iocoder.yudao.adminserver.modules.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;
8 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; 8 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService;
  9 +import cn.iocoder.yudao.adminserver.modules.system.service.permission.SysPermissionService;
9 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 10 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
10 import lombok.Setter; 11 import lombok.Setter;
11 import org.activiti.bpmn.model.UserTask; 12 import org.activiti.bpmn.model.UserTask;
@@ -29,6 +30,8 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior { @@ -29,6 +30,8 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior {
29 30
30 @Setter 31 @Setter
31 private BpmTaskAssignRuleService bpmTaskRuleService; 32 private BpmTaskAssignRuleService bpmTaskRuleService;
  33 + @Setter
  34 + private SysPermissionService permissionService;
32 35
33 public BpmUserTaskActivitiBehavior(UserTask userTask) { 36 public BpmUserTaskActivitiBehavior(UserTask userTask) {
34 super(userTask); 37 super(userTask);
@@ -96,10 +99,9 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior { @@ -96,10 +99,9 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior {
96 } 99 }
97 100
98 private Set<Long> calculateTaskCandidateUsersByRole(TaskEntity task, BpmTaskAssignRuleDO rule) { 101 private Set<Long> calculateTaskCandidateUsersByRole(TaskEntity task, BpmTaskAssignRuleDO rule) {
99 - throw new UnsupportedOperationException("暂不支持该任务规则"); 102 + return permissionService.getUserRoleIdListByRoleIds(rule.getOptions());
100 } 103 }
101 104
102 -  
103 private Set<Long> calculateTaskCandidateUsersByDept(TaskEntity task, BpmTaskAssignRuleDO rule) { 105 private Set<Long> calculateTaskCandidateUsersByDept(TaskEntity task, BpmTaskAssignRuleDO rule) {
104 throw new UnsupportedOperationException("暂不支持该任务规则"); 106 throw new UnsupportedOperationException("暂不支持该任务规则");
105 } 107 }
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/definition/BpmTaskAssignRuleService.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.definition; @@ -2,6 +2,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.definition;
2 2
3 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; 3 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO;
4 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO; 4 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO;
  5 +import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO;
5 import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; 6 import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
6 import org.springframework.lang.Nullable; 7 import org.springframework.lang.Nullable;
7 8
@@ -51,6 +52,11 @@ public interface BpmTaskAssignRuleService { @@ -51,6 +52,11 @@ public interface BpmTaskAssignRuleService {
51 */ 52 */
52 Long createTaskAssignRule(@Valid BpmTaskAssignRuleCreateReqVO reqVO); 53 Long createTaskAssignRule(@Valid BpmTaskAssignRuleCreateReqVO reqVO);
53 54
54 - // TODO 芋艿:复制任务规则 55 + /**
  56 + * 更新任务分配规则
  57 + *
  58 + * @param reqVO 创建信息
  59 + */
  60 + void updateTaskAssignRule(@Valid BpmTaskAssignRuleUpdateReqVO reqVO);
55 61
56 } 62 }
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/definition/impl/BpmTaskAssignRuleServiceImpl.java
@@ -4,17 +4,16 @@ import cn.hutool.core.collection.CollUtil; @@ -4,17 +4,16 @@ import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.util.StrUtil; 4 import cn.hutool.core.util.StrUtil;
5 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO; 5 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO;
6 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO; 6 import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO;
  7 +import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO;
7 import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmTaskAssignRuleConvert; 8 import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmTaskAssignRuleConvert;
8 import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; 9 import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
9 import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition.BpmTaskAssignRuleMapper; 10 import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition.BpmTaskAssignRuleMapper;
10 -import cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants;  
11 import cn.iocoder.yudao.adminserver.modules.bpm.enums.definition.BpmTaskAssignRuleTypeEnum; 11 import cn.iocoder.yudao.adminserver.modules.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;
12 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmModelService; 12 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmModelService;
13 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService; 13 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService;
14 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; 14 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService;
15 import cn.iocoder.yudao.adminserver.modules.system.service.permission.SysRoleService; 15 import cn.iocoder.yudao.adminserver.modules.system.service.permission.SysRoleService;
16 import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils; 16 import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils;
17 -import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;  
18 import lombok.extern.slf4j.Slf4j; 17 import lombok.extern.slf4j.Slf4j;
19 import org.activiti.bpmn.model.BpmnModel; 18 import org.activiti.bpmn.model.BpmnModel;
20 import org.activiti.bpmn.model.UserTask; 19 import org.activiti.bpmn.model.UserTask;
@@ -28,6 +27,7 @@ import java.util.List; @@ -28,6 +27,7 @@ import java.util.List;
28 import java.util.Objects; 27 import java.util.Objects;
29 import java.util.Set; 28 import java.util.Set;
30 29
  30 +import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants.*;
31 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 31 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
32 32
33 /** 33 /**
@@ -95,8 +95,7 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService { @@ -95,8 +95,7 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService {
95 BpmTaskAssignRuleDO existRule = taskRuleMapper.selectListByModelIdAndTaskDefinitionKey( 95 BpmTaskAssignRuleDO existRule = taskRuleMapper.selectListByModelIdAndTaskDefinitionKey(
96 reqVO.getModelId(), reqVO.getTaskDefinitionKey()); 96 reqVO.getModelId(), reqVO.getTaskDefinitionKey());
97 if (existRule != null) { 97 if (existRule != null) {
98 - throw exception(BpmErrorCodeConstants.TASK_ASSIGN_RULE_EXISTS,  
99 - reqVO.getModelId(), reqVO.getTaskDefinitionKey()); 98 + throw exception(TASK_ASSIGN_RULE_EXISTS, reqVO.getModelId(), reqVO.getTaskDefinitionKey());
100 } 99 }
101 100
102 // 存储 101 // 存储
@@ -106,12 +105,30 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService { @@ -106,12 +105,30 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService {
106 return rule.getId(); 105 return rule.getId();
107 } 106 }
108 107
  108 + @Override
  109 + public void updateTaskAssignRule(BpmTaskAssignRuleUpdateReqVO reqVO) {
  110 + // 校验参数
  111 + validTaskAssignRuleOptions(reqVO.getType(), reqVO.getOptions());
  112 + // 校验是否存在
  113 + BpmTaskAssignRuleDO existRule = taskRuleMapper.selectById(reqVO.getId());
  114 + if (existRule == null) {
  115 + throw exception(TASK_ASSIGN_RULE_NOT_EXISTS);
  116 + }
  117 + // 只允许修改流程模型的规则
  118 + if (!Objects.equals(BpmTaskAssignRuleDO.PROCESS_DEFINITION_ID_NULL, existRule.getProcessDefinitionId())) {
  119 + throw exception(TASK_UPDATE_FAIL_NOT_MODEL);
  120 + }
  121 +
  122 + // 执行更新
  123 + taskRuleMapper.updateById(BpmTaskAssignRuleConvert.INSTANCE.convert(reqVO));
  124 + }
  125 +
109 private void validTaskAssignRuleOptions(Integer type, Set<Long> options) { 126 private void validTaskAssignRuleOptions(Integer type, Set<Long> options) {
110 if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.ROLE.getType())) { 127 if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.ROLE.getType())) {
111 roleService.validRoles(options); 128 roleService.validRoles(options);
112 return; 129 return;
113 } 130 }
114 - 131 + // TODO 其它的
115 } 132 }
116 133
117 } 134 }
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/controller/permission/SysPermissionController.java
@@ -59,7 +59,7 @@ public class SysPermissionController { @@ -59,7 +59,7 @@ public class SysPermissionController {
59 @GetMapping("/list-user-roles") 59 @GetMapping("/list-user-roles")
60 // @RequiresPermissions("system:permission:assign-user-role") 60 // @RequiresPermissions("system:permission:assign-user-role")
61 public CommonResult<Set<Long>> listAdminRoles(@RequestParam("userId") Long userId) { 61 public CommonResult<Set<Long>> listAdminRoles(@RequestParam("userId") Long userId) {
62 - return success(permissionService.listUserRoleIs(userId)); 62 + return success(permissionService.getUserRoleIdListByUserId(userId));
63 } 63 }
64 64
65 @ApiOperation("赋予用户角色") 65 @ApiOperation("赋予用户角色")
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/controller/user/SysUserProfileController.java
@@ -65,7 +65,7 @@ public class SysUserProfileController { @@ -65,7 +65,7 @@ public class SysUserProfileController {
65 SysUserDO user = userCoreService.getUser(getLoginUserId()); 65 SysUserDO user = userCoreService.getUser(getLoginUserId());
66 SysUserProfileRespVO resp = SysUserConvert.INSTANCE.convert03(user); 66 SysUserProfileRespVO resp = SysUserConvert.INSTANCE.convert03(user);
67 // 获得用户角色 67 // 获得用户角色
68 - List<SysRoleDO> userRoles = roleService.getRolesFromCache(permissionService.listUserRoleIs(user.getId())); 68 + List<SysRoleDO> userRoles = roleService.getRolesFromCache(permissionService.getUserRoleIdListByUserId(user.getId()));
69 resp.setRoles(SysUserConvert.INSTANCE.convertList(userRoles)); 69 resp.setRoles(SysUserConvert.INSTANCE.convertList(userRoles));
70 // 获得部门信息 70 // 获得部门信息
71 if (user.getDeptId() != null) { 71 if (user.getDeptId() != null) {
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/dal/mysql/permission/SysUserRoleMapper.java
@@ -16,6 +16,14 @@ public interface SysUserRoleMapper extends BaseMapperX&lt;SysUserRoleDO&gt; { @@ -16,6 +16,14 @@ public interface SysUserRoleMapper extends BaseMapperX&lt;SysUserRoleDO&gt; {
16 return selectList(new QueryWrapper<SysUserRoleDO>().eq("user_id", userId)); 16 return selectList(new QueryWrapper<SysUserRoleDO>().eq("user_id", userId));
17 } 17 }
18 18
  19 + default List<SysUserRoleDO> selectListByRoleId(Long roleId) {
  20 + return selectList(new QueryWrapper<SysUserRoleDO>().eq("role_id", roleId));
  21 + }
  22 +
  23 + default List<SysUserRoleDO> selectListByRoleIds(Collection<Long> roleIds) {
  24 + return selectList("role_id", roleIds);
  25 + }
  26 +
19 default void insertList(Long userId, Collection<Long> roleIds) { 27 default void insertList(Long userId, Collection<Long> roleIds) {
20 List<SysUserRoleDO> list = roleIds.stream().map(roleId -> { 28 List<SysUserRoleDO> list = roleIds.stream().map(roleId -> {
21 SysUserRoleDO entity = new SysUserRoleDO(); 29 SysUserRoleDO entity = new SysUserRoleDO();
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/service/permission/SysPermissionService.java
@@ -67,7 +67,23 @@ public interface SysPermissionService extends SecurityPermissionFrameworkService @@ -67,7 +67,23 @@ public interface SysPermissionService extends SecurityPermissionFrameworkService
67 * @param userId 用户编号 67 * @param userId 用户编号
68 * @return 角色编号集合 68 * @return 角色编号集合
69 */ 69 */
70 - Set<Long> listUserRoleIs(Long userId); 70 + Set<Long> getUserRoleIdListByUserId(Long userId);
  71 +
  72 + /**
  73 + * 获得拥有某个角色的用户编号集合
  74 + *
  75 + * @param roleId 角色编号
  76 + * @return 用户编号集合
  77 + */
  78 + Set<Long> getUserRoleIdListByRoleId(Long roleId);
  79 +
  80 + /**
  81 + * 获得拥有多个角色的用户编号集合
  82 + *
  83 + * @param roleIds 角色编号集合
  84 + * @return 用户编号集合
  85 + */
  86 + Set<Long> getUserRoleIdListByRoleIds(Collection<Long> roleIds);
71 87
72 /** 88 /**
73 * 设置用户角色 89 * 设置用户角色
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/service/permission/impl/SysPermissionServiceImpl.java
@@ -216,12 +216,24 @@ public class SysPermissionServiceImpl implements SysPermissionService { @@ -216,12 +216,24 @@ public class SysPermissionServiceImpl implements SysPermissionService {
216 } 216 }
217 217
218 @Override 218 @Override
219 - public Set<Long> listUserRoleIs(Long userId) { 219 + public Set<Long> getUserRoleIdListByUserId(Long userId) {
220 return CollectionUtils.convertSet(userRoleMapper.selectListByUserId(userId), 220 return CollectionUtils.convertSet(userRoleMapper.selectListByUserId(userId),
221 SysUserRoleDO::getRoleId); 221 SysUserRoleDO::getRoleId);
222 } 222 }
223 223
224 @Override 224 @Override
  225 + public Set<Long> getUserRoleIdListByRoleId(Long roleId) {
  226 + return CollectionUtils.convertSet(userRoleMapper.selectListByRoleId(roleId),
  227 + SysUserRoleDO::getRoleId);
  228 + }
  229 +
  230 + @Override
  231 + public Set<Long> getUserRoleIdListByRoleIds(Collection<Long> roleIds) {
  232 + return CollectionUtils.convertSet(userRoleMapper.selectListByRoleIds(roleIds),
  233 + SysUserRoleDO::getRoleId);
  234 + }
  235 +
  236 + @Override
225 public void assignUserRole(Long userId, Set<Long> roleIds) { 237 public void assignUserRole(Long userId, Set<Long> roleIds) {
226 // 获得角色拥有角色编号 238 // 获得角色拥有角色编号
227 Set<Long> dbRoleIds = CollectionUtils.convertSet(userRoleMapper.selectListByUserId(userId), 239 Set<Long> dbRoleIds = CollectionUtils.convertSet(userRoleMapper.selectListByUserId(userId),
yudao-admin-ui/src/views/bpm/model/index.vue
@@ -204,13 +204,13 @@ @@ -204,13 +204,13 @@
204 <el-dialog title="任务分配规则" :visible.sync="taskAssignRule.listOpen" width="800px" append-to-body> 204 <el-dialog title="任务分配规则" :visible.sync="taskAssignRule.listOpen" width="800px" append-to-body>
205 <el-table v-loading="taskAssignRule.loading" :data="taskAssignRule.list"> 205 <el-table v-loading="taskAssignRule.loading" :data="taskAssignRule.list">
206 <el-table-column label="任务名" align="center" prop="taskDefinitionName" width="120" fixed /> 206 <el-table-column label="任务名" align="center" prop="taskDefinitionName" width="120" fixed />
207 - <el-table-column label="任务标识" align="center" prop="taskDefinitionKey" width="300" />  
208 - <el-table-column label="规则类型" align="center" prop="type"> 207 + <el-table-column label="任务标识" align="center" prop="taskDefinitionKey" width="120" show-tooltip-when-overflow />
  208 + <el-table-column label="规则类型" align="center" prop="type" width="120">
209 <template slot-scope="scope"> 209 <template slot-scope="scope">
210 <span>{{ getDictDataLabel(DICT_TYPE.BPM_TASK_ASSIGN_RULE_TYPE, scope.row.type) }}</span> 210 <span>{{ getDictDataLabel(DICT_TYPE.BPM_TASK_ASSIGN_RULE_TYPE, scope.row.type) }}</span>
211 </template> 211 </template>
212 </el-table-column> 212 </el-table-column>
213 - <el-table-column label="规则范围" align="center" prop="options" width="200px"> 213 + <el-table-column label="规则范围" align="center" prop="options" width="300px">
214 <template slot-scope="scope"> 214 <template slot-scope="scope">
215 <el-tag size="medium" v-if="scope.row.options" v-for="option in scope.row.options"> 215 <el-tag size="medium" v-if="scope.row.options" v-for="option in scope.row.options">
216 {{ getAssignRuleOptionName(scope.row.type, option) }} 216 {{ getAssignRuleOptionName(scope.row.type, option) }}
@@ -608,11 +608,12 @@ export default { @@ -608,11 +608,12 @@ export default {
608 // 设置表单 608 // 设置表单
609 this.taskAssignRule.form = { 609 this.taskAssignRule.form = {
610 ...row, 610 ...row,
611 - options: [] 611 + options: [],
  612 + roleIds: [],
612 }; 613 };
613 // 将 options 赋值到对应的 roleIds 等选项 614 // 将 options 赋值到对应的 roleIds 等选项
614 if (row.type === 10) { 615 if (row.type === 10) {
615 - this.taskAssignRule.form.roleIds = row.options; 616 + this.taskAssignRule.form.roleIds.push(...row.options);
616 } 617 }
617 this.taskAssignRule.open = true; 618 this.taskAssignRule.open = true;
618 }, 619 },