- Ort/Gemeinde DD für Preinteressenten

- neue Checks und Anpassungen für die personalmeldung.php
This commit is contained in:
Andreas Österreicher
2008-11-24 15:53:58 +00:00
parent 953545f02b
commit 5db4a23b8e
3 changed files with 288 additions and 9 deletions
+28
View File
@@ -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 "<br><br><H2>Bei $num_rows_all Lektoren sind mehrere gleiche aktive Verwendungen vorhanden</H2>";
while($rowall=pg_fetch_object($resultall))
{
$i++;
echo "<br><u>Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":</u><br>";
echo "(ba1code: $rowall->ba1code, ba2code: $rowall->ba2code)";
}
}
?>
</body>
</html>
+3 -3
View File
@@ -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))
<BeschaeftigungsAusmass>".$rowvw->beschausmasscode."</BeschaeftigungsAusmass>
<VerwendungsCode>".$rowvw->verwendung_code."</VerwendungsCode>";
//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))
+257 -6
View File
@@ -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 '<SELECT id="gemeinde" name="gemeinde" onchange="loadOrtData()">';
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($firstentry=='')
$firstentry=$row->name;
if($gemeinde_x=='')
$gemeinde_x=$row->name;
if($row->name==$gemeinde_x)
{
$selected='selected';
$found=true;
}
else
$selected='';
echo "<option value='$row->name' $selected>$row->name</option>";
}
}
echo '</SELECT>';
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 '<SELECT id="ort" name="ort">';
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($row->ortschaftsname==$ort)
$selected='selected';
else
$selected='';
echo "<option value='$row->ortschaftsname' $selected>$row->ortschaftsname</option>";
}
}
echo '</SELECT>';
}
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;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -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= '<?php echo $_SERVER['PHP_SELF']."?type=getgemeindecontent"?>';
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= '<?php echo $_SERVER['PHP_SELF']."?type=getortcontent"?>';
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);
}
}
</script>
</head>
<body>
@@ -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 '<tr><td>SVNR</td><td><input type="text" id="svnr" size="10" maxlength="10"
echo '<tr><td>Ersatzkennzeichen</td><td><input type="text" id="ersatzkennzeichen" size="10" maxlength="10" name="ersatzkennzeichen" value="'.$ersatzkennzeichen.'" /></td></tr>';
echo '<tr><td>Geburtsdatum</td><td><input type="text" id="geburtsdatum" size="10" maxlength="10" name="geburtsdatum" value="'.$geburtsdatum.'" /> (Format dd.mm.JJJJ)</td></tr>';
echo '<tr><td colspan="2"><fieldset><legend>Adresse</legend><table>';
echo '<tr><td>Adresse</td><td><input type="text" id="adresse" maxlength="256" name="adresse" value="'.$adresse.'" /></td></tr>';
echo '<tr><td>Postleitzahl</td><td><input type="text" maxlength="16" id="plz" name="plz" value="'.$plz.'" /></td></tr>';
echo '<tr><td>Ort</td><td><input type="text" id="ort" maxlength="256" name="ort" value="'.$ort.'" /></td></tr>';
echo '<tr><td>Nation</td><td><SELECT name="adresse_nation" id="adresse_nation" onchange="loadGemeindeData()">';
$nation = new nation($conn);
$nation->getAll();
foreach ($nation->nation as $row)
{
if($row->code==$adresse_nation)
$selected='selected';
else
$selected='';
echo "<option value='$row->code' $selected>$row->langtext</option>";
}
echo '</SELECT></td></tr>';
echo '<tr><td>Postleitzahl</td><td><input type="text" size="5" maxlength="16" id="plz" name="plz" value="'.$plz.'" onblur="loadGemeindeData()" /></td></tr>';
echo '<tr><td>Adresse</td><td><input type="text" id="adresse" maxlength="256" size="40" name="adresse" value="'.$adresse.'" /></td></tr>';
echo '<tr><td>Gemeinde</td><td><div id="gemeindediv">';
//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 '<font color="gray">Bitte zuerst eine Postleitzahl eintragen</font>';
}
//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 '</div><input type="'.($adresse_nation=='A'?'hidden':'text').'" id="adresse-gemeinde-textfeld" maxlength="256" name="gemeinde_txt" value="'.$gemeinde.'" />';
echo '</td></tr>';
echo '<tr><td>Ort</td><td><div id="ortdiv">';
if($adresse_nation=='A' && $plz!='')
{
echo getOrtDropDown($plz, $gemeinde);
}
echo '</div><input type="'.($adresse_nation=='A'?'hidden':'text').'" id="adresse-ort-textfeld" maxlength="256" name="ort_txt" value="'.$ort.'"/></td></tr>';
echo '</table>';
echo '<div style="display: none;" id="ueb1"><input type="radio" id="ueberschreiben1" name="ueberschreiben" value="Ja" onclick="disablefields2(false)">Bestehende Adresse überschreiben</div>';
echo '<div style="display: none;" id="ueb2"><input type="radio" id="ueberschreiben2" name="ueberschreiben" value="Nein" onclick="disablefields2(false)" checked>Adresse hinzufügen</div>';