コード例 #1
0
 /**
  * Implementation for 'GET' method for Rest API
  *
  * @param  mixed $stepUid, $tasUid, $triUid, $stType Primary key
  *
  * @return array $result Returns array within multiple records or a single record depending if
  *                       a single selection was requested passing id(s) as param
  */
 protected function get($stepUid = null, $tasUid = null, $triUid = null, $stType = null)
 {
     $result = array();
     try {
         $noArguments = true;
         $argumentList = func_get_args();
         foreach ($argumentList as $arg) {
             if (!is_null($arg)) {
                 $noArguments = false;
             }
         }
         if ($noArguments) {
             $criteria = new Criteria('workflow');
             $criteria->addSelectColumn(StepTriggerPeer::STEP_UID);
             $criteria->addSelectColumn(StepTriggerPeer::TAS_UID);
             $criteria->addSelectColumn(StepTriggerPeer::TRI_UID);
             $criteria->addSelectColumn(StepTriggerPeer::ST_TYPE);
             $criteria->addSelectColumn(StepTriggerPeer::ST_CONDITION);
             $criteria->addSelectColumn(StepTriggerPeer::ST_POSITION);
             $dataset = AppEventPeer::doSelectRS($criteria);
             $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
             while ($dataset->next()) {
                 $result[] = $dataset->getRow();
             }
         } else {
             $record = StepTriggerPeer::retrieveByPK($stepUid, $tasUid, $triUid, $stType);
             if ($record) {
                 $result = $record->toArray(BasePeer::TYPE_FIELDNAME);
             } else {
                 $paramValues = "";
                 foreach ($argumentList as $arg) {
                     $paramValues .= strlen($paramValues) ? ', ' : '';
                     if (!is_null($arg)) {
                         $paramValues .= "{$arg}";
                     } else {
                         $paramValues .= "NULL";
                     }
                 }
                 throw new RestException(417, "table StepTrigger ({$paramValues})");
             }
         }
     } catch (RestException $e) {
         throw new RestException($e->getCode(), $e->getMessage());
     } catch (Exception $e) {
         throw new RestException(412, $e->getMessage());
     }
     return $result;
 }
