mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-19 13:09:27 +00:00
This commit is contained in:
@@ -95,13 +95,13 @@ else
|
||||
<td width="56" nowrap> </td>
|
||||
<td nowrap>Termin nach Vereinbarung</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<!--<tr>
|
||||
<td width="260" nowrap>Braunstorfer Michael</td>
|
||||
<td width="50" nowrap>240</td>
|
||||
<td nowrap><?php echo ($visible?'<a class="Item" href="mailto:michael.braunstorfer@technikum-wien.at">michael.braunstorfer@technikum-wien.at</a>':'')?></td>
|
||||
<td width="56" nowrap> </td>
|
||||
<td nowrap>Termin nach Vereinbarung</td>
|
||||
</tr>
|
||||
</tr>-->
|
||||
<tr>
|
||||
<td colspan="2" nowrap> </td>
|
||||
<td nowrap> </td>
|
||||
@@ -295,7 +295,7 @@ else
|
||||
<td nowrap>Termin nach Vereinbarung</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="260" nowrap>Esberger Franz Ferdinand</td>
|
||||
<td width="260" nowrap>Dipl. Ing. (FH) Esberger Franz Ferdinand</td>
|
||||
<td width="50" nowrap>346</td>
|
||||
<td nowrap><?php echo ($visible?'<a class="Item" href="mailto:ffe@technikum-wien.at">ferdinand.esberger@technikum-wien.at</a>':'')?></td>
|
||||
<td width="56" nowrap> </td>
|
||||
|
||||
@@ -11,7 +11,6 @@ Auflistung nach Priorität (höchste oben).<br>
|
||||
<ul>
|
||||
<li>Nach dem sortieren einiger Trees ist danach ein anderer Datensatz
|
||||
markiert als vorher</li>
|
||||
<li>Im Filter aufgenommene Bewerber kommen auch abgewiesene vor.</li>
|
||||
</ul>
|
||||
<br>
|
||||
<h2>Fehler</h2>
|
||||
@@ -42,7 +41,7 @@ wenn Mozilla bereits offen ist</li>
|
||||
<li style="color: rgb(0, 0, 0);">BIS Meldung prüfen und in
|
||||
Oberfläche integrieren</li>
|
||||
<li style="color: rgb(0, 0, 0);">Zeitweise ist das Speichern nicht
|
||||
möglich Error Code 500.<br>
|
||||
möglich Error Code 502.<br>
|
||||
</li>
|
||||
<li style="color: rgb(0, 0, 0);">Funktionen
|
||||
Tree nach dem Aendern eines Datensatzes in der mitte der Liste wird der
|
||||
@@ -73,6 +72,8 @@ allen auf einmal setzbar</li>
|
||||
<hr>
|
||||
<h2>Erledigte Anforderungen</h2>
|
||||
<ul>
|
||||
<li>Im Filter aufgenommene Bewerber kommen auch abgewiesene vor.<br>
|
||||
1.6.2007 oesi<br><br></li>
|
||||
<li>Bei "Interessent Neu" wird der Studiengang nicht übernommen.<br>
|
||||
25.06.2007 oesi <br><br>
|
||||
</li>
|
||||
|
||||
@@ -740,8 +740,79 @@ function MitarbeiterNeu()
|
||||
// ****
|
||||
function MitarbeiterExport()
|
||||
{
|
||||
var treeMitarbeiter=document.getElementById('mitarbeiter-tree');
|
||||
var treeMitarbeiterMenu=document.getElementById('tree-menu-mitarbeiter');
|
||||
var col = treeMitarbeiterMenu.columns ? treeMitarbeiterMenu.columns["tree-menu-mitarbeiter-col-filter"] : "tree-menu-mitarbeiter-col-filter";
|
||||
var filter=treeMitarbeiterMenu.view.getCellText(treeMitarbeiterMenu.currentIndex,col);
|
||||
cols = treeMitarbeiter.getElementsByTagName('treecol');
|
||||
|
||||
var url = "<?php echo APP_ROOT; ?>content/statistik/mitarbeiterexport.xls.php";
|
||||
var attributes="?type=mitarbeiter";
|
||||
if (filter=="Studiengangsleiter")
|
||||
attributes+="&stgl=true";
|
||||
if (filter=="Fachbereichsleiter")
|
||||
attributes+="&fbl=true";
|
||||
if (filter=="Alle")
|
||||
attributes+="&alle=true";
|
||||
if (filter=="Aktive")
|
||||
attributes+="&aktiv=true";
|
||||
if (filter=="FixAngestellte")
|
||||
attributes+="&fix=true&aktiv=true";
|
||||
if (filter=="FixAngestellteAlle")
|
||||
attributes+="&fix=true";
|
||||
if (filter=="Inaktive")
|
||||
attributes+="&aktiv=false";
|
||||
if (filter=="Karenziert")
|
||||
attributes+="&karenziert=true";
|
||||
if (filter=="Ausgeschieden")
|
||||
attributes+="&ausgeschieden=true";
|
||||
if (filter=="FreiAngestellte")
|
||||
attributes+="&fix=false&aktiv=true";
|
||||
if (filter=="FreiAngestellteAlle")
|
||||
attributes+="&fix=false";
|
||||
|
||||
url+=attributes;
|
||||
spalte=0;
|
||||
for(i in cols)
|
||||
{
|
||||
if(cols[i].hidden==false)
|
||||
{
|
||||
url += "&spalte"+spalte+"="+MitarbeiterDetailgetSpaltenname(cols[i].id);
|
||||
spalte=spalte+1;
|
||||
}
|
||||
}
|
||||
//url+='&spalte0=titelpre&spalte1=vorname&spalte2=vornamen&spalte3=familienname&spalte4=uid';
|
||||
|
||||
//alert(url);
|
||||
//window.open(url,"","chrome,status=no, modal, width=400, height=250, centerscreen, resizable");
|
||||
window.location.href=url;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Liefert anhand der ID den Namen der Klassenvariable
|
||||
// ****
|
||||
function MitarbeiterDetailgetSpaltenname(id)
|
||||
{
|
||||
if(id=='mitarbeiter-treecol-anrede') return 'anrede';
|
||||
if(id=='mitarbeiter-treecol-titelpre') return 'titelpre';
|
||||
if(id=='mitarbeiter-treecol-vorname') return 'vorname';
|
||||
if(id=='mitarbeiter-treecol-vornamen') return 'vornamen';
|
||||
if(id=='mitarbeiter-treecol-nachname') return 'nachname';
|
||||
if(id=='mitarbeiter-treecol-titelpost') return 'titelpost';
|
||||
if(id=='mitarbeiter-treecol-personalnummer') return 'personalnummer';
|
||||
if(id=='mitarbeiter-treecol-geburtsdatum') return 'gebdatum';
|
||||
if(id=='mitarbeiter-treecol-svnr') return 'svnr';
|
||||
if(id=='mitarbeiter-treecol-ersatzkennzeichen') return 'ersatzkennzeichen';
|
||||
if(id=='mitarbeiter-treecol-uid') return 'uid';
|
||||
if(id=='mitarbeiter-treecol-kurzbz') return 'kurzbz';
|
||||
if(id=='mitarbeiter-treecol-geschlecht') return 'geschlecht';
|
||||
if(id=='mitarbeiter-treecol-ort_kurzbz') return 'ort_kurzbz';
|
||||
if(id=='mitarbeiter-treecol-telefonklappe') return 'telefonklappe';
|
||||
if(id=='mitarbeiter-treecol-aktiv') return 'aktiv';
|
||||
if(id=='mitarbeiter-treecol-person_id') return 'person_id';
|
||||
if(id=='mitarbeiter-treecol-fixangestellt') return 'fixangestellt';
|
||||
if(id=='mitarbeiter-treecol-lektor') return 'lektor';
|
||||
}
|
||||
// ***************** VERWENDUNG ********************** //
|
||||
|
||||
// ****
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 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('../../vilesci/config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
require_once('../../include/mitarbeiter.class.php');
|
||||
require_once('../../include/Excel/excel.php');
|
||||
|
||||
// Datenbank Verbindung
|
||||
if (!$conn = pg_pconnect(CONN_STRING))
|
||||
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
loadVariables($conn, $user);
|
||||
|
||||
//Parameter holen
|
||||
|
||||
if (isset($_GET['fix']))
|
||||
$fix = $_GET['fix'];
|
||||
else
|
||||
$fix=null;
|
||||
|
||||
if (isset($_GET['stgl']))
|
||||
$stgl = ($_GET['stgl']=='true'?true:false);
|
||||
else
|
||||
$stgl=null;
|
||||
|
||||
if (isset($_GET['fbl']))
|
||||
$fbl = $_GET['fbl'];
|
||||
else
|
||||
$fbl=null;
|
||||
|
||||
if (isset($_GET['aktiv']))
|
||||
$aktiv = $_GET['aktiv'];
|
||||
else
|
||||
$aktiv=null;
|
||||
|
||||
if (isset($_GET['karenziert']))
|
||||
$karenziert = $_GET['karenziert'];
|
||||
else
|
||||
$karenziert=null;
|
||||
|
||||
if (isset($_GET['ausgeschieden']))
|
||||
$ausgeschieden = $_GET['ausgeschieden'];
|
||||
else
|
||||
$ausgeschieden=null;
|
||||
|
||||
if (isset($_GET['zustelladresse']))
|
||||
$zustelladresse = $_GET['zustelladresse'];
|
||||
else
|
||||
$zustelladresse = null;
|
||||
|
||||
//Spalten
|
||||
$anzSpalten=0;
|
||||
$varname='spalte'.(string)$anzSpalten;
|
||||
while (isset($_GET[$varname]))
|
||||
{
|
||||
$spalte[$anzSpalten]=$_GET[$varname];
|
||||
//echo $spalte[$anzSpalten];
|
||||
$anzSpalten++;
|
||||
$varname='spalte'.(string)$anzSpalten;
|
||||
}
|
||||
$zustelladresse=true;
|
||||
|
||||
// Mitarbeiter holen
|
||||
$mitarbeiterDAO=new mitarbeiter($conn);
|
||||
$mitarbeiterDAO->getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $ausgeschieden, $semester_aktuell);
|
||||
//echo 'fix:'.$fix.' stgl:'.$stgl.' fbl:'.$fbl.' aktiv:'.$aktiv.' karenziert:'.$karenziert.' ausgeschieden:'.$ausgeschieden.' semester_aktuell:'.$semester_aktuell;
|
||||
/*
|
||||
* Create Excel File with Content from Students Examples solved
|
||||
*/
|
||||
|
||||
// Creating a workbook
|
||||
$workbook = new Spreadsheet_Excel_Writer();
|
||||
|
||||
// sending HTTP headers
|
||||
$workbook->send("Mitarbeiter". "_" . date("d_m_Y") . ".xls");
|
||||
|
||||
// Creating a worksheet
|
||||
$worksheet =& $workbook->addWorksheet("Mitarbeiter");
|
||||
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
|
||||
$format_title =& $workbook->addFormat();
|
||||
$format_title->setBold();
|
||||
// $format_title->setColor('yellow');
|
||||
// $format_title->setPattern(1);
|
||||
// $format_title->setFgColor('blue');
|
||||
// let's merge
|
||||
$format_title->setAlign('merge');
|
||||
|
||||
for ($i=0;$i<$anzSpalten;$i++)
|
||||
$worksheet->write(0,$i,strtoupper(str_replace('_bezeichnung','',$spalte[$i])), $format_bold);
|
||||
$worksheet->write(0,$i,"STRASSE", $format_bold);
|
||||
$worksheet->write(0,$i+1,"PLZ", $format_bold);
|
||||
$worksheet->write(0,$i+2,"ORT", $format_bold);
|
||||
|
||||
// set width of columns
|
||||
|
||||
//$worksheet->setColumn(1,4,20); // ersten 3 Spalten auf width=17
|
||||
//$worksheet->setColumn(0,0,22);
|
||||
|
||||
$j=1;
|
||||
$maxlength = array();
|
||||
for ($i=0;$i<$anzSpalten;$i++)
|
||||
$maxlength[$i]=strlen(str_replace('_bezeichnung','',$spalte[$i]));
|
||||
$maxlength[$i]=strlen('STRASSE');
|
||||
$maxlength[$i+1]=strlen('PLZ');
|
||||
$maxlength[$i+2]=strlen('ORT');
|
||||
|
||||
foreach ($mitarbeiterDAO->result as $mitarbeiter)
|
||||
{
|
||||
for ($i=0;$i<$anzSpalten;$i++)
|
||||
{
|
||||
if(strlen($mitarbeiter->$spalte[$i])>$maxlength[$i])
|
||||
$maxlength[$i] = strlen($mitarbeiter->$spalte[$i]);
|
||||
$worksheet->write($j,$i, $mitarbeiter->$spalte[$i]);
|
||||
}
|
||||
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id='$mitarbeiter->person_id' ORDER BY zustelladresse LIMIT 1";
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
if(strlen($row->strasse)>$maxlength[$i])
|
||||
$maxlength[$i]=strlen($row->strasse);
|
||||
$worksheet->write($j,$i, $row->strasse);
|
||||
if(strlen($row->plz)>$maxlength[$i+1])
|
||||
$maxlength[$i+1]=strlen($row->plz);
|
||||
$worksheet->write($j,$i+1, $row->plz);
|
||||
if(strlen($row->ort)>$maxlength[$i+2])
|
||||
$maxlength[$i+2]=strlen($row->ort);
|
||||
$worksheet->write($j,$i+2, $row->ort);
|
||||
}
|
||||
}
|
||||
|
||||
$j++;
|
||||
}
|
||||
|
||||
for ($i=0;$i<$anzSpalten;$i++)
|
||||
$worksheet->setColumn($i, $i, $maxlength[$i]+2);
|
||||
$worksheet->setColumn($i, $i, $maxlength[$i]+2);
|
||||
$worksheet->setColumn($i+1, $i+1, $maxlength[$i+1]+2);
|
||||
$worksheet->setColumn($i+2, $i+2, $maxlength[$i+2]+2);
|
||||
|
||||
$workbook->close();
|
||||
|
||||
?>
|
||||
@@ -532,7 +532,7 @@ class mitarbeiter extends benutzer
|
||||
|
||||
function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $ausgeschieden, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT *, 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 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)
|
||||
$qry .= " AND fixangestellt=true";
|
||||
@@ -548,7 +548,7 @@ class mitarbeiter extends benutzer
|
||||
$qry .= " AND uid IN (SELECT mitarbeiter_uid FROM bis.tbl_bisverwendung WHERE beginn<(SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$studiensemester_kurzbz') AND ende<(SELECT ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$studiensemester_kurzbz'))";
|
||||
if($ausgeschieden)
|
||||
{
|
||||
//ToDo:
|
||||
$qry.=" AND NOT EXISTS(SELECT * FROM bis.tbl_bisverwendung WHERE beginn<now() AND ende>now())";
|
||||
}
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
|
||||
@@ -0,0 +1,583 @@
|
||||
<?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');
|
||||
require_once('../../../include/person.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/mitarbeiter.class.php');
|
||||
require_once('../../../include/kontakt.class.php');
|
||||
require_once('../../../include/adresse.class.php');
|
||||
|
||||
if(!$conn=pg_pconnect(CONN_STRING))
|
||||
die('Fehler beim Herstellen der DB Connection');
|
||||
|
||||
$user=get_uid();
|
||||
|
||||
loadVariables($conn, $user);
|
||||
|
||||
// Clean stuff from a string
|
||||
function clean_string($string)
|
||||
{
|
||||
$trans = array("瓣" => "ae",
|
||||
"�" => "Ae",
|
||||
"繹" => "oe",
|
||||
"�" => "Oe",
|
||||
"羹" => "ue",
|
||||
"�" => "Ue",
|
||||
"獺" => "a",
|
||||
"�" => "a",
|
||||
"矇" => "e",
|
||||
"癡" => "e",
|
||||
"籀" => "o",
|
||||
"簷" => "o",
|
||||
"穩" => "i",
|
||||
"穫" => "i",
|
||||
"繳" => "u",
|
||||
"羅" => "u",
|
||||
"�" => "ss");
|
||||
$string = strtr($string, $trans);
|
||||
return ereg_replace("[^a-zA-Z0-9]", "", $string);
|
||||
//[:space:]
|
||||
}
|
||||
?>
|
||||
<!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/cis.css" rel="stylesheet" type="text/css">
|
||||
<script language="Javascript">
|
||||
function disablefields(obj)
|
||||
{
|
||||
if(obj.value==0)
|
||||
val=false;
|
||||
else
|
||||
val=true;
|
||||
|
||||
document.getElementById('titel').disabled=val;
|
||||
document.getElementById('nachname').disabled=val;
|
||||
document.getElementById('vorname').disabled=val;
|
||||
document.getElementById('geschlecht').disabled=val;
|
||||
document.getElementById('geburtsdatum').disabled=val;
|
||||
document.getElementById('svnr').disabled=val;
|
||||
document.getElementById('ersatzkennzeichen').disabled=val;
|
||||
//document.getElementById('adresse').disabled=val;
|
||||
//document.getElementById('plz').disabled=val;
|
||||
//document.getElementById('ort').disabled=val;
|
||||
if(val)
|
||||
{
|
||||
document.getElementById('ueb1').style.display = 'block';
|
||||
document.getElementById('ueb2').style.display = 'block';
|
||||
document.getElementById('ueb3').style.display = 'block';
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('ueb1').style.display = 'none';
|
||||
document.getElementById('ueb2').style.display = 'none';
|
||||
document.getElementById('ueb3').style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
function GeburtsdatumEintragen()
|
||||
{
|
||||
svnr = document.getElementById('svnr').value;
|
||||
gebdat = document.getElementById('geburtsdatum');
|
||||
|
||||
if(svnr.length==10 && gebdat.value=='')
|
||||
{
|
||||
var tag = svnr.substr(4,2);
|
||||
var monat = svnr.substr(6,2);
|
||||
var jahr = svnr.substr(8,2);
|
||||
|
||||
gebdat.value='19'+jahr+'-'+monat+'-'+tag;
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Mitarbeiter Anlegen</h1>
|
||||
<?php
|
||||
//Berechtigung pruefen
|
||||
$rechte = new benutzerberechtigung($conn);
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('mitarbeiter'))
|
||||
die('Sie haben keine Berechtigung fuer diese Seite');
|
||||
|
||||
$where = '';
|
||||
$error = false;
|
||||
//Parameter
|
||||
$titel = (isset($_POST['titel'])?$_POST['titel']:'');
|
||||
$nachname = (isset($_POST['nachname'])?$_POST['nachname']:'');
|
||||
$vorname = (isset($_POST['vorname'])?$_POST['vorname']:'');
|
||||
$geschlecht = (isset($_POST['geschlecht'])?$_POST['geschlecht']:'');
|
||||
$geburtsdatum = (isset($_POST['geburtsdatum'])?$_POST['geburtsdatum']:'');
|
||||
$adresse = (isset($_POST['adresse'])?$_POST['adresse']:'');
|
||||
$plz = (isset($_POST['plz'])?$_POST['plz']:'');
|
||||
$ort = (isset($_POST['ort'])?$_POST['ort']:'');
|
||||
$email = (isset($_POST['email'])?$_POST['email']:'');
|
||||
$telefon = (isset($_POST['telefon'])?$_POST['telefon']:'');
|
||||
$mobil = (isset($_POST['mobil'])?$_POST['mobil']:'');
|
||||
$letzteausbildung = (isset($_POST['letzteausbildung'])?$_POST['letzteausbildung']:'');
|
||||
$anmerkungen = (isset($_POST['anmerkungen'])?$_POST['anmerkungen']:'');
|
||||
$person_id = (isset($_POST['person_id'])?$_POST['person_id']:'');
|
||||
$ueberschreiben = (isset($_POST['ueberschreiben'])?$_POST['ueberschreiben']:'');
|
||||
$svnr = (isset($_POST['svnr'])?$_POST['svnr']:'');
|
||||
$ersatzkennzeichen = (isset($_POST['ersatzkennzeichen'])?$_POST['ersatzkennzeichen']:'');
|
||||
//end Parameter
|
||||
|
||||
// *** Speichern der Daten ***
|
||||
if(isset($_POST['save']))
|
||||
{
|
||||
//echo "Saving Data: Geburtsdatum: $geburtsdatum | Titel: $titel | Nachname: $nachname | Vorname: $vorname |
|
||||
// Geschlecht: $geschlecht | Adresse: $adresse | Plz: $plz | Ort: $ort |
|
||||
// Email: $email | Telefon: $telefon | Mobil: $mobil | Letzteausbildung: $letzteausbildung | ausbildungsart: $ausbildungsart |
|
||||
// anmerkungen: $anmerkungen | studiengang_kz: $studiengang_kz | person_id: $person_id<br><br>";
|
||||
$person = new person($conn);
|
||||
pg_query($conn, 'BEGIN');
|
||||
//Wenn die person_id=0 dann wird eine neue Person angelegt
|
||||
//Ansosnsten wird es an die Person mit $person_id angehaengt
|
||||
if($person_id!='0')
|
||||
{
|
||||
if(!$person->load($person_id))
|
||||
{
|
||||
$error=true;
|
||||
$errormsg = 'Person konnte nicht geladen werden';
|
||||
}
|
||||
else
|
||||
{
|
||||
$geburtsdatum = $person->gebdatum;
|
||||
$vorname = $person->vorname;
|
||||
$nachname = $person->nachname;
|
||||
$svnr = $person->svnr;
|
||||
$ersatzkennzeichen = $person->ersatzkennzeichen;
|
||||
$titel = $person->titelpre;
|
||||
$geschlecht = $person->geschlecht;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$person->new = true;
|
||||
$person->titelpre = $titel;
|
||||
$person->nachname = $nachname;
|
||||
$person->vorname = $vorname;
|
||||
$person->geschlecht = $geschlecht;
|
||||
$person->gebdatum = $geburtsdatum;
|
||||
$person->svnr = $svnr;
|
||||
$person->ersatzkennzeichen = $ersatzkennzeichen;
|
||||
$person->aktiv = true;
|
||||
if($person->save())
|
||||
{
|
||||
$error=false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error=true;
|
||||
$errormsg = "Person konnte nicht gespeichert werden: $person->errormsg";
|
||||
}
|
||||
}
|
||||
|
||||
//UID generieren
|
||||
if(!$error)
|
||||
{
|
||||
$nachname_clean = strtolower(clean_string($nachname));
|
||||
$vorname_clean = strtolower(clean_string($vorname));
|
||||
$uid='';
|
||||
$bn = new benutzer($conn);
|
||||
|
||||
for($nn=8,$vn=0;$nn!=0;$nn--,$vn++)
|
||||
{
|
||||
$uid = substr($nachname_clean,0,$nn);
|
||||
$uid .= substr($vorname_clean,0,$vn);
|
||||
|
||||
if(!$bn->uid_exists($uid))
|
||||
if($bn->errormsg=='')
|
||||
break;
|
||||
}
|
||||
|
||||
if($bn->uid_exists($uid))
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Es konnte keine UID ermittelt werden';
|
||||
}
|
||||
}
|
||||
|
||||
//Kurzbz generieren
|
||||
if(!$error)
|
||||
{
|
||||
$kurzbz='';
|
||||
$mitarbeiter = new mitarbeiter($conn);
|
||||
$nachname_clean = clean_string($nachname);
|
||||
$vorname_clean = clean_string($vorname);
|
||||
for($nn=6,$vn=2;$nn!=0;$nn--,$vn++)
|
||||
{
|
||||
$kurzbz = substr($nachname_clean,0,$nn);
|
||||
$kurzbz .= substr($vorname_clean,0,$vn);
|
||||
|
||||
if(!$mitarbeiter->kurzbz_exists($kurzbz))
|
||||
if($mitarbeiter->errormsg=='')
|
||||
break;
|
||||
}
|
||||
|
||||
if($mitarbeiter->kurzbz_exists($kurzbz))
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Es konnte keine Kurzbezeichnung ermittelt werden';
|
||||
}
|
||||
}
|
||||
|
||||
//Alias generieren
|
||||
if(!$error)
|
||||
{
|
||||
$nachname_clean = strtolower(clean_string($nachname));
|
||||
$vorname_clean = strtolower(clean_string($vorname));
|
||||
$bn = new benutzer($conn);
|
||||
|
||||
if(!$bn->alias_exists($vorname_clean.'.'.$nachname_clean))
|
||||
$alias = $vorname_clean.'.'.$nachname_clean;
|
||||
else
|
||||
$alias = '';
|
||||
}
|
||||
|
||||
//Benutzer anlegen
|
||||
if(!$error)
|
||||
{
|
||||
$benutzer = new benutzer($conn);
|
||||
|
||||
$benutzer->uid = $uid;
|
||||
$benutzer->person_id = $person->person_id;
|
||||
$benutzer->bnaktiv = true;
|
||||
$benutzer->aktiv = true;
|
||||
$benutzer->alias = $alias;
|
||||
$benutzer->insertamum=date('Y-m-d H:i:s');
|
||||
$benutzer->insertvon = $user;
|
||||
|
||||
if($benutzer->save(true,false))
|
||||
{
|
||||
$error = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Speichern des Benutzers:'.$benutzer->errormsg;
|
||||
}
|
||||
}
|
||||
|
||||
//Personalnummer ermitteln
|
||||
//ToDo: Wenn alle Syncscripte abgeschalten sind, dann kann in der Klasse beim Insert die
|
||||
// Personalnummer entfernt werden. Dann ist dieser Teil nicht mehr noetig
|
||||
if(!$error)
|
||||
{
|
||||
$qry = "SELECT nextval('public.tbl_mitarbeiter_personalnummer_seq') as id";
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$personalnummer = $row->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Ermitteln der Personalnummer';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Ermitteln der Personalnummer';
|
||||
}
|
||||
}
|
||||
|
||||
//Mitarbeiter anlegen
|
||||
if(!$error)
|
||||
{
|
||||
$mitarbeiter = new mitarbeiter($conn);
|
||||
|
||||
$mitarbeiter->uid = $uid;
|
||||
$mitarbeiter->personalnummer = $personalnummer;
|
||||
$mitarbeiter->kurzbz = $kurzbz;
|
||||
$mitarbeiter->lektor = true;
|
||||
$mtiarbeiter->aktiv = true;
|
||||
$mitarbeiter->fixangestellt = true;
|
||||
$mitarbeiter->stundensatz = 0;
|
||||
$mitarbeiter->anmerkung = $anmerkungen;
|
||||
$mitarbeiter->ausbildungcode = $letzteausbildung;
|
||||
$mitarbeiter->insertamum = date('Y-m-d H:i:s');
|
||||
$mitarbeiter->insertvon = $user;
|
||||
|
||||
if($mitarbeiter->save(true, false))
|
||||
{
|
||||
$error = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Speichern des Mitarbeiters:'.$mitarbeiter->errormsg;
|
||||
}
|
||||
}
|
||||
|
||||
//Adresse anlegen
|
||||
if($ueberschreiben!='' && !($plz=='' && $adresse=='' && $ort==''))
|
||||
{
|
||||
if($person_id=='0')
|
||||
$ueberschreiben='Nein';
|
||||
|
||||
$adr = new adresse($conn);
|
||||
//Adresse neu anlegen
|
||||
if($ueberschreiben=='Nein')
|
||||
{
|
||||
$adr->new = true;
|
||||
$adr->insertamum = date('Y-m-d H:i:s');
|
||||
$adr->insertvon = $user;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Bestehende Adresse Ueberschreiben
|
||||
|
||||
//Adressen der Peron laden
|
||||
$adr->load_pers($person->person_id);
|
||||
if(isset($adr->result[0]))
|
||||
{
|
||||
//Erste Adresse laden
|
||||
if($adr->load($adr->result[0]->adresse_id))
|
||||
{
|
||||
$adr->new = false;
|
||||
$adr->updateamum = date('Y-m-d H:i:s');
|
||||
$adr->updatevon = $user;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim laden der Adresse';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Kann die Adresse nicht ueberschreiben wenn keine da ist';
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
//Adressdaten zuweisen und speichern
|
||||
$adr->person_id = $person->person_id;
|
||||
$adr->strasse = $adresse;
|
||||
$adr->plz = $plz;
|
||||
$adr->ort = $ort;
|
||||
$adr->typ = 'h';
|
||||
$adr->heimatadresse = true;
|
||||
$adr->zustelladresse = true;
|
||||
if(!$adr->save())
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = $adr->errormsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Kontaktdaten anlegen
|
||||
if(!$error)
|
||||
{
|
||||
//EMail Adresse speichern
|
||||
if($email!='')
|
||||
{
|
||||
$kontakt = new kontakt($conn);
|
||||
$kontakt->person_id = $person->person_id;
|
||||
$kontakt->kontakttyp = 'email';
|
||||
$kontakt->kontakt = $email;
|
||||
$kontakt->zustellung = true;
|
||||
$kontakt->insertamum = date('Y-m-d H:i:s');
|
||||
$kontakt->insertvon = $user;
|
||||
$kontakt->new = true;
|
||||
|
||||
if(!$kontakt->save())
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Speichern der Email Adresse';
|
||||
}
|
||||
}
|
||||
//Telefonnummer speichern
|
||||
if($telefon!='')
|
||||
{
|
||||
$kontakt = new kontakt($conn);
|
||||
$kontakt->person_id = $person->person_id;
|
||||
$kontakt->kontakttyp = 'telefon';
|
||||
$kontakt->kontakt = $telefon;
|
||||
$kontakt->zustellung = true;
|
||||
$kontakt->insertamum = date('Y-m-d H:i:s');
|
||||
$kontakt->insertvon = $user;
|
||||
$kontakt->new = true;
|
||||
|
||||
if(!$kontakt->save())
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Speichern der Telefonnummer';
|
||||
}
|
||||
}
|
||||
//Mobiltelefonnummer speichern
|
||||
if($mobil!='')
|
||||
{
|
||||
$kontakt = new kontakt($conn);
|
||||
$kontakt->person_id = $person->person_id;
|
||||
$kontakt->kontakttyp = 'mobil';
|
||||
$kontakt->kontakt = $mobil;
|
||||
$kontakt->zustellung = true;
|
||||
$kontakt->insertamum = date('Y-m-d H:i:s');
|
||||
$kontakt->insertvon = $user;
|
||||
$kontakt->new = true;
|
||||
|
||||
if(!$kontakt->save())
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Speichern der Mobiltelefonnummer';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
pg_query($conn, 'COMMIT');
|
||||
die("<b>Mitarbeiter $vorname $nachname wurde erfolgreich angelegt</b><br>");
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($conn, 'ROLLBACK');
|
||||
echo '<span class="error">'.$errormsg.'</span>';
|
||||
}
|
||||
}
|
||||
// *** SAVE ENDE ***
|
||||
?>
|
||||
<form method='POST'>
|
||||
<table width="100%">
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<!--Formularfelder-->
|
||||
<table>
|
||||
<?php
|
||||
echo '<tr><td>Titel</td><td><input type="text" id="titel" name="titel" maxlength="64" value="'.$titel.'" /></td></tr>';
|
||||
echo '<tr><td>Vorname</td><td><input type="text" id="vorname" maxlength="32" name="vorname" value="'.$vorname.'" /></td></tr>';
|
||||
echo '<tr><td>Nachname</td><td><input type="text" maxlength="64" id="nachname" name="nachname" value="'.$nachname.'" /></td></tr>';
|
||||
echo '<tr><td>Geschlecht</td><td><SELECT id="geschlecht" name="geschlecht">';
|
||||
echo '<OPTION value="m" '.($geschlecht=='m'?'selected':'').'>männlich</OPTION>';
|
||||
echo '<OPTION value="w" '.($geschlecht=='w'?'selected':'').'>weiblich</OPTION>';
|
||||
echo '</SELECT>';
|
||||
echo '</td></tr>';
|
||||
echo '<tr><td>SVNR</td><td><input type="text" id="svnr" size="10" maxlength="10" name="svnr" value="'.$svnr.'" onblur="GeburtsdatumEintragen()" /></td></tr>';
|
||||
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.'" /></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 '</table>';
|
||||
echo '<div style="display: none;" id="ueb1"><input type="radio" id="ueberschreiben1" name="ueberschreiben" value="Ja" checked>Bestehende Adresse 暅erschreiben</div>';
|
||||
echo '<div style="display: none;" id="ueb2"><input type="radio" id="ueberschreiben2" name="ueberschreiben" value="Nein">Adresse neu anlegen</div>';
|
||||
echo '<div style="display: none;" id="ueb3"><input type="radio" id="ueberschreiben3" name="ueberschreiben" value="">Adresse nicht anlegen</div>';
|
||||
echo '</fieldset></td></tr>';
|
||||
echo '<tr><td>EMail</td><td><input type="text" id="email" maxlength="128" name="email" value="'.$email.'" /></td></tr>';
|
||||
echo '<tr><td>Telefon</td><td><input type="text" id="telefon" maxlength="128" name="telefon" value="'.$telefon.'" /></td></tr>';
|
||||
echo '<tr><td>Mobil</td><td><input type="text" id="mobil" maxlength="128" name="mobil" value="'.$mobil.'" /></td></tr>';
|
||||
echo '<tr><td>Letzte Ausbildung</td><td><SELECT id="letzteausbildung" name="letzteausbildung">';
|
||||
$qry = "SELECT * FROM bis.tbl_ausbildung ORDER BY ausbildungcode";
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
echo '<OPTION value="'.$row->ausbildungcode.'" '.($letzteausbildung==$row->ausbildungcode?'selected':'').'>'.$row->ausbildungbez.'</OPTION>';
|
||||
}
|
||||
}
|
||||
echo '</SELECT>';
|
||||
echo '</td></tr>';
|
||||
echo '<tr><td>Anmerkungen</td><td><textarea id="anmerkung" name="anmerkungen">'.$anmerkungen.'</textarea></td></tr>';
|
||||
echo '<tr><tr><td></td><td>';
|
||||
|
||||
if($geburtsdatum=='' && $vorname=='' && $nachname=='')
|
||||
echo '<input type="submit" name="showagain" value="Vorschlag laden"</td></tr>';
|
||||
else
|
||||
echo '<input type="submit" name="save" value="Speichern"</td></tr>';
|
||||
?>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<!--Vorschlaege-->
|
||||
<?php
|
||||
//Vorschlaege laden
|
||||
if($geburtsdatum!='')
|
||||
{
|
||||
if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$geburtsdatum))
|
||||
{
|
||||
$where = " gebdatum='".$geburtsdatum."'";
|
||||
}
|
||||
}
|
||||
|
||||
if($vorname!='' && $nachname!='')
|
||||
{
|
||||
if($where!='')
|
||||
$where.=' OR';
|
||||
$where.=" (LOWER(vorname)=LOWER('".$vorname."') AND LOWER(nachname)=LOWER('".$nachname."'))";
|
||||
}
|
||||
|
||||
if($where!='')
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_person WHERE $where ORDER BY nachname, vorname, gebdatum";
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
echo '<table><tr><th></th><th>Nachname</th><th>Vorname</th><th>GebDatum</th><th>SVNR</th><th>Geschlecht</th><th>Adresse</th><th>Status</th></tr>';
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$status = '';
|
||||
$qry_ma = "SELECT * FROM campus.vw_mitarbeiter WHERE person_id='$row->person_id'";
|
||||
if($result_ma = pg_query($conn, $qry_ma))
|
||||
if($row_ma=pg_fetch_object($result_ma))
|
||||
$status.=' Mitarbeiter';
|
||||
$qry_ma = "SELECT * FROM campus.vw_student WHERE person_id='$row->person_id'";
|
||||
if($result_ma = pg_query($conn, $qry_ma))
|
||||
if($row_ma=pg_fetch_object($result_ma))
|
||||
$status.=' Student';
|
||||
echo '<tr valign="top"><td><input type="radio" name="person_id" value="'.$row->person_id.'" onclick="disablefields(this)"></td><td>'."$row->nachname</td><td>$row->vorname</td><td>$row->gebdatum</td><td>$row->svnr</td><td>".($row->geschlecht=='m'?'m鄚nlich':'weiblich')."</td><td>";
|
||||
$qry_adr = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id'";
|
||||
if($result_adr = pg_query($conn, $qry_adr))
|
||||
while($row_adr=pg_fetch_object($result_adr))
|
||||
echo "$row_adr->plz $row_adr->ort, $row_adr->strasse<br>";
|
||||
echo "<td>$status</td>";
|
||||
echo "</td></tr>";
|
||||
}
|
||||
echo '<tr><td><input type="radio" name="person_id" value="0" checked onclick="disablefields(this)"></td><td>Neue Person anlegen</td></tr>';
|
||||
echo '</table>';
|
||||
}
|
||||
}
|
||||
//else
|
||||
// echo 'Zum Erstellen des Vorschlags bitte Geburtsdatum oder Vorname und Nachname eingeben';
|
||||
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user