Example #1
0
 /**
  * 流转
  */
 private function turnTo($dest_action, $dest_status)
 {
     $flow_id = $this->flow->flow_id;
     $flow = Model\Flow::find($flow_id);
     if (empty($flow)) {
         throw new Exception("流程id不存在");
     }
     $flow_info = $flow->getAttributes();
     $from = $flow_info['current_step'];
     // 目标步骤获取优先级 页面手动设置>系统配置
     if (isset($this->flow->request['dest'])) {
         $to = $this->flow->request['dest']['dest_step'];
         $dest_status = $this->flow->request['dest']['dest_status'];
     } else {
         $steps = Config::get('flow.' . $this->flow->tpl_name . '.steps');
         $current_config = $steps[$from];
         $to = $current_config[$dest_action];
     }
     // 校验是否可以流转
     Util\Condition::checkTransitionCondition($this->flow);
     // 流转
     Util\Step::turnTo($this->flow, $from, $to, $dest_status);
 }