コード例 #2
0
ファイル: class.processes.php プロジェクト: rrsc/processmaker
    /**

     * this function remove all Process except the PROCESS ROW

     *

     * @param string $sProUid

     * @return boolean

     */

    public function removeProcessRows ($sProUid)

    {

        try {

            //Instance all classes necesaries

            $oProcess = new Process();

            $oDynaform = new Dynaform();

            $oInputDocument = new InputDocument();

            $oOutputDocument = new OutputDocument();

            $oTrigger = new Triggers();

            $oStepTrigger = new StepTrigger();

            $oRoute = new Route();

            $oStep = new Step();

            $oSubProcess = new SubProcess();

            $oCaseTracker = new CaseTracker();

            $oCaseTrackerObject = new CaseTrackerObject();

            $oObjectPermission = new ObjectPermission();

            $oSwimlaneElement = new SwimlanesElements();

            $oConnection = new DbSource();

            $oStage = new Stage();

            $oEvent = new Event();

            $oCaseScheduler = new CaseScheduler();

            $oConfig = new Configuration();



            //Delete the tasks of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( TaskPeer::PRO_UID, $sProUid );

            $oDataset = TaskPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            $oTask = new Task();

            while ($aRow = $oDataset->getRow()) {

                $oCriteria = new Criteria( 'workflow' );

                $oCriteria->add( StepTriggerPeer::TAS_UID, $aRow['TAS_UID'] );

                StepTriggerPeer::doDelete( $oCriteria );

                if ($oTask->taskExists( $aRow['TAS_UID'] )) {

                    $oTask->remove( $aRow['TAS_UID'] );

                }

                $oDataset->next();

            }



            //Delete the dynaforms of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( DynaformPeer::PRO_UID, $sProUid );

            $oDataset = DynaformPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                $sWildcard = PATH_DYNAFORM . $aRow['PRO_UID'] . PATH_SEP . $aRow['DYN_UID'] . '_tmp*';

                foreach (glob( $sWildcard ) as $fn) {

                    @unlink( $fn );

                }

                $sWildcard = PATH_DYNAFORM . $aRow['PRO_UID'] . PATH_SEP . $aRow['DYN_UID'] . '.*';

                foreach (glob( $sWildcard ) as $fn) {

                    @unlink( $fn );

                }

                if ($oDynaform->dynaformExists( $aRow['DYN_UID'] )) {

                    $oDynaform->remove( $aRow['DYN_UID'] );

                }

                $oDataset->next();

            }



            //Delete the input documents of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( InputDocumentPeer::PRO_UID, $sProUid );

            $oDataset = InputDocumentPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oInputDocument->InputExists( $aRow['INP_DOC_UID'] )) {

                    $oInputDocument->remove( $aRow['INP_DOC_UID'] );

                }

                $oDataset->next();

            }



            //Delete the output documents of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( OutputDocumentPeer::PRO_UID, $sProUid );

            $oDataset = OutputDocumentPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oOutputDocument->OutputExists( $aRow['OUT_DOC_UID'] )) {

                    $oOutputDocument->remove( $aRow['OUT_DOC_UID'] );

                }

                $oDataset->next();

            }



            //Delete the steps

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( StepPeer::PRO_UID, $sProUid );

            $oDataset = StepPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                //Delete the steptrigger of process

                /*$oCriteria = new Criteria('workflow');

                  $oCriteria->add(StepTriggerPeer::STEP_UID, $aRow['STEP_UID']);

                  $oDataseti = StepTriggerPeer::doSelectRS($oCriteria);

                  $oDataseti->setFetchmode(ResultSet::FETCHMODE_ASSOC);

                  $oDataseti->next();

                  while ($aRowi = $oDataseti->getRow()) {

                  if ($oStepTrigger->stepTriggerExists($aRowi['STEP_UID'], $aRowi['TAS_UID'], $aRowi['TRI_UID'], $aRowi['ST_TYPE']))

                  $oStepTrigger->remove($aRowi['STEP_UID'], $aRowi['TAS_UID'], $aRowi['TRI_UID'], $aRowi['ST_TYPE']);

                  $oDataseti->next();

                  }*/

                $oStep->remove( $aRow['STEP_UID'] );

                $oDataset->next();

            }



            //Delete the StepSupervisor

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( StepSupervisorPeer::PRO_UID, $sProUid );

            $oDataset = StepSupervisorPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oStep->StepExists( $aRow['STEP_UID'] )) {

                    $oStep->remove( $aRow['STEP_UID'] );

                }

                $oDataset->next();

            }



            //Delete the triggers of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( TriggersPeer::PRO_UID, $sProUid );

            $oDataset = TriggersPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oTrigger->TriggerExists( $aRow['TRI_UID'] )) {

                    $oTrigger->remove( $aRow['TRI_UID'] );

                }

                $oDataset->next();

            }

            //Delete the routes of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( RoutePeer::PRO_UID, $sProUid );

            $oDataset = RoutePeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oRoute->routeExists( $aRow['ROU_UID'] )) {

                    $oRoute->remove( $aRow['ROU_UID'] );

                }

                $oDataset->next();

            }

            //Delete the swimlanes elements of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( SwimlanesElementsPeer::PRO_UID, $sProUid );

            $oDataset = SwimlanesElementsPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oSwimlaneElement->swimlanesElementsExists( $aRow['SWI_UID'] )) {

                    $oSwimlaneElement->remove( $aRow['SWI_UID'] );

                }

                $oDataset->next();

            }



            //Delete the DB connections of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( DbSourcePeer::PRO_UID, $sProUid );

            $oDataset = DbSourcePeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oConnection->Exists( $aRow['DBS_UID'], $aRow['PRO_UID'] )) {

                    $oConnection->remove( $aRow['DBS_UID'], $aRow['PRO_UID'] );

                }

                $oDataset->next();

            }



            //Delete the sub process of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( SubProcessPeer::PRO_PARENT, $sProUid );

            $oDataset = SubProcessPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oSubProcess->subProcessExists( $aRow['SP_UID'] )) {

                    $oSubProcess->remove( $aRow['SP_UID'] );

                }

                $oDataset->next();

            }



            //Delete the caseTracker of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( CaseTrackerPeer::PRO_UID, $sProUid );

            $oDataset = CaseTrackerPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oCaseTracker->caseTrackerExists( $aRow['PRO_UID'] )) {

                    $oCaseTracker->remove( $aRow['PRO_UID'] );

                }

                $oDataset->next();

            }



            //Delete the caseTrackerObject of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( CaseTrackerObjectPeer::PRO_UID, $sProUid );

            $oDataset = CaseTrackerObjectPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oCaseTrackerObject->caseTrackerObjectExists( $aRow['CTO_UID'] )) {

                    $oCaseTrackerObject->remove( $aRow['CTO_UID'] );

                }

                $oDataset->next();

            }



            //Delete the ObjectPermission of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( ObjectPermissionPeer::PRO_UID, $sProUid );

            $oDataset = ObjectPermissionPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oObjectPermission->Exists( $aRow['OP_UID'] )) {

                    $oObjectPermission->remove( $aRow['OP_UID'] );

                }

                $oDataset->next();

            }



            //Delete the Stage of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( StagePeer::PRO_UID, $sProUid );

            $oDataset = StagePeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oStage->Exists( $aRow['STG_UID'] )) {

                    $oStage->remove( $aRow['STG_UID'] );

                }

                $oDataset->next();

            }



            //Delete the Event of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( EventPeer::PRO_UID, $sProUid );

            $oDataset = EventPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oEvent->Exists( $aRow['EVN_UID'] )) {

                    $oEvent->remove( $aRow['EVN_UID'] );

                }

                $oDataset->next();

                if ($oEvent->existsByTaskUidFrom( $aRow['TAS_UID'] )) {

                    $aRowEvent = $oEvent->getRowByTaskUidFrom( $aRow['TAS_UID'] );

                    $oEvent->remove( $aRowEvent['EVN_UID'] );

                }

                $oDataset->next();

            }



            //Delete the CaseScheduler of process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->add( CaseSchedulerPeer::PRO_UID, $sProUid );

            $oDataset = CaseSchedulerPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oCaseScheduler->Exists( $aRow['SCH_UID'] )) {

                    $oCaseScheduler->remove( $aRow['SCH_UID'] );

                }

                $oDataset->next();

            }



            //Delete the TaskExtraProperties of the process

            $oCriteria = new Criteria( 'workflow' );

            $oCriteria->addSelectColumn( ConfigurationPeer::CFG_UID );

            $oCriteria->addSelectColumn( ConfigurationPeer::OBJ_UID );

            $oCriteria->addSelectColumn( ConfigurationPeer::CFG_VALUE );

            $oCriteria->addSelectColumn( TaskPeer::PRO_UID );

            $oCriteria->addSelectColumn( ConfigurationPeer::USR_UID );

            $oCriteria->addSelectColumn( ConfigurationPeer::APP_UID );

            $oCriteria->add( TaskPeer::PRO_UID, $sProUid );

            $oCriteria->add( ConfigurationPeer::CFG_UID, 'TAS_EXTRA_PROPERTIES' );

            $oCriteria->addJoin( ConfigurationPeer::OBJ_UID, TaskPeer::TAS_UID );

            $oDataset = ConfigurationPeer::doSelectRS( $oCriteria );

            $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );

            $oDataset->next();

            while ($aRow = $oDataset->getRow()) {

                if ($oConfig->exists($aRow['CFG_UID'], $aRow['OBJ_UID'], $aRow['PRO_UID'], $aRow['USR_UID'], $aRow['APP_UID'])) {

                    $oConfig->remove( $aRow['CFG_UID'], $aRow['OBJ_UID'], $aRow['PRO_UID'], $aRow['USR_UID'], $aRow['APP_UID'] );

                }

                $oDataset->next();

            }



            return true;

        } catch (Exception $oError) {

            throw ($oError);

        }

    }
