From 923427b41f20bfde6304dba69102b7a993c08f89 Mon Sep 17 00:00:00 2001 From: chfhtw Date: Wed, 20 Aug 2025 11:57:31 +0200 Subject: [PATCH] Implement: stv/students/getIncoming --- .../api/frontend/v1/stv/Students.php | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/application/controllers/api/frontend/v1/stv/Students.php b/application/controllers/api/frontend/v1/stv/Students.php index 71b7be872..b4116ed0d 100644 --- a/application/controllers/api/frontend/v1/stv/Students.php +++ b/application/controllers/api/frontend/v1/stv/Students.php @@ -111,8 +111,43 @@ class Students extends FHCAPI_Controller $this->addMeta('ci_params', [ 'studiensemester_kurzbz' => $studiensemester_kurzbz ]); - // TODO(chris): IMPLEMENT! - $this->terminateWithSuccess([]); + + + $this->load->model('crm/Prestudent_model', 'PrestudentModel'); + + + $this->prepareQuery($studiensemester_kurzbz); + + $this->PrestudentModel->addSelect("COALESCE( + v.semester::text, + CASE + WHEN pls.status_kurzbz IN ('Aufgenommener', 'Bewerber', 'Wartender', 'interessent') + THEN pls.ausbildungssemester::text + ELSE ''::text + END + ) AS semester", false); + $this->PrestudentModel->addSelect("COALESCE(v.verband::text, ''::text)"); + $this->PrestudentModel->addSelect("COALESCE(v.gruppe::text, ''::text)"); + + $this->addSelectPrioRel(); + + $this->addFilter($studiensemester_kurzbz); + + + $selectIncoming = "SELECT 1 + FROM public.tbl_prestudentstatus test + WHERE test.prestudent_id=tbl_prestudent.prestudent_id + AND test.status_kurzbz='Incoming' + AND test.studiensemester_kurzbz=v.studiensemester_kurzbz"; + + $this->PrestudentModel->db->where("EXISTS (" . $selectIncoming . ")", null, false); + + $result = $this->PrestudentModel->load(); + + + $data = $this->getDataOrTerminateWithError($result); + + $this->terminateWithSuccess($data); } /**