mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
- added hasSequence in models to avoid sequenceerrors
- added getByDate, generateMatrikelnummer methods
This commit is contained in:
@@ -9,6 +9,40 @@ class Student_model extends DB_Model
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = 'public.tbl_student';
|
||||
$this->pk = 'student_uid';
|
||||
$this->pk = array('student_uid');
|
||||
$this->hasSequence = false;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Generiert die Matrikelnummer
|
||||
// * FORMAT: 0710254001
|
||||
// * 07 = Jahr
|
||||
// * 1/2/0 = WS/SS/incoming
|
||||
// * 0254 = Studiengangskennzahl vierstellig
|
||||
// * 001 = Laufende Nummer
|
||||
// ****
|
||||
public function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
|
||||
{
|
||||
$jahr = mb_substr($studiensemester_kurzbz, 4);
|
||||
$sem = mb_substr($studiensemester_kurzbz, 0, 2);
|
||||
if ($sem == 'SS')
|
||||
$jahr = $jahr - 1;
|
||||
$art = 0;
|
||||
|
||||
$matrikelnummer = sprintf("%02d", $jahr).$art.sprintf("%04d", $studiengang_kz);
|
||||
|
||||
$qry = "SELECT matrikelnr FROM public.tbl_student WHERE matrikelnr LIKE ? ORDER BY matrikelnr DESC LIMIT 1";
|
||||
|
||||
$matrikelnrres = $this->execQuery($qry, array($matrikelnummer.'%'));
|
||||
|
||||
if (hasData($matrikelnrres))
|
||||
{
|
||||
$max = mb_substr($matrikelnrres->retval[0]->matrikelnr, 7);
|
||||
}
|
||||
else
|
||||
$max = 0;
|
||||
|
||||
$max += 1;
|
||||
return $matrikelnummer.sprintf("%03d", $max);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,5 +10,6 @@ class Studentlehrverband_model extends DB_Model
|
||||
parent::__construct();
|
||||
$this->dbTable = 'public.tbl_studentlehrverband';
|
||||
$this->pk = array('studiensemester_kurzbz', 'student_uid');
|
||||
$this->hasSequence = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,4 +119,26 @@ class Studiensemester_model extends DB_Model
|
||||
|
||||
return $this->execQuery($query, array($studiensemester_kurzbz, $studiengang_kz));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all Studiensemester between two dates
|
||||
* @param $from
|
||||
* @param $to
|
||||
* @return array|null
|
||||
*/
|
||||
public function getByDate($from, $to)
|
||||
{
|
||||
if (date_format(date_create($from), 'Y-m-d') > (date_format(date_create($to), 'Y-m-d')))
|
||||
return success(array());
|
||||
|
||||
$query = "SELECT *
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE
|
||||
(ende > ?::date AND start < ?::date)
|
||||
OR start = ?::date
|
||||
OR ende = ?::date
|
||||
ORDER BY start DESC";
|
||||
|
||||
return $this->execQuery($query, array($from, $to, $from, $to));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,8 @@ class Benutzer_model extends DB_Model
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = 'public.tbl_benutzer';
|
||||
$this->pk = 'uid';
|
||||
$this->pk = array('uid');
|
||||
$this->hasSequence = false;
|
||||
}
|
||||
|
||||
public function getFromPersonId($person_id)
|
||||
|
||||
Reference in New Issue
Block a user