refactorizacion del endpoitn route-case y adicion de un nuevo endpoint
This commit is contained in:
@@ -2155,10 +2155,11 @@ class wsBase
|
||||
* @param string $userId
|
||||
* @param string $caseId
|
||||
* @param string $delIndex
|
||||
* @param array $tasks
|
||||
* @param bool $bExecuteTriggersBeforeAssignment
|
||||
* @return $result will return an object
|
||||
*/
|
||||
public function derivateCase ($userId, $caseId, $delIndex, $bExecuteTriggersBeforeAssignment = false)
|
||||
public function derivateCase ($userId, $caseId, $delIndex, $bExecuteTriggersBeforeAssignment = false, $tasks = array())
|
||||
{
|
||||
$g = new G();
|
||||
|
||||
@@ -2350,48 +2351,51 @@ class wsBase
|
||||
}
|
||||
|
||||
$oDerivation = new Derivation();
|
||||
$derive = $oDerivation->prepareInformation( $aData );
|
||||
|
||||
if (isset( $derive[1] )) {
|
||||
if ($derive[1]['ROU_TYPE'] == 'SELECT') {
|
||||
$result = new wsResponse( 21, G::loadTranslation( 'ID_CAN_NOT_ROUTE_CASE_USING_WEBSERVICES' ) );
|
||||
|
||||
return $result;
|
||||
}
|
||||
if (count($tasks) > 0) {
|
||||
$nextDelegations = $tasks;
|
||||
} else {
|
||||
$result = new wsResponse( 22, G::loadTranslation( 'ID_TASK_DOES_NOT_HAVE_ROUTING_RULE' ) );
|
||||
$derive = $oDerivation->prepareInformation($aData);
|
||||
|
||||
return $result;
|
||||
}
|
||||
if (isset($derive[1])) {
|
||||
if ($derive[1]['ROU_TYPE'] == 'SELECT') {
|
||||
$result = new wsResponse(21, G::loadTranslation('ID_CAN_NOT_ROUTE_CASE_USING_WEBSERVICES'));
|
||||
|
||||
foreach ($derive as $key => $val) {
|
||||
if ($val['NEXT_TASK']['TAS_ASSIGN_TYPE'] == 'MANUAL') {
|
||||
$result = new wsResponse( 15, G::loadTranslation( 'ID_TASK_DEFINED_MANUAL_ASSIGNMENT' ) );
|
||||
return $result;
|
||||
}
|
||||
} else {
|
||||
$result = new wsResponse(22, G::loadTranslation('ID_TASK_DOES_NOT_HAVE_ROUTING_RULE'));
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
//Routed to the next task, if end process then not exist user
|
||||
$nodeNext = array ();
|
||||
$usrasgdUid = null;
|
||||
$usrasgdUserName = null;
|
||||
foreach ($derive as $key => $val) {
|
||||
if ($val['NEXT_TASK']['TAS_ASSIGN_TYPE'] == 'MANUAL') {
|
||||
$result = new wsResponse(15, G::loadTranslation('ID_TASK_DEFINED_MANUAL_ASSIGNMENT'));
|
||||
|
||||
if (isset( $val['NEXT_TASK']['USER_ASSIGNED'] )) {
|
||||
$usrasgdUid = $val['NEXT_TASK']['USER_ASSIGNED']['USR_UID'];
|
||||
$usrasgdUserName = '(' . $val['NEXT_TASK']['USER_ASSIGNED']['USR_USERNAME'] . ')';
|
||||
return $result;
|
||||
}
|
||||
|
||||
//Routed to the next task, if end process then not exist user
|
||||
$nodeNext = array();
|
||||
$usrasgdUid = null;
|
||||
$usrasgdUserName = null;
|
||||
|
||||
if (isset($val['NEXT_TASK']['USER_ASSIGNED'])) {
|
||||
$usrasgdUid = $val['NEXT_TASK']['USER_ASSIGNED']['USR_UID'];
|
||||
$usrasgdUserName = '(' . $val['NEXT_TASK']['USER_ASSIGNED']['USR_USERNAME'] . ')';
|
||||
}
|
||||
|
||||
$nodeNext['TAS_UID'] = $val['NEXT_TASK']['TAS_UID'];
|
||||
$nodeNext['USR_UID'] = $usrasgdUid;
|
||||
$nodeNext['TAS_ASSIGN_TYPE'] = $val['NEXT_TASK']['TAS_ASSIGN_TYPE'];
|
||||
$nodeNext['TAS_DEF_PROC_CODE'] = $val['NEXT_TASK']['TAS_DEF_PROC_CODE'];
|
||||
$nodeNext['DEL_PRIORITY'] = $appdel['DEL_PRIORITY'];
|
||||
$nodeNext['TAS_PARENT'] = $val['NEXT_TASK']['TAS_PARENT'];
|
||||
|
||||
$nextDelegations[] = $nodeNext;
|
||||
$varResponse = $varResponse . (($varResponse != '') ? ',' : '') . $val['NEXT_TASK']['TAS_TITLE'] . $usrasgdUserName;
|
||||
}
|
||||
|
||||
$nodeNext['TAS_UID'] = $val['NEXT_TASK']['TAS_UID'];
|
||||
$nodeNext['USR_UID'] = $usrasgdUid;
|
||||
$nodeNext['TAS_ASSIGN_TYPE'] = $val['NEXT_TASK']['TAS_ASSIGN_TYPE'];
|
||||
$nodeNext['TAS_DEF_PROC_CODE'] = $val['NEXT_TASK']['TAS_DEF_PROC_CODE'];
|
||||
$nodeNext['DEL_PRIORITY'] = $appdel['DEL_PRIORITY'];
|
||||
$nodeNext['TAS_PARENT'] = $val['NEXT_TASK']['TAS_PARENT'];
|
||||
|
||||
$nextDelegations[] = $nodeNext;
|
||||
$varResponse = $varResponse . (($varResponse != '') ? ',' : '') . $val['NEXT_TASK']['TAS_TITLE'] . $usrasgdUserName;
|
||||
}
|
||||
|
||||
$appFields['DEL_INDEX'] = $delIndex;
|
||||
|
||||
if (isset( $derive['TAS_UID'] )) {
|
||||
|
||||
Reference in New Issue
Block a user