update 优化 使用前端显示流程图方式和新增办理人转换接口

dev
疯狂的狮子Li 7 months ago
parent 90b508eaf3
commit 92afe12288

@ -55,7 +55,7 @@
<!-- 面向运行时的D-ORM依赖 --> <!-- 面向运行时的D-ORM依赖 -->
<anyline.version>8.7.2-20250101</anyline.version> <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>
<!-- mq配置 --> <!-- mq配置 -->
<rocketmq.version>2.3.0</rocketmq.version> <rocketmq.version>2.3.0</rocketmq.version>

@ -1,12 +1,13 @@
package org.dromara.workflow.handler; package org.dromara.workflow.handler;
import cn.hutool.core.collection.CollUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.warm.flow.core.dto.FlowParams; import org.dromara.warm.flow.core.dto.FlowParams;
import org.dromara.warm.flow.core.handler.PermissionHandler; 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.common.ConditionalOnEnable;
import org.dromara.workflow.service.IFlwCommonService;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Collections; import java.util.Collections;
@ -23,9 +24,11 @@ import java.util.List;
@Slf4j @Slf4j
public class WorkflowPermissionHandler implements PermissionHandler { public class WorkflowPermissionHandler implements PermissionHandler {
private final IFlwCommonService flwCommonService;
/** /**
* *
* {@link TaskServiceImpl#checkAuth(Task, FlowParams)} * {@link FlowParams#getPermissionFlag}
* *
*/ */
@Override @Override
@ -43,4 +46,14 @@ public class WorkflowPermissionHandler implements PermissionHandler {
return LoginHelper.getUserIdStr(); return LoginHelper.getUserIdStr();
} }
/**
* idid
*/
@Override
public List<String> convertPermissions(List<String> permissions) {
if (CollUtil.isNotEmpty(permissions)) {
permissions = flwCommonService.buildUser(permissions);
}
return permissions;
}
} }

@ -94,13 +94,6 @@ public class WorkflowGlobalListener implements GlobalListener {
String userIds = variable.get(flowTask.getNodeCode()).toString(); String userIds = variable.get(flowTask.getNodeCode()).toString();
flowTask.setPermissionList(List.of(userIds.split(StringUtils.SEPARATOR))); flowTask.setPermissionList(List.of(userIds.split(StringUtils.SEPARATOR)));
variable.remove(flowTask.getNodeCode()); 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)) { if (flowTask.getNodeCode().equals(applyNodeCode)) {

@ -20,7 +20,6 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.api.domain.vo.RemoteUserVo; import org.dromara.system.api.domain.vo.RemoteUserVo;
import org.dromara.warm.flow.core.constant.ExceptionCons; import org.dromara.warm.flow.core.constant.ExceptionCons;
import org.dromara.warm.flow.core.dto.DefChart;
import org.dromara.warm.flow.core.dto.FlowParams; import org.dromara.warm.flow.core.dto.FlowParams;
import org.dromara.warm.flow.core.entity.Definition; import org.dromara.warm.flow.core.entity.Definition;
import org.dromara.warm.flow.core.entity.Instance; import org.dromara.warm.flow.core.entity.Instance;
@ -316,9 +315,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
if (CollUtil.isNotEmpty(flowHisTasks)) { if (CollUtil.isNotEmpty(flowHisTasks)) {
list.addAll(BeanUtil.copyToList(flowHisTasks, FlowHisTaskVo.class)); list.addAll(BeanUtil.copyToList(flowHisTasks, FlowHisTaskVo.class));
} }
String flowChart = chartService.chartIns(instanceId); return Map.of("list", list);
DefChart defChart = chartService.chartInsObj(instanceId);
return Map.of("list", list, "image", flowChart, "defChart", defChart);
} }
/** /**

Loading…
Cancel
Save