refactor endpoint get assignment users
This commit is contained in:
@@ -328,6 +328,88 @@ class Light
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return Informaction User for derivate
|
||||||
|
* assignment Users
|
||||||
|
*
|
||||||
|
* return array Return an array with Task Case
|
||||||
|
*/
|
||||||
|
public function GetPrepareInformation($usr_uid, $app_uid, $del_index = null)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$oDerivation = new \Derivation();
|
||||||
|
$aData = array();
|
||||||
|
$aData['APP_UID'] = $app_uid;
|
||||||
|
$aData['DEL_INDEX'] = $del_index;
|
||||||
|
$aData['USER_UID'] = $usr_uid;
|
||||||
|
$derive = $oDerivation->prepareInformation( $aData );
|
||||||
|
$response = array();
|
||||||
|
foreach ($derive as $sKey => &$aValues) {
|
||||||
|
$sPriority = ''; //set priority value
|
||||||
|
if ($derive[$sKey]['NEXT_TASK']['TAS_PRIORITY_VARIABLE'] != '') {
|
||||||
|
//TO DO: review this type of assignment
|
||||||
|
if (isset( $aData['APP_DATA'][str_replace( '@@', '', $derive[$sKey]['NEXT_TASK']['TAS_PRIORITY_VARIABLE'] )] )) {
|
||||||
|
$sPriority = $aData['APP_DATA'][str_replace( '@@', '', $derive[$sKey]['NEXT_TASK']['TAS_PRIORITY_VARIABLE'] )];
|
||||||
|
}
|
||||||
|
} //set priority value
|
||||||
|
|
||||||
|
switch ($aValues['NEXT_TASK']['TAS_ASSIGN_TYPE']) {
|
||||||
|
case 'EVALUATE':
|
||||||
|
case 'REPORT_TO':
|
||||||
|
case 'BALANCED':
|
||||||
|
case 'SELF_SERVICE':
|
||||||
|
$taskAss['taskUid'] = $aValues['NEXT_TASK']['TAS_UID'];
|
||||||
|
$taskAss['taskAssignType'] = $aValues['NEXT_TASK']['TAS_ASSIGN_TYPE'];
|
||||||
|
$taskAss['taskDefProcCode'] = $aValues['NEXT_TASK']['TAS_DEF_PROC_CODE'];
|
||||||
|
$taskAss['delPriority'] = isset($aValues['NEXT_TASK']['DEL_PRIORITY'])?$aValues['NEXT_TASK']['DEL_PRIORITY']:"";
|
||||||
|
$taskAss['taskParent'] = $aValues['NEXT_TASK']['TAS_PARENT'];
|
||||||
|
$users = array();
|
||||||
|
$users['userId'] = $derive[$sKey]['NEXT_TASK']['USER_ASSIGNED']['USR_UID'];
|
||||||
|
$users['userFullName'] = $derive[$sKey]['NEXT_TASK']['USER_ASSIGNED']['USR_FULLNAME'];
|
||||||
|
$taskAss['users'] = $users;
|
||||||
|
$response[] = $taskAss;
|
||||||
|
break;
|
||||||
|
case 'MANUAL':
|
||||||
|
$manual['taskId'] = $aValues['NEXT_TASK']['TAS_UID'];
|
||||||
|
$manual['taskAssignType'] = $aValues['NEXT_TASK']['TAS_ASSIGN_TYPE'];
|
||||||
|
$manual['taskDefProcCode'] = $aValues['NEXT_TASK']['TAS_DEF_PROC_CODE'];
|
||||||
|
$manual['delPriority'] = isset($aValues['NEXT_TASK']['DEL_PRIORITY'])?$aValues['NEXT_TASK']['DEL_PRIORITY']:"";
|
||||||
|
$manual['taskParent'] = $aValues['NEXT_TASK']['TAS_PARENT'];
|
||||||
|
$Aux = array ();
|
||||||
|
foreach ($aValues['NEXT_TASK']['USER_ASSIGNED'] as $aUser) {
|
||||||
|
$Aux[$aUser['USR_UID']] = $aUser['USR_FULLNAME'];
|
||||||
|
}
|
||||||
|
asort( $Aux );
|
||||||
|
$users = array();
|
||||||
|
foreach ($Aux as $id => $fullname) {
|
||||||
|
$user['userId'] = $id;
|
||||||
|
$user['userFullName'] = $fullname;
|
||||||
|
$users[] = $user;
|
||||||
|
}
|
||||||
|
$manual['users'] = $users;
|
||||||
|
$response[] = $manual;
|
||||||
|
break;
|
||||||
|
case '': //when this task is the Finish process
|
||||||
|
case 'nobody':
|
||||||
|
$userFields = $oDerivation->getUsersFullNameFromArray( $derive[$sKey]['USER_UID'] );
|
||||||
|
$taskAss['routeFinishFlag'] = true;
|
||||||
|
$user['userId'] = $derive[$sKey]['USER_UID'];
|
||||||
|
$user['userFullName'] = $userFields['USR_FULLNAME'];
|
||||||
|
$taskAss['users'] = $user;
|
||||||
|
$response[] = $taskAss;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty( $response )) {
|
||||||
|
throw (new Exception( G::LoadTranslation( 'ID_NO_DERIVATION_RULE' ) ));
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route Case
|
* Route Case
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -643,19 +643,13 @@ class Light extends Api
|
|||||||
public function doGetPrepareInformation($app_uid, $del_index = null)
|
public function doGetPrepareInformation($app_uid, $del_index = null)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$oDerivation = new \Derivation();
|
$usr_uid = $this->getUserId();
|
||||||
$aData = array();
|
$oMobile = new \ProcessMaker\BusinessModel\Light();
|
||||||
$aData['APP_UID'] = $app_uid;
|
$response = $oMobile->getPrepareInformation($usr_uid, $app_uid, $del_index);
|
||||||
$aData['DEL_INDEX'] = $del_index;
|
|
||||||
$aData['USER_UID'] = $this->getUserId();
|
|
||||||
$derive = $oDerivation->prepareInformation( $aData );
|
|
||||||
if (empty( $derive )) {
|
|
||||||
throw (new Exception( G::LoadTranslation( 'ID_NO_DERIVATION_RULE' ) ));
|
|
||||||
}
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
return $derive;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user