コード例 #3
0
            $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;
    }
} catch (Exception $oException) {
    die($oException->getMessage());
}
コード例 #4
0
 public function getExtAvailableStepTriggersCriteria($sProcessUID = '', $sStepUID = '', $sTaskUID = '', $sType = '')
 {
     try {
         $_SESSION['TASK'] = $sTaskUID;
         $oCriteria = new Criteria('workflow');
         $oCriteria->addSelectColumn('TRI_UID');
         $oCriteria->add(StepTriggerPeer::TAS_UID, $sTaskUID);
         $oCriteria->add(StepTriggerPeer::STEP_UID, $sStepUID);
         $oCriteria->add(StepTriggerPeer::ST_TYPE, $sType);
         $oDataset = StepTriggerPeer::doSelectRS($oCriteria);
         $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
         $oDataset->next();
         $sUIDs = "'0'";
         $aUIDs = array();
         while ($aRow = $oDataset->getRow()) {
             $sUIDs .= ",'" . $aRow['TRI_UID'] . "'";
             $aUIDs[] = $aRow['TRI_UID'];
             $oDataset->next();
         }
         $sDelimiter = DBAdapter::getStringDelimiter();
         $oCriteria = new Criteria('workflow');
         //$oCriteria->addSelectColumn ( ContentPeer::CON_ID );
         $oCriteria->addSelectColumn('TRI_UID');
         $oCriteria->addSelectColumn('C.CON_VALUE');
         $oCriteria->addAsColumn('TRI_TITLE', 'C.CON_VALUE');
         $oCriteria->addAlias('C', 'CONTENT');
         $aConditions = array();
         $aConditions[] = array('TRI_UID', 'C.CON_ID');
         $aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'TRI_TITLE' . $sDelimiter);
         $aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
         $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
         $oCriteria->add(TriggersPeer::TRI_UID, $aUIDs, Criteria::NOT_IN);
         $oCriteria->add(TriggersPeer::PRO_UID, $sProcessUID);
         $oDataset = TriggersPeer::doSelectRS($oCriteria);
         $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
         $oDataset->next();
         while ($aRow = $oDataset->getRow()) {
             $aBB[] = array('CON_VALUE' => $aRow['CON_VALUE'], 'STEP_UID' => $sStepUID, 'ST_TYPE' => $sType, 'TRI_UID' => $aRow['TRI_UID'], 'TRI_TITLE' => $aRow['TRI_TITLE']);
             $oDataset->next();
         }
         return $aBB;
     } catch (Exception $e) {
         throw $e;
     }
 }
