!690 新增通过前端显示流程图方式和新增办理人转换接口

* feat 新增通过前端显示流程图方式
This commit is contained in:
晓华 2025-05-27 09:02:05 +00:00 committed by 疯狂的狮子Li
parent 79ec850eca
commit a002a4e7a1
4 changed files with 18 additions and 14 deletions

View File

@ -49,7 +49,7 @@
<!-- 面向运行时的D-ORM依赖 -->
<anyline.version>8.7.2-20250101</anyline.version>
<!-- 工作流配置 -->
<warm-flow.version>1.7.2</warm-flow.version>
<warm-flow.version>1.7.3-m1</warm-flow.version>
<!-- 插件版本 -->
<maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>

View File

@ -1,12 +1,13 @@
package org.dromara.workflow.handler;
import cn.hutool.core.collection.CollUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.warm.flow.core.dto.FlowParams;
import org.dromara.warm.flow.core.handler.PermissionHandler;
import org.dromara.warm.flow.core.service.impl.TaskServiceImpl;
import org.dromara.workflow.common.ConditionalOnEnable;
import org.dromara.workflow.service.IFlwCommonService;
import org.springframework.stereotype.Component;
import java.util.Collections;
@ -23,9 +24,11 @@ import java.util.List;
@Slf4j
public class WorkflowPermissionHandler implements PermissionHandler {
private final IFlwCommonService flwCommonService;
/**
* 审批前获取当前办理人办理时会校验的该权限集合
* 后续在{@link TaskServiceImpl#checkAuth(Task, FlowParams)} 中调用
* 办理人权限标识比如用户角色部门等用于校验是否有权限办理任务
* 后续在{@link FlowParams#getPermissionFlag} 中获取
* 返回当前用户权限集合
*/
@Override
@ -43,4 +46,14 @@ public class WorkflowPermissionHandler implements PermissionHandler {
return LoginHelper.getUserIdStr();
}
/**
* 转换办理人比如设计器中预设了能办理的人如果其中包含角色或者部门id等可以通过此接口进行转换成用户id
*/
@Override
public List<String> convertPermissions(List<String> permissions) {
if (CollUtil.isNotEmpty(permissions)) {
permissions = flwCommonService.buildUser(permissions);
}
return permissions;
}
}

View File

@ -92,13 +92,6 @@ public class WorkflowGlobalListener implements GlobalListener {
String userIds = variable.get(flowTask.getNodeCode()).toString();
flowTask.setPermissionList(List.of(userIds.split(StringUtils.SEPARATOR)));
variable.remove(flowTask.getNodeCode());
} else {
// 否则把所有的角色或者部门转成对应的用户
List<String> permissionList = flowTask.getPermissionList();
if (CollUtil.isNotEmpty(permissionList)) {
List<String> newUserList = flwCommonService.buildUser(permissionList);
flowTask.setPermissionList(newUserList);
}
}
// 如果是申请节点则把启动人添加到办理人
if (flowTask.getNodeCode().equals(applyNodeCode)) {

View File

@ -316,9 +316,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
if (CollUtil.isNotEmpty(flowHisTasks)) {
list.addAll(BeanUtil.copyToList(flowHisTasks, FlowHisTaskVo.class));
}
String flowChart = chartService.chartIns(instanceId);
DefChart defChart = chartService.chartInsObj(instanceId);
return Map.of("list", list, "image", flowChart,"defChart",defChart);
return Map.of("list", list);
}
/**