diff --git a/workflow/engine/methods/patterns/patterns_Ajax.php b/workflow/engine/methods/patterns/patterns_Ajax.php index a4dd11346..e30d1828d 100755 --- a/workflow/engine/methods/patterns/patterns_Ajax.php +++ b/workflow/engine/methods/patterns/patterns_Ajax.php @@ -34,31 +34,35 @@ $oTasks = new Tasks(); $rou_id = 0; switch ($aData['action']) { case 'savePattern': - //if ($aData['ROU_TYPE'] != $aData['ROU_TYPE_OLD']) - //{ + //if ($aData['ROU_TYPE'] != $aData['ROU_TYPE_OLD']) + //{ $oTasks->deleteAllRoutesOfTask( $aData['PROCESS'], $aData['TASK'] ); - //} + //} require_once 'classes/model/Route.php'; $oRoute = new Route(); switch ($aData['ROU_TYPE']) { case 'SEQUENTIAL': - case 'SEC-JOIN': - /*if ($aData['ROU_UID'] != '') - { - $aFields['ROU_UID'] = $aData['ROU_UID']; - }*/ + case 'SEC-JOIN': + /*if ($aData['ROU_UID'] != '') + { + $aFields['ROU_UID'] = $aData['ROU_UID']; + }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; $aFields['ROU_NEXT_TASK'] = $aData['ROU_NEXT_TASK']; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; - //$aFields['ROU_TO_LAST_USER'] = $aData['ROU_TO_LAST_USER']; + //$aFields['ROU_TO_LAST_USER'] = $aData['ROU_TO_LAST_USER']; $rou_id = $oRoute->create( $aFields ); break; case 'SELECT': + $tasksAffected=''; + $oTaskSavePattern = new Task(); + $oTaskSavePattern->load($aData['TASK']); + $titleTask=$oTaskSavePattern->getTasTitle(); foreach ($aData['GRID_SELECT_TYPE'] as $iKey => $aRow) { - /*if ($aRow['ROU_UID'] != '') - { - $aFields['ROU_UID'] = $aRow['ROU_UID']; + /*if ($aRow['ROU_UID'] != '') + { + $aFields['ROU_UID'] = $aRow['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; @@ -66,16 +70,40 @@ switch ($aData['action']) { $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; - //$aFields['ROU_TO_LAST_USER'] = $aRow['ROU_TO_LAST_USER']; + //$aFields['ROU_TO_LAST_USER'] = $aRow['ROU_TO_LAST_USER']; $rou_id = $oRoute->create( $aFields ); + if ($aRow['ROU_NEXT_TASK']=='-1') { + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End Of Procces Condition -> Empty; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End Of Procces Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + }else{ + $oTaskSaveNextPattern = new Task(); + $oTaskSaveNextPattern->load($aRow['ROU_NEXT_TASK']); + $titleNextTask=$oTaskSaveNextPattern->getTasTitle(); + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> Empty ; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + } unset( $aFields ); } + $oProcessNewPattern = new Process(); + $oProcessNewPattern->load($aData['PROCESS']); + $titleProcess=$oProcessNewPattern->getProTitle(); + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$aData['PROCESS'].' Routing rule : '.$aData['ROU_TYPE'].' Change Routing Rule From : ROU_TYPE_OLD -> '.$aData['ROU_TYPE_OLD']. ' ROU_TYPE ->'.$aData['ROU_TYPE']. ' '.$tasksAffected); break; case 'EVALUATE': + $tasksAffected=''; + $oTaskSavePattern = new Task(); + $oTaskSavePattern->load($aData['TASK']); + $titleTask=$oTaskSavePattern->getTasTitle(); foreach ($aData['GRID_EVALUATE_TYPE'] as $iKey => $aRow) { - /*if ($aRow['ROU_UID'] != '') - { - $aFields['ROU_UID'] = $aRow['ROU_UID']; + /*if ($aRow['ROU_UID'] != '') + { + $aFields['ROU_UID'] = $aRow['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; @@ -83,16 +111,40 @@ switch ($aData['action']) { $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; - //$aFields['ROU_TO_LAST_USER'] = $aRow['ROU_TO_LAST_USER']; + //$aFields['ROU_TO_LAST_USER'] = $aRow['ROU_TO_LAST_USER']; $rou_id = $oRoute->create( $aFields ); + if ($aRow['ROU_NEXT_TASK']=='-1') { + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End OfProcces Condition -> Empty; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End Of Procces Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + }else{ + $oTaskSaveNextPattern = new Task(); + $oTaskSaveNextPattern->load($aRow['ROU_NEXT_TASK']); + $titleNextTask=$oTaskSaveNextPattern->getTasTitle(); + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> Empty ; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + } unset( $aFields ); } + $oProcessNewPattern = new Process(); + $oProcessNewPattern->load($aData['PROCESS']); + $titleProcess=$oProcessNewPattern->getProTitle(); + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$aData['PROCESS'].' Routing rule : '.$aData['ROU_TYPE'].' Change Routing Rule From : ROU_TYPE_OLD -> '.$aData['ROU_TYPE_OLD']. ' ROU_TYPE ->'.$aData['ROU_TYPE']. ' '.$tasksAffected); break; case 'PARALLEL': + $tasksAffected=''; + $oTaskSavePattern = new Task(); + $oTaskSavePattern->load($aData['TASK']); + $titleTask=$oTaskSavePattern->getTasTitle(); foreach ($aData['GRID_PARALLEL_TYPE'] as $iKey => $aRow) { - /*if ($aRow['ROU_UID'] != '') - { - $aFields['ROU_UID'] = $aRow['ROU_UID']; + /*if ($aRow['ROU_UID'] != '') + { + $aFields['ROU_UID'] = $aRow['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; @@ -100,14 +152,26 @@ switch ($aData['action']) { $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; $rou_id = $oRoute->create( $aFields ); + $oTaskSaveNextPattern = new Task(); + $oTaskSaveNextPattern->load($aRow['ROU_NEXT_TASK']); + $titleNextTask=$oTaskSaveNextPattern->getTasTitle(); + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' ; '; unset( $aFields ); } + $oProcessNewPattern = new Process(); + $oProcessNewPattern->load($aData['PROCESS']); + $titleProcess=$oProcessNewPattern->getProTitle(); + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$aData['PROCESS'].' Routing rule : '.$aData['ROU_TYPE'].' Change Routing Rule From : ROU_TYPE_OLD -> '.$aData['ROU_TYPE_OLD']. ' ROU_TYPE ->'.$aData['ROU_TYPE']. ' '.$tasksAffected); break; case 'PARALLEL-BY-EVALUATION': + $tasksAffected=''; + $oTaskSavePattern = new Task(); + $oTaskSavePattern->load($aData['TASK']); + $titleTask=$oTaskSavePattern->getTasTitle(); foreach ($aData['GRID_PARALLEL_EVALUATION_TYPE'] as $iKey => $aRow) { - /*if ($aRow['ROU_UID'] != '') - { - $aFields['ROU_UID'] = $aRow['ROU_UID']; + /*if ($aRow['ROU_UID'] != '') + { + $aFields['ROU_UID'] = $aRow['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; @@ -119,10 +183,30 @@ switch ($aData['action']) { if (isset( $aRow['ROU_OPTIONAL'] ) && trim( $aRow['ROU_OPTIONAL'] ) != '' && ($aRow['ROU_OPTIONAL'] === 'TRUE' || $aRow['ROU_OPTIONAL'] === 'FALSE')) $aFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL']; $rou_id = $oRoute->create( $aFields ); + if ($aRow['ROU_NEXT_TASK']=='-1') { + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End Of Procces Condition -> Empty; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End Of Procces Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + }else{ + $oTaskSaveNextPattern = new Task(); + $oTaskSaveNextPattern->load($aRow['ROU_NEXT_TASK']); + $titleNextTask=$oTaskSaveNextPattern->getTasTitle(); + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> Empty ; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + } unset( $aFields ); } + $oProcessNewPattern = new Process(); + $oProcessNewPattern->load($aData['PROCESS']); + $titleProcess=$oProcessNewPattern->getProTitle(); + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$aData['PROCESS'].' Routing rule : '.$aData['ROU_TYPE'].' Change Routing Rule From : ROU_TYPE_OLD -> '.$aData['ROU_TYPE_OLD']. ' ROU_TYPE ->'.$aData['ROU_TYPE']. ' '.$tasksAffected); break; - case 'DISCRIMINATOR': //Girish ->Added to save changes, while editing the route + case 'DISCRIMINATOR': //Girish ->Added to save changes, while editing the route foreach ($aData['GRID_DISCRIMINATOR_TYPE'] as $iKey => $aRow) { $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; diff --git a/workflow/engine/methods/processes/processes_Ajax.php b/workflow/engine/methods/processes/processes_Ajax.php index 13f9324d2..4dd5e2745 100755 --- a/workflow/engine/methods/processes/processes_Ajax.php +++ b/workflow/engine/methods/processes/processes_Ajax.php @@ -341,7 +341,7 @@ try { } else { switch ($oData->type) { case 0: - $oData->type = 'SEQUENTIAL'; + $oData->type = 'SEQUENTIAL'; break; case 1: $oData->type = 'SELECT'; @@ -359,7 +359,7 @@ try { $oData->type = 'SEC-JOIN'; break; case 8: - $oData->type = 'DISCRIMINATOR'; + $oData->type = 'DISCRIMINATOR'; break; } $oProcessMap->newPattern($oData->pro_uid, $oData->tas_uid, $oData->next_task, $oData->type); @@ -369,24 +369,98 @@ try { switch ($oData->type) { case 0: $sType = 'SEQUENTIAL'; + $oProcessNewPattern = new Process(); + $oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$oProcessNewPattern->getProTitle(); + $oTaskNewPattern = new Task(); + $oTaskNewPattern->load($oData->tas_uid); + $titleTask=$oTaskNewPattern->getTasTitle(); + $oTaskNextNewPattern = new Task(); + $oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$oTaskNextNewPattern->getTasTitle(); + if ($titleNextTask=='') { + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' ACTION : END OF PROCESS Task Name -> '.$titleTask.' : '.$oData->tas_uid); + }else{ + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' ACTION : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); + } break; case 1: $sType = 'SELECT'; + $oProcessNewPattern = new Process(); + $oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$oProcessNewPattern->getProTitle(); + $oTaskNewPattern = new Task(); + $oTaskNewPattern->load($oData->tas_uid); + $titleTask=$oTaskNewPattern->getTasTitle(); + $oTaskNextNewPattern = new Task(); + $oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$oTaskNextNewPattern->getTasTitle(); + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' ACTION : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; case 2: $sType = 'EVALUATE'; + $oProcessNewPattern = new Process(); + $oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$oProcessNewPattern->getProTitle(); + $oTaskNewPattern = new Task(); + $oTaskNewPattern->load($oData->tas_uid); + $titleTask=$oTaskNewPattern->getTasTitle(); + $oTaskNextNewPattern = new Task(); + $oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$oTaskNextNewPattern->getTasTitle(); + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' ACTION : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; case 3: $sType = 'PARALLEL'; + $oProcessNewPattern = new Process(); + $oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$oProcessNewPattern->getProTitle(); + $oTaskNewPattern = new Task(); + $oTaskNewPattern->load($oData->tas_uid); + $titleTask=$oTaskNewPattern->getTasTitle(); + $oTaskNextNewPattern = new Task(); + $oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$oTaskNextNewPattern->getTasTitle(); + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' ACTION : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; case 4: $sType = 'PARALLEL-BY-EVALUATION'; + $oProcessNewPattern = new Process(); + $oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$oProcessNewPattern->getProTitle(); + $oTaskNewPattern = new Task(); + $oTaskNewPattern->load($oData->tas_uid); + $titleTask=$oTaskNewPattern->getTasTitle(); + $oTaskNextNewPattern = new Task(); + $oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$oTaskNextNewPattern->getTasTitle(); + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' ACTION : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; case 5: $sType = 'SEC-JOIN'; + $oProcessNewPattern = new Process(); + $oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$oProcessNewPattern->getProTitle(); + $oTaskNewPattern = new Task(); + $oTaskNewPattern->load($oData->tas_uid); + $titleTask=$oTaskNewPattern->getTasTitle(); + $oTaskNextNewPattern = new Task(); + $oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$oTaskNextNewPattern->getTasTitle(); + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' ACTION : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; case 8: $sType = 'DISCRIMINATOR'; + $oProcessNewPattern = new Process(); + $oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$oProcessNewPattern->getProTitle(); + $oTaskNewPattern = new Task(); + $oTaskNewPattern->load($oData->tas_uid); + $titleTask=$oTaskNewPattern->getTasTitle(); + $oTaskNextNewPattern = new Task(); + $oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$oTaskNextNewPattern->getTasTitle(); + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' ACTION : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; } if (($oData->type != 0) && ($oData->type != 5) && ($oData->type != 8)) { diff --git a/workflow/engine/methods/tasks/tasks_Ajax.php b/workflow/engine/methods/tasks/tasks_Ajax.php index 1215d5410..1b39b1883 100755 --- a/workflow/engine/methods/tasks/tasks_Ajax.php +++ b/workflow/engine/methods/tasks/tasks_Ajax.php @@ -117,7 +117,10 @@ try { } $result = $oTask->update( $aData ); - + $oTaskNewPattern = new Task(); + $oTaskNewPattern->load($aData['TAS_UID']); + $titleTask=$oTaskNewPattern->getTasTitle(); + G::auditLog("DerivationRule","ASSIGN STARTING TASK : Task Name -> ".$titleTask.' : '.$aData['TAS_UID']); $response["status"] = "OK"; if ($result == 3) {