diff --git a/vilesci/bis/checkverwendung.php b/vilesci/bis/checkverwendung.php index eb27d4bd2..60e0b9bd7 100644 --- a/vilesci/bis/checkverwendung.php +++ b/vilesci/bis/checkverwendung.php @@ -41,6 +41,8 @@ $anzahl_fehler=0; $ausgabe=''; $error_log_fas=''; $update=false; +$bismeldedatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y"))); +$bismeldedatumvorjahr=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")-1)); function myaddslashes($var) { @@ -335,6 +337,32 @@ if($resultall = pg_query($conn, $qryall)) } } } + +//9 - 2 gleiche aktive Verwendungen +$qryall=" + SELECT distinct vorname, nachname, personalnummer, ba1code, ba2code FROM campus.vw_mitarbeiter JOIN ( + SELECT a.mitarbeiter_uid, a.ba1code, a.ba2code FROM bis.tbl_bisverwendung a, bis.tbl_bisverwendung b WHERE + a.bisverwendung_id<>b.bisverwendung_id AND + a.ba1code=b.ba1code AND + a.ba2code=b.ba2code AND + a.mitarbeiter_uid=b.mitarbeiter_uid AND + (a.ende is null OR a.ende>'$bismeldedatumvorjahr') AND + (b.ende is null OR b.ende>'$bismeldedatumvorjahr') AND + a.beschausmasscode=b.beschausmasscode AND + a.verwendung_code=b.verwendung_code + ) c ON(mitarbeiter_uid=uid)"; + +if($resultall = pg_query($conn, $qryall)) +{ + $num_rows_all=pg_num_rows($resultall); + echo "

Bei $num_rows_all Lektoren sind mehrere gleiche aktive Verwendungen vorhanden

