找回密码
 注册成为天翎用户
查看: 121|回复: 5

[解决中] 同一用户并行+聚合流程到达,提交下一节点选择审批人报错

[复制链接]
wcf123 发表于 4 天前 | 显示全部楼层 |阅读模式
本帖最后由 wcf123 于 2026-8-15 17:05 编辑

版本:5.1
有个需求:申请人提交至下一节点时是多节点,多节点内可能有同一个审批人,如下图:,
这样就会导致同一个人处理表单的待办时,是多节点的流程状态,如下图:,
此时当前审批人再次往下一级节点提交时,选择审批人时会弹窗报系统错误,浏览器检查元素中查看是接口调用出现了500报错,如下图:,
查看后端接口发现是接口参数nodeid传的是多个节点id导致后台接口中获取node为空导致,如下图:,
这种情况应该怎么修改相关代码?经测试你们官网体验版本也存在此问题。请尽快协助解决

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
admin 发表于 4 天前 | 显示全部楼层
【本回复由 AI 根据产品文档自动生成】

您好,您的问题定位分析得很准确。这是典型的"同一审批人持有并行多分支待办"场景下,选择下一节点审批人接口传参异常导致的后端空指针(500)问题。我未在公开产品文档中查到该场景的官方说明,以下基于平台流程引擎架构给出分析和处理建议,供参考。

一、根因分析

1. 并行+聚合流程中,同一审批人在多个分支上各有一条待办;
2. 该用户从"我的待办"提交下一节点时,前端会把其名下所有相关待办的 nodeid 拼接(分隔符连接)后传给"获取下一节点审批人"的接口;
3. 后端接口按单一 nodeid 设计,用组合值去查节点定义,getNode() 返回 null,后续取节点属性时抛空指针,表现为接口 500。

二、代码修改思路(两种方向,任选其一)

1. 后端兼容(推荐):在获取下一节点审批人的接口入口处,对 nodeid 参数先按分隔符拆分为数组,逐个 getNode 后分别计算下一节点候选人,再合并、去重返回;
2. 前端拆分:提交时仅传当前操作待办所对应的单一 nodeid(用户在哪个分支的待办上操作就传哪个),多分支分别提交,不做合并传参。

三、重要提醒与规避方案

直接修改产品代码在后续版本升级/打补丁时会被覆盖,且您已验证官网体验版可复现,说明这属于平台缺陷,建议:
- 通过官方渠道(工单/客服/技术群)提交缺陷报告,附复现流程、接口报文和截图,申请官方补丁;
- 流程设计上可临时规避:
  a) 错开并行分支的审批人,避免同一人同时出现在多个分支;
  b) 调整流程结构,先聚合到单人节点再往下走;
  c) 若业务允许,将该环节改为会签/抢占等聚合处理方式,由平台在聚合点归并待办。

参考文档:
http://docs.myapps.cn/

如需进一步分析,请补充:报错接口的具体 URL/类名、流程节点结构截图、后端完整堆栈,以便更精确定位修改点。
 楼主| wcf123 发表于 昨天 11:14 | 显示全部楼层
admin 发表于 2026-8-15 17:58
【本回复由 AI 根据产品文档自动生成】

您好,您的问题定位分析得很准确。这是典型的"同一审批人持有并行 ...

按回复的后台兼容方案进行代码修改后,同一人多审批节点选择审批人时弹窗报错目前已正常,但多节点选择完审批人进行下一步提交时,又出现了新的问题,
无法进行下一步提交,报错40001,指定审批人无效,如图:
,又该怎么修改呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
 楼主| wcf123 发表于 昨天 15:44 | 显示全部楼层
希望经你们厂家修复后告知我修复代码进行替换!
巧克力榴莲蛋糕 发表于 昨天 16:38 | 显示全部楼层
wcf123 发表于 2026-8-18 11:14
按回复的后台兼容方案进行代码修改后,同一人多审批节点选择审批人时弹窗报错目前已正常,但多节点选择完 ...

是否已经进行版本更新,若已更新,是否提供流程源码,当前验证没有重现这个问题
 楼主| wcf123 发表于 昨天 17:32 | 显示全部楼层
巧克力榴莲蛋糕 发表于 2026-8-18 16:38
是否已经进行版本更新,若已更新,是否提供流程源码,当前验证没有重现这个问题 ...

我们用的5.1版本,已经不能进行版本更新,之前官网的体验版本都还存在这个问题,你们是怎么修复的?能不能提供对应代码参考一下?

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-19 20:29

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表