コード例 #5
0
            $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");
            $processMap = new ProcessMap();
            $criteria1 = $processMap->getStepTriggersCriteria($aData["sStep"], $_SESSION["TASK"], $aData["sType"]);
            $cantity = StepTriggerPeer::doCount($criteria1);
            if ($aData["sStep"][0] != "-") {
                if ($aData["sType"] == "BEFORE") {
                    $criteria2 = $processMap->getStepTriggersCriteria($aData["sStep"], $_SESSION["TASK"], "AFTER");
                } else {
                    $criteria2 = $processMap->getStepTriggersCriteria($aData["sStep"], $_SESSION["TASK"], "BEFORE");
                }
                $total = $cantity + StepTriggerPeer::doCount($criteria2);
            } else {
                $criteria = $processMap->getStepTriggersCriteria(-1, $_SESSION["TASK"], "BEFORE");
                $cantity1 = StepTriggerPeer::doCount($criteria);
                $criteria = $processMap->getStepTriggersCriteria(-2, $_SESSION["TASK"], "BEFORE");
                $cantity2 = StepTriggerPeer::doCount($criteria);
                $criteria = $processMap->getStepTriggersCriteria(-2, $_SESSION["TASK"], "AFTER");
                $cantity3 = StepTriggerPeer::doCount($criteria);
                $total = $cantity1 + $cantity2 + $cantity3;
            }
            echo $total . "|" . $cantity;
            break;
    }
} catch (Exception $oException) {
    die($oException->getMessage());
}
コード例 #6
0
 /**
  * Retrieve object using using composite pkey values.
  * @param string $step_uid
  * @param string $tas_uid
  * @param string $tri_uid
  * @param string $st_type
  * @param      Connection $con
  * @return     StepTrigger
  */
 public static function retrieveByPK($step_uid, $tas_uid, $tri_uid, $st_type, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $criteria = new Criteria();
     $criteria->add(StepTriggerPeer::STEP_UID, $step_uid);
     $criteria->add(StepTriggerPeer::TAS_UID, $tas_uid);
     $criteria->add(StepTriggerPeer::TRI_UID, $tri_uid);
     $criteria->add(StepTriggerPeer::ST_TYPE, $st_type);
     $v = StepTriggerPeer::doSelect($criteria, $con);
     return !empty($v) ? $v[0] : null;
 }
コード例 #7
0
ファイル: class.tasks.php プロジェクト: nshong/processmaker
 /**
  * Delete a task
  * @param string $sTaskUID
  * @return void
  */
 function deleteTask($sTaskUID = '')
 {
     try {
         //Instance classes
         $oTask = new Task();
         $oTasks = new Tasks();
         $oTaskUser = new TaskUser();
         $oStep = new Step();
         $oStepTrigger = new StepTrigger();
         //Get task information
         $aFields = $oTask->load($sTaskUID);
         //Delete routes
         $oTasks->deleteAllRoutesOfTask($aFields['PRO_UID'], $sTaskUID, true);
         //Delete gateways
         $oTasks->deleteAllGatewayOfTask($aFields['PRO_UID'], $sTaskUID, true);
         //Delete the users assigned to task
         $oCriteria = new Criteria('workflow');
         $oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID);
         $oDataset1 = TaskUserPeer::doSelectRS($oCriteria);
         $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC);
         $oDataset1->next();
         while ($aRow1 = $oDataset1->getRow()) {
             $oTaskUser->remove($aRow1['TAS_UID'], $aRow1['USR_UID'], $aRow1['TU_TYPE'], $aRow1['TU_RELATION']);
             $oDataset1->next();
         }
         //Delete the steps of task
         $oCriteria = new Criteria('workflow');
         $oCriteria->add(StepPeer::TAS_UID, $sTaskUID);
         $oDataset1 = StepPeer::doSelectRS($oCriteria);
         $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC);
         $oDataset1->next();
         while ($aRow1 = $oDataset1->getRow()) {
             //Delete the triggers assigned to step
             /*$oCriteria = new Criteria('workflow');
               $oCriteria->add(StepTriggerPeer::STEP_UID, $aRow1['STEP_UID']);
               $oDataset2 = StepTriggerPeer::doSelectRS($oCriteria);
               $oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC);
               $oDataset2->next();
               while ($aRow2 = $oDataset2->getRow()) {
                 $oStepTrigger->remove($aRow2['STEP_UID'], $aRow2['TAS_UID'], $aRow2['TRI_UID'], $aRow2['ST_TYPE']);
                 $oDataset2->next();
               }*/
             $oStep->remove($aRow1['STEP_UID']);
             $oDataset1->next();
         }
         //Delete step triggers
         $oCriteria = new Criteria('workflow');
         $oCriteria->add(StepTriggerPeer::TAS_UID, $sTaskUID);
         StepTriggerPeer::doDelete($oCriteria);
         //Delete permissions
         $oCriteria = new Criteria('workflow');
         $oCriteria->add(ObjectPermissionPeer::TAS_UID, $sTaskUID);
         ObjectPermissionPeer::doDelete($oCriteria);
         $oCriteria = new Criteria('workflow');
         $oCriteria->add(ObjectPermissionPeer::OP_TASK_SOURCE, $sTaskUID);
         ObjectPermissionPeer::doDelete($oCriteria);
         //Delete task
         $oTask->remove($sTaskUID);
         //Delete cases schedulers added by krlos
         $oCriteria = new Criteria('workflow');
         $oCriteria->add(CaseSchedulerPeer::TAS_UID, $sTaskUID);
         CaseSchedulerPeer::doDelete($oCriteria);
     } catch (Exception $oError) {
         throw $oError;
     }
 }
