From b27a8b16696a4a2bd917faff4753d37a9984c5a3 Mon Sep 17 00:00:00 2001 From: girish Date: Mon, 10 Jan 2011 15:01:56 +0000 Subject: [PATCH] Saving Gateway into GATEWAY table from new processmap --- workflow/engine/classes/class.xpdl.php | 20 +++++++++++++------ .../engine/methods/bpmn/patterns_Ajax.php | 13 ++++++++++++ workflow/engine/templates/bpmn/MyWorkflow.js | 3 ++- workflow/engine/templates/bpmn/bpmnShapes.js | 1 + 4 files changed, 30 insertions(+), 7 deletions(-) diff --git a/workflow/engine/classes/class.xpdl.php b/workflow/engine/classes/class.xpdl.php index 75f6b1518..666ca821d 100644 --- a/workflow/engine/classes/class.xpdl.php +++ b/workflow/engine/classes/class.xpdl.php @@ -3417,6 +3417,14 @@ class Xpdl extends processes } $typeRoute = $val['ROU_TYPE']; $route = ''; + + //Get GAT_UID from ROUTE table based on ROU_UID + $oRoute = new Route ( ); + $aRouteDetails = $oRoute->load($idRoute); + $sGateUID = $aRouteDetails['GAT_UID']; + if($sGateUID == '') + $sGateUID = $idRoute; + if ($typeRoute != "SEQUENTIAL" ){ switch($typeRoute){ case 'PARALLEL': @@ -3433,7 +3441,7 @@ class Xpdl extends processes if($idTask != $taskParallel){ $taskParallel = $idTask; $routeParallel = $idRoute; - $arrayGateways[$countG]['0'] = $routeParallel; + $arrayGateways[$countG]['0'] = $sGateUID; $arrayGateways[$countG]['1'] = 'bpmnGatewayParallel'; $arrayGateways[$countG]['2'] = $positionX; $arrayGateways[$countG]['3'] = $positionY; @@ -3474,7 +3482,7 @@ class Xpdl extends processes if($nextTask != $taskSecJoin){ $taskSecJoin = $nextTask; $routeSecJoin = $idRoute; - $arrayGateways[$countG]['0'] = $routeSecJoin; + $arrayGateways[$countG]['0'] = $sGateUID; $arrayGateways[$countG]['1'] = 'bpmnGatewayParallel'; $arrayGateways[$countG]['2'] = $positionX; $arrayGateways[$countG]['3'] = $positionY; @@ -3516,7 +3524,7 @@ class Xpdl extends processes $taskEvaluate = $idTask; $routeEvaluate = $idRoute; if($nextTask != "-1"){ - $arrayGateways[$countG]['0'] = $routeEvaluate; + $arrayGateways[$countG]['0'] = $sGateUID; $arrayGateways[$countG]['1'] = 'bpmnGatewayExclusiveData'; $arrayGateways[$countG]['2'] = $positionX; $arrayGateways[$countG]['3'] = $positionY; @@ -3563,7 +3571,7 @@ class Xpdl extends processes if($idTask != $taskParallelEv){ $taskParallelEv = $idTask; $routeParallelEv = $idRoute; - $arrayGateways[$countG]['0'] = $routeParallelEv; + $arrayGateways[$countG]['0'] = $sGateUID; $arrayGateways[$countG]['1'] = 'bpmnGatewayInclusive'; $arrayGateways[$countG]['2'] = $positionX; $arrayGateways[$countG]['3'] = $positionY; @@ -3604,7 +3612,7 @@ class Xpdl extends processes if($idTask != $taskSelect){ $taskSelect = $idTask; $routeSelect = $idRoute; - $arrayGateways[$countG]['0'] = $routeSelect; + $arrayGateways[$countG]['0'] = $sGateUID; $arrayGateways[$countG]['1'] = 'bpmnGatewayExclusiveData'; $arrayGateways[$countG]['2'] = $positionX; $arrayGateways[$countG]['3'] = $positionY; @@ -3651,7 +3659,7 @@ class Xpdl extends processes if($nextTask != $taskDiscriminator){ $taskDiscriminator = $nextTask; $routeDiscriminator = $idRoute; - $arrayGateways[$countG]['0'] = $routeDiscriminator; + $arrayGateways[$countG]['0'] = $sGateUID; $arrayGateways[$countG]['1'] = 'bpmnGatewayComplex'; $arrayGateways[$countG]['2'] = $positionX; $arrayGateways[$countG]['3'] = $positionY; diff --git a/workflow/engine/methods/bpmn/patterns_Ajax.php b/workflow/engine/methods/bpmn/patterns_Ajax.php index a3cf131cb..bbcdb8c53 100755 --- a/workflow/engine/methods/bpmn/patterns_Ajax.php +++ b/workflow/engine/methods/bpmn/patterns_Ajax.php @@ -23,6 +23,7 @@ * */ G::LoadInclude('ajax'); +G::LoadClass('processMap'); $oJSON = new Services_JSON(); if(isset($_POST['mode']) && $_POST['mode'] != '') { @@ -31,6 +32,10 @@ if(isset($_POST['mode']) && $_POST['mode'] != '') $aData['ROU_NEXT_TASK'] = $oJSON->decode($_POST['ROU_NEXT_TASK']); } +//Saving Gateway details into Gateway table +$oProcessMap = new processMap(); +$sGatewayUID = $oProcessMap->saveNewGateway($aData['PROCESS'], $aData['TASK'][0]); + G::LoadClass('tasks'); $oTasks = new Tasks(); @@ -97,6 +102,8 @@ switch ($aData['action']) { $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; + $aFields['GAT_UID'] = $sGatewayUID; + if(isset($aData['PORT_NUMBER_IP'])) $aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP']; if(isset($aData['PORT_NUMBER_OP'])) @@ -118,6 +125,8 @@ switch ($aData['action']) { $aFields['ROU_NEXT_TASK'] = $aRow; $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; + $aFields['GAT_UID'] = $sGatewayUID; + if(isset($aData['PORT_NUMBER_IP'])) $aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP']; if(isset($aData['PORT_NUMBER_OP'])) @@ -140,6 +149,8 @@ switch ($aData['action']) { $aFields['ROU_NEXT_TASK'] = $aRow; $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; + $aFields['GAT_UID'] = $sGatewayUID; + if(isset($aData['PORT_NUMBER_IP'])) $aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP']; if(isset($aData['PORT_NUMBER_OP'])) @@ -158,6 +169,8 @@ switch ($aData['action']) { $aFields['ROU_NEXT_TASK'] = $aData['ROU_NEXT_TASK'][0]; $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; + $aFields['GAT_UID'] = $sGatewayUID; + if(isset($aData['PORT_NUMBER_IP'])) $aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP']; if(isset($aData['PORT_NUMBER_OP'])) diff --git a/workflow/engine/templates/bpmn/MyWorkflow.js b/workflow/engine/templates/bpmn/MyWorkflow.js index cb92a7993..d8b7c2cb4 100755 --- a/workflow/engine/templates/bpmn/MyWorkflow.js +++ b/workflow/engine/templates/bpmn/MyWorkflow.js @@ -1980,7 +1980,7 @@ MyWorkflow.prototype.saveRoute = function(preObj,newObj) } var staskUid = Ext.util.JSON.encode(task_uid); - var sNextTaskUid = Ext.util.JSON.encode(next_task_uid); + var sNextTaskUid = Ext.util.JSON.encode(next_task_uid); if(staskUid != '') { Ext.Ajax.request({ @@ -2005,6 +2005,7 @@ MyWorkflow.prototype.saveRoute = function(preObj,newObj) ROU_EVN_UID:rou_evn_uid, PORT_NUMBER_IP:port_numberIP, PORT_NUMBER_OP:port_numberOP, + GAT_UID : '', mode:'Ext' } }); diff --git a/workflow/engine/templates/bpmn/bpmnShapes.js b/workflow/engine/templates/bpmn/bpmnShapes.js index a7cc0ff07..b7fcc1c53 100755 --- a/workflow/engine/templates/bpmn/bpmnShapes.js +++ b/workflow/engine/templates/bpmn/bpmnShapes.js @@ -411,6 +411,7 @@ OutputPort.prototype.onDrop = function (port) { preObj.sPortType =this.properties.name; this.workflow.saveRoute(preObj,newObj); } + //Routing from gateway to task else if(bpmnType.match(/Gateway/) && port.parentNode.type.match(/Task/)) { var shape = new Array();