PMCORE-3053 Rest Services: Improve API related to home order to get the Custom cases list

This commit is contained in:
Roly Gutierrez
2021-08-04 11:27:43 -04:00
parent 0e42db6031
commit b112cb507a
11 changed files with 468 additions and 3 deletions

View File

@@ -4,6 +4,7 @@ namespace ProcessMaker\BusinessModel\Cases;
use G;
use ProcessMaker\Model\Application;
use ProcessMaker\Model\CaseList;
use ProcessMaker\Model\Delegation;
use ProcessMaker\Model\User;
@@ -166,4 +167,44 @@ class Draft extends AbstractCases
// Return the number of rows
return $query->count(['APP_DELEGATION.APP_NUMBER']);
}
/**
* Returns the total cases of the custom draft list.
* @param int $id
* @param string $type
* @return array
*/
public function getCustomListCount(int $id, string $type): array
{
$caseList = CaseList::where('CAL_ID', '=', $id)
->where('CAL_TYPE', '=', $type)
->leftJoin('ADDITIONAL_TABLES', 'ADDITIONAL_TABLES.ADD_TAB_UID', '=', 'CASE_LIST.ADD_TAB_UID')
->select([
'CASE_LIST.*',
'ADDITIONAL_TABLES.ADD_TAB_NAME'
])
->get()
->first();
$query = Delegation::query()->select();
$query->draft($this->getUserId());
$name = '';
$description = '';
$tableName = '';
if (!is_null($caseList)) {
$name = $caseList->CAL_NAME;
$description = $caseList->CAL_DESCRIPTION;
$tableName = $caseList->ADD_TAB_NAME;
$query->leftJoin($caseList->ADD_TAB_NAME, $caseList->ADD_TAB_NAME . '.APP_UID', '=', 'APP_DELEGATION.APP_UID');
}
$count = $query->count(['APP_DELEGATION.APP_NUMBER']);
return [
'label' => G::LoadTranslation('ID_NUMBER_OF_CASES_DRAFT') . $count,
'name' => $name,
'description' => $description,
'tableName' => $tableName,
'total' => $count
];
}
}