PMCORE-3053 Rest Services: Improve API related to home order to get the Custom cases list
This commit is contained in:
@@ -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
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user