Se modifica status para mensajes de error, nombres de variables en CASES

This commit is contained in:
Daniel Rojas
2014-03-20 17:05:04 -04:00
parent 9b18b9274c
commit d2dae9d3ed
2 changed files with 220 additions and 83 deletions

View File

@@ -137,12 +137,12 @@ class Cases
/**
* Get data of a Case
*
* @param string $caseUid Unique id of Case
* @param string $applicationUid Unique id of Case
* @param string $userUid Unique id of User
*
* return array Return an array with data of Case Info
*/
public function getCaseInfo($caseUid, $userUid)
public function getCaseInfo($applicationUid, $userUid)
{
try {
$solrEnabled = 0;
@@ -239,34 +239,76 @@ class Cases
}
\G::LoadClass('wsBase');
$ws = new \wsBase();
$fields = $ws->getCaseInfo($caseUid, $row["DEL_INDEX"]);
$fields = $ws->getCaseInfo($applicationUid, $row["DEL_INDEX"]);
$array = json_decode(json_encode($fields), true);
if ($array ["status_code"] != 0) {
throw (new \Exception($array ["message"]));
} else {
$array['app_uid'] = $array['caseId'];
$array['app_number'] = $array['caseNumber'];
$array['app_name'] = $array['caseName'];
$array['app_status'] = $array['caseStatus'];
$array['app_init_usr_uid'] = $array['caseCreatorUser'];
$array['app_init_usr_username'] = $array['caseCreatorUserName'];
$array['pro_uid'] = $array['processId'];
$array['pro_name'] = $array['processName'];
$array['app_create_date'] = $array['createDate'];
$array['app_update_date'] = $array['updateDate'];
$array['current_task'] = $array['currentUsers'];
for ($i = 0; $i<=count($array['current_task'])-1; $i++) {
$current_task = $array['current_task'][$i];
$current_task['usr_uid'] = $current_task['userId'];
$current_task['usr_name'] = $current_task['userName'];
$current_task['tas_uid'] = $current_task['taskId'];
$current_task['tas_title'] = $current_task['taskName'];
$current_task['del_index'] = $current_task['delIndex'];
$current_task['del_thread'] = $current_task['delThread'];
$current_task['del_thread_status'] = $current_task['delThreadStatus'];
unset($current_task['userId']);
unset($current_task['userName']);
unset($current_task['taskId']);
unset($current_task['taskName']);
unset($current_task['delIndex']);
unset($current_task['delThread']);
unset($current_task['delThreadStatus']);
$aCurrent_task[] = $current_task;
}
unset($array['status_code']);
unset($array['message']);
unset($array['timestamp']);
unset($array['caseParalell']);
unset($array['caseId']);
unset($array['caseNumber']);
unset($array['caseName']);
unset($array['caseStatus']);
unset($array['caseCreatorUser']);
unset($array['caseCreatorUserName']);
unset($array['processId']);
unset($array['processName']);
unset($array['createDate']);
unset($array['updateDate']);
unset($array['currentUsers']);
$current_task = json_decode(json_encode($aCurrent_task), false);
$oResponse = json_decode(json_encode($array), false);
$oResponse->current_task = $current_task;
}
//Return
return $fields;
return $oResponse;
}
}
$case = array();
for ($i = 0; $i<=count($arrayData)-1; $i++) {
if ($arrayData[$i]["guid"] == $caseUid) {
$case = $arrayData[$i];
}
}
return $case;
} catch (\InvalidIndexSearchTextException $e) {
$arrayData = array();
$arrayData[] = array (
"guid" => $e->getMessage(),
"name" => $e->getMessage(),
"status" => $e->getMessage(),
"delIndex" => $e->getMessage(),
"processId" => $e->getMessage()
);
return $arrayData;
$arrayData[] = array ("app_uid" => $e->getMessage(),
"app_name" => $e->getMessage(),
"del_index" => $e->getMessage(),
"pro_uid" => $e->getMessage());
throw (new \Exception($arrayData));
}
} else {
$criteria = new \Criteria("workflow");
$criteria->addSelectColumn(\AppCacheViewPeer::DEL_INDEX);
$criteria->add(\AppCacheViewPeer::USR_UID, $userUid);
$criteria->add(\AppCacheViewPeer::APP_UID, $caseUid);
$criteria->add(\AppCacheViewPeer::APP_UID, $applicationUid);
$criteria->add(
//ToDo - getToDo()
$criteria->getNewCriterion(\AppCacheViewPeer::APP_STATUS, "TO_DO", \CRITERIA::EQUAL)->addAnd(
@@ -282,16 +324,68 @@ class Cases
$criteria->addDescendingOrderByColumn(\AppCacheViewPeer::APP_NUMBER);
$rsCriteria = \AppCacheViewPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$row["DEL_INDEX"] = '';
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
}
\G::LoadClass('wsBase');
$ws = new \wsBase();
$fields = $ws->getCaseInfo($caseUid, $row["DEL_INDEX"]);
$fields = $ws->getCaseInfo($applicationUid, $row["DEL_INDEX"]);
$array = json_decode(json_encode($fields), true);
if ($array ["status_code"] != 0) {
throw (new \Exception($array ["message"]));
} else {
$array['app_uid'] = $array['caseId'];
$array['app_number'] = $array['caseNumber'];
$array['app_name'] = $array['caseName'];
$array['app_status'] = $array['caseStatus'];
$array['app_init_usr_uid'] = $array['caseCreatorUser'];
$array['app_init_usr_username'] = $array['caseCreatorUserName'];
$array['pro_uid'] = $array['processId'];
$array['pro_name'] = $array['processName'];
$array['app_create_date'] = $array['createDate'];
$array['app_update_date'] = $array['updateDate'];
$array['current_task'] = $array['currentUsers'];
for ($i = 0; $i<=count($array['current_task'])-1; $i++) {
$current_task = $array['current_task'][$i];
$current_task['usr_uid'] = $current_task['userId'];
$current_task['usr_name'] = $current_task['userName'];
$current_task['tas_uid'] = $current_task['taskId'];
$current_task['tas_title'] = $current_task['taskName'];
$current_task['del_index'] = $current_task['delIndex'];
$current_task['del_thread'] = $current_task['delThread'];
$current_task['del_thread_status'] = $current_task['delThreadStatus'];
unset($current_task['userId']);
unset($current_task['userName']);
unset($current_task['taskId']);
unset($current_task['taskName']);
unset($current_task['delIndex']);
unset($current_task['delThread']);
unset($current_task['delThreadStatus']);
$aCurrent_task[] = $current_task;
}
unset($array['status_code']);
unset($array['message']);
unset($array['timestamp']);
unset($array['caseParalell']);
unset($array['caseId']);
unset($array['caseNumber']);
unset($array['caseName']);
unset($array['caseStatus']);
unset($array['caseCreatorUser']);
unset($array['caseCreatorUserName']);
unset($array['processId']);
unset($array['processName']);
unset($array['createDate']);
unset($array['updateDate']);
unset($array['currentUsers']);
}
$current_task = json_decode(json_encode($aCurrent_task), false);
$oResponse = json_decode(json_encode($array), false);
$oResponse->current_task = $current_task;
//Return
return $fields;
return $oResponse;
}
} catch (\Exception $e) {
throw $e;
}
@@ -300,11 +394,12 @@ class Cases
/**
* Get data Task Case
*
* @param string $caseUid Unique id of Case
* @param string $applicationUid Unique id of Case
* @param string $userUid Unique id of User
*
* return array Return an array with Task Case
*/
public function getTaskCase($caseUid)
public function getTaskCase($applicationUid, $userUid)
{
try {
$result = array ();
@@ -320,21 +415,26 @@ class Cases
$tasTitleConds[] = array ('C1.CON_CATEGORY',$del . 'TAS_TITLE' . $del);
$tasTitleConds[] = array ('C1.CON_LANG',$del . SYS_LANG . $del);
$oCriteria->addJoinMC( $tasTitleConds, \Criteria::LEFT_JOIN );
$oCriteria->add( \AppDelegationPeer::APP_UID, $caseUid );
$oCriteria->add( \AppDelegationPeer::APP_UID, $applicationUid );
$oCriteria->add( \AppDelegationPeer::USR_UID, $userUid );
$oCriteria->add( \AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN' );
$oCriteria->add( \AppDelegationPeer::DEL_FINISH_DATE, null, \Criteria::ISNULL );
$oDataset = \AppDelegationPeer::doSelectRS( $oCriteria );
$oDataset->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$result = array ('guid' => $aRow['TAS_UID'],
'name' => $aRow['TAS_TITLE'],
'delegate' => $aRow['DEL_INDEX']
);
$result = array ('tas_uid' => $aRow['TAS_UID'],
'tas_title' => $aRow['TAS_TITLE'],
'del_index' => $aRow['DEL_INDEX']);
$oDataset->next();
}
//Return
return $result;
if(empty($result)) {
throw (new \Exception('Incorrect or unavailable information about this case: ' .$applicationUid));
} else {
$result = json_decode(json_encode($result), false);
return $result;
}
} catch (\Exception $e) {
throw $e;
}
@@ -343,14 +443,14 @@ class Cases
/**
* Add New Case
*
* @param string $prjUid Unique id of Project
* @param string $actUid Unique id of Activity
* @param string $caseUid Unique id of Case
* @param string $processUid Unique id of Project
* @param string $taskUid Unique id of Activity (task)
* @param string $userUid Unique id of Case
* @param array $variables
*
* return array Return an array with Task Case
*/
public function addCase($prjUid, $actUid, $userUid, $variables)
public function addCase($processUid, $taskUid, $userUid, $variables)
{
try {
\G::LoadClass('wsBase');
@@ -358,9 +458,22 @@ class Cases
if ($variables) {
$variables = array_shift($variables);
}
$fields = $ws->newCase($prjUid, $userUid, $actUid, $variables);
$fields = $ws->newCase($processUid, $userUid, $taskUid, $variables);
$array = json_decode(json_encode($fields), true);
if ($array ["status_code"] != 0) {
throw (new \Exception($array ["message"]));
} else {
$array['app_uid'] = $array['caseId'];
$array['app_number'] = $array['caseNumber'];
unset($array['status_code']);
unset($array['message']);
unset($array['timestamp']);
unset($array['caseId']);
unset($array['caseNumber']);
}
$oResponse = json_decode(json_encode($array), false);
//Return
return $fields;
return $oResponse;
} catch (\Exception $e) {
throw $e;
}
@@ -369,14 +482,14 @@ class Cases
/**
* Add New Case Impersonate
*
* @param string $prjUid Unique id of Project
* @param string $usrUid Unique id of User
* @param string $actUid Unique id of Case
* @param string $processUid Unique id of Project
* @param string $userUid Unique id of User
* @param string $taskUid Unique id of Case
* @param array $variables
*
* return array Return an array with Task Case
*/
public function addCaseImpersonate($prjUid, $usrUid, $actUid, $variables)
public function addCaseImpersonate($processUid, $userUid, $taskUid, $variables)
{
try {
\G::LoadClass('wsBase');
@@ -384,9 +497,22 @@ class Cases
if ($variables) {
$variables = array_shift($variables);
}
$fields = $ws->newCaseImpersonate($prjUid, $usrUid, $variables, $actUid);
$fields = $ws->newCaseImpersonate($processUid, $userUid, $variables, $taskUid);
$array = json_decode(json_encode($fields), true);
if ($array ["status_code"] != 0) {
throw (new \Exception($array ["message"]));
} else {
$array['app_uid'] = $array['caseId'];
$array['app_number'] = $array['caseNumber'];
unset($array['status_code']);
unset($array['message']);
unset($array['timestamp']);
unset($array['caseId']);
unset($array['caseNumber']);
}
$oResponse = json_decode(json_encode($array), false);
//Return
return $fields;
return $oResponse;
} catch (\Exception $e) {
throw $e;
}
@@ -395,7 +521,7 @@ class Cases
/**
* Reassign Case
*
* @param string $caseUid Unique id of Case
* @param string $applicationUid Unique id of Case
* @param string $userUid Unique id of User
* @param string $delIndex
* @param string $userUidSource Unique id of User Source
@@ -403,17 +529,23 @@ class Cases
*
* return array Return an array with Task Case
*/
public function updateReassignCase($caseUid, $userUid, $delIndex, $userUidSource, $userUidTarget)
public function updateReassignCase($applicationUid, $userUid, $delIndex, $userUidSource, $userUidTarget)
{
try {
if (!$delIndex) {
$delIndex = \AppDelegation::getCurrentIndex($caseUid);
$delIndex = \AppDelegation::getCurrentIndex($applicationUid);
}
\G::LoadClass('wsBase');
$ws = new \wsBase();
$fields = $ws->reassignCase($userUid, $caseUid, $delIndex, $userUidSource, $userUidTarget);
//Return
return $fields;
$fields = $ws->reassignCase($userUid, $applicationUid, $delIndex, $userUidSource, $userUidTarget);
$array = json_decode(json_encode($fields), true);
if ($array ["status_code"] != 0) {
throw (new \Exception($array ["message"]));
} else {
unset($array['status_code']);
unset($array['message']);
unset($array['timestamp']);
}
} catch (\Exception $e) {
throw $e;
}
@@ -537,24 +669,30 @@ class Cases
/**
* Route Case
*
* @param string $caseUid Unique id of Case
* @param string $applicationUid Unique id of Case
* @param string $userUid Unique id of User
* @param string $delIndex
* @param string $bExecuteTriggersBeforeAssignment
*
* return array Return an array with Task Case
*/
public function updateRouteCase($caseUid, $userUid, $delIndex)
public function updateRouteCase($applicationUid, $userUid, $delIndex)
{
try {
if (!$delIndex) {
$delIndex = \AppDelegation::getCurrentIndex($caseUid);
$delIndex = \AppDelegation::getCurrentIndex($applicationUid);
}
\G::LoadClass('wsBase');
$ws = new \wsBase();
$fields = $ws->derivateCase($userUid, $caseUid, $delIndex, $bExecuteTriggersBeforeAssignment = false);
//Return
return $fields;
$fields = $ws->derivateCase($userUid, $applicationUid, $delIndex, $bExecuteTriggersBeforeAssignment = false);
$array = json_decode(json_encode($fields), true);
if ($array ["status_code"] != 0) {
throw (new \Exception($array ["message"]));
} else {
unset($array['status_code']);
unset($array['message']);
unset($array['timestamp']);
}
} catch (\Exception $e) {
throw $e;
}

View File

@@ -160,16 +160,16 @@ class Cases extends Api
}
/**
* @url GET /:cas_uid
* @url GET /:app_uid
*
* @param string $cas_uid {@min 32}{@max 32}
* @param string $app_uid {@min 32}{@max 32}
*/
public function doGetCaseInfo($cas_uid)
public function doGetCaseInfo($app_uid)
{
try {
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$oData = $cases->getCaseInfo($cas_uid, $userUid);
$oData = $cases->getCaseInfo($app_uid, $userUid);
return $oData;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
@@ -177,15 +177,16 @@ class Cases extends Api
}
/**
* @url GET /:cas_uid/current-task
* @url GET /:app_uid/current-task
*
* @param string $cas_uid {@min 32}{@max 32}
* @param string $app_uid {@min 32}{@max 32}
*/
public function doGetTaskCase($cas_uid)
public function doGetTaskCase($app_uid)
{
try {
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$oData = $cases->getTaskCase($cas_uid);
$oData = $cases->getTaskCase($app_uid, $userUid);
return $oData;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
@@ -195,18 +196,18 @@ class Cases extends Api
/**
* @url POST
*
* @param string $prj_uid {@from body} {@min 32}{@max 32}
* @param string $act_uid {@from body} {@min 32}{@max 32}
* @param string $pro_uid {@from body} {@min 32}{@max 32}
* @param string $tas_uid {@from body} {@min 32}{@max 32}
* @param array $variables {@from body}
*
*/
public function doPostCase($prj_uid, $act_uid, $variables=null)
public function doPostCase($pro_uid, $tas_uid, $variables=null)
{
try {
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$arrayData = $cases->addCase($prj_uid, $act_uid, $userUid, $variables);
return $arrayData;
$oData = $cases->addCase($pro_uid, $tas_uid, $userUid, $variables);
return $oData;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
@@ -215,55 +216,53 @@ class Cases extends Api
/**
* @url POST /impersonate
*
* @param string $prj_uid {@from body} {@min 32}{@max 32}
* @param string $pro_uid {@from body} {@min 32}{@max 32}
* @param string $usr_uid {@from body} {@min 32}{@max 32}
* @param string $act_uid {@from body} {@min 32}{@max 32}
* @param string $tas_uid {@from body} {@min 32}{@max 32}
* @param array $variables {@from body}
*/
public function doPostCaseImpersonate($prj_uid, $usr_uid, $act_uid, $variables=null)
public function doPostCaseImpersonate($pro_uid, $usr_uid, $tas_uid, $variables=null)
{
try {
$cases = new \BusinessModel\Cases();
$arrayData = $cases->addCaseImpersonate($prj_uid, $usr_uid, $act_uid, $variables);
return $arrayData;
$oData = $cases->addCaseImpersonate($pro_uid, $usr_uid, $tas_uid, $variables);
return $oData;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url PUT /:cas_uid/reassign-case
* @url PUT /:app_uid/reassign-case
*
* @param string $cas_uid {@from body} {@min 32}{@max 32}
* @param string $app_uid {@min 32}{@max 32}
* @param string $usr_uid_source {@from body} {@min 32}{@max 32}
* @param string $usr_uid_target {@from body} {@min 32}{@max 32}
* @param string $del_index {@from body}
*/
public function doPutReassignCase($cas_uid, $usr_uid_source, $usr_uid_target, $del_index = null)
public function doPutReassignCase($app_uid, $usr_uid_source, $usr_uid_target, $del_index = null)
{
try {
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$arrayData = $cases->updateReassignCase($cas_uid, $userUid, $del_index, $usr_uid_source, $usr_uid_target);
return $arrayData;
$cases->updateReassignCase($app_uid, $userUid, $del_index, $usr_uid_source, $usr_uid_target);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url PUT /:cas_uid/route-case
* @url PUT /:app_uid/route-case
*
* @param string $cas_uid {@from body} {@min 32}{@max 32}
* @param string $app_uid {@from body} {@min 32}{@max 32}
* @param string $del_index {@from body}
*/
public function doPutRouteCase($cas_uid, $del_index = null)
public function doPutRouteCase($app_uid, $del_index = null)
{
try {
$userUid = $this->getUserId();
$cases = new \BusinessModel\Cases();
$arrayData = $cases->updateRouteCase($cas_uid, $userUid, $del_index);
return $arrayData;
$cases->updateRouteCase($app_uid, $userUid, $del_index);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}