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

This commit is contained in:
YunaiV
2022-01-13 00:56:57 +08:00
parent 4e7f5489a5
commit 64a1d1f0f6
8 changed files with 135 additions and 24 deletions

View File

@ -1,6 +1,5 @@
package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO;
import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
@ -12,7 +11,6 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@ -30,7 +28,7 @@ public class BpmTaskAssignRuleController {
public CommonResult<List<BpmTaskAssignRuleRespVO>> getTaskAssignRuleList(
@RequestParam(value = "modelId", required = false) String modelId,
@RequestParam(value = "processDefinitionId", required = false) String processDefinitionId) {
return success(taskAssignRuleService.getTaskAssignRules(modelId, processDefinitionId));
return success(taskAssignRuleService.getTaskAssignRuleList(modelId, processDefinitionId));
}
}

View File

@ -12,16 +12,16 @@ import lombok.Getter;
@AllArgsConstructor
public enum BpmTaskAssignRuleTypeEnum {
ROLE(10, "指定角色"),
ROLE(10, "角色"),
DEPT(20, "指定部门"),
DEPT_LEADER(21, "指定部门的负责人"),
DEPT(20, "部门的成员"),
DEPT_LEADER(21, "部门的负责人"),
USER(30, "指定用户"),
USER(30, "用户"),
USER_GROUP(40, "指定用户组"), // TODO 芋艿:预留,暂未实现
USER_GROUP(40, "用户组"), // TODO 芋艿:预留,暂未实现
SCRIPT(50, "指定脚本"), // 例如说,发起人所在部门的领导、发起人所在部门的领导的领导
SCRIPT(50, "自定义脚本"), // 例如说,发起人所在部门的领导、发起人所在部门的领导的领导
;
/**

View File

@ -53,7 +53,7 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior {
}
private BpmTaskAssignRuleDO getTaskRule(TaskEntity task) {
List<BpmTaskAssignRuleDO> taskRules = bpmTaskRuleService.getTaskAssignRulesByProcessDefinitionId(task.getProcessDefinitionId(),
List<BpmTaskAssignRuleDO> taskRules = bpmTaskRuleService.getTaskAssignRuleListByProcessDefinitionId(task.getProcessDefinitionId(),
task.getTaskDefinitionKey());
if (CollUtil.isEmpty(taskRules)) {
throw new ActivitiException(StrUtil.format("流程任务({}/{}/{}) 找不到符合的任务规则",

View File

@ -20,8 +20,8 @@ public interface BpmTaskAssignRuleService {
* @param taskDefinitionKey 流程任务定义的 Key。允许空
* @return 任务规则数组
*/
List<BpmTaskAssignRuleDO> getTaskAssignRulesByProcessDefinitionId(String processDefinitionId,
@Nullable String taskDefinitionKey);
List<BpmTaskAssignRuleDO> getTaskAssignRuleListByProcessDefinitionId(String processDefinitionId,
@Nullable String taskDefinitionKey);
/**
* 获得流程模型的任务规则数组
@ -29,7 +29,7 @@ public interface BpmTaskAssignRuleService {
* @param modelId 流程模型的编号
* @return 任务规则数组
*/
List<BpmTaskAssignRuleDO> getTaskAssignRulesByModelId(String modelId);
List<BpmTaskAssignRuleDO> getTaskAssignRuleListByModelId(String modelId);
/**
@ -39,7 +39,7 @@ public interface BpmTaskAssignRuleService {
* @param processDefinitionId 流程定义的编号
* @return 任务规则数组
*/
List<BpmTaskAssignRuleRespVO> getTaskAssignRules(String modelId, String processDefinitionId);
List<BpmTaskAssignRuleRespVO> getTaskAssignRuleList(String modelId, String processDefinitionId);
// TODO 芋艿:创建任务规则
// TODO 芋艿:复制任务规则

View File

@ -40,29 +40,29 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService {
private BpmProcessDefinitionService processDefinitionService;
@Override
public List<BpmTaskAssignRuleDO> getTaskAssignRulesByProcessDefinitionId(String processDefinitionId,
String taskDefinitionKey) {
public List<BpmTaskAssignRuleDO> getTaskAssignRuleListByProcessDefinitionId(String processDefinitionId,
String taskDefinitionKey) {
return taskRuleMapper.selectListByProcessDefinitionId(processDefinitionId, taskDefinitionKey);
}
@Override
public List<BpmTaskAssignRuleDO> getTaskAssignRulesByModelId(String modelId) {
public List<BpmTaskAssignRuleDO> getTaskAssignRuleListByModelId(String modelId) {
return taskRuleMapper.selectListByModelId(modelId);
}
@Override
public List<BpmTaskAssignRuleRespVO> getTaskAssignRules(String modelId, String processDefinitionId) {
public List<BpmTaskAssignRuleRespVO> getTaskAssignRuleList(String modelId, String processDefinitionId) {
// 获得规则
List<BpmTaskAssignRuleDO> rules = Collections.emptyList();
BpmnModel model = null;
if (StrUtil.isNotEmpty(modelId)) {
rules = getTaskAssignRulesByModelId(modelId);
rules = getTaskAssignRuleListByModelId(modelId);
model = modelService.getBpmnModel(modelId);
} else if (StrUtil.isNotEmpty(processDefinitionId)) {
rules = getTaskAssignRulesByProcessDefinitionId(processDefinitionId, null);
rules = getTaskAssignRuleListByProcessDefinitionId(processDefinitionId, null);
model = processDefinitionService.getBpmnModel(processDefinitionId);
}
if (CollUtil.isEmpty(rules) || model == null) {
if (model == null) {
return Collections.emptyList();
}