コード例 #8
0
ファイル: Step.php プロジェクト: rrsc/processmaker
    /**
     * Delete Steps and triggers of a Task
     *
     * @param string $stepUid Unique id of Step
     * @param string $taskUid Unique id of Step
     *
     * return void
     */
    public function deleteAll($taskUid)
    {
        try {
            $step = new \Step();
            $stepTrigger = new \ProcessMaker\BusinessModel\Step\Trigger();

            $criteriaTrigger = new \Criteria("workflow");
            $criteriaTrigger->addSelectColumn(\StepTriggerPeer::STEP_UID);
            $criteriaTrigger->addSelectColumn(\StepTriggerPeer::ST_TYPE);
            $criteriaTrigger->addSelectColumn(\StepTriggerPeer::TRI_UID);
            $criteriaTrigger->add(\StepTriggerPeer::TAS_UID, $taskUid, \Criteria::EQUAL);
            $rsCriteriaTrigger = \StepTriggerPeer::doSelectRS($criteriaTrigger);
            $rsCriteriaTrigger->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
            $rsCriteriaTrigger->next();

            while ($aRowTrigger = $rsCriteriaTrigger->getRow()) {

                $stepTrigger->delete($aRowTrigger['STEP_UID'], $aRowTrigger['ST_TYPE'], $taskUid, $aRowTrigger['TRI_UID']);
                $rsCriteriaTrigger->next();
            }

            $criteria = new \Criteria("workflow");
            $criteria->addSelectColumn(\StepPeer::STEP_UID);
            $criteria->add(\StepPeer::TAS_UID, $taskUid, \Criteria::EQUAL);
            $rsCriteria = \StepPeer::doSelectRS($criteria);
            $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
            $rsCriteria->next();

            while ($aRow = $rsCriteria->getRow()) {
                $step->remove($aRow['STEP_UID']);
                $rsCriteria->next();
            }

        } catch (\Exception $e) {
            throw $e;
        }
    }
コード例 #9
0
ファイル: Triggers.php プロジェクト: bqevin/processmaker
 public function verifyDependecies($TRI_UID)
 {
     require_once "classes/model/Event.php";
     require_once "classes/model/StepTrigger.php";
     $oResult = new stdClass();
     $oResult->dependencies = array();
     $oCriteria = new Criteria();
     $oCriteria->addSelectColumn(EventPeer::EVN_UID);
     $oCriteria->addSelectColumn(EventPeer::TRI_UID);
     $oCriteria->add(EventPeer::EVN_ACTION, '', Criteria::NOT_EQUAL);
     $oCriteria->add(EventPeer::TRI_UID, $TRI_UID);
     $oDataset = EventPeer::doSelectRS($oCriteria);
     $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $aRows = array();
     while ($oDataset->next()) {
         array_push($aRows, $oDataset->getRow());
     }
     $oResult->dependencies['Events'] = array();
     if (count($aRows) == 0) {
         $oResult->code = 0;
     } else {
         $oResult->code = 1;
         foreach ($aRows as $row) {
             $oTrigger = TriggersPeer::retrieveByPK($row['TRI_UID']);
             array_push($oResult->dependencies['Events'], array('UID' => $oTrigger->getTriUid(), 'DESCRIPTION' => $oTrigger->getTriTitle()));
         }
     }
     //for tasks dependencies
     $oCriteria = new Criteria();
     $oCriteria->addSelectColumn(StepTriggerPeer::TAS_UID);
     $oCriteria->addSelectColumn(StepTriggerPeer::TRI_UID);
     $oCriteria->add(StepTriggerPeer::TRI_UID, $TRI_UID);
     $oDataset = StepTriggerPeer::doSelectRS($oCriteria);
     $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $aRows = array();
     while ($oDataset->next()) {
         array_push($aRows, $oDataset->getRow());
     }
     $oResult->dependencies['Tasks'] = array();
     if ($oResult->code == 0 && count($aRows) == 0) {
         $oResult->code = 0;
     } elseif (count($aRows) > 0) {
         $oResult->code = 1;
         foreach ($aRows as $row) {
             $oTask = TaskPeer::retrieveByPK($row['TAS_UID']);
             array_push($oResult->dependencies['Tasks'], array('UID' => $oTask->getTasUid(), 'DESCRIPTION' => $oTask->getTasTitle()));
         }
     }
     //Tasks, assignment rules dependencies
     $criteria = new Criteria();
     $criteria->addSelectColumn(TaskPeer::TAS_UID);
     $criteria->add(TaskPeer::TAS_SELFSERVICE_TIMEOUT, 1);
     $criteria->add(TaskPeer::TAS_SELFSERVICE_TRIGGER_UID, $TRI_UID);
     $rsCriteria = TaskPeer::doSelectRS($criteria);
     $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $arrayRow = array();
     while ($rsCriteria->next()) {
         array_push($arrayRow, $rsCriteria->getRow());
     }
     $oResult->dependencies["Assignment rules"] = array();
     if ($oResult->code == 0 && count($arrayRow) == 0) {
         $oResult->code = 0;
     } else {
         if (count($arrayRow) > 0) {
             foreach ($arrayRow as $row) {
                 $task = TaskPeer::retrieveByPK($row["TAS_UID"]);
                 array_push($oResult->dependencies["Assignment rules"], array("UID" => $task->getTasUid(), "DESCRIPTION" => $task->getTasTitle()));
             }
             $oResult->code = 1;
         }
     }
     return $oResult;
 }
