mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
This commit is contained in:
@@ -40,7 +40,7 @@ function generateUID($stgkzl,$jahr, $stgtyp, $matrikelnummer)
|
||||
$nr = $nr+500;
|
||||
elseif($art=='0' && $stgtyp=='m') //Incoming im Masterstudiengang
|
||||
$nr = $nr+500;
|
||||
|
||||
|
||||
|
||||
return $stgkzl.$jahr.($art!='0'?$stgtyp:'x').$nr;
|
||||
}
|
||||
@@ -51,7 +51,7 @@ function generateUID($stgkzl,$jahr, $stgtyp, $matrikelnummer)
|
||||
function generateMitarbeiterUID($conn, $vorname, $nachname, $lektor)
|
||||
{
|
||||
$bn = new benutzer($conn);
|
||||
|
||||
|
||||
for($nn=8,$vn=0;$nn!=0;$nn--,$vn++)
|
||||
{
|
||||
$uid = substr($nachname,0,$nn);
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* 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>,
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
@@ -75,7 +75,7 @@ $menu=array
|
||||
(
|
||||
'name'=>'Personen', 'opener'=>'true', 'hide'=>'true',
|
||||
'Suche'=>array('name'=>'Suche', 'link'=>'personen/suche.php', 'target'=>'main'),
|
||||
'Personen zusammenlegen'=>array('name'=>'Personen zusammenlegen', 'link'=>'stammdaten/personen_wartung.php', 'target'=>'main'),
|
||||
'Zusammenlegen'=>array('name'=>'Zusammenlegen', 'link'=>'stammdaten/personen_wartung.php', 'target'=>'main'),
|
||||
'Gruppen'=>array
|
||||
(
|
||||
'name'=>'Gruppen',
|
||||
|
||||
@@ -64,12 +64,12 @@ $stsemprevprev = $stsem->getBeforePrevious();
|
||||
|
||||
echo "Generiere Funktionen für $stsemprevprev/$stsemprev<br>";
|
||||
|
||||
$qry = "SELECT tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehrveranstaltung.studiengang_kz, sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semstd
|
||||
FROM lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
$qry = "SELECT tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehrveranstaltung.studiengang_kz, sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semstd
|
||||
FROM lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
(studiensemester_kurzbz='$stsemprev' OR studiensemester_kurzbz='$stsemprevprev') AND
|
||||
(studiensemester_kurzbz='$stsemprev' OR studiensemester_kurzbz='$stsemprevprev') AND
|
||||
bismelden=true AND tbl_lehreinheitmitarbeiter.semesterstunden>0 GROUP BY mitarbeiter_uid, studiengang_kz";
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
@@ -91,42 +91,42 @@ if($result = pg_query($conn, $qry))
|
||||
$person_error = true;
|
||||
$verwendung_not_found++;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if($row_verw = pg_fetch_object($result_verw))
|
||||
$verwendung_id = $row_verw->bisverwendung_id;
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<br>Fehler beim Holen der Verwendung von $row->mitarbeiter_uid";
|
||||
$person_error = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(pg_num_rows($result_verw)>1)
|
||||
{
|
||||
echo "<br>Es wurde mehr als eine Verwendung bei $row->mitarbeiter_uid gefunden - es wird die Verwendung $verwendung_id verwendet";
|
||||
$verwendung_multiple++;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<br>Fehler beim Ermitteln der Verwendung ".pg_last_error($conn);
|
||||
$person_error = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!$person_error)
|
||||
{
|
||||
//SWS berechnen
|
||||
$swsneu = round($row->semstd/$wochen, 2);
|
||||
|
||||
|
||||
//Funktion fuer diesen Studiengang suchen
|
||||
$bisfunktion = new bisfunktion($conn);
|
||||
|
||||
|
||||
if($bisfunktion->load($verwendung_id, $row->studiengang_kz))
|
||||
{
|
||||
$bisfunktion->new = false;
|
||||
|
||||
|
||||
if($bisfunktion->sws!=$swsneu)
|
||||
{
|
||||
echo "<br>$row->mitarbeiter_uid: Funktion bei Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) wird von $bisfunktion->sws auf $swsneu geaendert";
|
||||
@@ -134,7 +134,7 @@ if($result = pg_query($conn, $qry))
|
||||
$funktion_geaendert++;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$bisfunktion->insertamum = date('Y-m-d H:i:s');
|
||||
$bisfunktion->insertvon = $user;
|
||||
@@ -146,46 +146,46 @@ if($result = pg_query($conn, $qry))
|
||||
}
|
||||
$bisfunktion->updateamum = date('Y-m-d H:i:s');
|
||||
$bisfunktion->updatevon = $user;
|
||||
|
||||
|
||||
if(!$bisfunktion->save())
|
||||
{
|
||||
echo "<br>$row->mitarbeiter_uid: Fehler beim Anlegen der Funktion ".$bisfunktion->errormsg;
|
||||
if($bisfunktion->new)
|
||||
$funktion_hinzugefuegt--;
|
||||
else
|
||||
else
|
||||
$funktion_geaendert--;
|
||||
$funktion_error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo '<br><br>';
|
||||
echo '<b>Check fuer nicht benoetigte Funktionen</b>';
|
||||
$qry = "SELECT * FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
|
||||
$qry = "SELECT * FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
|
||||
WHERE (mitarbeiter_uid, studiengang_kz) NOT IN (
|
||||
SELECT mitarbeiter_uid, studiengang_kz
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
(tbl_lehreinheit.studiensemester_kurzbz='$stsemprev' OR tbl_lehreinheit.studiensemester_kurzbz='$stsemprevprev'))
|
||||
SELECT mitarbeiter_uid, studiengang_kz
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
(tbl_lehreinheit.studiensemester_kurzbz='$stsemprev' OR tbl_lehreinheit.studiensemester_kurzbz='$stsemprevprev'))
|
||||
AND (ende>'$lastbismeldung' OR ende is null)
|
||||
ORDER BY mitarbeiter_uid, studiengang_kz";
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
$funktion_ohne_lehrauftrag = pg_num_rows($result);
|
||||
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
echo "<br><b>$row->mitarbeiter_uid</b> hat im Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) eine Funktion ohne Lehrauftrag";
|
||||
}
|
||||
}
|
||||
echo "Loeschen der Funktionen mit: DELETE FROM bis.tbl_bisfunktion where (studiengang_kz, bisverwendung_id) in (SELECT studiengang_kz, bisverwendung_id FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
|
||||
echo "Loeschen der Funktionen mit: DELETE FROM bis.tbl_bisfunktion where (studiengang_kz, bisverwendung_id) in (SELECT studiengang_kz, bisverwendung_id FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
|
||||
WHERE (mitarbeiter_uid, studiengang_kz) NOT IN (
|
||||
SELECT mitarbeiter_uid, studiengang_kz
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
(tbl_lehreinheit.studiensemester_kurzbz='$stsemprevprev' OR tbl_lehreinheit.studiensemester_kurzbz='$stsemprev'))
|
||||
SELECT mitarbeiter_uid, studiengang_kz
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
(tbl_lehreinheit.studiensemester_kurzbz='$stsemprevprev' OR tbl_lehreinheit.studiensemester_kurzbz='$stsemprev'))
|
||||
AND (ende>'2006-11-15' OR ende is null))";
|
||||
echo '<br><br>';
|
||||
echo '<h3>Uebersicht</h3>';
|
||||
|
||||
@@ -53,7 +53,7 @@ $rechte->getBerechtigungen($user);
|
||||
<?php
|
||||
if(!$rechte->isBerechtigt('mitarbeiter') && !$rechte->isBerechtigt('admin'))
|
||||
die('Sie haben nicht die erforderlichen Rechte zum Importieren der Personaldaten');
|
||||
|
||||
|
||||
$anzahl_personen_gesamt=0;
|
||||
$anzahl_verwendungen_gesamt=0;
|
||||
$anzahl_funktionen_gesamt=0;
|
||||
@@ -64,9 +64,9 @@ $anzahl_funktionen_insert=0;
|
||||
|
||||
function getValue($obj)
|
||||
{
|
||||
foreach ($obj as $row)
|
||||
foreach ($obj as $row)
|
||||
{
|
||||
return $row->nodeValue;
|
||||
return $row->nodeValue;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,20 +76,20 @@ if(isset($_POST['submitfile']))
|
||||
{
|
||||
$filename = $_FILES['datei']['tmp_name'];
|
||||
//File oeffnen
|
||||
|
||||
|
||||
$doc = new DOMDocument;
|
||||
if(!$doc->load($filename))
|
||||
die('XML konnte nicht geladen werden');
|
||||
|
||||
|
||||
$personen = $doc->getElementsByTagName('Person');
|
||||
|
||||
|
||||
foreach ($personen as $person)
|
||||
{
|
||||
//Personalnummer ermitteln
|
||||
$persnr = $person->getElementsByTagName('PersonalNummer');
|
||||
$habilitation = $person->getElementsByTagName('Habilitation');
|
||||
$personalnummer = (int)getValue($persnr);
|
||||
|
||||
|
||||
$anzahl_personen_gesamt++;
|
||||
//Mitarbeiter mit dieser Personalnummer holen
|
||||
$qry = "SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE personalnummer='$personalnummer'";
|
||||
@@ -99,7 +99,7 @@ if(isset($_POST['submitfile']))
|
||||
{
|
||||
$mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<br>Mitarbeiter mit der Personalnummer $personalnummer wurde nicht gefunden.";
|
||||
$anzahl_personen_failed++;
|
||||
@@ -112,10 +112,10 @@ if(isset($_POST['submitfile']))
|
||||
echo "<br>Fehlerhafte qry:".$qry;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
//Verwendungen durchgehen
|
||||
$verwendungen = $person->getElementsByTagName('Verwendung');
|
||||
|
||||
|
||||
foreach ($verwendungen as $verwendung)
|
||||
{
|
||||
$beschart1 = getValue($verwendung->getElementsByTagName('BeschaeftigungsArt1'));
|
||||
@@ -123,14 +123,14 @@ if(isset($_POST['submitfile']))
|
||||
$ausmass = getValue($verwendung->getElementsByTagName('BeschaeftigungsAusmass'));
|
||||
$verwendungscode = getValue($verwendung->getElementsByTagName('VerwendungsCode'));
|
||||
$anzahl_verwendungen_gesamt++;
|
||||
|
||||
|
||||
//Verwendung in der Datenbank suchen
|
||||
$qry = "SELECT bisverwendung_id FROM bis.tbl_bisverwendung
|
||||
WHERE
|
||||
ba1code='$beschart1' AND
|
||||
ba2code='$beschart2' AND
|
||||
beschausmasscode='$ausmass' AND
|
||||
verwendung_code='$verwendungscode' AND
|
||||
$qry = "SELECT bisverwendung_id FROM bis.tbl_bisverwendung
|
||||
WHERE
|
||||
ba1code='$beschart1' AND
|
||||
ba2code='$beschart2' AND
|
||||
beschausmasscode='$ausmass' AND
|
||||
verwendung_code='$verwendungscode' AND
|
||||
mitarbeiter_uid='$mitarbeiter_uid'
|
||||
ORDER BY beginn DESC LIMIT 1";
|
||||
if($result = pg_query($conn, $qry))
|
||||
@@ -139,7 +139,7 @@ if(isset($_POST['submitfile']))
|
||||
{
|
||||
$bisverwendung_id = $row->bisverwendung_id;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Wenn eine verwendung vorhanden ist, dann ueberspringen
|
||||
$qry = "SELECT count(*) as anzahl FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid='$mitarbeiter_uid'";
|
||||
@@ -155,7 +155,7 @@ if(isset($_POST['submitfile']))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Wenn keine Verwendung vorhanden ist, dann diese anlegen
|
||||
$bisverwendung = new bisverwendung($conn);
|
||||
$bisverwendung->ba1code = $beschart1;
|
||||
@@ -176,30 +176,30 @@ if(isset($_POST['submitfile']))
|
||||
$bisverwendung->updatevon = 'bisimport';
|
||||
$bisverwendung->insertamum = date('Y-m-d H:i:s');
|
||||
$bisverwendung->insertvon = 'bisimport';
|
||||
|
||||
|
||||
if($bisverwendung->save(true))
|
||||
{
|
||||
echo "<br>$mitarbeiter_uid: BisVerwendung (ba1code: $beschart1, ba2code: $beschart2, ausmass: $ausmass, verwendungscode: $verwendungscode) wurde neu angelegt";
|
||||
echo "<br>$mitarbeiter_uid: BisVerwendung (ba1code: $beschart1, ba2code: $beschart2, ausmass: $ausmass, verwendungscode: $verwendungscode) wurde neu angelegt";
|
||||
$bisverwendung_id = $bisverwendung->bisverwendung_id;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<br>$mitarbeiter_uid: BisVerwendung (ba1code: $beschart1, ba2code: $beschart2, ausmass: $ausmass, verwendungscode: $verwendungscode) konnte nicht angelegt werden: $bisverwendung->errormsg";
|
||||
$anzahl_verwendungen_failed++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$anzahl_verwendungen_failed++;
|
||||
echo "<br>Fehlerhafte qry:".$qry;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
//Funktionen
|
||||
$funktionen = $verwendung->getElementsByTagName('Funktion');
|
||||
|
||||
|
||||
foreach ($funktionen as $funktion)
|
||||
{
|
||||
$stgkz = (int)getValue($funktion->getElementsByTagName('StgKz'));
|
||||
@@ -214,21 +214,21 @@ if(isset($_POST['submitfile']))
|
||||
{
|
||||
if($row->sws!=$sws)
|
||||
{
|
||||
$qry = "UPDATE bis.tbl_bisfunktion
|
||||
SET sws='$sws', updateamum=now(), updatevon='$user'
|
||||
$qry = "UPDATE bis.tbl_bisfunktion
|
||||
SET sws='$sws', updateamum=now(), updatevon='$user'
|
||||
WHERE bisverwendung_id='$bisverwendung_id' AND studiengang_kz='$stgkz'";
|
||||
if(pg_query($conn, $qry))
|
||||
{
|
||||
echo "<br>$mitarbeiter_uid: SWS der Funktion (id: $bisverwendung_id, stg: $stgkz) wurde von $row->sws auf $sws geaendert";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$anzahl_funktionen_failed++;
|
||||
echo "<br>Fehler bei qry:".$qry;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$qry = "INSERT INTO bis.tbl_bisfunktion(bisverwendung_id, studiengang_kz, sws, updateamum, updatevon, insertamum, insertvon)
|
||||
VALUES('$bisverwendung_id','$stgkz','$sws',null, null, now(),'$user');";
|
||||
@@ -237,14 +237,14 @@ if(isset($_POST['submitfile']))
|
||||
$anzahl_funktionen_insert++;
|
||||
echo "<br>$mitarbeiter_uid: Neue Funktion wurde angelegt (id: $bisverwendung_id, stg: $stgkz, sws: $sws)";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<br>$mitarbeiter_uid: Fehler beim Anlegen der Funktion: $qry";
|
||||
$anzahl_funktionen_failed++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$anzahl_funktionen_failed++;
|
||||
echo "<br>Fehlerhafte qry:".$qry;
|
||||
@@ -252,7 +252,7 @@ if(isset($_POST['submitfile']))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo '<br><br> ------------------- ';
|
||||
echo "<br>Anzahl der Personen im XML-File: $anzahl_personen_gesamt";
|
||||
echo "<br>Anzahl der Verwendungen im XML-File: $anzahl_verwendungen_gesamt";
|
||||
@@ -261,10 +261,10 @@ if(isset($_POST['submitfile']))
|
||||
echo "<br>Anzahl der Verwendungen die nicht gefunden wurden: $anzahl_verwendungen_failed";
|
||||
echo "<br>Anzahl der Fehler bei Funktionen: $anzahl_funktionen_failed";
|
||||
echo "<br>Anzahl der eingefuegten Funktionen: $anzahl_funktionen_insert";
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Formular zum Hochladen der XML Datei
|
||||
echo " <form method='POST' enctype='multipart/form-data' action='".$_SERVER['PHP_SELF']."'>
|
||||
|
||||
@@ -211,10 +211,10 @@ if($result = pg_query($conn, $qry))
|
||||
{
|
||||
$error_log.=", Hauptberuf ('".$rowvw->hauptberufcode."')";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$error_log="Hauptberuf ('".$rowvw->hauptberufcode."')";
|
||||
}
|
||||
}
|
||||
}
|
||||
if($rowvw->ba1code==3)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user