HOR-3024
This commit is contained in:
@@ -2156,9 +2156,73 @@ class wsBase
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Execute the trigger defined in the steps
|
||||||
|
* This function is used when the case is derived from abe, Soap, PMFDerivateCase
|
||||||
|
*
|
||||||
|
* @param array $appData contain all the information about the case
|
||||||
|
* @param string $tasUid
|
||||||
|
* @param string $stepType
|
||||||
|
* @param string $stepUidObj
|
||||||
|
* @param string $triggerType
|
||||||
|
* @param string $labelAssigment
|
||||||
|
* @return string $varTriggers
|
||||||
|
*/
|
||||||
|
function executeTriggerFromDerivate($appData, $tasUid, $stepType, $stepUidObj, $triggerType, $labelAssigment = '')
|
||||||
|
{
|
||||||
|
$varTriggers = "\n";
|
||||||
|
$oCase = new Cases();
|
||||||
|
|
||||||
|
//Execute triggers before assignment
|
||||||
|
$aTriggers = $oCase->loadTriggers($tasUid, $stepType, $stepUidObj, $triggerType);
|
||||||
|
|
||||||
|
if (count( $aTriggers ) > 0) {
|
||||||
|
$varTriggers = $varTriggers . "<br /><b>".$labelAssigment."</b><br />";
|
||||||
|
|
||||||
|
$oPMScript = new PMScript();
|
||||||
|
|
||||||
|
foreach ($aTriggers as $aTrigger) {
|
||||||
|
//Set variables
|
||||||
|
$params = new stdClass();
|
||||||
|
$params->appData = $appData;
|
||||||
|
|
||||||
|
if ($this->stored_system_variables) {
|
||||||
|
$params->option = "STORED SESSION";
|
||||||
|
$params->SID = $this->wsSessionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
$appFields["APP_DATA"] = array_merge($appData, G::getSystemConstants($params));
|
||||||
|
|
||||||
|
//PMScript
|
||||||
|
$oPMScript->setFields( $appFields['APP_DATA'] );
|
||||||
|
$bExecute = true;
|
||||||
|
|
||||||
|
if ($aTrigger['ST_CONDITION'] !== '') {
|
||||||
|
$oPMScript->setScript( $aTrigger['ST_CONDITION'] );
|
||||||
|
$bExecute = $oPMScript->evaluate();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($bExecute) {
|
||||||
|
$oPMScript->setScript( $aTrigger['TRI_WEBBOT'] );
|
||||||
|
$oPMScript->execute();
|
||||||
|
|
||||||
|
$trigger = TriggersPeer::retrieveByPk($aTrigger["TRI_UID"]);
|
||||||
|
$varTriggers = $varTriggers . " - " . nl2br(htmlentities($trigger->getTriTitle(), ENT_QUOTES)) . "<br />";
|
||||||
|
|
||||||
|
$appFields['APP_DATA'] = $oPMScript->aFields;
|
||||||
|
unset($appFields['APP_STATUS']);
|
||||||
|
unset($appFields['APP_PROC_STATUS']);
|
||||||
|
unset($appFields['APP_PROC_CODE']);
|
||||||
|
unset($appFields['APP_PIN']);
|
||||||
|
$oCase->updateCase($caseId, $appFields);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $varTriggers;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* derivate Case moves the case to the next task in the process according to the routing rules
|
* Derivate Case moves the case to the next task in the process according to the routing rules
|
||||||
*
|
*
|
||||||
* @param string $userId
|
* @param string $userId
|
||||||
* @param string $caseId
|
* @param string $caseId
|
||||||
@@ -2178,11 +2242,9 @@ class wsBase
|
|||||||
$_SESSION["INDEX"] = $delIndex;
|
$_SESSION["INDEX"] = $delIndex;
|
||||||
$_SESSION["USER_LOGGED"] = $userId;
|
$_SESSION["USER_LOGGED"] = $userId;
|
||||||
|
|
||||||
|
//Define variables
|
||||||
$sStatus = 'TO_DO';
|
$sStatus = 'TO_DO';
|
||||||
|
|
||||||
$varResponse = '';
|
$varResponse = '';
|
||||||
$varTriggers = "\n";
|
|
||||||
|
|
||||||
$previousAppData = array();
|
$previousAppData = array();
|
||||||
|
|
||||||
if ($delIndex == '') {
|
if ($delIndex == '') {
|
||||||
@@ -2218,17 +2280,9 @@ class wsBase
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
$oCriteria = new Criteria( 'workflow' );
|
//Validate if the case is paused or cancelled
|
||||||
$oCriteria->addSelectColumn( AppDelayPeer::APP_UID );
|
$oAppDelay = new AppDelay();
|
||||||
$oCriteria->addSelectColumn( AppDelayPeer::APP_DEL_INDEX );
|
$aRow = $oAppDelay->getCasesCancelOrPaused($caseId);
|
||||||
$oCriteria->add( AppDelayPeer::APP_TYPE, '' );
|
|
||||||
$oCriteria->add( $oCriteria->getNewCriterion( AppDelayPeer::APP_TYPE, 'PAUSE' )->addOr( $oCriteria->getNewCriterion( AppDelayPeer::APP_TYPE, 'CANCEL' ) ) );
|
|
||||||
$oCriteria->addAscendingOrderByColumn( AppDelayPeer::APP_ENABLE_ACTION_DATE );
|
|
||||||
$oDataset = AppDelayPeer::doSelectRS( $oCriteria );
|
|
||||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
|
||||||
$oDataset->next();
|
|
||||||
$aRow = $oDataset->getRow();
|
|
||||||
|
|
||||||
if (is_array($aRow)) {
|
if (is_array($aRow)) {
|
||||||
if (isset( $aRow['APP_DISABLE_ACTION_USER'] ) && $aRow['APP_DISABLE_ACTION_USER'] != 0 && isset( $aRow['APP_DISABLE_ACTION_DATE'] ) && $aRow['APP_DISABLE_ACTION_DATE'] != '') {
|
if (isset( $aRow['APP_DISABLE_ACTION_USER'] ) && $aRow['APP_DISABLE_ACTION_USER'] != 0 && isset( $aRow['APP_DISABLE_ACTION_DATE'] ) && $aRow['APP_DISABLE_ACTION_DATE'] != '') {
|
||||||
$result = new wsResponse( 19, G::LoadTranslation( 'ID_CASE_IN_STATUS' ) . " " . $aRow['APP_TYPE'] );
|
$result = new wsResponse( 19, G::LoadTranslation( 'ID_CASE_IN_STATUS' ) . " " . $aRow['APP_TYPE'] );
|
||||||
@@ -2264,101 +2318,13 @@ class wsBase
|
|||||||
$previousAppData = $oPMScript->aFields;
|
$previousAppData = $oPMScript->aFields;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($bExecuteTriggersBeforeAssignment) {
|
|
||||||
//Execute triggers before assignment
|
//Execute triggers before assignment
|
||||||
$aTriggers = $oCase->loadTriggers( $appdel['TAS_UID'], 'ASSIGN_TASK', - 1, 'BEFORE' );
|
if ($bExecuteTriggersBeforeAssignment) {
|
||||||
|
$varTriggers = $this->executeTriggerFromDerivate($appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -1, 'BEFORE', "-= Before Assignment =-");
|
||||||
if (count( $aTriggers ) > 0) {
|
|
||||||
$varTriggers = $varTriggers . "<br /><b>-= Before Assignment =-</b><br />";
|
|
||||||
|
|
||||||
$oPMScript = new PMScript();
|
|
||||||
|
|
||||||
foreach ($aTriggers as $aTrigger) {
|
|
||||||
//Set variables
|
|
||||||
$params = new stdClass();
|
|
||||||
$params->appData = $appFields["APP_DATA"];
|
|
||||||
|
|
||||||
if ($this->stored_system_variables) {
|
|
||||||
$params->option = "STORED SESSION";
|
|
||||||
$params->SID = $this->wsSessionId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$appFields["APP_DATA"] = array_merge( $appFields["APP_DATA"], G::getSystemConstants( $params ) );
|
//Execute triggers before routing
|
||||||
|
$varTriggers = $this->executeTriggerFromDerivate($appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'BEFORE', "-= Before Derivation =-");
|
||||||
//PMScript
|
|
||||||
$oPMScript->setFields( $appFields['APP_DATA'] );
|
|
||||||
$bExecute = true;
|
|
||||||
|
|
||||||
if ($aTrigger['ST_CONDITION'] !== '') {
|
|
||||||
$oPMScript->setScript( $aTrigger['ST_CONDITION'] );
|
|
||||||
$bExecute = $oPMScript->evaluate();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($bExecute) {
|
|
||||||
$oPMScript->setScript( $aTrigger['TRI_WEBBOT'] );
|
|
||||||
$oPMScript->execute();
|
|
||||||
|
|
||||||
$trigger = TriggersPeer::retrieveByPk($aTrigger["TRI_UID"]);
|
|
||||||
$varTriggers = $varTriggers . " - " . nl2br(htmlentities($trigger->getTriTitle(), ENT_QUOTES)) . "<br />";
|
|
||||||
|
|
||||||
//$appFields = $oCase->loadCase( $caseId );
|
|
||||||
$appFields['APP_DATA'] = $oPMScript->aFields;
|
|
||||||
unset($appFields['APP_STATUS']);
|
|
||||||
unset($appFields['APP_PROC_STATUS']);
|
|
||||||
unset($appFields['APP_PROC_CODE']);
|
|
||||||
unset($appFields['APP_PIN']);
|
|
||||||
$oCase->updateCase( $caseId, $appFields );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Execute triggers before derivation BEFORE_ROUTING
|
|
||||||
$aTriggers = $oCase->loadTriggers( $appdel['TAS_UID'], 'ASSIGN_TASK', - 2, 'BEFORE' );
|
|
||||||
|
|
||||||
if (count( $aTriggers ) > 0) {
|
|
||||||
$varTriggers .= "<b>-= Before Derivation =-</b><br/>";
|
|
||||||
|
|
||||||
$oPMScript = new PMScript();
|
|
||||||
|
|
||||||
foreach ($aTriggers as $aTrigger) {
|
|
||||||
//Set variables
|
|
||||||
$params = new stdClass();
|
|
||||||
$params->appData = $appFields["APP_DATA"];
|
|
||||||
|
|
||||||
if ($this->stored_system_variables) {
|
|
||||||
$params->option = "STORED SESSION";
|
|
||||||
$params->SID = $this->wsSessionId;
|
|
||||||
}
|
|
||||||
|
|
||||||
$appFields["APP_DATA"] = array_merge( $appFields["APP_DATA"], G::getSystemConstants( $params ) );
|
|
||||||
|
|
||||||
//PMScript
|
|
||||||
$oPMScript->setFields( $appFields['APP_DATA'] );
|
|
||||||
$bExecute = true;
|
|
||||||
|
|
||||||
if ($aTrigger['ST_CONDITION'] !== '') {
|
|
||||||
$oPMScript->setScript( $aTrigger['ST_CONDITION'] );
|
|
||||||
$bExecute = $oPMScript->evaluate();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($bExecute) {
|
|
||||||
$oPMScript->setScript( $aTrigger['TRI_WEBBOT'] );
|
|
||||||
$oPMScript->execute();
|
|
||||||
|
|
||||||
$oTrigger = TriggersPeer::retrieveByPk( $aTrigger['TRI_UID'] );
|
|
||||||
$varTriggers .= " - " . nl2br( htmlentities( $oTrigger->getTriTitle(), ENT_QUOTES ) ) . "<br/>";
|
|
||||||
//$appFields = $oCase->loadCase( $caseId );
|
|
||||||
$appFields['APP_DATA'] = $oPMScript->aFields;
|
|
||||||
unset($appFields['APP_STATUS']);
|
|
||||||
unset($appFields['APP_PROC_STATUS']);
|
|
||||||
unset($appFields['APP_PROC_CODE']);
|
|
||||||
unset($appFields['APP_PIN']);
|
|
||||||
//$appFields['APP_DATA']['APPLICATION'] = $caseId;
|
|
||||||
$oCase->updateCase( $caseId, $appFields );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$oDerivation = new Derivation();
|
$oDerivation = new Derivation();
|
||||||
if (!empty($tasks)) {
|
if (!empty($tasks)) {
|
||||||
@@ -2402,8 +2368,8 @@ class wsBase
|
|||||||
$nodeNext['TAS_DEF_PROC_CODE'] = $val['NEXT_TASK']['TAS_DEF_PROC_CODE'];
|
$nodeNext['TAS_DEF_PROC_CODE'] = $val['NEXT_TASK']['TAS_DEF_PROC_CODE'];
|
||||||
$nodeNext['DEL_PRIORITY'] = $appdel['DEL_PRIORITY'];
|
$nodeNext['DEL_PRIORITY'] = $appdel['DEL_PRIORITY'];
|
||||||
$nodeNext['TAS_PARENT'] = $val['NEXT_TASK']['TAS_PARENT'];
|
$nodeNext['TAS_PARENT'] = $val['NEXT_TASK']['TAS_PARENT'];
|
||||||
$nodeNext['ROU_CONDITION'] = $val['ROU_CONDITION'];
|
$nodeNext['ROU_PREVIOUS_TYPE'] = (isset($val['NEXT_TASK']['ROU_PREVIOUS_TYPE'])) ? $val['NEXT_TASK']['ROU_PREVIOUS_TYPE'] : '';
|
||||||
|
$nodeNext['ROU_PREVIOUS_TASK'] = (isset($val['NEXT_TASK']['ROU_PREVIOUS_TASK'])) ? $val['NEXT_TASK']['ROU_PREVIOUS_TASK'] : '';
|
||||||
$nextDelegations[] = $nodeNext;
|
$nextDelegations[] = $nodeNext;
|
||||||
$varResponse = $varResponse . (($varResponse != '') ? ',' : '') . $val['NEXT_TASK']['TAS_TITLE'] . $usrasgdUserName;
|
$varResponse = $varResponse . (($varResponse != '') ? ',' : '') . $val['NEXT_TASK']['TAS_TITLE'] . $usrasgdUserName;
|
||||||
}
|
}
|
||||||
@@ -2414,27 +2380,26 @@ class wsBase
|
|||||||
$appFields['TAS_UID'] = $derive['TAS_UID'];
|
$appFields['TAS_UID'] = $derive['TAS_UID'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$row = array ();
|
//Get from the route information the nextTask
|
||||||
$oCriteria = new Criteria( 'workflow' );
|
$nextTaskUid = $appdel['TAS_UID'];
|
||||||
$del = DBAdapter::getStringDelimiter();
|
$nextRouteType = '';
|
||||||
$oCriteria->addSelectColumn( RoutePeer::ROU_TYPE );
|
do {
|
||||||
$oCriteria->addSelectColumn( RoutePeer::ROU_NEXT_TASK );
|
$oRoute = new \Route();
|
||||||
$oCriteria->add( RoutePeer::TAS_UID, $appdel['TAS_UID'] );
|
$nextRouteTask = $oRoute->getNextRouteByTask($nextTaskUid);
|
||||||
$oDataset = TaskPeer::doSelectRS( $oCriteria );
|
$prefix = '';
|
||||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
if (isset($nextRouteTask['ROU_NEXT_TASK'])) {
|
||||||
$oDataset->next();
|
$nextTaskUid = $nextRouteTask['ROU_NEXT_TASK'];
|
||||||
|
$nextRouteType = $nextRouteTask['ROU_TYPE'];
|
||||||
while ($aRow = $oDataset->getRow()) {
|
$prefix = substr($nextTaskUid, 0, 4);
|
||||||
$row[] = array('ROU_TYPE' => $aRow['ROU_TYPE'], 'ROU_NEXT_TASK' => $aRow['ROU_NEXT_TASK']);
|
|
||||||
$oDataset->next();
|
|
||||||
}
|
}
|
||||||
|
} while ($prefix == 'gtg-');
|
||||||
|
|
||||||
$aCurrentDerivation = array (
|
$aCurrentDerivation = array (
|
||||||
'APP_UID' => $caseId,
|
'APP_UID' => $caseId,
|
||||||
'DEL_INDEX' => $delIndex,
|
'DEL_INDEX' => $delIndex,
|
||||||
'APP_STATUS' => $sStatus,
|
'APP_STATUS' => $sStatus,
|
||||||
'TAS_UID' => $appdel['TAS_UID'],
|
'TAS_UID' => $appdel['TAS_UID'],
|
||||||
'ROU_TYPE' => $row[0]['ROU_TYPE']
|
'ROU_TYPE' => $nextRouteType
|
||||||
);
|
);
|
||||||
|
|
||||||
//We define some parameters in the before the derivation
|
//We define some parameters in the before the derivation
|
||||||
@@ -2442,66 +2407,19 @@ class wsBase
|
|||||||
$oDerivation->beforeDerivate(
|
$oDerivation->beforeDerivate(
|
||||||
$aData,
|
$aData,
|
||||||
$nextDelegations,
|
$nextDelegations,
|
||||||
$row[0]['ROU_TYPE'],
|
$nextRouteType,
|
||||||
$aCurrentDerivation
|
$aCurrentDerivation
|
||||||
);
|
);
|
||||||
|
|
||||||
$appFields = $oCase->loadCase( $caseId );
|
$appFields = $oCase->loadCase( $caseId );
|
||||||
|
|
||||||
//Execute triggers after derivation
|
//Execute triggers after routing
|
||||||
$aTriggers = $oCase->loadTriggers( $appdel['TAS_UID'], 'ASSIGN_TASK', - 2, 'AFTER' );
|
$varTriggers = $this->executeTriggerFromDerivate($appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'AFTER', "-= After Derivation =-");
|
||||||
|
|
||||||
if (count( $aTriggers ) > 0) {
|
|
||||||
|
|
||||||
//Set variables
|
|
||||||
$params = new stdClass();
|
|
||||||
$params->appData = $appFields["APP_DATA"];
|
|
||||||
|
|
||||||
if ($this->stored_system_variables) {
|
|
||||||
$params->option = "STORED SESSION";
|
|
||||||
$params->SID = $this->wsSessionId;
|
|
||||||
}
|
|
||||||
|
|
||||||
$appFields["APP_DATA"] = array_merge( $appFields["APP_DATA"], G::getSystemConstants( $params ) );
|
|
||||||
|
|
||||||
//PMScript
|
|
||||||
$oPMScript = new PMScript();
|
|
||||||
$oPMScript->setFields( $appFields['APP_DATA'] );
|
|
||||||
|
|
||||||
$varTriggers .= "<b>-= After Derivation =-</b><br/>";
|
|
||||||
|
|
||||||
foreach ($aTriggers as $aTrigger) {
|
|
||||||
$bExecute = true;
|
|
||||||
|
|
||||||
if ($aTrigger['ST_CONDITION'] !== '') {
|
|
||||||
$oPMScript->setScript( $aTrigger['ST_CONDITION'] );
|
|
||||||
$bExecute = $oPMScript->evaluate();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($bExecute) {
|
|
||||||
$oPMScript->setScript( $aTrigger['TRI_WEBBOT'] );
|
|
||||||
$oPMScript->execute();
|
|
||||||
|
|
||||||
$oTrigger = TriggersPeer::retrieveByPk( $aTrigger['TRI_UID'] );
|
|
||||||
$varTriggers .= " - " . nl2br( htmlentities( $oTrigger->getTriTitle(), ENT_QUOTES ) ) . "<br/>";
|
|
||||||
//$appFields = $oCase->loadCase($caseId);
|
|
||||||
$appFields['APP_DATA'] = $oPMScript->aFields;
|
|
||||||
//$appFields['APP_DATA']['APPLICATION'] = $caseId;
|
|
||||||
//$appFields = $oCase->loadCase($caseId);
|
|
||||||
unset($appFields['APP_STATUS']);
|
|
||||||
unset($appFields['APP_PROC_STATUS']);
|
|
||||||
unset($appFields['APP_PROC_CODE']);
|
|
||||||
unset($appFields['APP_PIN']);
|
|
||||||
$oCase->updateCase( $caseId, $appFields );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$sFromName = "";
|
$sFromName = "";
|
||||||
|
|
||||||
if ($userId != "") {
|
if ($userId != "") {
|
||||||
$user = new Users();
|
$user = new Users();
|
||||||
|
|
||||||
$arrayUserData = $user->load($userId);
|
$arrayUserData = $user->load($userId);
|
||||||
|
|
||||||
if (trim($arrayUserData["USR_EMAIL"]) == "") {
|
if (trim($arrayUserData["USR_EMAIL"]) == "") {
|
||||||
@@ -2513,15 +2431,9 @@ class wsBase
|
|||||||
|
|
||||||
$oCase->sendNotifications( $appdel['TAS_UID'], $nextDelegations, $appFields['APP_DATA'], $caseId, $delIndex, $sFromName );
|
$oCase->sendNotifications( $appdel['TAS_UID'], $nextDelegations, $appFields['APP_DATA'], $caseId, $delIndex, $sFromName );
|
||||||
|
|
||||||
//Save data - Start
|
|
||||||
//$appFields = $oCase->loadCase($caseId);
|
|
||||||
//$oCase->updateCase($caseId, $appFields);
|
|
||||||
//Save data - End
|
|
||||||
|
|
||||||
|
|
||||||
$oProcess = new Process();
|
$oProcess = new Process();
|
||||||
$oProcessFieds = $oProcess->Load( $appFields['PRO_UID'] );
|
$oProcessFieds = $oProcess->Load( $appFields['PRO_UID'] );
|
||||||
//here dubug mode in web entry
|
//here debug mode in web entry
|
||||||
|
|
||||||
|
|
||||||
if (isset( $oProcessFieds['PRO_DEBUG'] ) && $oProcessFieds['PRO_DEBUG']) {
|
if (isset( $oProcessFieds['PRO_DEBUG'] ) && $oProcessFieds['PRO_DEBUG']) {
|
||||||
@@ -2534,7 +2446,7 @@ class wsBase
|
|||||||
|
|
||||||
$res = $result->getPayloadArray();
|
$res = $result->getPayloadArray();
|
||||||
|
|
||||||
//now fill the array of AppDelegationPeer
|
//Now fill the array of AppDelegationPeer
|
||||||
$oCriteria = new Criteria( 'workflow' );
|
$oCriteria = new Criteria( 'workflow' );
|
||||||
$oCriteria->addSelectColumn( AppDelegationPeer::DEL_INDEX );
|
$oCriteria->addSelectColumn( AppDelegationPeer::DEL_INDEX );
|
||||||
$oCriteria->addSelectColumn( AppDelegationPeer::USR_UID );
|
$oCriteria->addSelectColumn( AppDelegationPeer::USR_UID );
|
||||||
@@ -2552,7 +2464,6 @@ class wsBase
|
|||||||
|
|
||||||
while ($oDataset->next()) {
|
while ($oDataset->next()) {
|
||||||
$aAppDel = $oDataset->getRow();
|
$aAppDel = $oDataset->getRow();
|
||||||
|
|
||||||
$oUser = new Users();
|
$oUser = new Users();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -2572,7 +2483,7 @@ class wsBase
|
|||||||
$taskName = '';
|
$taskName = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// execute events
|
//Execute events
|
||||||
$eventPro = $_SESSION["PROCESS"];
|
$eventPro = $_SESSION["PROCESS"];
|
||||||
$eventApp = $caseId;
|
$eventApp = $caseId;
|
||||||
$eventInd = $aAppDel['DEL_INDEX'];
|
$eventInd = $aAppDel['DEL_INDEX'];
|
||||||
@@ -2580,8 +2491,7 @@ class wsBase
|
|||||||
|
|
||||||
$oEvent = new Event();
|
$oEvent = new Event();
|
||||||
$oEvent->createAppEvents( $eventPro, $eventApp, $eventInd, $eventTas );
|
$oEvent->createAppEvents( $eventPro, $eventApp, $eventInd, $eventTas );
|
||||||
// end events
|
//End events
|
||||||
|
|
||||||
|
|
||||||
$currentUser = new stdClass();
|
$currentUser = new stdClass();
|
||||||
$currentUser->userId = $aAppDel['USR_UID'];
|
$currentUser->userId = $aAppDel['USR_UID'];
|
||||||
|
|||||||
@@ -112,5 +112,26 @@ class AppDelay extends BaseAppDelay
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verify if the case is Paused or cancelled
|
||||||
|
*
|
||||||
|
* @param $appUid string
|
||||||
|
* @return $oDataset array
|
||||||
|
*/
|
||||||
|
public function getCasesCancelOrPaused($appUid)
|
||||||
|
{
|
||||||
|
$oCriteria = new Criteria( 'workflow' );
|
||||||
|
$oCriteria->addSelectColumn( AppDelayPeer::APP_UID );
|
||||||
|
$oCriteria->addSelectColumn( AppDelayPeer::APP_DEL_INDEX );
|
||||||
|
$oCriteria->add( AppDelayPeer::APP_TYPE, '' );
|
||||||
|
$oCriteria->add( AppDelayPeer::APP_UID, $appUid );
|
||||||
|
$oCriteria->add( $oCriteria->getNewCriterion( AppDelayPeer::APP_TYPE, 'PAUSE' )->addOr( $oCriteria->getNewCriterion( AppDelayPeer::APP_TYPE, 'CANCEL' ) ) );
|
||||||
|
$oCriteria->addAscendingOrderByColumn( AppDelayPeer::APP_ENABLE_ACTION_DATE );
|
||||||
|
$oDataset = AppDelayPeer::doSelectRS( $oCriteria );
|
||||||
|
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||||
|
$oDataset->next();
|
||||||
|
return $oDataset->getRow();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -384,4 +384,23 @@ class Route extends BaseRoute
|
|||||||
$this->updateRouteOrder($accountsArray);
|
$this->updateRouteOrder($accountsArray);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the route for the specific task
|
||||||
|
*
|
||||||
|
* @param $tasUid string
|
||||||
|
* @return $nextRoute array
|
||||||
|
*/
|
||||||
|
public function getNextRouteByTask($tasUid)
|
||||||
|
{
|
||||||
|
$oCriteria = new Criteria( 'workflow' );
|
||||||
|
$oCriteria->addSelectColumn( RoutePeer::ROU_TYPE );
|
||||||
|
$oCriteria->addSelectColumn( RoutePeer::ROU_NEXT_TASK );
|
||||||
|
$oCriteria->add( RoutePeer::TAS_UID, $tasUid );
|
||||||
|
$oDataset = TaskPeer::doSelectRS( $oCriteria );
|
||||||
|
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||||
|
$oDataset->next();
|
||||||
|
$row = $oDataset->getRow();
|
||||||
|
return (is_array($row)) ? $row : array();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user