コード例 #10
0
 /**
  * Populates the object using an array.
  *
  * This is particularly useful when populating an object from one of the
  * request arrays (e.g. $_POST).  This method goes through the column
  * names, checking to see whether a matching key exists in populated
  * array. If so the setByName() method is called for that column.
  *
  * You can specify the key type of the array by additionally passing one
  * of the class type constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME,
  * TYPE_NUM. The default key type is the column's phpname (e.g. 'authorId')
  *
  * @param      array  $arr     An array to populate the object from.
  * @param      string $keyType The type of keys the array uses.
  * @return     void
  */
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = StepTriggerPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setStepUid($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setTasUid($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setTriUid($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setStType($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setStCondition($arr[$keys[4]]);
     }
     if (array_key_exists($keys[5], $arr)) {
         $this->setStPosition($arr[$keys[5]]);
     }
 }
コード例 #11
0
ファイル: StepTrigger.php プロジェクト: ralpheav/processmaker
 public function down($sStepUID = '', $sTaskUID = '', $sTriggerUID = '', $sType = '', $iPosition = 0)
 {
     try {
         $oCriteria = new Criteria('workflow');
         $oCriteria->addSelectColumn('COUNT(*) AS MAX_POSITION');
         $oCriteria->add(StepTriggerPeer::STEP_UID, $sStepUID);
         $oCriteria->add(StepTriggerPeer::TAS_UID, $sTaskUID);
         $oCriteria->add(StepTriggerPeer::ST_TYPE, $sType);
         $oDataset = StepTriggerPeer::doSelectRS($oCriteria);
         $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
         $oDataset->next();
         $aRow = $oDataset->getRow();
         if ($iPosition < (int) $aRow['MAX_POSITION']) {
             $oCriteria1 = new Criteria('workflow');
             $oCriteria1->add(StepTriggerPeer::ST_POSITION, $iPosition);
             $oCriteria2 = new Criteria('workflow');
             $oCriteria2->add(StepTriggerPeer::STEP_UID, $sStepUID);
             $oCriteria2->add(StepTriggerPeer::TAS_UID, $sTaskUID);
             $oCriteria2->add(StepTriggerPeer::ST_TYPE, $sType);
             $oCriteria2->add(StepTriggerPeer::ST_POSITION, $iPosition + 1);
             BasePeer::doUpdate($oCriteria2, $oCriteria1, Propel::getConnection('workflow'));
             $oCriteria1 = new Criteria('workflow');
             $oCriteria1->add(StepTriggerPeer::ST_POSITION, $iPosition + 1);
             $oCriteria2 = new Criteria('workflow');
             $oCriteria2->add(StepTriggerPeer::STEP_UID, $sStepUID);
             $oCriteria2->add(StepTriggerPeer::TAS_UID, $sTaskUID);
             $oCriteria2->add(StepTriggerPeer::TRI_UID, $sTriggerUID);
             $oCriteria2->add(StepTriggerPeer::ST_TYPE, $sType);
             BasePeer::doUpdate($oCriteria2, $oCriteria1, Propel::getConnection('workflow'));
         }
     } catch (Exception $oException) {
         throw $oException;
     }
 }
コード例 #12
0
ファイル: triggers_Tree.php プロジェクト: nshong/processmaker
     $oAux1 =& $oNode->addChild('before_node', '<span onclick="tree.expand(this.parentNode);showTriggers(\'' . $aRow['STEP_UID'] . '\', \'BEFORE\');" style="cursor: pointer;">' . G::LoadTranslation('ID_BEFORE') . ' - ' . G::LoadTranslation('ID_TRIGGERS') . ' (<span id="TRIG_' . $aRow['STEP_UID'] . '_BEFORE">' . $iCantidad1 . '</span>) </span>', array('nodeType' => 'parent'));
     $oAux1->plus = "<span  style='cursor:pointer;display:block;width:15;height:10px;' onclick='tree.expand(this.parentNode);showTriggers(\"" . $aRow['STEP_UID'] . "\", \"BEFORE\");'></span>";
     $oAux1->contracted = true;
     $oAux2 =& $oAux1->addChild($aRow['STEP_UID'] . '_before_node', '<span id="triggersSpan_' . $aRow['STEP_UID'] . '_BEFORE"></span>', array('nodeType' => 'parentBlue'));
     $oAux1 =& $oNode->addChild('after_node', '<span onclick="tree.expand(this.parentNode);showTriggers(\'' . $aRow['STEP_UID'] . '\', \'AFTER\');" style="cursor: pointer;">' . G::LoadTranslation('ID_AFTER') . ' - ' . G::LoadTranslation('ID_TRIGGERS') . ' (<span id="TRIG_' . $aRow['STEP_UID'] . '_AFTER">' . $iCantidad2 . '</span>) </span>', array('nodeType' => 'parent'));
     $oAux1->plus = "<span  style='cursor:pointer;display:block;width:15;height:10px;' onclick='tree.expand(this.parentNode);showTriggers(\"" . $aRow['STEP_UID'] . "\", \"AFTER\");'></span>";
     $oAux1->contracted = true;
     $oAux2 =& $oAux1->addChild($aRow['STEP_UID'] . '_after_node', '<span id="triggersSpan_' . $aRow['STEP_UID'] . '_AFTER"></span>', array('nodeType' => 'parentBlue'));
     $oDataset->next();
 }
 $oCriteria = $oProcessMap->getStepTriggersCriteria(-1, $_SESSION['TASK'], 'BEFORE');
 $iCantidad1 = StepTriggerPeer::doCount($oCriteria);
 $oCriteria = $oProcessMap->getStepTriggersCriteria(-2, $_SESSION['TASK'], 'BEFORE');
 $iCantidad2 = StepTriggerPeer::doCount($oCriteria);
 $oCriteria = $oProcessMap->getStepTriggersCriteria(-2, $_SESSION['TASK'], 'AFTER');
 $iCantidad3 = StepTriggerPeer::doCount($oCriteria);
 $oNode =& $oTree->addChild('-1', '&nbsp;&nbsp;<span onclick="tree.expand(this.parentNode);" style="cursor: pointer;">[<b> ' . G::LoadTranslation('ID_ASSIGN_TASK') . ' </b>] ' . ' - ' . G::LoadTranslation('ID_TRIGGERS') . ' (<span id="TRIG_' . $aRow['STEP_UID'] . '">' . ($iCantidad1 + $iCantidad2 + $iCantidad3) . '</span>)' . '</span>', array('nodeType' => 'parent'));
 $oNode->contracted = true;
 $oAux1 =& $oNode->addChild('before_node', '<span onclick="tree.expand(this.parentNode);showTriggers(\'-1\', \'BEFORE\');" style="cursor: pointer;">' . G::LoadTranslation('ID_BEFORE_ASSIGNMENT') . ' - ' . G::LoadTranslation('ID_TRIGGERS') . ' (<span id="TRIG_-1_BEFORE">' . $iCantidad1 . '</span>) </span>', array('nodeType' => 'parent'));
 $oAux1->plus = "<span  style='cursor:pointer;display:block;width:15;height:10px;' onclick='tree.expand(this.parentNode);showTriggers(\"-1\", \"BEFORE\");'></span>";
 $oAux1->contracted = true;
 $oAux2 =& $oAux1->addChild('-1_before_node', '<span id="triggersSpan_-1_BEFORE"></span>', array('nodeType' => 'parentBlue'));
 $oAux1 =& $oNode->addChild('before_node', '<span onclick="tree.expand(this.parentNode);showTriggers(\'-2\', \'BEFORE\');" style="cursor: pointer;">' . G::LoadTranslation('ID_BEFORE_DERIVATION') . ' - ' . G::LoadTranslation('ID_TRIGGERS') . ' (<span id="TRIG_-2_BEFORE">' . $iCantidad2 . '</span>) </span>', array('nodeType' => 'parent'));
 $oAux1->plus = "<span  style='cursor:pointer;display:block;width:15;height:10px;' onclick='tree.expand(this.parentNode);showTriggers(\"-2\", \"BEFORE\");'></span>";
 $oAux1->contracted = true;
 $oAux2 =& $oAux1->addChild('-2_before_node', '<span id="triggersSpan_-2_BEFORE"></span>', array('nodeType' => 'parentBlue'));
 $oAux1 =& $oNode->addChild('after_node', '<span onclick="tree.expand(this.parentNode);showTriggers(\'-2\', \'AFTER\');" style="cursor: pointer;">' . G::LoadTranslation('ID_AFTER_DERIVATION') . ' - ' . G::LoadTranslation('ID_TRIGGERS') . ' (<span id="TRIG_-2_AFTER">' . $iCantidad3 . '</span>) </span>', array('nodeType' => 'parent'));
 $oAux1->plus = "<span  style='cursor:pointer;display:block;width:15;height:10px;' onclick='tree.expand(this.parentNode);showTriggers(\"-2\", \"AFTER\");'></span>";
 $oAux1->contracted = true;
 $oAux2 =& $oAux1->addChild('-2_after_node', '<span id="triggersSpan_-2_AFTER"></span>', array('nodeType' => 'parentBlue'));
 echo $oTree->render();
コード例 #13
0
ファイル: Step.php プロジェクト: nshong/processmaker
 function remove($sStepUID)
 {
     require_once 'classes/model/StepTrigger.php';
     $oStepTriggers = new StepTrigger();
     $oCriteria = new Criteria('workflow');
     $oCriteria->add(StepTriggerPeer::STEP_UID, $sStepUID);
     $oDataset = StepTriggerPeer::doSelectRS($oCriteria);
     $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     while ($oDataset->next()) {
         $aRow = $oDataset->getRow();
         $oStepTriggers->remove($aRow['STEP_UID'], $aRow['TAS_UID'], $aRow['TRI_UID'], $aRow['ST_TYPE']);
     }
     /*$con = Propel::getConnection(StepPeer::DATABASE_NAME);
       try
       {
         $con->begin();
         //$this->fromArray($fields,BasePeer::TYPE_FIELDNAME);
         $this->setStepUid($sStepUID);
         $result=$this->delete();
         $con->commit();
         return $result;
       }
       catch(Exception $e)
       {
         $con->rollback();
         throw($e);
       }*/
     $oConnection = Propel::getConnection(StepPeer::DATABASE_NAME);
     try {
         $oStep = StepPeer::retrieveByPK($sStepUID);
         if (!is_null($oStep)) {
             $oConnection->begin();
             $iResult = $oStep->delete();
             $oConnection->commit();
             return $iResult;
         } else {
             throw new Exception('This row doesn\'t exist!');
         }
     } catch (Exception $oError) {
         $oConnection->rollback();
         throw $oError;
     }
 }
コード例 #14
0
ファイル: get-tree.php プロジェクト: nshong/processmaker
    $stepsChildren[0] = array('text' => 'Before - Triggers (' . $beforeTriggersCount . ')', 'children' => $beforeTriggerChildren);
    $stepsChildren[1] = array('text' => 'After - Triggers (' . $afterTriggersCount . ')', 'children' => $afterTriggerChildren);
    //Tree level 1 nodes (Main steps)
    $steps[] = array('text' => $rows[$i]['STEP_TITLE'] . ' - Triggers (' . $iTotal . ')', 'children' => $stepsChildren);
}
//Creating tree for Assign Task Step
$beforeAssignmentChildren[] = array('text' => 'Assign / Show Triggers', 'id' => '-1|BEFORE', 'leaf' => true);
$beforeDerivationChildren[] = array('text' => 'Assign / Show Triggers', 'id' => '-2|BEFORE', 'leaf' => true);
$afterDerivationChildren[] = array('text' => 'Assign / Show Triggers', 'id' => '-2|AFTER', 'leaf' => true);
//Getting counts for Before Assignment,Before Derivation and After Derivation triggers for a step
$beforeAssignmentTriggers = $oProcessMap->getStepTriggersCriteria('-1', $_GET['tid'], 'BEFORE');
$beforeAssignmentTriggersCount = StepTriggerPeer::doCount($beforeAssignmentTriggers);
$beforeDerivationTriggers = $oProcessMap->getStepTriggersCriteria('-2', $_GET['tid'], 'BEFORE');
$beforeDerivationTriggersCount = StepTriggerPeer::doCount($beforeDerivationTriggers);
$afterDerivationTriggers = $oProcessMap->getStepTriggersCriteria('-2', $_GET['tid'], 'AFTER');
$afterDerivationTriggersCount = StepTriggerPeer::doCount($afterDerivationTriggers);
$iTotal = $beforeAssignmentTriggersCount + $beforeDerivationTriggersCount + $afterDerivationTriggersCount;
$assignTaskChildren[] = array('text' => 'Before Assignment - Triggers (' . $beforeAssignmentTriggersCount . ')', 'children' => $beforeAssignmentChildren);
$assignTaskChildren[] = array('text' => 'Before Derivation - Triggers (' . $beforeDerivationTriggersCount . ')', 'children' => $beforeDerivationChildren);
$assignTaskChildren[] = array('text' => 'After Derivation - Triggers (' . $afterDerivationTriggersCount . ')', 'children' => $afterDerivationChildren);
//Adding last value in an array for "Assign Task"
$steps[] = array('text' => '[ Assign Task ] - Triggers (' . $iTotal . ')', 'children' => $assignTaskChildren);
/* $nodes = "[{
    text: 'Step 1 - Triggers (0)',
    cls:  'blank',
    iconCls:  'blank',
    children: [{
        text: 'Before - Triggers (0)',
        cls:  'blank',
        iconCls:  'blank',
        children: [{
コード例 #15
0
ファイル: Trigger.php プロジェクト: emildev35/processmaker
 /**
  * Get data of a Trigger
  *
  * @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 array Return an array with data of a Trigger
  */
 public function getTrigger($stepUid, $type, $taskUid, $triggerUid)
 {
     try {
         $typeIni = $type;
         $flagStepAssignTask = 0;
         if ($stepUid == "") {
             $flagStepAssignTask = 1;
             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 data
         $trigger = new \ProcessMaker\BusinessModel\Trigger();
         $criteria = $trigger->getTriggerCriteria();
         $criteria->addSelectColumn(\StepTriggerPeer::ST_TYPE);
         $criteria->addSelectColumn(\StepTriggerPeer::ST_CONDITION);
         $criteria->addSelectColumn(\StepTriggerPeer::ST_POSITION);
         $criteria->addJoin(\StepTriggerPeer::TRI_UID, \TriggersPeer::TRI_UID, \Criteria::LEFT_JOIN);
         $criteria->add(\TriggersPeer::TRI_UID, $triggerUid, \Criteria::EQUAL);
         $criteria->add(\StepTriggerPeer::STEP_UID, $stepUid, \Criteria::EQUAL);
         $criteria->add(\StepTriggerPeer::TAS_UID, $taskUid, \Criteria::EQUAL);
         $criteria->add(\StepTriggerPeer::ST_TYPE, $type, \Criteria::EQUAL);
         $rsCriteria = \StepTriggerPeer::doSelectRS($criteria);
         $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
         $rsCriteria->next();
         $row = $rsCriteria->getRow();
         if ($flagStepAssignTask == 1) {
             $row["ST_TYPE"] = $typeIni;
         }
         return $this->getTriggerDataFromRecord($row);
     } catch (\Exception $e) {
         throw $e;
     }
 }