diff --git a/src/adaptive/Info.php b/src/adaptive/Info.php index 1c3832942cdeba187fbc5b07f32f42013e9fa7ac..0a6192905c3033a9e3ba8ae9f55e69df6eb63718 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 } }