mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-16 22:42:16 +00:00
tbl_student changes for vilesci/personen
This commit is contained in:
@@ -16,11 +16,13 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/person.class.php');
|
||||
require_once(dirname(__FILE__).'/log.class.php');
|
||||
require_once(dirname(__FILE__).'/studiensemester.class.php');
|
||||
|
||||
class prestudent extends person
|
||||
{
|
||||
@@ -1801,4 +1803,25 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den studentlehrverband des Prestudenten im aktuellen oder nächsten Semester
|
||||
* @return Objekt mit gruppe, verband und semester
|
||||
*/
|
||||
public function getStudentLehrverband()
|
||||
{
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester_kurzbz = $studiensemester->getaktorNext();
|
||||
|
||||
$qry_sem = "SELECT gruppe, verband, semester from tbl_studentlehrverband WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." AND prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER);
|
||||
if(!$res_sem = $this->db_query($qry_sem))
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
|
||||
if($this->db_num_rows($res_sem) == 1)
|
||||
{
|
||||
$row_sem = $this->db_fetch_object($res_sem);
|
||||
return $row_sem;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -526,13 +526,13 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
|
||||
|
||||
$matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz);
|
||||
|
||||
$qry = "SELECT matrikelnr FROM public.tbl_student WHERE matrikelnr LIKE '$matrikelnummer%' ORDER BY matrikelnr DESC LIMIT 1";
|
||||
$qry = "SELECT perskz FROM public.tbl_prestudent WHERE perskz LIKE '$matrikelnummer%' ORDER BY perskz DESC LIMIT 1";
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object())
|
||||
{
|
||||
$max = mb_substr($row->matrikelnr,7);
|
||||
$max = mb_substr($row->perskz,7);
|
||||
}
|
||||
else
|
||||
$max = 0;
|
||||
|
||||
@@ -293,7 +293,7 @@ if($method!='')
|
||||
$error=true;
|
||||
$errormsg = $prestudent->errormsg;
|
||||
}
|
||||
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
//Prestudent Rolle Anlegen
|
||||
@@ -322,15 +322,15 @@ if($method!='')
|
||||
if(!$error)
|
||||
{
|
||||
//Matrikelnummer und UID generieren
|
||||
$matrikelnr = generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz);
|
||||
$perskz = generatePerskz($studiengang_kz, $studiensemester_kurzbz);
|
||||
|
||||
$jahr = mb_substr($matrikelnr,0, 2);
|
||||
$stg = mb_substr($matrikelnr, 3, 4);
|
||||
$jahr = mb_substr($perskz,0, 2);
|
||||
$stg = mb_substr($perskz, 3, 4);
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->load(ltrim($stg,'0'));
|
||||
|
||||
$uid = generateUID($stg_obj->kurzbz,$jahr, $stg_obj->typ, $matrikelnr);
|
||||
$uid = generateUID($stg_obj->kurzbz,$jahr, $stg_obj->typ, $perskz);
|
||||
|
||||
//Benutzerdatensatz anlegen
|
||||
$benutzer = new benutzer();
|
||||
@@ -364,7 +364,7 @@ if($method!='')
|
||||
//Studentendatensatz anlegen
|
||||
$student = new student();
|
||||
$student->uid = $uid;
|
||||
$student->matrikelnr = $matrikelnr;
|
||||
$student->perskz = $perskz;
|
||||
$student->prestudent_id = $prestudent->prestudent_id;
|
||||
$student->studiengang_kz = $studiengang_kz;
|
||||
$student->semester = '0';
|
||||
@@ -1113,15 +1113,15 @@ function print_lehrveranstaltungen()
|
||||
|
||||
|
||||
// ****
|
||||
// * Generiert die Matrikelnummer
|
||||
// * Generiert die Personenkennzeichen
|
||||
// * FORMAT: 0710254001
|
||||
// * 07 = Jahr
|
||||
// * 1/2/0 = WS/SS/incoming
|
||||
// * 0254 = Studiengangskennzahl vierstellig
|
||||
// * 001 = Laufende Nummer
|
||||
// ****
|
||||
function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
|
||||
{
|
||||
function generatePerskz($studiengang_kz, $studiensemester_kurzbz)
|
||||
{
|
||||
$db = new basis_db();
|
||||
|
||||
$jahr = mb_substr($studiensemester_kurzbz, 4);
|
||||
@@ -1130,21 +1130,21 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
|
||||
$jahr = $jahr-1;
|
||||
$art =0;
|
||||
|
||||
$matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz);
|
||||
$perskz = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz);
|
||||
|
||||
$qry = "SELECT matrikelnr FROM public.tbl_student WHERE matrikelnr LIKE '".$db->db_escape($matrikelnummer)."%' ORDER BY matrikelnr DESC LIMIT 1";
|
||||
$qry = "SELECT perskz FROM public.tbl_prestudent WHERE perskz LIKE '".$db->db_escape($perskz)."%' ORDER BY perskz DESC LIMIT 1";
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object())
|
||||
{
|
||||
$max = mb_substr($row->matrikelnr,7);
|
||||
$max = mb_substr($row->perskz,7);
|
||||
}
|
||||
else
|
||||
$max = 0;
|
||||
|
||||
$max += 1;
|
||||
return $matrikelnummer.sprintf("%03d",$max);
|
||||
return $perskz.sprintf("%03d",$max);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -302,4 +302,4 @@ if($method=="lehrveranstaltungen")
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -15,10 +15,11 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger < christian.paminger@technikum-wien.at >
|
||||
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
* Authors: Christian Paminger < christian.paminger@technikum-wien.at >,
|
||||
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >,
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >,
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > and
|
||||
* Andreas moik < moik@technikum-wien.at >.
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
@@ -33,6 +34,7 @@ require_once('../../include/adresse.class.php');
|
||||
require_once('../../include/nation.class.php');
|
||||
require_once('../../include/firma.class.php');
|
||||
require_once('../../include/preincoming.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
@@ -270,32 +272,26 @@ if(count($prestudent->result)>0)
|
||||
</thead><tbody>';
|
||||
foreach ($prestudent->result as $row)
|
||||
{
|
||||
$uid='';
|
||||
$gruppe='';
|
||||
|
||||
$pst = new prestudent($row->prestudent_id);
|
||||
|
||||
$uid = $pst->uid;
|
||||
if($vrb = $pst->getStudentLehrverband())
|
||||
$gruppe = $vrb->semester.$vrb->verband.$vrb->gruppe;
|
||||
|
||||
echo '<tr>';
|
||||
echo "<td>$row->prestudent_id</td>";
|
||||
echo "<td>".$studiengang->kuerzel_arr[$row->studiengang_kz]."</td>";
|
||||
echo "<td>".($row->reihungstestangetreten?'Ja':'Nein')."</td>";
|
||||
$uid='';
|
||||
$gruppe='';
|
||||
$qry ="SELECT * FROM public.tbl_student WHERE prestudent_id='$row->prestudent_id'";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>1)
|
||||
{
|
||||
$uid='ACHTUNG: Es gibt mehrere Studenteneinträge die auf diesen Prestudenten zeigen!';
|
||||
}
|
||||
else
|
||||
{
|
||||
if($row_std = $db->db_fetch_object($result))
|
||||
{
|
||||
$uid = $row_std->student_uid;
|
||||
$gruppe = $row_std->semester.$row_std->verband.$row_std->gruppe;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo "<td>$uid</td>";
|
||||
echo "<td>$gruppe</td>";
|
||||
$prestudent1 = new prestudent();
|
||||
$prestudent1->getLastStatus($row->prestudent_id);
|
||||
$prestudent1->getLastStatus($row->prestudent_id);
|
||||
echo "<td>$prestudent1->status_kurzbz ".($prestudent1->ausbildungssemester!=''?"($prestudent1->ausbildungssemester. Semester)":'')."</td>";
|
||||
echo '</tr>';
|
||||
}
|
||||
@@ -307,7 +303,7 @@ if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
{
|
||||
echo '<br><h2>Mitarbeiter</h2>';
|
||||
echo '<br><h2>Mitarbeiter</h2>';
|
||||
echo '<table class="liste table-autosort:0 table-stripeclass:alternate table-autostripe">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -333,4 +329,4 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
echo '</body>';
|
||||
echo '</html>';
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
* Authors: Christian Paminger < christian.paminger@technikum-wien.at >
|
||||
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
@@ -32,6 +33,7 @@ require_once('../../include/prestudent.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/authentication.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -188,9 +190,9 @@ if($searchstr!='')
|
||||
}
|
||||
|
||||
$qry = "SELECT *, tbl_benutzer.updateamum as bnupdateamum, tbl_benutzer.updatevon as bnupdatevon,
|
||||
tbl_student.updateamum as supdateamum, tbl_student.updatevon as supdatevon
|
||||
FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid)
|
||||
WHERE person_id=".$db->db_add_param($row->person_id, FHC_INTEGER);
|
||||
tbl_prestudent.updateamum as supdateamum, tbl_prestudent.updatevon as supdatevon
|
||||
FROM public.tbl_prestudent JOIN public.tbl_benutzer USING(uid)
|
||||
WHERE tbl_benutzer.person_id=".$db->db_add_param($row->person_id, FHC_INTEGER);
|
||||
if($result_student = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result_student))
|
||||
@@ -198,9 +200,20 @@ if($searchstr!='')
|
||||
|
||||
while($row_student = $db->db_fetch_object($result_student))
|
||||
{
|
||||
$student = new prestudent();
|
||||
$stsem = new studiensemester();
|
||||
$stsem_kurzbz = $stsem->getaktorNext();
|
||||
$qry_sem = "SELECT gruppe, verband, semester from tbl_studentlehrverband WHERE studiensemester_kurzbz=".$db->db_add_param($stsem_kurzbz);
|
||||
if(!$res_sem = $db->db_query($qry_sem))
|
||||
die("Fehler beim holen des Lehrverbandes");
|
||||
|
||||
|
||||
$gruppe='';
|
||||
$student = new prestudent();var_dump($row_student->prestudent_id);
|
||||
$student->getLastStatus($row_student->prestudent_id);
|
||||
|
||||
if($vrb = $student->getStudentLehrverband())
|
||||
$gruppe = $vrb->semester.$vrb->verband.$vrb->gruppe;
|
||||
|
||||
$content.= '<tr>';
|
||||
$content.= '<td></td>';
|
||||
$content.= '<td></td>';
|
||||
@@ -225,7 +238,7 @@ if($searchstr!='')
|
||||
$content.= "<td></td>";
|
||||
$content.= "<td></td>";
|
||||
$content.= "<td>".$stg_arr[$row_student->studiengang_kz]."</td>";
|
||||
$content.= "<td>$row_student->semester$row_student->verband$row_student->gruppe</td>";
|
||||
$content.= "<td>$gruppe</td>";
|
||||
$content.= "<td>".($row_student->supdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_student->supdateamum)):'')."</td>";
|
||||
$content.= "<td>$row_student->supdatevon</td>";
|
||||
$content.= '</tr>';
|
||||
|
||||
@@ -50,26 +50,26 @@ else
|
||||
|
||||
// Neue Zutrittskarten
|
||||
/*$sql_query="SELECT svnr,vorname,nachname,nummerintern,nummer,
|
||||
max(tbl_benutzer.uid) AS uid, max(matrikelnr) AS matrikelnr, max(kurzbzlang) AS stg_kurzbzlang,
|
||||
max(tbl_benutzer.uid) AS uid, max(perskz) AS perskz, max(kurzbzlang) AS stg_kurzbzlang,
|
||||
upper(max(typ) || max(kurzbz)) AS stg_kurzbz,
|
||||
EXTRACT(DAY FROM vw_betriebsmittelperson.insertamum) AS tag,
|
||||
EXTRACT(MONTH FROM vw_betriebsmittelperson.insertamum) AS monat,
|
||||
EXTRACT(YEAR FROM vw_betriebsmittelperson.insertamum) AS jahr
|
||||
FROM public.vw_betriebsmittelperson
|
||||
LEFT OUTER JOIN (public.tbl_benutzer JOIN public.tbl_student ON (uid=student_uid)
|
||||
LEFT OUTER JOIN (public.tbl_benutzer JOIN public.tbl_prestudent USING(uid)
|
||||
JOIN public.tbl_studiengang USING (studiengang_kz))
|
||||
USING (person_id)
|
||||
WHERE betriebsmitteltyp='Zutrittskarte' AND nummer NOT IN (SELECT physaswnumber FROM sync.tbl_zutrittskarte)
|
||||
GROUP BY svnr,vorname,nachname,nummerintern,nummer, vw_betriebsmittelperson.insertamum;";
|
||||
*/
|
||||
|
||||
$sql_query="SELECT svnr,vorname,nachname,nummerintern,nummer, uid, matrikelnr, kurzbzlang AS stg_kurzbzlang,
|
||||
$sql_query="SELECT svnr,vorname,nachname,nummerintern,nummer, uid, perskz, kurzbzlang AS stg_kurzbzlang,
|
||||
upper(typ)||upper(kurzbz) AS stg_kurzbz,
|
||||
EXTRACT(DAY FROM vw_betriebsmittelperson.insertamum) AS tag,
|
||||
EXTRACT(MONTH FROM vw_betriebsmittelperson.insertamum) AS monat,
|
||||
EXTRACT(YEAR FROM vw_betriebsmittelperson.insertamum) AS jahr
|
||||
FROM public.vw_betriebsmittelperson
|
||||
LEFT OUTER JOIN (public.tbl_student JOIN public.tbl_studiengang USING (studiengang_kz)) ON (uid=student_uid)
|
||||
LEFT OUTER JOIN (public.tbl_prestudent JOIN public.tbl_studiengang USING (studiengang_kz)) USING(uid)
|
||||
WHERE betriebsmitteltyp='Zutrittskarte' AND benutzer_aktiv AND retouram IS NULL
|
||||
AND nummer NOT IN (SELECT physaswnumber FROM sync.tbl_zutrittskarte);";
|
||||
//echo $sql_query;
|
||||
@@ -77,13 +77,13 @@ if(!$result_neu=$db->db_query($sql_query))
|
||||
die($db->db_last_error().'<BR>'.$sql_query);
|
||||
|
||||
// Updates von Zutrittskarten
|
||||
$sql_query="SELECT svnr,vorname,nachname,nummerintern,nummer,firstname,name,key, uid, matrikelnr,
|
||||
$sql_query="SELECT svnr,vorname,nachname,nummerintern,nummer,firstname,name,key, uid, perskz,
|
||||
kurzbzlang AS stg_kurzbzlang, upper(typ)||upper(kurzbz) AS stg_kurzbz, text1,pin,
|
||||
EXTRACT(DAY FROM vw_betriebsmittelperson.insertamum) AS tag,
|
||||
EXTRACT(MONTH FROM vw_betriebsmittelperson.insertamum) AS monat,
|
||||
EXTRACT(YEAR FROM vw_betriebsmittelperson.insertamum) AS jahr
|
||||
FROM public.vw_betriebsmittelperson
|
||||
LEFT OUTER JOIN (public.tbl_student JOIN public.tbl_studiengang USING (studiengang_kz)) ON (uid=student_uid)
|
||||
LEFT OUTER JOIN (public.tbl_prestudent JOIN public.tbl_studiengang USING (studiengang_kz)) USING(uid)
|
||||
JOIN sync.tbl_zutrittskarte ON (physaswnumber=nummer)
|
||||
WHERE benutzer_aktiv AND retouram IS NULL
|
||||
AND (trim(vw_betriebsmittelperson.nachname)!=trim(tbl_zutrittskarte.name)
|
||||
@@ -168,7 +168,7 @@ while ($row=$db->db_fetch_object($result_neu))
|
||||
$worksheet->write($z,7, $row->tag.'.'.$row->monat.'.'.$row->jahr);
|
||||
$worksheet->write($z,8, $row->tag.'.'.$row->monat.'.'.($row->jahr+5));
|
||||
$worksheet->write($z,9, $row->uid);
|
||||
$worksheet->write($z,10,$row->matrikelnr);
|
||||
$worksheet->write($z,10,$row->perskz);
|
||||
$worksheet->write($z,11,'');
|
||||
$worksheet->write($z,12,'');
|
||||
$worksheet->write($z,13,'');
|
||||
@@ -195,7 +195,7 @@ while ($row=$db->db_fetch_object($result_upd))
|
||||
$worksheet->write($z,7, $row->tag.'.'.$row->monat.'.'.$row->jahr);
|
||||
$worksheet->write($z,8, $row->tag.'.'.$row->monat.'.'.($row->jahr+5));
|
||||
$worksheet->write($z,9, $row->uid);
|
||||
$worksheet->write($z,10,$row->matrikelnr);
|
||||
$worksheet->write($z,10,$row->perskz);
|
||||
$worksheet->write($z,11,'');
|
||||
$worksheet->write($z,12,$row->text1);
|
||||
$worksheet->write($z,13,$row->name);
|
||||
@@ -230,4 +230,4 @@ while ($row=$db->db_fetch_object($result_del))
|
||||
}
|
||||
|
||||
$workbook->close();
|
||||
?>
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user