From c90e8554761d9027c9a7c339452800e38a822899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=8F=E9=A9=AC?= <179906767@qq.com> Date: Thu, 2 Sep 2021 03:49:21 +0000 Subject: [PATCH] =?UTF-8?q?Info.php=E4=B8=ADworkflowInfo=E5=87=BD=E6=95=B0?= =?UTF-8?q?Bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/adaptive/Info.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/adaptive/Info.php b/src/adaptive/Info.php index 1c38329..0a61929 100644 --- a/src/adaptive/Info.php +++ b/src/adaptive/Info.php @@ -164,7 +164,9 @@ class Info *1、先计算当前流程下有几个步骤 2、如果有多个步骤,判定为同步模式,(特别注意,同步模式下最后一个步骤,也会认定会是单一步骤) 3、根据多个步骤进行循环,找出当前登入用户对应的步骤 4、将对应的步骤设置为当前审批步骤 5、修改下一步骤处理模式 6、修改提醒模式 */ //如果有两个以上的运行步骤,则认定为是同步模式 - if (count($info_list) < 2) { + //如果3个子步骤同步,其中两个已完成即status=2,则会判定为count($info_list) < 2,换个方式判断 + $run_flow_process_ids=explode(',',$result['run_flow_process']); + if (count($run_flow_process_ids) < 2) { $info = $info_list[0]; $workflow ['wf_mode'] = 0;//wf_mode } else { @@ -184,8 +186,11 @@ class Info } } } - if (!isset($info)) { - return -1; + if (!isset($info)) {//如果同步模式中的子步骤提出会签,这里直接返回-1会导致会签接收人无权限的问题 + if ($workflow ['wf_mode'] == 0){ + return -1; + } + $info=NULL;//避免下面找不到$info } } -- Gitee