Added method getStudiengangStudienplan to controller Studiengang

This commit is contained in:
paolo
2016-07-19 15:32:14 +02:00
parent ad1ada800c
commit e580df583a
@@ -23,8 +23,6 @@ class Studiengang2 extends APIv1_Controller
parent::__construct();
// Load model PersonModel
$this->load->model('organisation/studiengang_model', 'StudiengangModel');
}
public function getStudiengang()
@@ -47,4 +45,67 @@ class Studiengang2 extends APIv1_Controller
{
$this->response($this->StudiengangModel->getAllForBewerbung(), REST_Controller::HTTP_OK);
}
public function getStudiengangStudienplan()
{
$studiensemester_kurzbz = $this->get('studiensemester_kurzbz');
$ausbildungssemester = $this->get('ausbildungssemester');
if (isset($studiensemester_kurzbz) && isset($ausbildungssemester))
{
$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');
$this->StudienplanModel->addOrder('lehre.tbl_studienordnung.studiengang_kz');
$resultStudienplan = $this->StudienplanModel->loadWhere(
array('semester' => $ausbildungssemester,
'studiensemester_kurzbz' => $studiensemester_kurzbz,
'tbl_studienplan.aktiv' => 'TRUE')
);
if (is_object($resultStudienplan) && $resultStudienplan->error == EXIT_SUCCESS &&
is_array($resultStudienplan->retval) && count($resultStudienplan->retval) > 0)
{
$studiengangCount = 0;
$prevStudiengang_kz = '';
$studiengangArray = array();
for ($i = 0; $i < count($resultStudienplan->retval); $i++)
{
if ($prevStudiengang_kz == $resultStudienplan->retval[$i]->studiengang_kz)
{
array_push($studiengangArray[$studiengangCount - 1]->studienpleane, $resultStudienplan->retval[$i]);
}
else
{
$resultStudiengang = $this->StudiengangModel->load($resultStudienplan->retval[$i]->studiengang_kz);
if (is_object($resultStudiengang) && $resultStudiengang->error == EXIT_SUCCESS &&
is_array($resultStudiengang->retval) && count($resultStudiengang->retval) > 0)
{
$resultStudiengang->retval[0]->studienpleane = array($resultStudienplan->retval[$i]);
$studiengangArray[$studiengangCount++] = $resultStudiengang->retval[0];
}
$prevStudiengang_kz = $resultStudienplan->retval[$i]->studiengang_kz;
}
}
$result = $this->_success($studiengangArray);
}
}
}
$this->response($result, REST_Controller::HTTP_OK);
}
else
{
$this->response();
}
}
}