dbTable = 'public.tbl_student'; $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); } }