$oStepTrigger = new StepTrigger(); $oStepTrigger->update(array('STEP_UID' => $aData['STEP_UID'], 'TAS_UID' => $_SESSION['TASK'], 'TRI_UID' => $aData['TRI_UID'], 'ST_TYPE' => $aData['ST_TYPE'], 'ST_CONDITION' => $aData['ST_CONDITION'])); break; case 'upTrigger': $aData['iPosition'] = (int) $aData['iPosition']; $oStepTrigger = new StepTrigger(); $oStepTrigger->up($aData['sStep'], $_SESSION['TASK'], $aData['sTrigger'], $aData['sType'], $aData['iPosition']); break; case 'downTrigger': $aData['iPosition'] = (int) $aData['iPosition']; $oStepTrigger = new StepTrigger(); $oStepTrigger->down($aData['sStep'], $_SESSION['TASK'], $aData['sTrigger'], $aData['sType'], $aData['iPosition']); break; case 'ofToAssignTrigger': $oStepTrigger = new StepTrigger(); $oStepTrigger->reOrder($aData['sStep'], $_SESSION['TASK'], $aData['sType'], $aData['iPosition']); $oStepTrigger->remove($aData['sStep'], $_SESSION['TASK'], $aData['sTrigger'], $aData['sType']); break; case 'counterTriggers': G::LoadClass('processMap'); $oProcessMap = new ProcessMap(); $oCriteria1 = $oProcessMap->getStepTriggersCriteria($aData['sStep'], $_SESSION['TASK'], $aData['sType']); if ($aData['sType'] == 'BEFORE') { $oCriteria2 = $oProcessMap->getStepTriggersCriteria($aData['sStep'], $_SESSION['TASK'], 'AFTER'); } else { $oCriteria2 = $oProcessMap->getStepTriggersCriteria($aData['sStep'], $_SESSION['TASK'], 'BEFORE'); } $iCantity = StepTriggerPeer::doCount($oCriteria1); $iTotal = $iCantity + StepTriggerPeer::doCount($oCriteria2); echo $iTotal . '|' . $iCantity; break;
/** * Delete Trigger of a Step * * @param string $stepUid Unique id of Step * @param string $type Type (BEFORE, AFTER, BEFORE_ASSIGNMENT, BEFORE_ROUTING, AFTER_ROUTING) * @param string $taskUid Unique id of Task * @param string $triggerUid Unique id of Trigger * * return void */ public function delete($stepUid, $type, $taskUid, $triggerUid) { try { if ($stepUid == "") { switch ($type) { case "BEFORE_ASSIGNMENT": $stepUid = "-1"; $type = "BEFORE"; break; case "BEFORE_ROUTING": $stepUid = "-2"; $type = "BEFORE"; break; case "AFTER_ROUTING": $stepUid = "-2"; $type = "AFTER"; break; } } //Verify data if (!$this->existsRecord($stepUid, $type, $taskUid, $triggerUid)) { throw new \Exception(\G::LoadTranslation("ID_RECORD_DOES_NOT_EXIST_IN_TABLE", array($stepUid . ", " . $type . ", " . $taskUid . ", " . $triggerUid, "STEP_TRIGGER"))); } //Get position $stepTrigger = new \StepTrigger(); $arrayData = $stepTrigger->load($stepUid, $taskUid, $triggerUid, $type); $position = (int) $arrayData["ST_POSITION"]; //Delete $stepTrigger = new \StepTrigger(); $stepTrigger->reOrder($stepUid, $taskUid, $type, $position); $stepTrigger->remove($stepUid, $taskUid, $triggerUid, $type); } catch (\Exception $e) { throw $e; } }