From 0e5e6866690cdeb41a2e626a93bb880c37d7ce06 Mon Sep 17 00:00:00 2001 From: FHBGLD <33415881+FHBGLD@users.noreply.github.com> Date: Thu, 14 Oct 2021 14:33:55 +0200 Subject: [PATCH] =?UTF-8?q?=C3=84nderungen=20bez=C3=BCglich=20generateMatr?= =?UTF-8?q?ikelnummer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hallo liebes Technikum Team, wie besprochen die Änderungen bezüglich generateMatrikelnummer. Als erstes die Erweiterung der Unterscheidung von Lehrgang und Studiengang. Weiters die Aufteilung von unseren AO Studiengängen zwischen 90010 bis 90019. Hoffe das dies für alle FH's so passt. Bitte um check ob dieser Code so übernommen werden kann. Danke und liebe Grüße Thomas und Michael --- content/student/studentDBDML.php | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index e411dbaad..31da28b8a 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -109,12 +109,23 @@ if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$r function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz) { $db = new basis_db(); - + + + $studiengang_details = new studiengang(); + $studiengang_details->load($studiengang_kz); + + if (!isset($studiengang_details->studiengang_kz)) { + //wenn es diesen Studiengang nicht gibt (übergabeparamter falsch) + //wie müsste hier ein error handle gemacht werden? + } + $jahr = substr($studiensemester_kurzbz, 4); $art = substr($studiensemester_kurzbz, 0, 2); - if($studiengang_kz<0) - { + if( ($studiengang_kz < 0) + || ( isset($studiengang_details->typ) + && ($studiengang_details->typ == 'l')) + ) { $studiengang_kz=abs($studiengang_kz); //Lehrgang switch($art) @@ -136,8 +147,16 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz) } if($art=='2' || $art=='4') $jahr = $jahr-1; - $matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz); - + + + //FH-Burgenland - weil leider die AO Studiengänge aufgeteilt sind (AO sind normal 9+erhalter Nummer, matrikelnr/personenkz wird auch im DVUH Extension berücksichtigt) + if ($studiengang_kz >= 90010 && $studiengang_kz <= 90019) { + $matrikelnummer = sprintf("%02d",$jahr).$art.substr($studiengang_kz, 0, 4); + } else { + $matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz); + } + + $qry = null; $qry = "SELECT matrikelnr FROM public.tbl_student WHERE matrikelnr LIKE '$matrikelnummer%' ORDER BY matrikelnr DESC LIMIT 1"; if($result = $db->db_query($qry))