This commit is contained in:
Andreas Österreicher
2007-09-14 13:56:02 +00:00
parent c7326abcd2
commit 4cdda9b08a
13 changed files with 347 additions and 41 deletions
+9 -9
View File
@@ -68,23 +68,23 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
ondragexit="nsDragAndDrop.dragExit(event,verbandtreeDDObserver)"
>
<treecols>
<treecol id="bez" label="Bezeichnung" flex="15" primary="true" />
<treecol id="bez" label="Bezeichnung" persist="hidden, width, ordinal" flex="15" primary="true" />
<splitter class="tree-splitter"/>
<treecol id="stg" label="STG" flex="2" hidden="true"/>
<treecol id="stg" label="STG" flex="2" persist="hidden, width, ordinal" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="stg_kz" label="KZ" flex="2" hidden="true"/>
<treecol id="stg_kz" label="KZ" flex="2" persist="hidden, width, ordinal" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="sem" label="Sem" flex="1" hidden="true"/>
<treecol id="sem" label="Sem" flex="1" persist="hidden, width, ordinal" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="ver" label="Ver" flex="1" hidden="true"/>
<treecol id="ver" label="Ver" flex="1" persist="hidden, width, ordinal" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="grp" label="Grp" flex="1" hidden="true"/>
<treecol id="grp" label="Grp" flex="1" persist="hidden, width, ordinal" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="gruppe" label="SpzGruppe" flex="1" hidden="true"/>
<treecol id="gruppe" label="SpzGruppe" persist="hidden, width, ordinal" flex="1" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="typ" label="Typ" flex="1" hidden="true"/>
<treecol id="typ" label="Typ" flex="1" persist="hidden, width, ordinal" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="stsem" label="StSem" flex="1" hidden="true"/>
<treecol id="stsem" label="StSem" flex="1" persist="hidden, width, ordinal" hidden="true"/>
</treecols>
<template>
+1 -1
View File
@@ -90,7 +90,7 @@ else
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#heimatadresse" onclick="KontaktAdresseTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-zustelladresse" label="Zustelladresse" flex="1" hidden="true"
<treecol id="kontakt-adressen-treecol-zustelladresse" label="Zustelladresse" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#zustelladresse" onclick="KontaktAdresseTreeSort()"/>
<splitter class="tree-splitter"/>
+6 -1
View File
@@ -150,7 +150,12 @@ if(!$error)
$verwendung->verwendung_code = $_POST['verwendung_code'];
$verwendung->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
$verwendung->hauptberufcode = $_POST['hauptberufcode'];
$verwendung->hauptberuflich = ($_POST['hauptberuflich']=='true'?true:false);
if($_POST['hauptberuflich']=='true')
$verwendung->hauptberuflich = true;
elseif($_POST['hauptberuflich']=='false')
$verwendung->hauptberuflich = false;
else
$verwendung->hauptberuflich = '';
$verwendung->habilitation = ($_POST['habilitation']=='true'?true:false);
$verwendung->beginn = $_POST['beginn'];
$verwendung->ende = $_POST['ende'];
+28 -20
View File
@@ -983,7 +983,7 @@ function MitarbeiterVerwendungBearbeiten()
bisverwendung_id=tree.view.getCellText(tree.currentIndex,col);
//Dialog laden
window.open("<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid+"&bisverwendung_id="+bisverwendung_id,"","chrome, status=no, width=500, height=350, centerscreen, resizable");
window.open("<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid+"&bisverwendung_id="+bisverwendung_id,"popup","chrome, status=no, width=500, height=350, centerscreen, resizable");
}
// ****
@@ -997,33 +997,41 @@ function MitarbeiterVerwendungNeu()
col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
window.open("<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid,"","chrome, status=no, width=500, height=350, centerscreen, resizable");
window.open("<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid,"popup","chrome, status=no, width=500, height=350, centerscreen, resizable");
}
function MitarbeiterVerwendungSpeichern(document, bisverwendung_id, mitarbeiter_uid, neu)
function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_uid, neu)
{
ba1code = document.getElementById('mitarbeiter-verwendung-detail-menulist-beschart1').value;
ba2code = document.getElementById('mitarbeiter-verwendung-detail-menulist-beschart2').value;
beschausmasscode = document.getElementById('mitarbeiter-verwendung-detail-menulist-ausmass').value;
verwendung_code = document.getElementById('mitarbeiter-verwendung-detail-menulist-verwendung').value;
hauptberufcode = document.getElementById('mitarbeiter-verwendung-detail-menulist-hauptberuf').value;
hauptberuflich = document.getElementById('mitarbeiter-verwendung-detail-checkbox-hauptberuflich').checked;
habilitation = document.getElementById('mitarbeiter-verwendung-detail-checkbox-habilitation').checked;
beginn = document.getElementById('mitarbeiter-verwendung-detail-datum-beginn').value;
ende = document.getElementById('mitarbeiter-verwendung-detail-datum-ende').value;
ba1code = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-beschart1').value;
ba2code = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-beschart2').value;
beschausmasscode = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-ausmass').value;
verwendung_code = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-verwendung').value;
hauptberufcode = dialog.getElementById('mitarbeiter-verwendung-detail-menulist-hauptberuf').value;
hauptberuflich = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-hauptberuflich').checked;
habilitation = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-habilitation').checked;
beginn = dialog.getElementById('mitarbeiter-verwendung-detail-datum-beginn').value;
ende = dialog.getElementById('mitarbeiter-verwendung-detail-datum-ende').value;
if(hauptberuflich==true)
if(verwendung_code=='1' || verwendung_code=='5' || verwendung_code=='6')
{
hauptberufcode='';
if(hauptberuflich==true)
{
hauptberufcode='';
}
else
{
if(hauptberufcode=='')
{
alert('Hauptberuf muss ausgewaehlt werden');
return false;
}
}
}
else
{
if(hauptberufcode=='')
{
alert('Hauptberuf muss ausgewaehlt werden');
return false;
}
}
hauptberufcode='';
hauptberuflich='';
}
if(beginn!='' && !CheckDatum(beginn))
{
@@ -149,6 +149,18 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterfunktionove
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertamum" label="Angelegt am" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertvon" label="Angelegt von" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertamum_iso" label="Angelegt am (ISO)" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
@@ -174,6 +186,9 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterfunktionove
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" />
</treerow>
</treeitem>
</treechildren>
@@ -103,6 +103,7 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
document.getElementById('mitarbeiter-verwendung-detail-datum-ende').value=ende;
MitarbeiterVerwendungDetailToggleHauptberuf();
MitarbeiterVerwendungVerwendungChange();
}
// ****
@@ -129,4 +130,26 @@ function MitarbeiterVerwendungDetailSpeichern()
{
if(window.opener.MitarbeiterVerwendungSpeichern(document, MitarbeiterVerwendungDetailBisverwendungId, MitarbeiterVerwendungDetailMitarbeiterUid, MitarbeiterVerwendungDetailNeu))
window.close();
else
this.focus();
}
function MitarbeiterVerwendungVerwendungChange()
{
verwendung = document.getElementById('mitarbeiter-verwendung-detail-menulist-verwendung').value;
if(verwendung=='1' || verwendung=='5' || verwendung=='6')
{
document.getElementById('mitarbeiter-verwendung-detail-label-hauptberuflich').hidden=false;
document.getElementById('mitarbeiter-verwendung-detail-label-hauptberuf').hidden=false;
document.getElementById('mitarbeiter-verwendung-detail-menulist-hauptberuf').hidden=false;
document.getElementById('mitarbeiter-verwendung-detail-checkbox-hauptberuflich').hidden=false;
}
else
{
document.getElementById('mitarbeiter-verwendung-detail-label-hauptberuflich').hidden=true;
document.getElementById('mitarbeiter-verwendung-detail-label-hauptberuf').hidden=true;
document.getElementById('mitarbeiter-verwendung-detail-menulist-hauptberuf').hidden=true;
document.getElementById('mitarbeiter-verwendung-detail-checkbox-hauptberuflich').hidden=true;
}
}
@@ -111,7 +111,8 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
<label value="Verwendung" control="mitarbeiter-verwendung-detail-menulist-verwendung"/>
<menulist id="mitarbeiter-verwendung-detail-menulist-verwendung"
datasources="<?php echo APP_ROOT ?>rdf/verwendung.rdf.php" flex="1"
ref="http://www.technikum-wien.at/verwendung/liste" >
ref="http://www.technikum-wien.at/verwendung/liste"
oncommand="MitarbeiterVerwendungVerwendungChange()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/verwendung/rdf#verwendung_code"
@@ -122,11 +123,11 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
</menulist>
</row>
<row>
<label value="Hauptberuflich Lehrende(r)" control="mitarbeiter-verwendung-detail-checkbox-hauptberuflich"/>
<label value="Hauptberuflich Lehrende(r)" id="mitarbeiter-verwendung-detail-label-hauptberuflich" control="mitarbeiter-verwendung-detail-checkbox-hauptberuflich"/>
<checkbox id="mitarbeiter-verwendung-detail-checkbox-hauptberuflich" checked="true" oncommand="MitarbeiterVerwendungDetailToggleHauptberuf()"/>
</row>
<row>
<label value="Hauptberuf" control="mitarbeiter-verwendung-detail-menulist-hauptberuf"/>
<label value="Hauptberuf" id="mitarbeiter-verwendung-detail-label-hauptberuf" control="mitarbeiter-verwendung-detail-menulist-hauptberuf"/>
<menulist id="mitarbeiter-verwendung-detail-menulist-hauptberuf"
datasources="<?php echo APP_ROOT ?>rdf/hauptberuf.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/hauptberuf/liste" >
+19 -4
View File
@@ -110,7 +110,13 @@ class bisverwendung
$this->verwendung_code = $row->verwendung_code;
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->hauptberufcode = $row->hauptberufcode;
$this->hauptberuflich = ($row->hauptberuflich=='t'?true:false);
if($row->hauptberuflich=='t')
$this->hauptberuflich = true;
elseif($row->hauptberuflich=='f')
$this->hauptberuflich = false;
else
$this->hauptberuflich = '';
$this->habilitation = ($row->habilitation=='t'?true:false);
$this->beginn = $row->beginn;
$this->ende = $row->ende;
@@ -208,6 +214,10 @@ class bisverwendung
if($new==null)
$new = $this->new;
if(is_bool($this->hauptberuflich))
$hauptberuflich = ($this->hauptberuflich?'true':'false');
else
$hauptberuflich = 'null';
if($new)
{
//Neuen Datensatz anlegen
@@ -220,7 +230,7 @@ class bisverwendung
$this->addslashes($this->verwendung_code).', '.
$this->addslashes($this->mitarbeiter_uid).', '.
$this->addslashes($this->hauptberufcode).', '.
($this->hauptberuflich?'true':'false').', '.
$hauptberuflich.', '.
($this->habilitation?'true':'false').', '.
$this->addslashes($this->beginn).', '.
$this->addslashes($this->ende).', '.
@@ -241,7 +251,7 @@ class bisverwendung
" verwendung_code=".$this->addslashes($this->verwendung_code).",".
" mitarbeiter_uid=".$this->addslashes($this->mitarbeiter_uid).",".
" hauptberufcode=".$this->addslashes($this->hauptberufcode).",".
" hauptberuflich=".($this->hauptberuflich?'true':'false').",".
" hauptberuflich=".$hauptberuflich.",".
" habilitation=".($this->habilitation?'true':'false').",".
" beginn=".$this->addslashes($this->beginn).",".
" ende=".$this->addslashes($this->ende).",".
@@ -319,7 +329,12 @@ class bisverwendung
$obj->verwendung_code = $row->verwendung_code;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->hauptberufcode = $row->hauptberufcode;
$obj->hauptberuflich = ($row->hauptberuflich=='t'?true:false);
if($row->hauptberuflich=='t')
$obj->hauptberuflich = true;
elseif($row->hauptberuflich=='f')
$obj->hauptberuflich = false;
else
$obj->hauptberuflich = '';
$obj->habilitation = ($row->habilitation=='t'?true:false);
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
+3 -1
View File
@@ -532,7 +532,7 @@ class mitarbeiter extends benutzer
function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $ausgeschieden, $studiensemester_kurzbz)
{
$qry = "SELECT distinct on(person_id) *, tbl_benutzer.aktiv as aktiv FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN public.tbl_benutzerfunktion USING(uid) WHERE true";
$qry = "SELECT distinct on(person_id) *, tbl_benutzer.aktiv as aktiv, tbl_mitarbeiter.insertamum, tbl_mitarbeiter.insertvon FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN public.tbl_benutzerfunktion USING(uid) WHERE true";
if($fix=='true')
$qry .= " AND fixangestellt=true";
@@ -592,6 +592,8 @@ class mitarbeiter extends benutzer
$obj->standort_kurzbz = $row->standort_kurzbz;
$obj->anmerkung = $row->anmerkung;
$obj->alias = $row->alias;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$this->result[] = $obj;
}
+3 -1
View File
@@ -52,7 +52,7 @@ if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden!');
$datum_obj = new datum();
$pruefung = new abschlusspruefung($conn, null, true);
function draw_content_xml($row)
{
@@ -181,6 +181,7 @@ $pruefung = new abschlusspruefung($conn, null, true);
// ----------------------------------- RDF --------------------------------------
if ($xmlformat=='rdf')
{
$pruefung = new abschlusspruefung($conn, null, true);
$rdf_url='http://www.technikum-wien.at/abschlusspruefung';
function draw_content($row)
{
@@ -261,6 +262,7 @@ if ($xmlformat=='rdf')
// ----------------------------------- XML --------------------------------------
elseif ($xmlformat=='xml')
{
$pruefung = new abschlusspruefung($conn, null, false);
echo "\n<abschlusspruefung>\n";
if(isset($_GET['student_uid']))
+6 -1
View File
@@ -84,6 +84,11 @@ function draw_row($row)
{
global $rdf_url, $datum;
if(is_bool($row->hauptberuflich))
$hauptberuflich = $row->hauptberuflich?'Ja':'Nein';
else
$hauptberuflich = '';
echo '
<RDF:li>
<RDF:Description id="'.$row->bisverwendung_id.'" about="'.$rdf_url.'/'.$row->bisverwendung_id.'" >
@@ -94,7 +99,7 @@ function draw_row($row)
<VERWENDUNG:verwendung_code><![CDATA['.$row->verwendung_code.']]></VERWENDUNG:verwendung_code>
<VERWENDUNG:mitarbeiter_uid><![CDATA['.$row->mitarbeiter_uid.']]></VERWENDUNG:mitarbeiter_uid>
<VERWENDUNG:hauptberufcode><![CDATA['.$row->hauptberufcode.']]></VERWENDUNG:hauptberufcode>
<VERWENDUNG:hauptberuflich><![CDATA['.($row->hauptberuflich?'Ja':'Nein').']]></VERWENDUNG:hauptberuflich>
<VERWENDUNG:hauptberuflich><![CDATA['.$hauptberuflich.']]></VERWENDUNG:hauptberuflich>
<VERWENDUNG:habilitation><![CDATA['.($row->habilitation?'Ja':'Nein').']]></VERWENDUNG:habilitation>
<VERWENDUNG:beginn><![CDATA['.$datum->convertISODate($row->beginn).']]></VERWENDUNG:beginn>
<VERWENDUNG:beginn_iso><![CDATA['.$row->beginn.']]></VERWENDUNG:beginn_iso>
+3
View File
@@ -149,6 +149,9 @@ function draw_row($mitarbeiter)
<MITARBEITER:anmerkung><![CDATA['.$mitarbeiter->anmerkung.']]></MITARBEITER:anmerkung>
<MITARBEITER:standort_kurzbz><![CDATA['.$mitarbeiter->standort_kurzbz.']]></MITARBEITER:standort_kurzbz>
<MITARBEITER:alias><![CDATA['.$mitarbeiter->alias.']]></MITARBEITER:alias>
<MITARBEITER:insertamum><![CDATA['.date('d.m.Y H:i:s',$datum->mktime_fromtimestamp($mitarbeiter->insertamum)).']]></MITARBEITER:insertamum>
<MITARBEITER:insertamum_iso><![CDATA['.$mitarbeiter->insertamum.']]></MITARBEITER:insertamum_iso>
<MITARBEITER:insertvon><![CDATA['.$mitarbeiter->insertvon.']]></MITARBEITER:insertvon>
</RDF:Description>
</RDF:li>
';
+227
View File
@@ -0,0 +1,227 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
if(!$conn=pg_pconnect(CONN_STRING))
die('Fehler beim Herstellen der DB Connection');
$user=get_uid();
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<script language="Javascript">
</script>
<html>
<body>
<h2>Personal - Funktionen - Import</h2>
<?php
if(!$rechte->isBerechtigt('mitarbeiter','0') && !$rechte->isBerechtigt('admin','0'))
die('Sie haben nicht die erforderlichen Rechte zum Importieren der Personaldaten');
$anzahl_personen_gesamt=0;
$anzahl_verwendungen_gesamt=0;
$anzahl_funktionen_gesamt=0;
$anzahl_personen_failed=0;
$anzahl_verwendungen_failed=0;
$anzahl_funktionen_failed=0;
$anzahl_funktionen_insert=0;
function getValue($obj)
{
foreach ($obj as $row)
{
return $row->nodeValue;
}
}
if(isset($_POST['submitfile']))
{
if(isset($_FILES['datei']['tmp_name']))
{
$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');
$personalnummer = (int)getValue($persnr);
$anzahl_personen_gesamt++;
//Mitarbeiter mit dieser Personalnummer holen
$qry = "SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE personalnummer='$personalnummer'";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
$mitarbeiter_uid = $row->mitarbeiter_uid;
}
else
{
echo "<br>Mitarbeiter mit der Personalnummer $personalnummer wurde nicht gefunden.";
$anzahl_personen_failed++;
continue;
}
}
else
{
$anzahl_personen_failed++;
echo "<br>Fehlerhafte qry:".$qry;
continue;
}
//Verwendungen durchgehen
$verwendungen = $person->getElementsByTagName('Verwendung');
foreach ($verwendungen as $verwendung)
{
$beschart1 = getValue($verwendung->getElementsByTagName('BeschaeftigungsArt1'));
$beschart2 = getValue($verwendung->getElementsByTagName('BeschaeftigungsArt2'));
$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
mitarbeiter_uid='$mitarbeiter_uid'
ORDER BY beginn DESC LIMIT 1";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
$bisverwendung_id = $row->bisverwendung_id;
}
else
{
echo "<br>$mitarbeiter_uid: BisVerwendung (ba1code: $beschart1, ba2code: $beschart2, ausmass: $ausmass, verwendungscode: $verwendungscode) wurde nicht gefunden";
$anzahl_verwendungen_failed++;
continue;
}
}
else
{
$anzahl_verwendungen_failed++;
echo "<br>Fehlerhafte qry:".$qry;
continue;
}
//Funktionen
$funktionen = $verwendung->getElementsByTagName('Funktion');
foreach ($funktionen as $funktion)
{
$stgkz = (int)getValue($verwendung->getElementsByTagName('StgKz'));
$sws = getValue($verwendung->getElementsByTagName('SWS'));
$anzahl_funktionen_gesamt++;
//Funktion in der Datenbank suchen
$qry = "SELECT sws FROM bis.tbl_bisfunktion WHERE bisverwendung_id='$bisverwendung_id' AND studiengang_kz='$stgkz'";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
if($row->sws!=$sws)
{
$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: $stg_kz) wurde von $row->sws auf $sws geaendert";
}
else
{
$anzahl_funktionen_failed++;
echo "<br>Fehler bei qry:".$qry;
}
}
}
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');";
if(pg_query($conn, $qry))
{
$anzahl_funktionen_insert++;
echo "<br>$mitarbeiter_uid: Neue Funktion wurde angelegt (id: $bisverwendung_id, stg: $stgkz, sws: $sws)";
}
else
{
echo "<br>$mitarbeiter_uid: Fehler beim Anlegen der Funktion: $qry";
$anzahl_funktionen_failed++;
}
}
}
else
{
$anzahl_funktionen_failed++;
echo "<br>Fehlerhafte qry:".$qry;
}
}
}
}
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";
echo "<br>Anzahl der Funktionen im XML-File: $anzahl_funktionen_gesamt";
echo "<br>Anzahl der Personen die nicht gefunden wurden: $anzahl_personen_failed";
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
{
//Formular zum Hochladen der XML Datei
echo " <form method='POST' enctype='multipart/form-data' action='".$_SERVER['PHP_SELF']."'>
BIS XML: <input type='file' name='datei' />
<input type='submit' name='submitfile' value='Upload' />
</form>
</td></tr>";
}
?>
</body>
</html>