"PRO_UID"         => $proUid,
                "PRO_UPDATE_DATE" => date("Y-m-d H:i:s")
            ));
        }

        $resultProcess = $infoProcess->getProcessRow($proUid);
    }

    //G::LoadClass( 'processMap' );
    $oProcessMap = new processMap(new DBConnection());

    switch ($_REQUEST['action']) {
        case 'load':
            $_SESSION['PROCESS'] = $oData->uid;
            if ($oData->ct) {
                $sOutput = $oProcessMap->load($oData->uid, true, $_SESSION['APPLICATION'], - 1, $_SESSION['TASK'], $oData->ct);
            } else {
                if ($oData->mode) {
                    $sOutput = $oProcessMap->load($oData->uid);
                } else {
                    if ($_SESSION['TASK'] != - 1) {
                        $taskUid = $_SESSION['TASK'];
                    } else {
                        $c = new Criteria('workflow');
                        $c->clearSelectColumns();
                        $c->addSelectColumn(AppDelegationPeer::TAS_UID);
                        $c->add(AppDelegationPeer::APP_UID, $_SESSION['APPLICATION']);
                        $c->add(AppDelegationPeer::DEL_INDEX, $_SESSION['INDEX']);
                        $oDataset = AppDelegationPeer::doSelectRS($c);
                        $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
                        $oDataset->next();
Beispiel #2
0
    if (!isset($_POST['form'])) {
        $aData = urldecode_values($_POST);
    } else {
        $aData = urldecode_values($_POST['form']);
    }
}
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection());
require_once 'classes/model/Task.php';
require_once 'classes/model/Event.php';
$oEvent = new Event();
$oTask = new Task();
if (isset($_REQUEST['action'])) {
    switch ($_REQUEST['action']) {
        case 'load':
            $sOutput = $oProcessMap->load($oData->uid);
            echo $sOutput;
            break;
        case 'addTask':
            $sOutput = $oProcessMap->addTask($oData->uid, $oData->position->x, $oData->position->y, $oData->cordinate->x, $oData->cordinate->y);
            echo $sOutput;
            break;
        case 'saveTaskPosition':
            $sOutput = $oProcessMap->saveTaskPosition($oData->uid, $oData->position->x, $oData->position->y);
            echo $sOutput;
            break;
        case 'saveEventPosition':
            $sOutput = $oProcessMap->saveEventPosition($oData->uid, $oData->position->x, $oData->position->y);
            echo $sOutput;
            break;
        case 'saveGatewayPosition':
Beispiel #3
0
    /**
     * Load data of the Process
     *
     * @param string $processUid
     *
     * return array  Return data array with data of the Process (attributes of the process, tasks and routes)
     *
     * @access public
     */
    public function loadProcess($processUid)
    {
        $arrayDefineProcessData = array();

        //Process
        $process = new \Process();

        $arrayProcessData = $process->load($processUid);

        $arrayDefineProcessData["process"] = array(
            "PRO_UID"   => $processUid,
            "PRO_TITLE" => $arrayProcessData["PRO_TITLE"],
            "PRO_DESCRIPTION" => $arrayProcessData["PRO_DESCRIPTION"],
            "PRO_CATEGORY"    => $arrayProcessData["PRO_CATEGORY"]
        );

        //Load data
        $processMap = new \processMap();

        $arrayData = (array)(\Bootstrap::json_decode($processMap->load($processUid)));

        //Tasks & Routes
        $arrayDefineProcessData["process"]["tasks"]  = array();
        $arrayDefineProcessData["process"]["routes"] = array();

        if (isset($arrayData["task"]) && count($arrayData["task"]) > 0) {
            foreach ($arrayData["task"] as $indext => $valuet) {
                $t = (array)($valuet);

                $taskUid = $t["uid"];

                //Load task data
                $task = new \Task();

                $arrayTaskData = $task->load($taskUid);

                //Set task
                $arrayDefineProcessData["process"]["tasks"][] = array(
                    "TAS_UID"   => $taskUid,
                    "TAS_TITLE" => $arrayTaskData["TAS_TITLE"],
                    "TAS_DESCRIPTION" => $arrayTaskData["TAS_DESCRIPTION"],
                    "TAS_POSX"  => $arrayTaskData["TAS_POSX"],
                    "TAS_POSY"  => $arrayTaskData["TAS_POSY"],
                    "TAS_START" => $arrayTaskData["TAS_START"]
                );

                //Routes
                if (isset($t["derivation"])) {
                    $t["derivation"] = (array)($t["derivation"]);

                    $type = "";

                    switch ($t["derivation"]["type"]) {
                        case 0:
                            $type = "SEQUENTIAL";
                            break;
                        case 1:
                            $type = "SELECT";
                            break;
                        case 2:
                            $type = "EVALUATE";
                            break;
                        case 3:
                            $type = "PARALLEL";
                            break;
                        case 4:
                            $type = "PARALLEL-BY-EVALUATION";
                            break;
                        case 5:
                            $type = "SEC-JOIN";
                            break;
                        case 8:
                            $type = "DISCRIMINATOR";
                            break;
                    }

                    foreach ($t["derivation"]["to"] as $indexr => $valuer) {
                        $r = (array)($valuer);

                        //Criteria
                        $criteria = new \Criteria("workflow");

                        $criteria->addSelectColumn(\RoutePeer::ROU_UID);
                        $criteria->add(\RoutePeer::PRO_UID, $processUid, \Criteria::EQUAL);
                        $criteria->add(\RoutePeer::TAS_UID, $taskUid, \Criteria::EQUAL);
                        $criteria->add(\RoutePeer::ROU_NEXT_TASK, $r["task"], \Criteria::EQUAL);

                        $rsCriteria = \RoutePeer::doSelectRS($criteria);
                        $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);

                        $rsCriteria->next();

                        $row = $rsCriteria->getRow();

                        $routeUid = $row["ROU_UID"];

                        //Set route
                        $arrayDefineProcessData["process"]["routes"][] = array(
                            "ROU_UID" => $routeUid,
                            "TAS_UID" => $taskUid,
                            "ROU_NEXT_TASK" => $r["task"],
                            "ROU_TYPE" => $type
                        );
                    }
                }
            }
        }

        return $arrayDefineProcessData;
    }
 function loadTest($aTestData, $aFields)
 {
     $oProcessMap = new processMap();
     try {
         return $oProcessMap->load($aFields['PRO_UID']);
     } catch (Exception $oError) {
         return $oError;
     }
 }