예제 #1
0
 /**
  *
  * @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;
 }
예제 #2
0
 /**
  *
  * @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;
 }