mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 01:42:17 +00:00
SYNC Mitarbeiter
This commit is contained in:
@@ -1,19 +1,5 @@
|
||||
<?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
|
||||
@@ -24,120 +10,669 @@
|
||||
*
|
||||
*/
|
||||
require_once('../../../vilesci/config.inc.php');
|
||||
require_once('../../../include/person.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/mitarbeiter.class.php');
|
||||
|
||||
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
|
||||
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur FAS Datenbank fehlgeschlagen");
|
||||
|
||||
$adress='ruhan@technikum-wien.at';
|
||||
$adress_plausi='ruhan@technikum-wien.at';
|
||||
//$adress='fas_sync@technikum-wien.at';
|
||||
|
||||
$error_log='';
|
||||
$error_log_fas='';
|
||||
$text = '';
|
||||
$anzahl_quelle=0;
|
||||
$anzahl_eingefuegt=0;
|
||||
$anzahl_fehler=0;
|
||||
$anzahl_eingefuegt_person=0;
|
||||
$anzahl_geaendert_person=0;
|
||||
$anzahl_eingefuegt_mitarbeiter=0;
|
||||
$anzahl_geaendert_mitarbeiter=0;
|
||||
$anzahl_eingefuegt_benutzer=0;
|
||||
$anzahl_geaendert_benutzer=0;
|
||||
$plausi='';
|
||||
$plausisvnr='';
|
||||
$anzahl_fehler_person=0;
|
||||
$anzahl_fehler_benutzer=0;
|
||||
$anzahl_fehler_mitarbeiter=0;
|
||||
|
||||
// ***********************************
|
||||
// * VILESCI->PORTAL - Synchronisation
|
||||
// ***********************************
|
||||
function myaddslashes($var)
|
||||
{
|
||||
return ($var!=''?"'".addslashes($var)."'":'null');
|
||||
}
|
||||
|
||||
/************************************
|
||||
* FAS-PORTAL - Synchronisation
|
||||
*/
|
||||
?>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Synchro - Vilesci -> Portal - Mitarbeiter</title>
|
||||
<title>Synchro - FAS -> Portal - Mitarbeiter</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<?php
|
||||
//Mitarbeiter
|
||||
$qry = "SELECT * FROM person JOIN mitarbeiter ON person_fk=person_pk WHERE uid NOT LIKE '\_dummy%'";
|
||||
$plausisvnr="Überprüfung Mitarbeiterdaten im FAS:\n\n";
|
||||
echo nl2br($error_log_fas);
|
||||
|
||||
if($result = pg_query($conn_fas, $qry))
|
||||
$qry="SELECT * FROM Person join Mitarbeiter ON person_pk=mitarbeiter.person_fk WHERE svnr='0005010400';";
|
||||
if($resultp = pg_query($conn_fas, $qry))
|
||||
{
|
||||
echo nl2br("\n Sync Mitarbeiter\n\n");
|
||||
$anzahl_quelle=pg_num_rows($result);
|
||||
while($row = pg_fetch_object($result))
|
||||
$plausisvnr="SVNr 0005010400 findet sich bei folgenden ".pg_numrows($resultp)." Personen:\n";
|
||||
while($rowp=pg_fetch_object($resultp))
|
||||
{
|
||||
$error=false;
|
||||
$mitarbeiter = new mitarbeiter($conn);
|
||||
|
||||
//if($row->personalnummer!='')
|
||||
//{
|
||||
$mitarbeiter->sprache='German';
|
||||
$mitarbeiter->anrede=$row->anrede;
|
||||
$mitarbeiter->titelpost=$row->postnomentitel;
|
||||
$mitarbeiter->titelpre=$row->titel;
|
||||
$mitarbeiter->nachname=$row->familienname;
|
||||
$mitarbeiter->vorname=$row->vorname;
|
||||
$mitarbeiter->vornamen=$row->vornamen;
|
||||
$mitarbeiter->gebdatum=$row->gebdat;
|
||||
$mitarbeiter->gebort=$row->gebort;
|
||||
$plausisvnr.="Person ".$rowp->uid." / PNr.: ".$rowp->persnr." / ".$rowp->familienname."\n";
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
$qry="SELECT * FROM Person join Mitarbeiter ON person_pk=mitarbeiter.person_fk WHERE uid IS NULL OR uid='';";
|
||||
if($resultp = pg_query($conn_fas, $qry))
|
||||
{
|
||||
$plausisvnr.="\n\nKeine UID bei ".pg_numrows($resultp)." Personen:\n";
|
||||
while($rowp=pg_fetch_object($resultp))
|
||||
{
|
||||
$plausisvnr.="Person mit PNr.: ".$rowp->persnr." / ".$rowp->familienname."\n";
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
echo nl2br($plausisvnr."\n");
|
||||
$qry="
|
||||
SELECT
|
||||
p1.person_pk AS person1, p1.familienname AS familienname1, p1.vorname AS vorname1, p1.vornamen AS vornamen1, p1.geschlecht AS geschlecht1,
|
||||
p1.gebdat AS gebdat1, p1.gebort AS gebort1, p1.staatsbuergerschaft AS staatsbuergerschaft1, p1.familienstand AS familienstand1,
|
||||
p1.svnr AS svnr1, p1. ersatzkennzeichen AS ersatzkennzeichen1, p1.anrede AS anrede1, p1.anzahlderkinder AS anzahlderkinder1,
|
||||
p1.bismelden AS bismelden1, p1.titel AS titel1, p1.uid AS uid1, p1.gebnation AS gebnation1, p1.postnomentitel AS postnomentitel1,
|
||||
p1.beginndatum AS beginndatum1, p1.akadgrad AS akadgrad1, p1.habilitation AS habilitation1, p1.mitgliedentwicklungsteam as mitgliedentwicklungsteam1,
|
||||
p1.qualifikation as qualifikation1, p1.hauptberuflich as hauptberuflich1, p1.hauptberuf AS hauptberuf1, p1.semesterwochenstunden AS semesterwochenstunden1,
|
||||
p1.persnr as persnr1, p1.beendigungsdatum AS beendigungsdatum1, p1.ausgeschieden AS ausgeschieden1, p1.kurzbez AS kurzbez1,
|
||||
p1.stundensatz AS stundensatz1, p1.ausbildung AS ausbildung1, p1.aktiv AS aktiv1,
|
||||
p2.person_pk AS person2, p2.familienname AS familienname2, p2.vorname AS vorname2, p2.vornamen AS vornamen2, p2.geschlecht AS geschlecht2,
|
||||
p2.gebdat AS gebdat2, p2.gebort AS gebort2, p2.staatsbuergerschaft AS staatsbuergerschaft2, p2.familienstand AS familienstand2,
|
||||
p2.svnr AS svnr2, p2. ersatzkennzeichen AS ersatzkennzeichen2, p2.anrede AS anrede2, p2.anzahlderkinder AS anzahlderkinder2,
|
||||
p2.bismelden AS bismelden2, p2.titel AS titel2, p2.uid AS uid2, p2.gebnation AS gebnation2, p2.postnomentitel AS postnomentitel2,
|
||||
p2.beginndatum AS beginndatum2, p2.akadgrad AS akadgrad2, p2.habilitation AS habilitation2, p2.mitgliedentwicklungsteam AS mitgliedentwicklungsteam2,
|
||||
p2.qualifikation as qualifikation2, p2.hauptberuflich as hauptberuflich2, p2.hauptberuf AS hauptberuf2, p2.semesterwochenstunden AS semesterwochenstunden2,
|
||||
p2.persnr as persnr2, p2.beendigungsdatum AS beendigungsdatum2, p2.ausgeschieden AS ausgeschieden2, p2.kurzbez AS kurzbez2,
|
||||
p2.stundensatz AS stundensatz2, p2.ausbildung AS ausbildung2, p2.aktiv AS aktiv2
|
||||
FROM (person JOIN mitarbeiter ON person_pk=mitarbeiter.person_fk ) AS p1
|
||||
CROSS JOIN (person JOIN mitarbeiter ON person_pk=mitarbeiter.person_fk) AS p2 WHERE
|
||||
((p1.gebdat=p2.gebdat AND p1.familienname=p2.familienname AND p1.svnr='' AND p1.ersatzkennzeichen='')
|
||||
OR ((p1.ersatzkennzeichen=p2.ersatzkennzeichen AND p1.ersatzkennzeichen<>'') OR (p1.svnr=p2.svnr AND p1.svnr<>'')))
|
||||
AND (p1.person_pk <> p2.person_pk)
|
||||
AND (p1.svnr<>'0005010400' AND p2.svnr<>'0005010400')
|
||||
AND (p1.familienname<>p2.familienname OR p1.vorname<>p2.vorname OR p1.vornamen<>p2.vornamen OR p1.geschlecht<>p2.geschlecht OR p1.gebdat<>p2.gebdat OR p1.staatsbuergerschaft<> p2.staatsbuergerschaft OR p1.familienstand<>p2.familienstAND OR p1.svnr<>p2.svnr OR p1.ersatzkennzeichen<>p2.ersatzkennzeichen OR p1.anrede<>p2.anrede OR p1.anzahlderkinder<>p2.anzahlderkinder OR p1.bismelden<>p2.bismelden OR p1.titel<>p2.titel OR p1.uid<>p2.uid OR p1.gebnation<>p2.gebnation OR p1.postnomentitel<> p2.postnomentitel
|
||||
OR p1.beginndatum<>p2.beginndatum OR p1.akadgrad<>p2.akadgrad OR p1.habilitation<>p2.habilitation OR p1.mitgliedentwicklungsteam<>p2.mitgliedentwicklungsteam OR p1.qualifikation<>p2.qualifikation OR p1.hauptberuflich<>p2.hauptberuflich OR p1.hauptberuf<>p2.hauptberuf OR p1.semesterwochenstunden<>p2.semesterwochenstunden OR p1.persnr<>p2.persnr OR p1.beendigungsdatum<>p2.beendigungsdatum OR p1.ausgeschieden<>p2.ausgeschieden OR p1.kurzbez<>p2.kurzbez OR p1.stundensatz<>p2.stundensatz OR p1.ausbildung<>p2.ausbildung OR p1.aktiv<>p2.aktiv)
|
||||
order by p1.familienname;
|
||||
";
|
||||
//AND (p1.svnr<>'0005010400' AND p2.svnr<>'0005010400')
|
||||
|
||||
$mitarbeiter->geburtsnation=$row->gebnation;
|
||||
$mitarbeiter->foto='';
|
||||
$mitarbeiter->anmerkungen=$row->bemerkung;
|
||||
$mitarbeiter->svnr=$row->svnr;
|
||||
$mitarbeiter->geschlecht=strtolower($row->geschlecht);
|
||||
$mitarbeiter->ersatzkennzeichen=$row->ersatzkennzeichen;
|
||||
if ($row->familienstand=='0')
|
||||
{
|
||||
$mitarbeiter->familienstand=null;
|
||||
}
|
||||
if ($row->familienstand=='1')
|
||||
{
|
||||
$mitarbeiter->familienstand='l';
|
||||
}
|
||||
if ($row->familienstand=='2')
|
||||
{
|
||||
$mitarbeiter->familienstand='v';
|
||||
}
|
||||
if ($row->familienstand=='3')
|
||||
{
|
||||
$mitarbeiter->familienstand='g';
|
||||
}
|
||||
if ($row->familienstand=='4')
|
||||
{
|
||||
$mitarbeiter->familienstand='w';
|
||||
}
|
||||
$mitarbeiter->anzahlkinder=$row->anzahlderkinder;
|
||||
$mitarbeiter->aktiv=($row->aktiv=='t'?true:false);
|
||||
$mitarbeiter->insertvon='SYNC';
|
||||
$mitarbeiter->insertamum='';
|
||||
$mitarbeiter->updateamum='';
|
||||
$mitarbeiter->updatevon='SYNC';
|
||||
$mitarbeiter->ext_id=$row->person_pk;
|
||||
$mitarbeiter->ext_id_mitarbeiter=$row->mitarbeiter_pk;
|
||||
$mitarbeiter->kurzbz=$row->kurzbez;
|
||||
$mitarbeiter->uid=$row->uid;
|
||||
if($row->ausbildung>0)
|
||||
{
|
||||
$mitarbeiter->ausbildungcode=$row->ausbildung;
|
||||
}
|
||||
else
|
||||
{
|
||||
$mitarbeiter->ausbildungscode=null;
|
||||
}
|
||||
$mitarbeiter->personalnummer=$row->persnr;
|
||||
if($resultp = pg_query($conn_fas, $qry))
|
||||
{
|
||||
while($rowp=pg_fetch_object($resultp))
|
||||
{
|
||||
$plausi='';
|
||||
if ($rowp->geschlecht1<>$rowp->geschlecht2)
|
||||
{
|
||||
$plausi.="Geschlecht der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->geschlecht1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->geschlecht2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->familienname1<>$rowp->familienname2)
|
||||
{
|
||||
$plausi.="Familienname der Person ".$rowp->uid1." (".$rowp->person1.") ist '".$rowp->familienname1."' bei ".$rowp->uid2." (".$rowp->person2.") aber '".$rowp->familienname2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->vorname1<>$rowp->vorname2)
|
||||
{
|
||||
$plausi.="Vorname der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->vorname1."' bei ".$rowp->person2." aber '".$rowp->vorname2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->vornamen1<>$rowp->vornamen2)
|
||||
{
|
||||
$plausi.="Vornamen der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->vornamen1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->vornamen2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->gebdat1<>$rowp->gebdat2)
|
||||
{
|
||||
$plausi.="Geburtsdatum der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->gebdat1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->gebdat2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->gebort1<>$rowp->gebort2)
|
||||
{
|
||||
$plausi.="Geburtsort der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->gebort1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->gebort2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->staatsbuergerschaft1<>$rowp->staatsbuergerschaft2)
|
||||
{
|
||||
$plausi.="Staatsbürgerschaft der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->staatsbuergerschaft1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->staatsbuergerschaft2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->familienstand1<>$rowp->familienstand2)
|
||||
{
|
||||
$plausi.="Familienstand der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->familienstand1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->familienstand2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->svnr1<>$rowp->svnr2)
|
||||
{
|
||||
$plausi.="Sozialversicherung der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->svnr1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->svnr2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->ersatzkennzeichen1<>$rowp->ersatzkennzeichen2)
|
||||
{
|
||||
$plausi.="Ersatzkennzeichen der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->ersatzkennzeichen1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->ersatzkennzeichen2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->anrede1<>$rowp->anrede2)
|
||||
{
|
||||
$plausi.="Anrede der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->anrede1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->anrede2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->anzahlderkinder1<>$rowp->anzahlderkinder2)
|
||||
{
|
||||
$plausi.="Anzahl der Kinder der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->anzahlderkinder1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->anzahlderkinder2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->bismelden1<>$rowp->bismelden2)
|
||||
{
|
||||
$plausi.="Bismelden der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->bismelden1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->bismelden2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->titel1<>$rowp->titel2)
|
||||
{
|
||||
$plausi.="Titel der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->titel1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->titel2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->uid1<>$rowp->uid2)
|
||||
{
|
||||
$plausi.="UID der Person ".$rowp->person1." / ".$rowp->familienname1." ist '".$rowp->uid1."' bei ".$rowp->person2." / ".$rowp->familienname2." aber '".$rowp->uid2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->gebnation1<>$rowp->gebnation2)
|
||||
{
|
||||
$plausi.="Geburtsnation der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->gebnation1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->gebnation2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->postnomentitel1<>$rowp->postnomentitel2)
|
||||
{
|
||||
$plausi.="Postnomentitel der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->postnomentitel1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->postnomentitel2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->beginndatum1<>$rowp->beginndatum2)
|
||||
{
|
||||
$plausi.="Beginndatum der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->beginndatum1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->beginndatum2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->akadgrad1<>$rowp->akadgrad2)
|
||||
{
|
||||
$plausi.="Akademischer Grad der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->akadgrad1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->akadgrad2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->habilitation1<>$rowp->habilitation2)
|
||||
{
|
||||
$plausi.="Habilitation der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->habilitation1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->habilitation2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->mitgliedentwicklungsteam1<>$rowp->mitgliedentwicklungsteam2)
|
||||
{
|
||||
$plausi.="Mitgliedentwicklungsteam der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->mitgliedentwicklungsteam1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->mitgliedentwickluingsteam2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->qualifikation1<>$rowp->qualifikation2)
|
||||
{
|
||||
$plausi.="Qualifikation der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->qualifikation1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->qualifikation2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->hauptberuflich1<>$rowp->hauptberuflich2)
|
||||
{
|
||||
$plausi.="Hauptberuflich der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->hauptberuflich1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->hauptberuflich2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->hauptberuf1<>$rowp->hauptberuf2)
|
||||
{
|
||||
$plausi.="Hauptberuf der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->hauptberuf1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->hauptberuf2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->semesterwochenstunden1<>$rowp->semesterwochenstunden2)
|
||||
{
|
||||
$plausi.="Semesterwochenstunden der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->semesterwochenstunden1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->semesterwochenstunden2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->persnr1<>$rowp->persnr2)
|
||||
{
|
||||
$plausi.="Personalnummer der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->persnr1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->persnr2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->beendigungsdatum1<>$rowp->beendigungsdatum2)
|
||||
{
|
||||
$plausi.="Beendigungsdatum der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->beendigungsdatum1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->beendigungsdatum2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->ausgeschieden1<>$rowp->ausgeschieden2)
|
||||
{
|
||||
$plausi.="Ausgeschieden der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->ausgeschieden1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->ausgeschieden2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->kurzbez1<>$rowp->kurzbez2)
|
||||
{
|
||||
$plausi.="Kurzbezeichnung der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->kurzbez1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->kurzbez2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->stundensatz1<>$rowp->stundensatz2)
|
||||
{
|
||||
$plausi.="Stundensatz der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->stundensatz1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->stundensatz2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->ausbildung1<>$rowp->ausbildung2)
|
||||
{
|
||||
$plausi.="Ausbildung der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->ausbildung1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->ausbildung2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($rowp->aktiv1<>$rowp->aktiv2)
|
||||
{
|
||||
$plausi.="Aktiv der Person ".$rowp->uid1." (".$rowp->person1.") / ".$rowp->familienname1." ist '".$rowp->aktiv1."' bei ".$rowp->uid2." (".$rowp->person2.") / ".$rowp->familienname2." aber '".$rowp->aktiv2."'.\n";
|
||||
$error=true;
|
||||
}
|
||||
if ($error)
|
||||
{
|
||||
$plausi="*****\n".$plausi."*****\n";
|
||||
echo nl2br ($plausi);
|
||||
$error_log_fas.=$plausi;
|
||||
ob_flush();
|
||||
flush();
|
||||
$error=false;
|
||||
}
|
||||
}
|
||||
}
|
||||
$error_log_fas=$plausisvnr."\n".$error_log_fas;
|
||||
//mail($adress_plausi, 'Plausicheck von Mitarbeiter', $error_log_fas,"From: vilesci@technikum-wien.at");
|
||||
$error_log_fas='';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$qryall = "SELECT * FROM person JOIN mitarbeiter ON person_pk=mitarbeiter.person_fk WHERE (person.uid IS NOT NULL AND person.uid<>'')
|
||||
AND person_pk NOT IN (
|
||||
SELECT p1.person_pk
|
||||
FROM (person JOIN mitarbeiter ON person_pk=mitarbeiter.person_fk ) AS p1
|
||||
CROSS JOIN (person JOIN mitarbeiter ON person_pk=mitarbeiter.person_fk) AS p2 WHERE
|
||||
((p1.gebdat=p2.gebdat AND p1.familienname=p2.familienname AND p1.svnr='' AND p1.ersatzkennzeichen='')
|
||||
OR ((p1.ersatzkennzeichen=p2.ersatzkennzeichen AND p1.ersatzkennzeichen<>'') OR (p1.svnr=p2.svnr AND p1.svnr<>'')))
|
||||
AND (p1.person_pk <> p2.person_pk)
|
||||
AND (p1.familienname<>p2.familienname OR p1.vorname<>p2.vorname OR p1.vornamen<>p2.vornamen OR p1.geschlecht<>p2.geschlecht OR p1.gebdat<>p2.gebdat OR p1.staatsbuergerschaft<> p2.staatsbuergerschaft OR p1.familienstand<>p2.familienstAND OR p1.svnr<>p2.svnr OR p1.ersatzkennzeichen<>p2.ersatzkennzeichen OR p1.anrede<>p2.anrede OR p1.anzahlderkinder<>p2.anzahlderkinder OR p1.bismelden<>p2.bismelden OR p1.titel<>p2.titel OR p1.uid<>p2.uid OR p1.gebnation<>p2.gebnation OR p1.postnomentitel<> p2.postnomentitel
|
||||
OR p1.beginndatum<>p2.beginndatum OR p1.akadgrad<>p2.akadgrad OR p1.habilitation<>p2.habilitation OR p1.mitgliedentwicklungsteam<>p2.mitgliedentwicklungsteam OR p1.qualifikation<>p2.qualifikation OR p1.hauptberuflich<>p2.hauptberuflich OR p1.hauptberuf<>p2.hauptberuf OR p1.semesterwochenstunden<>p2.semesterwochenstunden OR p1.persnr<>p2.persnr OR p1.beendigungsdatum<>p2.beendigungsdatum OR p1.ausgeschieden<>p2.ausgeschieden OR p1.kurzbez<>p2.kurzbez OR p1.stundensatz<>p2.stundensatz OR p1.ausbildung<>p2.ausbildung OR p1.aktiv<>p2.aktiv)
|
||||
);";
|
||||
|
||||
if($resultall = pg_query($conn_fas, $qryall))
|
||||
{
|
||||
echo nl2br("Mitarbeiter Sync\n-----------------\n");
|
||||
ob_flush();
|
||||
flush();
|
||||
$anzahl_quelle=pg_num_rows($resultall);
|
||||
while($rowall = pg_fetch_object($resultall))
|
||||
{
|
||||
echo "- ";
|
||||
ob_flush();
|
||||
flush();
|
||||
//PERSON
|
||||
$personsprache='';
|
||||
$persongebzeit='';
|
||||
$personfoto='';
|
||||
$personhomepage='';
|
||||
$persongeburtsnation=$rowall->gebnation;
|
||||
$personanrede=trim($rowall->anrede);
|
||||
$persontitelpost=trim($rowall->postnomentitel);
|
||||
$persontitelpre=trim($rowall->titel);
|
||||
$personnachname=trim($rowall->familienname);
|
||||
$personvorname=trim($rowall->vorname);
|
||||
$personvornamen=trim($rowall->vornamen);
|
||||
$persongebdatum=$rowall->gebdat;
|
||||
$persongebort=$rowall->gebort;
|
||||
$personanmerkungen=$rowall->bemerkung;
|
||||
$personsvnr=trim($rowall->svnr);
|
||||
$personersatzkennzeichen=trim($rowall->ersatzkennzeichen);
|
||||
$personfamilienstand=$rowall->familienstand;
|
||||
$personanzahlkinder=$rowall->anzahlderkinder;
|
||||
$personstaatsbuergerschaft=$rowall->staatsbuergerschaft;
|
||||
$persongeschlecht=strtolower($rowall->geschlecht);
|
||||
$personext_id=$rowall->person_pk;
|
||||
$personaktiv=true;
|
||||
$personupdatevon='SYNC';
|
||||
$personinsertvon='SYNC';
|
||||
if($rowall->familienstand==1)
|
||||
{
|
||||
$personfamilienstand='l';
|
||||
}
|
||||
elseif($rowall->familienstand==2)
|
||||
{
|
||||
$personfamilienstand='v';
|
||||
}
|
||||
elseif($rowall->familienstand==3)
|
||||
{
|
||||
$personfamilienstand='g';
|
||||
}
|
||||
elseif($rowall->familienstand==4)
|
||||
{
|
||||
$personfamilienstand='w';
|
||||
}
|
||||
else
|
||||
{
|
||||
$personfamilienstand=null;
|
||||
}
|
||||
if ($persongeschlecht=='')
|
||||
{
|
||||
$persongeschlecht='m';
|
||||
}
|
||||
|
||||
//MITARBEITER
|
||||
//if($rowall->personalnummer!='')
|
||||
$mitarbeiteruid=$rowall->uid;
|
||||
$mitarbeiterpersonalnummer=$rowall->persnr;
|
||||
$mitarbeitertelefonklappe='';
|
||||
$mitarbeiterkurzbz=$rowall->kurzbez;
|
||||
$mitarbeiterlektor=true;
|
||||
$mitarbeiterfixangestellt=false;
|
||||
$mitarbeiterstundensatz=0;
|
||||
if($rowall->ausbildung>0)
|
||||
{
|
||||
$mitarbeiterausbildungcode=$rowall->ausbildung;
|
||||
}
|
||||
else
|
||||
{
|
||||
$mitarbeiterausbildungscode=null;
|
||||
}
|
||||
$mitarbeiterort_kurzbz=null;
|
||||
$mitarbeiterinsertvon='SYNC';
|
||||
$mitarbeiterinsertamum='';
|
||||
$mitarbeiterupdateamum='';
|
||||
$mitarbeiterupdatevon='SYNC';
|
||||
$mitarbeiterext_id=$rowall->mitarbeiter_pk;
|
||||
|
||||
|
||||
|
||||
//BENUTZER
|
||||
$benutzeruid=$rowall->uid;
|
||||
$benutzerperson_id='';
|
||||
$benutzeraktiv=($rowall->aktiv=='t'?true:false);
|
||||
$benutzeralias='';
|
||||
$benutzerinsertvon='SYNC';
|
||||
$benutzerinsertamum='';
|
||||
$benutzerupdateamum='';
|
||||
$benutzerupdatevon='SYNC';
|
||||
$benutzerext_id=$rowall->person_pk;
|
||||
|
||||
|
||||
$error=false;
|
||||
|
||||
$mitarbeiter->gebzeit='';
|
||||
$mitarbeiter->ort_kurzbz='';
|
||||
$mitarbeiter->homepage='';
|
||||
$mitarbeiter->alias='';
|
||||
$mitarbeiter->lektor=true;
|
||||
$mitarbeiter->fixangestellt=false;
|
||||
$mitarbeiter->telefonklappe='';
|
||||
|
||||
$qry = "SELECT person_id FROM public.tbl_benutzer WHERE uid='$row->uid'";
|
||||
if($result1 = pg_query($conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
|
||||
pg_query($conn, "BEGIN");
|
||||
|
||||
$qry="SELECT person_id FROM public.tbl_benutzer WHERE uid='$rowall->uid'";
|
||||
if($resultu = pg_query($conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($resultu)>0 && $rowall->uid!='') //wenn dieser eintrag schon vorhanden ist
|
||||
{
|
||||
if($rowu=pg_fetch_object($resultu))
|
||||
{
|
||||
if($row1=pg_fetch_object($result1))
|
||||
//update
|
||||
$personperson_id=$rowu->person_id;
|
||||
$personnew=false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error=true;
|
||||
$error_log.="benutzer von $rowall->uid konnte nicht ermittelt werden\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry="SELECT person_fas, person_portal FROM sync.tbl_syncperson WHERE person_fas='$rowall->person_pk'";
|
||||
if($result1 = pg_query($conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
|
||||
{
|
||||
$qry2="SELECT * FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON mitarbeiter_uid=public.tbl_benutzer.uid JOIN public.tbl_person USING (person_id) WHERE mitarbeiter_uid='$row->uid'";
|
||||
if($row1=pg_fetch_object($result1))
|
||||
{
|
||||
//update
|
||||
$personperson_id=$row1->person_portal;
|
||||
$personnew=false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error=true;
|
||||
$error_log.="person von $rowall->person_pk konnte nicht ermittelt werden\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//vergleich svnr und ersatzkennzeichen
|
||||
$qry="SELECT * FROM public.tbl_person
|
||||
WHERE ('$rowall->svnr' is not null AND '$rowall->svnr' <> '' AND svnr = '$rowall->svnr')
|
||||
OR ('$rowall->ersatzkennzeichen' is not null AND '$rowall->ersatzkennzeichen' <> '' AND ersatzkennzeichen = '$rowall->ersatzkennzeichen')";
|
||||
if($resultz = pg_query($conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($resultz)>0) //wenn dieser eintrag schon vorhanden ist
|
||||
{
|
||||
if($rowz=pg_fetch_object($resultz))
|
||||
{
|
||||
$personnew=false;
|
||||
$personperson_id=$rowz->person_id;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$error=true;
|
||||
$error_log.="person mit svnr: $rowall->svnr bzw. ersatzkennzeichen: $rowall->ersatzkennzeichen konnte nicht ermittelt werden (".pg_num_rows($resultz).")\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//insert
|
||||
$personnew=true;
|
||||
//echo nl2br("insert von ".$rowall->uid.", ".$rowall->familienname."\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$persondone=false;
|
||||
if(!$error)
|
||||
{
|
||||
if($personnew)
|
||||
{
|
||||
$qryi = "INSERT INTO public.tbl_person (sprache, anrede, titelpost, titelpre, nachname, vorname, vornamen,
|
||||
gebdatum, gebort, gebzeit, foto, anmerkungen, homepage, svnr, ersatzkennzeichen,
|
||||
familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon,
|
||||
geschlecht, geburtsnation, staatsbuergerschaft, ext_id)
|
||||
VALUES(".myaddslashes($personsprache).", ".
|
||||
myaddslashes($personanrede).", ".
|
||||
myaddslashes($persontitelpost).", ".
|
||||
myaddslashes($persontitelpre).", ".
|
||||
myaddslashes($personnachname).", ".
|
||||
myaddslashes($personvorname).", ".
|
||||
myaddslashes($personvornamen).", ".
|
||||
myaddslashes($persongebdatum).", ".
|
||||
myaddslashes($persongebort).", ".
|
||||
myaddslashes($persongebzeit).", ".
|
||||
myaddslashes($personfoto).", ".
|
||||
myaddslashes($personanmerkungen).", ".
|
||||
myaddslashes($personhomepage).", ".
|
||||
myaddslashes($personsvnr).", ".
|
||||
myaddslashes($personersatzkennzeichen).", ".
|
||||
myaddslashes($personfamilienstand).", ".
|
||||
myaddslashes($personanzahlkinder).", ".
|
||||
myaddslashes($personaktiv?'true':'false').",
|
||||
now(), ".
|
||||
myaddslashes($personinsertvon).",
|
||||
now(), ".
|
||||
myaddslashes($personupdatevon).", ".
|
||||
myaddslashes($persongeschlecht).", ".
|
||||
myaddslashes($persongeburtsnation).", ".
|
||||
myaddslashes($personstaatsbuergerschaft).", ".
|
||||
myaddslashes($personext_id).";";
|
||||
$persondone=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
//person_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($personperson_id))
|
||||
{
|
||||
$error_log.= "person_id muss eine gueltige Zahl sein\n";
|
||||
$error=true;
|
||||
}
|
||||
|
||||
//update nur wenn änderungen gemacht
|
||||
$qryu="SELECT * FROM public.tbl_person WHERE person_id='$personperson_id';";
|
||||
if($resultu = pg_query($conn, $qryu))
|
||||
{
|
||||
if($rowu = pg_fetch_object($resultu))
|
||||
{
|
||||
$update=false;
|
||||
if($rowu->sprache!=$personsprache) $update=true;
|
||||
if($rowu->anrede!=$personanrede) $update=true;
|
||||
if($rowu->titelpost!=$persontitelpost) $update=true;
|
||||
if($rowu->titelpre!=$persontitelpre) $update=true;
|
||||
if($rowu->nachname!=$personnachname) $update=true;
|
||||
if($rowu->vorname!=$personvorname) $update=true;
|
||||
if($rowu->vornamen!=$personvornamen) $update=true;
|
||||
if($rowu->gebdatum!=$persongebdatum) $update=true;
|
||||
if($rowu->gebort!=$persongebort) $update=true;
|
||||
if($rowu->gebzeit!=$persongebzeit) $update=true;
|
||||
if($rowu->foto!=$personfoto) $update=true;
|
||||
if($rowu->anmerkungen!=$personanmerkungen) $update=true;
|
||||
if($rowu->homepage!=$personhomepage) $update=true;
|
||||
if($rowu->svnr!=$personsvnr) $update=true;
|
||||
if($rowu->ersatzkennzeichen!=$personersatzkennzeichen) $update=true;
|
||||
if($rowu->familienstand!=$personfamilienstand) $update=true;
|
||||
if($rowu->anzahlkinder!=$personanzahlkinder) $update=true;
|
||||
if($rowu->aktiv!=$personaktiv) $update=true;
|
||||
if($rowu->geburtsnation!=$persongeburtsnation) $update=true;
|
||||
if($rowu->geschlecht!=$persongeschlecht) $update=true;
|
||||
if($rowu->staatsbuergerschaft!=$personstaatsbuergerschaft) $update=true;
|
||||
|
||||
|
||||
if($update)
|
||||
{
|
||||
$qry = "UPDATE public.tbl_person SET
|
||||
sprache=".myaddslashes($personsprache).",
|
||||
anrede=".myaddslashes($personanrede).",
|
||||
titelpost=".myaddslashes($persontitelpost).",
|
||||
titelpre=".myaddslashes($persontitelpre).",
|
||||
nachname=".myaddslashes($personnachname).",
|
||||
vorname=".myaddslashes($personvorname).",
|
||||
vornamen=".myaddslashes($personvornamen).",
|
||||
gebdatum=".myaddslashes($persongebdatum).",
|
||||
gebort=".myaddslashes($persongebort).",
|
||||
gebzeit=".myaddslashes($persongebzeit).",
|
||||
foto=".myaddslashes($personfoto).",
|
||||
anmerkungen=".myaddslashes($personanmerkungen).",
|
||||
homepage=".myaddslashes($personhomepage).",
|
||||
svnr=".myaddslashes($personsvnr).",
|
||||
ersatzkennzeichen=".myaddslashes($personersatzkennzeichen).",
|
||||
familienstand=".myaddslashes($personfamilienstand).",
|
||||
anzahlkinder=".myaddslashes($personanzahlkinder).",
|
||||
aktiv=".myaddslashes($personaktiv?'true':'false').",
|
||||
insertamum=now(),
|
||||
insertvon=".myaddslashes($personinsertvon).",
|
||||
updateamum=now(),
|
||||
updatevon=".myaddslashes($personupdatevon).",
|
||||
geschlecht=".myaddslashes($persongeschlecht).",
|
||||
geburtsnation=".myaddslashes($persongeburtsnation).",
|
||||
staatsbuergerschaft=".myaddslashes($personstaatsbuergerschaft).",
|
||||
ext_id=".myaddslashes($personext_id)."
|
||||
WHERE person_id=".myaddslashes($personperson_id).";";
|
||||
$persondone=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($persondone)
|
||||
{
|
||||
if(pg_query($conn,$qry))
|
||||
{
|
||||
if($personnew)
|
||||
{
|
||||
$qryseq = "SELECT currval('tbl_person_person_id_seq') AS id;";
|
||||
if($rowseq=pg_fetch_object(pg_query($conn,$qryseq)))
|
||||
$personperson_id=$rowseq->id;
|
||||
else
|
||||
{
|
||||
$error_log.= "Sequence konnte nicht ausgelesen werden\n";
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.= "*****\nFehler beim Speichern des Person-Datensatzes: ".$personnachname."\n".$qry."\n".pg_errormessage($conn)."\n*****\n";
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
$mitarbeiterdone=false;
|
||||
if(!$error)
|
||||
{
|
||||
//Benutzer schon vorhanden?
|
||||
$qry="SELECT uid, person_id FROM public.tbl_benutzer WHERE person_id='$personperson_id'";
|
||||
if($resultu = pg_query($conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($resultu)>0) //wenn dieser eintrag schon vorhanden ist
|
||||
{
|
||||
if($rowu=pg_fetch_object($resultu))
|
||||
{
|
||||
$benutzernew=false;
|
||||
$benutzeruid=$rowu->uid;
|
||||
}
|
||||
else $benutzernew=true;
|
||||
}
|
||||
else $benutzernew=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error=true;
|
||||
$error_log.='Fehler beim Zugriff auf Tabelle tbl_benutzer bei person_id: '.$personperson_id;
|
||||
}
|
||||
//echo nl2br("\n".$benutzeruid." / ".$personnachname."\n");
|
||||
if($benutzernew)
|
||||
{
|
||||
$qry = "INSERT INTO public.tbl_benutzer (uid, aktiv, alias, person_id, insertamum, insertvon, updateamum, updatevon) VALUES(".
|
||||
myaddslashes($benutzeruid).", ".
|
||||
myaddslashes($benutzeraktiv?'true':'false').", ".
|
||||
myaddslashes($benutzeralias).", ".
|
||||
myaddslashes($personperson_id).",
|
||||
now(), ".
|
||||
myaddslashes($benutzerinsertvon).",
|
||||
now(), ".
|
||||
myaddslashes($benutzerupdatevon).");";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "UPDATE public.tbl_benutzer SET
|
||||
aktiv=".myaddslashes($benutzeraktiv?'true':'false').",
|
||||
alias=".myaddslashes($benutzeralias).",
|
||||
person_id=".myaddslashes($personperson_id).",
|
||||
updateamum=now(),
|
||||
updatevon=".myaddslashes($benutzerupdatevon).",
|
||||
insertamum=now(),
|
||||
insertvon=".myaddslashes($benutzerinsertvon)."
|
||||
WHERE uid='$benutzeruid';";
|
||||
}
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$error_log.= "*****\nFehler beim Speichern des Benutzer-Datensatzes: ".$personnachname."\n".$qry."\n".pg_errormessage($conn)."\n*****\n";
|
||||
$error=true;
|
||||
}
|
||||
if(!$error)
|
||||
{
|
||||
//überprüfen, ob eintrag in syncperson schon vorhanden
|
||||
$qryz="SELECT person_fas FROM sync.tbl_syncperson WHERE person_fas='$personext_id' AND person_portal='$personperson_id'";
|
||||
if($resultz = pg_query($conn, $qryz))
|
||||
{
|
||||
if(pg_num_rows($resultz)==0) //wenn dieser eintrag noch nicht vorhanden ist => hinzufügen
|
||||
{
|
||||
$qry='INSERT INTO sync.tbl_syncperson (person_fas, person_portal)'.
|
||||
'VALUES ('.$personext_id.', '.$personperson_id.');';
|
||||
pg_query($conn, $qry);
|
||||
}
|
||||
}
|
||||
//mitarbeiter
|
||||
$qry2="SELECT * FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='$mitarbeiteruid'";
|
||||
if($result2 = pg_query($conn, $qry2))
|
||||
{
|
||||
if(pg_num_rows($result2)>0) //wenn dieser eintrag schon vorhanden ist
|
||||
@@ -145,77 +680,152 @@ if($result = pg_query($conn_fas, $qry))
|
||||
if($row2=pg_fetch_object($result2))
|
||||
{
|
||||
//Mitarbeiterdaten updaten
|
||||
$mitarbeiter->new=false;
|
||||
$mitarbeiter->person_id=$row1->person_id;
|
||||
|
||||
$mitarbeiter->gebzeit=$row2->gebzeit;
|
||||
$mitarbeiter->ort_kurzbz=$row2->ort_kurzbz;
|
||||
$mitarbeiter->homepage=$row2->homepage;
|
||||
$mitarbeiter->alias=$row2->alias;
|
||||
$mitarbeiter->lektor=($row2->lektor=='t'?true:false);
|
||||
$mitarbeiter->fixangestellt=($row2->fixangestellt=='t'?true:false);
|
||||
$mitarbeiter->telefonklappe=$row2->telefonklappe;
|
||||
$mitarbeiternew=false;
|
||||
$mitarbeiterperson_id=$personperson_id;
|
||||
$mitarbeiterort_kurzbz=$row2->ort_kurzbz;
|
||||
$mitarbeiterlektor=($row2->lektor=='t'?true:false);
|
||||
$mitarbeiterfixangestellt=($row2->fixangestellt=='t'?true:false);
|
||||
$mitarbeitertelefonklappe=$row2->telefonklappe;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Mitarbeiter neu anlegen
|
||||
$mitarbeiter->new=true;
|
||||
$mitarbeiternew=true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.="Mitarbeiter von $row->uid konnte nicht gefunden werden\n";
|
||||
$error_log.="Mitarbeiter von $rowall->uid konnte nicht gefunden werden\n";
|
||||
$error=true;
|
||||
}
|
||||
if(!$error)
|
||||
{
|
||||
if($mitarbeiternew)
|
||||
{
|
||||
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = "INSERT INTO public.tbl_mitarbeiter(mitarbeiter_uid, ausbildungcode, personalnummer, kurzbz, lektor, ort_kurzbz, fixangestellt, telefonklappe, updateamum, updatevon, insertamum, insertvon, ext_id) VALUES(".
|
||||
myaddslashes($mitarbeiteruid).", ".
|
||||
myaddslashes($mitarbeiterausbildungcode).", ".
|
||||
myaddslashes($mitarbeiterpersonalnummer)." , ".
|
||||
myaddslashes($mitarbeiterkurzbz)." , ".
|
||||
myaddslashes($mitarbeiterlektor?'true':'false').", ".
|
||||
myaddslashes($mitarbeiterort_kurzbz).", ".
|
||||
myaddslashes($mitarbeiterfixangestellt?'true':'false').", ".
|
||||
myaddslashes($mitarbeitertelefonklappe)." ,
|
||||
now(), ".
|
||||
myaddslashes($mitarbeiterupdatevon)." ,
|
||||
now(), ".
|
||||
myaddslashes($mitarbeiterinsertvon)." , ".
|
||||
myaddslashes($mitarbeiterext_id).");";
|
||||
}
|
||||
else
|
||||
{
|
||||
//Bestehenden Datensatz updaten
|
||||
$qry ="UPDATE public.tbl_mitarbeiter SET
|
||||
ausbildungcode=".myaddslashes($mitarbeiterausbildungcode).",
|
||||
personalnummer=".myaddslashes($mitarbeiterpersonalnummer).",
|
||||
kurzbz=".myaddslashes($mitarbeiterkurzbz).",
|
||||
lektor=".myaddslashes($mitarbeiterlektor?'true':'false').",
|
||||
fixangestellt=".myaddslashes($mitarbeiterfixangestellt?'true':'false').",
|
||||
telefonklappe=".myaddslashes($mitarbeitertelefonklappe).",
|
||||
ort_kurzbz=".myaddslashes($mitarbeiterort_kurzbz).",
|
||||
updateamum=now(),
|
||||
updatevon=".myaddslashes($mitarbeiterupdatevon).",
|
||||
insertamum=now(),
|
||||
insertvon=".myaddslashes($mitarbeiterinsertvon).",
|
||||
ext_id=".myaddslashes($mitarbeiterext_id)."
|
||||
WHERE mitarbeiter_uid='$mitarbeiteruid';";
|
||||
}
|
||||
if(!pg_query($conn,$qry))
|
||||
{
|
||||
$error_log.= "*****\nFehler beim Speichern des Mitarbeiter-Datensatzes: ".$personnachname."\n".$qry."\n".pg_errormessage($conn)."\n*****\n";
|
||||
$error=true;
|
||||
}
|
||||
//Benutzer anlegen
|
||||
if(!$error)
|
||||
{
|
||||
|
||||
if ($personnew)
|
||||
{
|
||||
$anzahl_eingefuegt_person++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$anzahl_geaendert_person++;
|
||||
}
|
||||
if ($mitarbeiternew)
|
||||
{
|
||||
$anzahl_eingefuegt_mitarbeiter++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$anzahl_geaendert_mitarbeiter++;
|
||||
}
|
||||
if ($benutzernew)
|
||||
{
|
||||
$anzahl_eingefuegt_benutzer++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$anzahl_geaendert_benutzer++;
|
||||
}
|
||||
pg_query($conn, "COMMIT");
|
||||
}
|
||||
else
|
||||
{
|
||||
$anzahl_fehler_mitarbeiter++;
|
||||
pg_query($conn, "ROLLBACK");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$anzahl_fehler_mitarbeiter++;
|
||||
pg_query($conn, "ROLLBACK");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.="Person_id von $row->uid konnte nicht ermittelt werden\n";
|
||||
$error=true;
|
||||
$anzahl_fehler_benutzer++;
|
||||
pg_query($conn, "ROLLBACK");
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Mitarbeiter neu anlegen
|
||||
$mitarbeiter->new=true;
|
||||
$anzahl_fehler_person++;
|
||||
pg_query($conn, "ROLLBACK");
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
if(!$mitarbeiter->save())
|
||||
{
|
||||
$error_log.=$mitarbeiter->errormsg."\n";
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$anzahl_eingefuegt++;
|
||||
echo "- ";
|
||||
ob_flush();
|
||||
flush();
|
||||
}
|
||||
else
|
||||
$anzahl_fehler++;
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
$error_log .= "Fehler beim ermitteln der UID\n";
|
||||
//}
|
||||
//else
|
||||
// $error_log .= "$row->nachname ($row->uid) hat keine Personalnummer\n";
|
||||
else
|
||||
{
|
||||
$anzahl_fehler_person++;
|
||||
pg_query($conn, "ROLLBACK");
|
||||
}
|
||||
}
|
||||
}
|
||||
echo nl2br("\nabgeschlossen\n\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log .= 'Mitarbeiterdatensaetze konnten nicht geladen werden\n';
|
||||
$error_log .= '\nPersonendatensaetze konnten nicht geladen werden\n';
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo nl2br("\n".$error_log);
|
||||
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
|
||||
$error_log.="\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler";
|
||||
mail($adress, 'SYNC Mitarbeiter', $error_log);
|
||||
|
||||
//echo nl2br($text);
|
||||
echo nl2br("\n\nPerson: Gesamt FAS: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt_person / geaendert: $anzahl_geaendert_person / Fehler: $anzahl_fehler_person");
|
||||
echo nl2br("\nBenutzer: Eingefügt: $anzahl_eingefuegt_benutzer / geaendert: $anzahl_geaendert_benutzer / Fehler: $anzahl_fehler_benutzer");
|
||||
echo nl2br("\nMitarbeiter: Eingefügt: $anzahl_eingefuegt_mitarbeiter / geaendert: $anzahl_geaendert_mitarbeiter / Fehler: $anzahl_fehler_mitarbeiter");
|
||||
echo nl2br("\nLog:\n".$error_log);
|
||||
$error_log="Person Sync\n-------------\n\nPerson: Gesamt FAS: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt_person / geaendert: $anzahl_geaendert_person / Fehler: $anzahl_fehler_person";
|
||||
$error_log="\nBenutzer: Eingefügt: $anzahl_eingefuegt_benutzer / geaendert: $anzahl_geaendert_benutzer / Fehler: $anzahl_fehler_benutzer\n\n".$error_log;
|
||||
$error_log.="\nMitarbeiter: Eingefügt: $anzahl_eingefuegt_mitarbeiter / geaendert: $anzahl_geaendert_mitarbeiter / Fehler: $anzahl_fehler_mitarbeiter";
|
||||
//mail($adress, 'SYNC Mitarbeiter (Plausichecked)', $error_log,"From: vilesci@technikum-wien.at");
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -60,7 +60,7 @@ function myaddslashes($var)
|
||||
<body>
|
||||
<?php
|
||||
|
||||
//Mitarbeiter
|
||||
|
||||
$qry = "SELECT * FROM person JOIN student ON person_fk=person_pk WHERE uid NOT LIKE '\_dummy%' ORDER BY uid desc";
|
||||
$datum_obj=new datum();
|
||||
if($result = pg_query($conn_fas, $qry))
|
||||
@@ -852,7 +852,7 @@ if($result = pg_query($conn_fas, $qry))
|
||||
{
|
||||
if($rowu=pg_fetch_object($resultu))
|
||||
{
|
||||
$new_beutzer=false;
|
||||
$new_benutzer=false;
|
||||
$uid=$rowu->uid;
|
||||
}
|
||||
else $new_benutzer=true;
|
||||
|
||||
@@ -172,7 +172,7 @@ if($resultp = pg_query($conn_fas, $qry))
|
||||
}
|
||||
}
|
||||
}
|
||||
mail($adress, 'SYNC Personen (Plausicheck)', $error_log_fas,"From: vilesci@technikum-wien.at");
|
||||
mail($adress, 'Plausicheck von Personen', $error_log_fas,"From: vilesci@technikum-wien.at");
|
||||
$error_log_fas='';
|
||||
exit;
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@ include('../../../vilesci/config.inc.php');
|
||||
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
|
||||
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur FAS Datenbank fehlgeschlagen");
|
||||
|
||||
//$adress='ruhan@technikum-wien.at';
|
||||
$adress='fas_sync@technikum-wien.at';
|
||||
$adress='ruhan@technikum-wien.at';
|
||||
//$adress='fas_sync@technikum-wien.at';
|
||||
|
||||
$error_log='';
|
||||
$text = '';
|
||||
|
||||
Reference in New Issue
Block a user