/** * * @param type $id * @return boolean * @codeCoverageIgnore */ public function retrieveFlowElement($id) { $bpmnBean = $this->caseFlowHandler->retrieveBean('pmse_BpmnFlow'); $bpmnBean->retrieve($id); $bpmElement = false; switch ($bpmnBean->flo_type) { case 'SEQUENCE': case 'DEFAULT': $bpmElement = $this->retrievePMSEElement('PMSESequenceFlow'); break; default: $bpmElement = false; break; } return $bpmElement; }
/** * * @param type $flowData */ public function getNextShapeElements($flowData) { $nextElements = $this->caseFlowHandler->retrieveFollowingElements($flowData); $eventBean = $this->caseFlowHandler->retrieveBean('pmse_BpmnEvent'); $nextShapeElements = array(); foreach ($nextElements as $element) { $sugarQueryObject = $this->retrieveSugarQueryObject(); $sugarQueryObject->select(array('id', 'evn_type', 'evn_behavior')); $sugarQueryObject->from($eventBean, array('alias' => 'a')); $sugarQueryObject->joinRaw("LEFT JOIN pmse_bpmn_flow b ON (b.flo_element_dest = a.id)", array('alias' => 'b')); $sugarQueryObject->where()->queryAnd()->addRaw('b.id=\'' . $element['bpmn_id'] . '\''); $queryResult = $sugarQueryObject->execute(); $result = array_pop($queryResult); array_push($nextShapeElements, $result); } return $nextShapeElements; }