update 调整代办人查询错误 增加示例

This commit is contained in:
gssong 2024-12-15 00:22:21 +08:00
parent 0bc46c849f
commit b9a6426c1a
3 changed files with 38 additions and 6 deletions

View File

@ -257,7 +257,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
for (FlowHisTaskVo flowHisTaskVo : flowHisTaskVos) {
flowHisTaskVo.setFlowStatus(TaskStatusEnum.WAITING.getStatus());
flowHisTaskVo.setUpdateTime(null);
List<UserDTO> allUser = flwTaskService.currentTaskAllUser(flowHisTaskVo.getTaskId());
List<UserDTO> allUser = flwTaskService.currentTaskAllUser(flowHisTaskVo.getId());
if (CollUtil.isNotEmpty(allUser)) {
String join = StreamUtils.join(allUser, e -> String.valueOf(e.getUserId()));
flowHisTaskVo.setApprover(join);

View File

@ -63,17 +63,22 @@ public class WorkflowUtils {
return Set.of();
}
Set<User> list = new HashSet<>();
Set<String> processedBySet = new HashSet<>();
for (User user : userList) {
// 根据 processedBy 前缀判断处理人类型分别获取用户列表
List<UserDTO> users = taskAssigneeService.fetchUsersByStorageId(user.getProcessedBy());
// 转换为 FlowUser 并添加到结果集合
if (CollUtil.isNotEmpty(users)) {
users.forEach(dto -> {
FlowUser flowUser = new FlowUser();
flowUser.setType(user.getType());
flowUser.setProcessedBy(String.valueOf(dto.getUserId()));
flowUser.setAssociated(taskId);
list.add(flowUser);
String processedBy = String.valueOf(dto.getUserId());
if (!processedBySet.contains(processedBy)) {
FlowUser flowUser = new FlowUser();
flowUser.setType(user.getType());
flowUser.setProcessedBy(processedBy);
flowUser.setAssociated(taskId);
list.add(flowUser);
processedBySet.add(processedBy);
}
});
}
}

27
script/bpmn/leave3.xml Normal file
View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<definition flowCode="leave3" flowName="请假申请-并行网关" version="1" category="1" formCustom="N">
<node nodeType="start" nodeCode="a80ecf9f-f465-4ae5-a429-e30ec5d0f957" nodeName="开始" nodeRatio="0.000" coordinate="380,220|380,220" skipAnyNode="N" formCustom="N">
<skip coordinate="400,220;470,220" skipType="PASS">b7bbb571-06de-455c-8083-f83c07bf0b99</skip>
</node>
<node nodeType="between" nodeCode="b7bbb571-06de-455c-8083-f83c07bf0b99" nodeName="申请人" nodeRatio="0.000" coordinate="520,220|520,220" skipAnyNode="N" formCustom="N">
<skip coordinate="570,220;655,220" skipType="PASS">84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a</skip>
</node>
<node nodeType="parallel" nodeCode="84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a" nodeRatio="0.000" coordinate="680,220" skipAnyNode="N" formCustom="N">
<skip coordinate="680,195;680,140;750,140" skipType="PASS">4b7743cd-940c-431b-926f-e7b614fbf1fe</skip>
<skip coordinate="680,245;680,300;750,300" skipType="PASS">762cb975-37d8-4276-b6db-79a4c3606394</skip>
</node>
<node nodeType="between" nodeCode="4b7743cd-940c-431b-926f-e7b614fbf1fe" nodeName="市场部" permissionFlag="role:1" nodeRatio="0.000" coordinate="800,140|800,140" skipAnyNode="N" formCustom="N">
<skip coordinate="850,140;920,140;920,195" skipType="PASS">b66b6563-f9fe-41cc-a782-f7837bb6f3d2</skip>
</node>
<node nodeType="parallel" nodeCode="b66b6563-f9fe-41cc-a782-f7837bb6f3d2" nodeRatio="0.000" coordinate="920,220" skipAnyNode="N" formCustom="N">
<skip coordinate="945,220;975,220;975,220;960,220;960,220;990,220" skipType="PASS">23e7429e-2b47-4431-b93e-40db7c431ce6</skip>
</node>
<node nodeType="between" nodeCode="23e7429e-2b47-4431-b93e-40db7c431ce6" nodeName="CEO" permissionFlag="1" nodeRatio="0.000" coordinate="1040,220|1040,220" skipAnyNode="N" formCustom="N">
<skip coordinate="1090,220;1140,220" skipType="PASS">f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1</skip>
</node>
<node nodeType="end" nodeCode="f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1" nodeName="结束" nodeRatio="0.000" coordinate="1160,220|1160,220" skipAnyNode="N" formCustom="N"/>
<node nodeType="between" nodeCode="762cb975-37d8-4276-b6db-79a4c3606394" nodeName="综合部" permissionFlag="role:3,role:4" nodeRatio="0.000" coordinate="800,300|800,300" skipAnyNode="N" formCustom="N">
<skip coordinate="850,300;920,300;920,245" skipType="PASS">b66b6563-f9fe-41cc-a782-f7837bb6f3d2</skip>
</node>
</definition>