Add DepartmentID filter to tests index endpoint

- Adds DepartmentID query parameter filter to /api/tests
- Filters by COALESCE(testdefsite.DepartmentID, cal.DepartmentID) for calculated tests
- Updates TestDefSiteModel::getTestsWithRelations() for backend filtering
This commit is contained in:
mahdahar 2026-04-23 16:24:49 +07:00
parent 66e9be2a04
commit 83278d332a
2 changed files with 421 additions and 416 deletions

View File

@ -50,6 +50,7 @@ class TestsController extends BaseController
'isVisibleRpt' => $this->request->getGet('isVisibleRpt'),
'TestSiteName' => $this->request->getGet('TestSiteName'),
'TestSiteCode' => $this->request->getGet('TestSiteCode'),
'DepartmentID' => $this->request->getGet('DepartmentID'),
'search' => $search,
];

View File

@ -120,6 +120,10 @@ class TestDefSiteModel extends BaseModel {
$builder->like('testdefsite.TestSiteCode', $filters['TestSiteCode']);
}
if (!empty($filters['DepartmentID'])) {
$builder->where('COALESCE(testdefsite.DepartmentID, cal.DepartmentID)', $filters['DepartmentID']);
}
if (!empty($filters['search'])) {
$builder->groupStart()
->like('testdefsite.TestSiteCode', $filters['search'])