"; + while($rowall=pg_fetch_object($resultall)) + { + $i++; + echo "
Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":
"; + echo "(ba1code: $rowall->ba1code, ba2code: $rowall->ba2code)"; + } +} ?> \ No newline at end of file diff --git a/vilesci/bis/personalmeldung.php b/vilesci/bis/personalmeldung.php index 9091f7ac0..222dee3b1 100644 --- a/vilesci/bis/personalmeldung.php +++ b/vilesci/bis/personalmeldung.php @@ -31,14 +31,14 @@ $mitarbeiterzahl=0; $echt=0; $frei=0; -$nichtmelden = array(11,91,92,94,999,476,203,329,334,331,328,332); +$nichtmelden = array(11,91,92,94,999,203); $datumobj=new datum(); if(strstr($ssem,"WS")) { $bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y"))); - $bisprevious=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); + $bisprevious=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y"))); } /*elseif(strstr($ssem,"SS")) { @@ -232,7 +232,7 @@ if($result = pg_query($conn, $qry)) ".$rowvw->beschausmasscode." ".$rowvw->verwendung_code.""; //Studiengangsleiter - $qryslt="SELECT * FROM public.tbl_benutzerfunktion WHERE uid='".$row->mitarbeiter_uid."' AND funktion_kurzbz='stgl';"; + $qryslt="SELECT * FROM public.tbl_benutzerfunktion WHERE uid='".$row->mitarbeiter_uid."' AND funktion_kurzbz='stgl' AND studiengang_kz<10000;"; if($resultslt=pg_query($conn,$qryslt)) { while($rowslt=pg_fetch_object($resultslt)) diff --git a/vilesci/personen/preinteressent_anlegen.php b/vilesci/personen/preinteressent_anlegen.php index 7b6bd43ed..e84af81da 100644 --- a/vilesci/personen/preinteressent_anlegen.php +++ b/vilesci/personen/preinteressent_anlegen.php @@ -30,6 +30,8 @@ require_once('../../include/adresse.class.php'); require_once('../../include/studiensemester.class.php'); require_once('../../include/preinteressent.class.php'); require_once('../../include/studiengang.class.php'); +require_once('../../include/nation.class.php'); + if(!$conn=pg_pconnect(CONN_STRING)) die('Fehler beim Herstellen der DB Connection'); @@ -39,6 +41,78 @@ $datum_obj = new datum(); loadVariables($conn, $user); +function getGemeindeDropDown($postleitzahl) +{ + global $conn, $_REQUEST, $gemeinde; + $found=false; + $firstentry=''; + $gemeinde_x = (isset($_REQUEST['gemeinde'])?$_REQUEST['gemeinde']:''); + $qry = "SELECT distinct name FROM bis.tbl_gemeinde WHERE plz='".addslashes($postleitzahl)."'"; + echo ''; + if(!$found && (isset($importort) && $importort!='')) + { + echo $importort; + } + $gemeinde = $gemeinde_x; +} + +if(isset($_GET['type']) && $_GET['type']=='getgemeindecontent' && isset($_GET['plz'])) +{ + header('Content-Type: text/html; charset=iso-8859-15'); + + echo getGemeindeDropDown($_GET['plz']); + exit; +} + +function getOrtDropDown($postleitzahl, $gemeindename) +{ + global $conn, $_REQUEST; + $ort = (isset($_REQUEST['ort'])?$_REQUEST['ort']:''); + $qry = "SELECT distinct ortschaftsname FROM bis.tbl_gemeinde + WHERE plz='".addslashes($postleitzahl)."' AND name='".addslashes($gemeindename)."'"; + echo ''; +} +if(isset($_GET['type']) && $_GET['type']=='getortcontent' && isset($_GET['plz']) && isset($_GET['gemeinde'])) +{ + header('Content-Type: text/html; charset=iso-8859-15'); + + echo getOrtDropDown($_GET['plz'], utf8_decode($_GET['gemeinde'])); + exit; +} ?> @@ -120,6 +194,116 @@ function checkschulid(schuleid) } return true; } + +// ************************************** +// * XMLHttpRequest Objekt erzeugen +// ************************************** +var anfrage = null; + +function erzeugeAnfrage() +{ + try + { + anfrage = new XMLHttpRequest(); + } + catch (versuchmicrosoft) + { + try + { + anfrage = new ActiveXObject("Msxml12.XMLHTTP"); + } + catch (anderesmicrosoft) + { + try + { + anfrage = new ActiveXObject("Microsoft.XMLHTTP"); + } + catch (fehlschlag) + { + anfrage = null; + } + } + } + if (anfrage == null) + alert("Fehler beim Erstellen des Anfrageobjekts!"); +} + +//Gemeinde DropDown holen wenn Nation Oesterreich +function loadGemeindeData() +{ + if(document.getElementById('adresse_nation').value=='A') + { + anfrage=null; + //Request erzeugen und die Note speichern + erzeugeAnfrage(); + var jetzt = new Date(); + var ts = jetzt.getTime(); + var plz = document.getElementById('plz').value; + var url= ''; + url += '&plz='+plz+"&"+ts; + anfrage.open("GET", url, true); + anfrage.onreadystatechange = setGemeindeData; + anfrage.send(null); + document.getElementById('adresse-gemeinde-textfeld').type='hidden'; + document.getElementById('adresse-ort-textfeld').type='hidden'; + } + else + { + document.getElementById('adresse-gemeinde-textfeld').type='text'; + document.getElementById('adresse-ort-textfeld').type='text'; + document.getElementById('gemeindediv').innerHTML=''; + document.getElementById('ortdiv').innerHTML=''; + } +} + +function setGemeindeData() +{ + if (anfrage.readyState == 4) + { + if (anfrage.status == 200) + { + var resp = anfrage.responseText; + var gemeindediv = document.getElementById('gemeindediv'); + gemeindediv.innerHTML = resp; + loadOrtData(); + } + else alert("Request status:" + anfrage.status); + } +} + +function loadOrtData() +{ + if(document.getElementById('gemeinde')) + { + anfrage=null; + //Request erzeugen und die Note speichern + erzeugeAnfrage(); + var jetzt = new Date(); + var ts = jetzt.getTime(); + var plz = document.getElementById('plz').value; + var gemeinde = document.getElementById('gemeinde').value; + var url= ''; + url += '&plz='+plz+"&gemeinde="+encodeURIComponent(gemeinde)+"&"+ts; + anfrage.open("GET", url, true); + anfrage.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); + anfrage.onreadystatechange = setOrtData; + anfrage.send(null); + } +} + +function setOrtData() +{ + if (anfrage.readyState == 4) + { + if (anfrage.status == 200) + { + var resp = anfrage.responseText; + var ortdiv = document.getElementById('ortdiv'); + ortdiv.innerHTML = resp; + } + else alert("Request status:" + anfrage.status); + } +} @@ -134,6 +318,7 @@ if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('mitarbeiter') && ! $where = ''; $error = false; +$importort=''; //Parameter $titel = (isset($_POST['titel'])?$_POST['titel']:''); $titelpost = (isset($_POST['titelpost'])?$_POST['titelpost']:''); @@ -143,8 +328,27 @@ $geschlecht = (isset($_POST['geschlecht'])?$_POST['geschlecht']:''); $geburtsdatum = (isset($_POST['geburtsdatum'])?$_POST['geburtsdatum']:''); $nation = (isset($_POST['nation'])?$_POST['nation']:'A'); $adresse = (isset($_POST['adresse'])?$_POST['adresse']:''); -$plz = (isset($_POST['plz'])?$_POST['plz']:''); -$ort = (isset($_POST['ort'])?$_POST['ort']:''); +$adresse_nation = (isset($_REQUEST['adresse_nation'])?$_REQUEST['adresse_nation']:'A'); +$plz = (isset($_REQUEST['plz'])?$_REQUEST['plz']:''); +if($adresse_nation=='A') +{ + $ort = (isset($_REQUEST['ort'])?$_REQUEST['ort']:''); + $gemeinde = (isset($_REQUEST['gemeinde'])?$_REQUEST['gemeinde']:''); +} +else +{ + $ort = (isset($_REQUEST['ort_txt'])?$_REQUEST['ort_txt']:''); + $gemeinde = (isset($_REQUEST['gemeinde_txt'])?$_REQUEST['gemeinde_txt']:''); +} +//wenn die Gemeinde leer ist und im Ort etwas steht +//dann umdrehen (Das passiert wenn die Daten aus dem Mail von der www importiert werden) +if($gemeinde=='' && $ort!='') +{ + $importort=$ort; + $gemeinde=$ort; + $ort=''; +} + $email = (isset($_POST['email'])?$_POST['email']:''); $telefon = (isset($_POST['telefon'])?$_POST['telefon']:''); $mobil = (isset($_POST['mobil'])?$_POST['mobil']:''); @@ -229,6 +433,13 @@ if(isset($_POST['save'])) $adr->new = true; $adr->insertamum = date('Y-m-d H:i:s'); $adr->insertvon = $user; + $adr->nation = $adresse_nation; + //Wenn die Person neu angelegt wird, dann ist die neue Adresse die Heimatadresse + //sonst nicht + if($person_id=='0') + $adr->heimatadresse = true; + else + $adr->heimatadresse = false; } else { @@ -257,6 +468,8 @@ if(isset($_POST['save'])) $adr->new = true; $adr->insertamum = date('Y-m-d H:i:s'); $adr->insertvon = $user; + $adr->nation = $adresse_nation; + $adr->heimatadresse = true; } } @@ -267,8 +480,8 @@ if(isset($_POST['save'])) $adr->strasse = $adresse; $adr->plz = $plz; $adr->ort = $ort; + $adr->gemeinde = $gemeinde; $adr->typ = 'h'; - $adr->heimatadresse = true; $adr->zustelladresse = true; if(!$adr->save()) { @@ -456,9 +669,47 @@ echo 'SVNRErsatzkennzeichen'; echo 'Geburtsdatum (Format dd.mm.JJJJ)'; echo '
Adresse'; -echo ''; -echo ''; -echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; + echo '
Adresse
Postleitzahl
Ort
Nation
Postleitzahl
Adresse
Gemeinde
'; +//wenn die Nation Oesterreich ist, dann wird ein DropDown fuer Gemeinde und Ort angezeigt. +//wenn die Nation nicht Oesterreich ist, werden nur textfelder angezeigt +if($adresse_nation=='A' && $plz!='') +{ + echo getGemeindeDropDown($plz); +} +else +{ + echo 'Bitte zuerst eine Postleitzahl eintragen'; +} + +//wenn der Ort per EMail-Import von der www kommt und der Ort in der Gemeindetabelle +//nicht gefunden wird, dann wird der Ort in Klammer neben dem DropDown angezeigt +if($importort!='' && $gemeinde!=$importort) + echo ' ( '.$importort.' )'; + +echo '
'; + +echo '
Ort
'; +if($adresse_nation=='A' && $plz!='') +{ + echo getOrtDropDown($plz, $gemeinde); +} +echo '
'; echo ''; echo '';