Se modifica la clase class.processes y class.wsBase. Se agregan metodos a la clase CASES. (caseInfo, taskCase, newCase, newCaseImpersonate, reassignCase).
This commit is contained in:
@@ -24,38 +24,38 @@
|
|||||||
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
|
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require_once 'classes/model/Content.php';
|
//require_once 'classes/model/Content.php';
|
||||||
require_once 'classes/model/Process.php';
|
//require_once 'classes/model/Process.php';
|
||||||
require_once 'classes/model/Task.php';
|
//require_once 'classes/model/Task.php';
|
||||||
require_once 'classes/model/Route.php';
|
//require_once 'classes/model/Route.php';
|
||||||
require_once 'classes/model/SwimlanesElements.php';
|
//require_once 'classes/model/SwimlanesElements.php';
|
||||||
require_once 'classes/model/InputDocument.php';
|
//require_once 'classes/model/InputDocument.php';
|
||||||
require_once 'classes/model/ObjectPermission.php';
|
//require_once 'classes/model/ObjectPermission.php';
|
||||||
require_once 'classes/model/OutputDocument.php';
|
//require_once 'classes/model/OutputDocument.php';
|
||||||
require_once 'classes/model/Step.php';
|
//require_once 'classes/model/Step.php';
|
||||||
require_once 'classes/model/StepTrigger.php';
|
//require_once 'classes/model/StepTrigger.php';
|
||||||
require_once 'classes/model/Dynaform.php';
|
//require_once 'classes/model/Dynaform.php';
|
||||||
require_once 'classes/model/Triggers.php';
|
//require_once 'classes/model/Triggers.php';
|
||||||
require_once 'classes/model/Groupwf.php';
|
//require_once 'classes/model/Groupwf.php';
|
||||||
require_once 'classes/model/ReportTable.php';
|
//require_once 'classes/model/ReportTable.php';
|
||||||
require_once 'classes/model/ReportVar.php';
|
//require_once 'classes/model/ReportVar.php';
|
||||||
require_once 'classes/model/DbSource.php';
|
//require_once 'classes/model/DbSource.php';
|
||||||
require_once 'classes/model/StepSupervisor.php';
|
//require_once 'classes/model/StepSupervisor.php';
|
||||||
require_once 'classes/model/SubProcess.php';
|
//require_once 'classes/model/SubProcess.php';
|
||||||
require_once 'classes/model/CaseTracker.php';
|
//require_once 'classes/model/CaseTracker.php';
|
||||||
require_once 'classes/model/CaseTrackerObject.php';
|
//require_once 'classes/model/CaseTrackerObject.php';
|
||||||
require_once 'classes/model/Stage.php';
|
//require_once 'classes/model/Stage.php';
|
||||||
require_once 'classes/model/TaskUser.php';
|
//require_once 'classes/model/TaskUser.php';
|
||||||
require_once 'classes/model/FieldCondition.php';
|
//require_once 'classes/model/FieldCondition.php';
|
||||||
require_once 'classes/model/Event.php';
|
//require_once 'classes/model/Event.php';
|
||||||
require_once 'classes/model/CaseScheduler.php';
|
//require_once 'classes/model/CaseScheduler.php';
|
||||||
require_once 'classes/model/ProcessCategory.php';
|
//require_once 'classes/model/ProcessCategory.php';
|
||||||
require_once 'classes/model/Configuration.php';
|
//require_once 'classes/model/Configuration.php';
|
||||||
|
|
||||||
G::LoadClass( 'tasks' );
|
//G::LoadClass( 'tasks' );
|
||||||
G::LoadClass( 'reportTables' );
|
//G::LoadClass( 'reportTables' );
|
||||||
G::LoadClass( 'processMap' );
|
//G::LoadClass( 'processMap' );
|
||||||
G::LoadThirdParty( 'pear/json', 'class.json' );
|
//G::LoadThirdParty( 'pear/json', 'class.json' );
|
||||||
|
|
||||||
class Processes
|
class Processes
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -25,43 +25,43 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
//It works with the table CONFIGURATION in a WF dataBase
|
//It works with the table CONFIGURATION in a WF dataBase
|
||||||
require_once ("classes/model/Application.php");
|
//require_once ("classes/model/Application.php");
|
||||||
require_once ("classes/model/AppCacheView.php");
|
//require_once ("classes/model/AppCacheView.php");
|
||||||
require_once ("classes/model/AppDelegation.php");
|
//require_once ("classes/model/AppDelegation.php");
|
||||||
require_once ("classes/model/AppDocument.php");
|
//require_once ("classes/model/AppDocument.php");
|
||||||
require_once ("classes/model/AppDelay.php");
|
//require_once ("classes/model/AppDelay.php");
|
||||||
require_once ("classes/model/AppNotes.php");
|
//require_once ("classes/model/AppNotes.php");
|
||||||
require_once ("classes/model/AppThread.php");
|
//require_once ("classes/model/AppThread.php");
|
||||||
require_once ("classes/model/Department.php");
|
//require_once ("classes/model/Department.php");
|
||||||
require_once ("classes/model/Dynaform.php");
|
//require_once ("classes/model/Dynaform.php");
|
||||||
require_once ("classes/model/Groupwf.php");
|
//require_once ("classes/model/Groupwf.php");
|
||||||
require_once ("classes/model/InputDocument.php");
|
//require_once ("classes/model/InputDocument.php");
|
||||||
require_once ("classes/model/Language.php");
|
//require_once ("classes/model/Language.php");
|
||||||
require_once ("classes/model/OutputDocument.php");
|
//require_once ("classes/model/OutputDocument.php");
|
||||||
require_once ("classes/model/Process.php");
|
//require_once ("classes/model/Process.php");
|
||||||
require_once ("classes/model/ReportTable.php");
|
//require_once ("classes/model/ReportTable.php");
|
||||||
require_once ("classes/model/ReportVar.php");
|
//require_once ("classes/model/ReportVar.php");
|
||||||
require_once ("classes/model/Route.php");
|
//require_once ("classes/model/Route.php");
|
||||||
require_once ("classes/model/Step.php");
|
//require_once ("classes/model/Step.php");
|
||||||
require_once ("classes/model/StepTrigger.php");
|
//require_once ("classes/model/StepTrigger.php");
|
||||||
require_once ("classes/model/Task.php");
|
//require_once ("classes/model/Task.php");
|
||||||
require_once ("classes/model/TaskUser.php");
|
//require_once ("classes/model/TaskUser.php");
|
||||||
require_once ("classes/model/Triggers.php");
|
//require_once ("classes/model/Triggers.php");
|
||||||
require_once ("classes/model/Users.php");
|
//require_once ("classes/model/Users.php");
|
||||||
require_once ("classes/model/Session.php");
|
//require_once ("classes/model/Session.php");
|
||||||
require_once ("classes/model/Content.php");
|
//require_once ("classes/model/Content.php");
|
||||||
G::LoadClass( "ArrayPeer" );
|
//G::LoadClass( "ArrayPeer" );
|
||||||
G::LoadClass( "BasePeer" );
|
//G::LoadClass( "BasePeer" );
|
||||||
G::LoadClass( 'case' );
|
G::LoadClass( 'case' );
|
||||||
G::LoadClass( 'derivation' );
|
//G::LoadClass( 'derivation' );
|
||||||
G::LoadClass( 'groups' );
|
//G::LoadClass( 'groups' );
|
||||||
G::LoadClass( 'sessions' );
|
//G::LoadClass( 'sessions' );
|
||||||
G::LoadClass( 'processes' );
|
//G::LoadClass( 'processes' );
|
||||||
G::LoadClass( 'processMap' );
|
//G::LoadClass( 'processMap' );
|
||||||
G::LoadClass( 'pmScript' );
|
//G::LoadClass( 'pmScript' );
|
||||||
G::LoadClass( 'spool' );
|
//G::LoadClass( 'spool' );
|
||||||
G::LoadClass( 'tasks' );
|
//G::LoadClass( 'tasks' );
|
||||||
G::LoadClass( 'wsResponse' );
|
//G::LoadClass( 'wsResponse' );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copyright (C) 2009 COLOSA
|
* Copyright (C) 2009 COLOSA
|
||||||
|
|||||||
@@ -117,5 +117,276 @@ class Cases
|
|||||||
}
|
}
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get data of a Case
|
||||||
|
*
|
||||||
|
* @param string $caseUid 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)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$solrEnabled = 0;
|
||||||
|
if (($solrEnv = \System::solrEnv()) !== false) {
|
||||||
|
\G::LoadClass("AppSolr");
|
||||||
|
$appSolr = new \AppSolr(
|
||||||
|
$solrEnv["solr_enabled"],
|
||||||
|
$solrEnv["solr_host"],
|
||||||
|
$solrEnv["solr_instance"]
|
||||||
|
);
|
||||||
|
if ($appSolr->isSolrEnabled() && $solrEnv["solr_enabled"] == true) {
|
||||||
|
//Check if there are missing records to reindex and reindex them
|
||||||
|
$appSolr->synchronizePendingApplications();
|
||||||
|
$solrEnabled = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($solrEnabled == 1) {
|
||||||
|
try {
|
||||||
|
\G::LoadClass("searchIndex");
|
||||||
|
$arrayData = array();
|
||||||
|
$delegationIndexes = array();
|
||||||
|
$columsToInclude = array("APP_UID");
|
||||||
|
$solrSearchText = null;
|
||||||
|
//Todo
|
||||||
|
$solrSearchText = $solrSearchText . (($solrSearchText != null)? " OR " : null) . "(APP_STATUS:TO_DO AND APP_ASSIGNED_USERS:" . $userUid . ")";
|
||||||
|
$delegationIndexes[] = "APP_ASSIGNED_USER_DEL_INDEX_" . $userUid . "_txt";
|
||||||
|
//Draft
|
||||||
|
$solrSearchText = $solrSearchText . (($solrSearchText != null)? " OR " : null) . "(APP_STATUS:DRAFT AND APP_DRAFT_USER:" . $userUid . ")";
|
||||||
|
//Index is allways 1
|
||||||
|
$solrSearchText = "($solrSearchText)";
|
||||||
|
//Add del_index dynamic fields to list of resulting columns
|
||||||
|
$columsToIncludeFinal = array_merge($columsToInclude, $delegationIndexes);
|
||||||
|
$solrRequestData = \Entity_SolrRequestData::createForRequestPagination(
|
||||||
|
array(
|
||||||
|
"workspace" => $solrEnv["solr_instance"],
|
||||||
|
"startAfter" => 0,
|
||||||
|
"pageSize" => 1000,
|
||||||
|
"searchText" => $solrSearchText,
|
||||||
|
"numSortingCols" => 1,
|
||||||
|
"sortCols" => array("APP_NUMBER"),
|
||||||
|
"sortDir" => array(strtolower("DESC")),
|
||||||
|
"includeCols" => $columsToIncludeFinal,
|
||||||
|
"resultFormat" => "json"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
//Use search index to return list of cases
|
||||||
|
$searchIndex = new \BpmnEngine_Services_SearchIndex($appSolr->isSolrEnabled(), $solrEnv["solr_host"]);
|
||||||
|
//Execute query
|
||||||
|
$solrQueryResult = $searchIndex->getDataTablePaginatedList($solrRequestData);
|
||||||
|
//Get the missing data from database
|
||||||
|
$arrayApplicationUid = array();
|
||||||
|
foreach ($solrQueryResult->aaData as $i => $data) {
|
||||||
|
$arrayApplicationUid[] = $data["APP_UID"];
|
||||||
|
}
|
||||||
|
$aaappsDBData = $appSolr->getListApplicationDelegationData($arrayApplicationUid);
|
||||||
|
foreach ($solrQueryResult->aaData as $i => $data) {
|
||||||
|
//Initialize array
|
||||||
|
$delIndexes = array(); //Store all the delegation indexes
|
||||||
|
//Complete empty values
|
||||||
|
$applicationUid = $data["APP_UID"]; //APP_UID
|
||||||
|
//Get all the indexes returned by Solr as columns
|
||||||
|
for($i = count($columsToInclude); $i <= count($data) - 1; $i++) {
|
||||||
|
if (is_array($data[$columsToIncludeFinal[$i]])) {
|
||||||
|
foreach ($data[$columsToIncludeFinal[$i]] as $delIndex) {
|
||||||
|
$delIndexes[] = $delIndex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Verify if the delindex is an array
|
||||||
|
//if is not check different types of repositories
|
||||||
|
//the delegation index must always be defined.
|
||||||
|
if (count($delIndexes) == 0) {
|
||||||
|
$delIndexes[] = 1; // the first default index
|
||||||
|
}
|
||||||
|
//Remove duplicated
|
||||||
|
$delIndexes = array_unique($delIndexes);
|
||||||
|
//Get records
|
||||||
|
foreach ($delIndexes as $delIndex) {
|
||||||
|
$aRow = array();
|
||||||
|
//Copy result values to new row from Solr server
|
||||||
|
$aRow["APP_UID"] = $data["APP_UID"];
|
||||||
|
//Get delegation data from DB
|
||||||
|
//Filter data from db
|
||||||
|
$indexes = $appSolr->aaSearchRecords($aaappsDBData, array(
|
||||||
|
"APP_UID" => $applicationUid,
|
||||||
|
"DEL_INDEX" => $delIndex
|
||||||
|
));
|
||||||
|
foreach ($indexes as $index) {
|
||||||
|
$row = $aaappsDBData[$index];
|
||||||
|
}
|
||||||
|
if(!isset($row))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$aRow["APP_NUMBER"] = $row["APP_NUMBER"];
|
||||||
|
$aRow["APP_STATUS"] = $row["APP_STATUS"];
|
||||||
|
$aRow["PRO_UID"] = $row["PRO_UID"];
|
||||||
|
$aRow["DEL_INDEX"] = $row["DEL_INDEX"];
|
||||||
|
$arrayData[] = array(
|
||||||
|
"guid" => $aRow["APP_UID"],
|
||||||
|
"name" => $aRow["APP_NUMBER"],
|
||||||
|
"status" => $aRow["APP_STATUS"],
|
||||||
|
"delIndex" => $aRow["DEL_INDEX"],
|
||||||
|
"processId" => $aRow["PRO_UID"]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$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;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$arrayData = array();
|
||||||
|
$criteria = new \Criteria("workflow");
|
||||||
|
$criteria->addSelectColumn(\AppCacheViewPeer::APP_UID);
|
||||||
|
$criteria->addSelectColumn(\AppCacheViewPeer::DEL_INDEX);
|
||||||
|
$criteria->addSelectColumn(\AppCacheViewPeer::APP_NUMBER);
|
||||||
|
$criteria->addSelectColumn(\AppCacheViewPeer::APP_STATUS);
|
||||||
|
$criteria->addSelectColumn(\AppCacheViewPeer::PRO_UID);
|
||||||
|
$criteria->add(\AppCacheViewPeer::USR_UID, $userUid);
|
||||||
|
$criteria->add(\AppCacheViewPeer::APP_UID, $caseUid);
|
||||||
|
$criteria->add(
|
||||||
|
//ToDo - getToDo()
|
||||||
|
$criteria->getNewCriterion(\AppCacheViewPeer::APP_STATUS, "TO_DO", \CRITERIA::EQUAL)->addAnd(
|
||||||
|
$criteria->getNewCriterion(\AppCacheViewPeer::DEL_FINISH_DATE, null, \Criteria::ISNULL))->addAnd(
|
||||||
|
$criteria->getNewCriterion(\AppCacheViewPeer::APP_THREAD_STATUS, "OPEN"))->addAnd(
|
||||||
|
$criteria->getNewCriterion(\AppCacheViewPeer::DEL_THREAD_STATUS, "OPEN"))
|
||||||
|
)->addOr(
|
||||||
|
//Draft - getDraft()
|
||||||
|
$criteria->getNewCriterion(\AppCacheViewPeer::APP_STATUS, "DRAFT", \CRITERIA::EQUAL)->addAnd(
|
||||||
|
$criteria->getNewCriterion(\AppCacheViewPeer::APP_THREAD_STATUS, "OPEN"))->addAnd(
|
||||||
|
$criteria->getNewCriterion(\AppCacheViewPeer::DEL_THREAD_STATUS, "OPEN"))
|
||||||
|
);
|
||||||
|
$criteria->addDescendingOrderByColumn(\AppCacheViewPeer::APP_NUMBER);
|
||||||
|
$rsCriteria = \AppCacheViewPeer::doSelectRS($criteria);
|
||||||
|
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
|
while ($rsCriteria->next()) {
|
||||||
|
$row = $rsCriteria->getRow();
|
||||||
|
$arrayData[] = array(
|
||||||
|
"guid" => $row["APP_UID"],
|
||||||
|
"name" => $row["APP_NUMBER"],
|
||||||
|
"status" => $row["APP_STATUS"],
|
||||||
|
"delIndex" => $row["DEL_INDEX"],
|
||||||
|
"processId" => $row["PRO_UID"]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return $arrayData;
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get data Task Case
|
||||||
|
*
|
||||||
|
* @param string $caseUid Unique id of Case
|
||||||
|
*
|
||||||
|
* return array Return an array with Task Case
|
||||||
|
*/
|
||||||
|
public function getTaskCase($caseUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
\G::LoadClass('wsBase');
|
||||||
|
$ws = new \wsBase();
|
||||||
|
$fields = $ws->taskCase($caseUid);
|
||||||
|
//Return
|
||||||
|
return $fields;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 array $variables
|
||||||
|
*
|
||||||
|
* return array Return an array with Task Case
|
||||||
|
*/
|
||||||
|
public function addCase($prjUid, $actUid, $userUid, $variables)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
\G::LoadClass('wsBase');
|
||||||
|
$ws = new \wsBase();
|
||||||
|
if ($variables) {
|
||||||
|
$variables = array_shift($variables);
|
||||||
|
}
|
||||||
|
$fields = $ws->newCase($prjUid, $userUid, $actUid, $variables);
|
||||||
|
//Return
|
||||||
|
return $fields;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add New Case Impersonate
|
||||||
|
*
|
||||||
|
* @param string $prjUid Unique id of Project
|
||||||
|
* @param string $usrUid Unique id of User
|
||||||
|
* @param string $caseUid Unique id of Case
|
||||||
|
* @param array $variables
|
||||||
|
*
|
||||||
|
* return array Return an array with Task Case
|
||||||
|
*/
|
||||||
|
public function addCaseImpersonate($prjUid, $usrUid, $caseUid, $variables)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
\G::LoadClass('wsBase');
|
||||||
|
$ws = new \wsBase();
|
||||||
|
$fields = $ws->newCaseImpersonate($prjUid, $usrUid, $variables, '1352844695225ff5fe54de2005407079');
|
||||||
|
//Return
|
||||||
|
return $fields;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reassign Case
|
||||||
|
*
|
||||||
|
* @param string $caseUid Unique id of Case
|
||||||
|
* @param string $userUid Unique id of User
|
||||||
|
* @param string $delIndex
|
||||||
|
* @param string $userUidSource Unique id of User Source
|
||||||
|
* @param string $userUid $userUidTarget id of User Target
|
||||||
|
*
|
||||||
|
* return array Return an array with Task Case
|
||||||
|
*/
|
||||||
|
|
||||||
|
public function updateReassignCase($caseUid, $userUid, $delIndex, $userUidSource, $userUidTarget)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
\G::LoadClass('wsBase');
|
||||||
|
$ws = new \wsBase();
|
||||||
|
$fields = $ws->reassignCase($userUid, $caseUid, $delIndex, $userUidSource, $userUidTarget);
|
||||||
|
//Return
|
||||||
|
return $fields;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -164,5 +164,121 @@ class Cases extends Api
|
|||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @url GET /:cas_uid
|
||||||
|
*
|
||||||
|
* @param string $cas_uid {@min 32}{@max 32}
|
||||||
|
*/
|
||||||
|
public function doGetCaseInfo($cas_uid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$userUid = $this->getUserId();
|
||||||
|
$cases = new \BusinessModel\Cases();
|
||||||
|
$arrayData = $cases->getCaseInfo($cas_uid, $userUid);
|
||||||
|
$response = $arrayData;
|
||||||
|
return $response;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @url GET /:cas_uid/current-task
|
||||||
|
*
|
||||||
|
* @param string $cas_uid {@min 32}{@max 32}
|
||||||
|
*/
|
||||||
|
public function doGetTaskCase($cas_uid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$cases = new \BusinessModel\Cases();
|
||||||
|
$arrayData = $cases->getTaskCase($cas_uid);
|
||||||
|
$response = $arrayData;
|
||||||
|
return $response;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @url POST
|
||||||
|
*
|
||||||
|
* @param string $prj_uid {@from body} {@min 32}{@max 32}
|
||||||
|
* @param string $act_uid {@from body} {@min 32}{@max 32}
|
||||||
|
* @param array $variables {@from body}
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function doPostCase($prj_uid, $act_uid, $variables=null)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$userUid = $this->getUserId();
|
||||||
|
$cases = new \BusinessModel\Cases();
|
||||||
|
$arrayData = $cases->addCase($prj_uid, $act_uid, $userUid, $variables);
|
||||||
|
$response = $arrayData;
|
||||||
|
return $response;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @url POST /impersonate
|
||||||
|
*
|
||||||
|
* @param string $prj_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 array $variables {@from body}
|
||||||
|
*/
|
||||||
|
public function doPostCaseImpersonate($prj_uid, $usr_uid, $act_uid, $variables)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$cases = new \BusinessModel\Cases();
|
||||||
|
$arrayData = $cases->addCaseImpersonate($prj_uid, $usr_uid, $act_uid, $variables);
|
||||||
|
$response = $arrayData;
|
||||||
|
return $response;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @url PUT /:cas_uid/reassign-case
|
||||||
|
*
|
||||||
|
* @param string $del_index {@from body}
|
||||||
|
* @param string $usr_uid_source {@from body} {@min 32}{@max 32}
|
||||||
|
* @param string $usr_uid_target {@from body} {@min 32}{@max 32}
|
||||||
|
*/
|
||||||
|
public function doPutReassignCase($cas_uid, $del_index, $usr_uid_source, $usr_uid_target)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$userUid = $this->getUserId();
|
||||||
|
$cases = new \BusinessModel\Cases();
|
||||||
|
$arrayData = $cases->updateReassignCase($cas_uid, $userUid, $del_index, $usr_uid_source, $usr_uid_target);
|
||||||
|
$response = $arrayData;
|
||||||
|
return $response;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @url PUT /:cas_uid/route-case
|
||||||
|
*
|
||||||
|
* @param string $del_index {@from body}
|
||||||
|
* @param string $usr_uid_source {@from body} {@min 32}{@max 32}
|
||||||
|
* @param string $usr_uid_target {@from body} {@min 32}{@max 32}
|
||||||
|
*/
|
||||||
|
public function doPutRouteCase($cas_uid, $del_index, $usr_uid_source, $usr_uid_target)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$userUid = $this->getUserId();
|
||||||
|
$cases = new \BusinessModel\Cases();
|
||||||
|
$arrayData = $cases->updateRouteCase($cas_uid, $userUid, $del_index, $usr_uid_source, $usr_uid_target);
|
||||||
|
$response = $arrayData;
|
||||||
|
return $response;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user