mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
Added method getCompleteStudiengang to get all data about all Studiengang with better performance.
The methods _getStudienplaene, _getBewerbungstermine and _getReihungstests are complementary.
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
* @filesource
|
||||
*/
|
||||
// ------------------------------------------------------------------------
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
if (!defined("BASEPATH")) exit("No direct script access allowed");
|
||||
|
||||
class Studiengang2 extends APIv1_Controller
|
||||
{
|
||||
@@ -22,12 +22,12 @@ class Studiengang2 extends APIv1_Controller
|
||||
{
|
||||
parent::__construct();
|
||||
// Load model PersonModel
|
||||
$this->load->model('organisation/studiengang_model', 'StudiengangModel');
|
||||
$this->load->model("organisation/studiengang_model", "StudiengangModel");
|
||||
}
|
||||
|
||||
public function getStudiengang()
|
||||
{
|
||||
$studiengang_kz = $this->get('studiengang_kz');
|
||||
$studiengang_kz = $this->get("studiengang_kz");
|
||||
|
||||
if (isset($studiengang_kz))
|
||||
{
|
||||
@@ -48,37 +48,37 @@ class Studiengang2 extends APIv1_Controller
|
||||
|
||||
public function getStudiengangStudienplan()
|
||||
{
|
||||
$studiensemester_kurzbz = $this->get('studiensemester_kurzbz');
|
||||
$ausbildungssemester = $this->get('ausbildungssemester');
|
||||
$aktiv = $this->get('aktiv');
|
||||
$onlinebewerbung = $this->get('onlinebewerbung');
|
||||
$studiensemester_kurzbz = $this->get("studiensemester_kurzbz");
|
||||
$ausbildungssemester = $this->get("ausbildungssemester");
|
||||
$aktiv = $this->get("aktiv");
|
||||
$onlinebewerbung = $this->get("onlinebewerbung");
|
||||
|
||||
if (isset($studiensemester_kurzbz) && isset($ausbildungssemester))
|
||||
{
|
||||
$this->load->model('organisation/studienplan_model', 'StudienplanModel');
|
||||
$result = $this->StudienplanModel->addJoin('lehre.tbl_studienplan_semester', 'studienplan_id');
|
||||
$this->load->model("organisation/Studienplan_model", "StudienplanModel");
|
||||
$result = $this->StudienplanModel->addJoin("lehre.tbl_studienplan_semester", "studienplan_id");
|
||||
if ($result->error == EXIT_SUCCESS)
|
||||
{
|
||||
$result = $this->StudienplanModel->addJoin('lehre.tbl_studienordnung', 'studienordnung_id');
|
||||
$result = $this->StudienplanModel->addJoin("lehre.tbl_studienordnung", "studienordnung_id");
|
||||
if ($result->error == EXIT_SUCCESS)
|
||||
{
|
||||
$this->StudienplanModel->addSelect('tbl_studienplan.*, lehre.tbl_studienordnung.studiengang_kz');
|
||||
$this->StudienplanModel->addSelect("tbl_studienplan.*, lehre.tbl_studienordnung.studiengang_kz");
|
||||
|
||||
$this->StudienplanModel->addOrder('lehre.tbl_studienordnung.studiengang_kz');
|
||||
$this->StudienplanModel->addOrder("lehre.tbl_studienordnung.studiengang_kz");
|
||||
|
||||
if (!isset($aktiv)) $aktiv = 'TRUE';
|
||||
if (!isset($onlinebewerbung)) $onlinebewerbung = 'TRUE';
|
||||
if (!isset($aktiv)) $aktiv = "TRUE";
|
||||
if (!isset($onlinebewerbung)) $onlinebewerbung = "TRUE";
|
||||
|
||||
$resultStudienplan = $this->StudienplanModel->loadWhere(
|
||||
array('semester' => $ausbildungssemester,
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz)
|
||||
array("semester" => $ausbildungssemester,
|
||||
"studiensemester_kurzbz" => $studiensemester_kurzbz)
|
||||
);
|
||||
|
||||
if (is_object($resultStudienplan) && $resultStudienplan->error == EXIT_SUCCESS &&
|
||||
is_array($resultStudienplan->retval) && count($resultStudienplan->retval) > 0)
|
||||
{
|
||||
$studiengangCount = 0;
|
||||
$prevStudiengang_kz = '';
|
||||
$prevStudiengang_kz = "";
|
||||
$studiengangArray = array();
|
||||
|
||||
for ($i = 0; $i < count($resultStudienplan->retval); $i++)
|
||||
@@ -93,9 +93,9 @@ class Studiengang2 extends APIv1_Controller
|
||||
else
|
||||
{
|
||||
$resultStudiengang = $this->StudiengangModel->loadWhere(
|
||||
array('studiengang_kz' => $resultStudienplan->retval[$i]->studiengang_kz,
|
||||
'aktiv' => $aktiv,
|
||||
'onlinebewerbung' => $onlinebewerbung)
|
||||
array("studiengang_kz" => $resultStudienplan->retval[$i]->studiengang_kz,
|
||||
"aktiv" => $aktiv,
|
||||
"onlinebewerbung" => $onlinebewerbung)
|
||||
);
|
||||
|
||||
if (is_object($resultStudiengang) && $resultStudiengang->error == EXIT_SUCCESS &&
|
||||
@@ -121,4 +121,125 @@ class Studiengang2 extends APIv1_Controller
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
|
||||
private function _getStudienplaene($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester)
|
||||
{
|
||||
$studienplaene = null;
|
||||
|
||||
// Loading model for Studienplan
|
||||
$this->load->model("organisation/Studienplan_model", "StudienplanModel");
|
||||
|
||||
$result = $this->StudienplanModel->addJoin("lehre.tbl_studienplan_semester", "studienplan_id");
|
||||
if ($result->error == EXIT_SUCCESS)
|
||||
{
|
||||
$result = $this->StudienplanModel->addJoin("lehre.tbl_studienordnung", "studienordnung_id");
|
||||
if ($result->error == EXIT_SUCCESS)
|
||||
{
|
||||
$this->StudienplanModel->addSelect("tbl_studienplan.*, lehre.tbl_studienordnung.studiengang_kz");
|
||||
|
||||
$resultStudienplan = $this->StudienplanModel->loadWhere(array(
|
||||
"studiengang_kz" => $studiengang_kz,
|
||||
"semester" => $ausbildungssemester,
|
||||
"studiensemester_kurzbz" => $studiensemester_kurzbz
|
||||
));
|
||||
if (is_object($resultStudienplan) && $resultStudienplan->error == EXIT_SUCCESS &&
|
||||
is_array($resultStudienplan->retval))
|
||||
{
|
||||
$studienplaene = $resultStudienplan->retval;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $studienplaene;
|
||||
}
|
||||
|
||||
private function _getBewerbungstermine($studiengang_kz, $studiensemester_kurzbz)
|
||||
{
|
||||
$bewerbungstermine = null;
|
||||
|
||||
// Loading model for Bewerbungstermine
|
||||
$this->load->model("crm/bewerbungstermine_model", "BewerbungstermineModel");
|
||||
|
||||
$resultBewerbungstermine = $this->BewerbungstermineModel->loadWhere(array(
|
||||
"studiengang_kz" => $studiengang_kz,
|
||||
"studiensemester_kurzbz" => $studiensemester_kurzbz
|
||||
));
|
||||
if (is_object($resultBewerbungstermine) && $resultBewerbungstermine->error == EXIT_SUCCESS &&
|
||||
is_array($resultBewerbungstermine->retval))
|
||||
{
|
||||
$bewerbungstermine = $resultBewerbungstermine->retval;
|
||||
}
|
||||
|
||||
return $bewerbungstermine;
|
||||
}
|
||||
|
||||
private function _getReihungstests($studiengang_kz, $studiensemester_kurzbz)
|
||||
{
|
||||
$reihungstests = null;
|
||||
|
||||
// Loading model for Reihungstests
|
||||
$this->load->model("crm/reihungstest_model", "ReihungstestModel");
|
||||
|
||||
$resultReihungstests = $this->ReihungstestModel->loadWhere(array(
|
||||
"studiengang_kz" => $studiengang_kz,
|
||||
"studiensemester_kurzbz" => $studiensemester_kurzbz
|
||||
));
|
||||
if (is_object($resultReihungstests) && $resultReihungstests->error == EXIT_SUCCESS &&
|
||||
is_array($resultReihungstests->retval))
|
||||
{
|
||||
$reihungstests = $resultReihungstests->retval;
|
||||
}
|
||||
|
||||
return $reihungstests;
|
||||
}
|
||||
|
||||
public function getCompleteStudiengang()
|
||||
{
|
||||
$studiensemester_kurzbz = $this->get("studiensemester_kurzbz");
|
||||
$ausbildungssemester = $this->get("ausbildungssemester");
|
||||
$aktiv = $this->get("aktiv");
|
||||
$onlinebewerbung = $this->get("onlinebewerbung");
|
||||
|
||||
if (isset($studiensemester_kurzbz) && isset($ausbildungssemester))
|
||||
{
|
||||
if (!isset($aktiv)) $aktiv = "TRUE";
|
||||
if (!isset($onlinebewerbung)) $onlinebewerbung = "TRUE";
|
||||
|
||||
$resultStudiengang = $this->StudiengangModel->loadWhere(
|
||||
array("aktiv" => $aktiv,
|
||||
"onlinebewerbung" => $onlinebewerbung)
|
||||
);
|
||||
if (is_object($resultStudiengang) && $resultStudiengang->error == EXIT_SUCCESS &&
|
||||
is_array($resultStudiengang->retval))
|
||||
{
|
||||
for ($i = 0; $i < count($resultStudiengang->retval); $i++)
|
||||
{
|
||||
$studiengang_kz = $resultStudiengang->retval[$i]->studiengang_kz;
|
||||
|
||||
// Getting all studienplaene for this studiengang
|
||||
$resultStudiengang->retval[$i]->studienplaene = $this->_getStudienplaene(
|
||||
$studiengang_kz,
|
||||
$studiensemester_kurzbz,
|
||||
$ausbildungssemester
|
||||
);
|
||||
// Getting all bewerbungstermine for this studiengang
|
||||
$resultStudiengang->retval[$i]->bewerbungstermine = $this->_getBewerbungstermine(
|
||||
$studiengang_kz,
|
||||
$studiensemester_kurzbz
|
||||
);
|
||||
// Getting all reihungstests for this studiengang
|
||||
$resultStudiengang->retval[$i]->reihungstests = $this->_getReihungstests(
|
||||
$studiengang_kz,
|
||||
$studiensemester_kurzbz
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$this->response($resultStudiengang, REST_Controller::HTTP_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->response();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user