diff --git a/admin/sync/fas/sync_fas_portal_adresse.php b/admin/sync/fas/sync_fas_portal_adresse.php index 22ff2eb0f..3d2316bd0 100644 --- a/admin/sync/fas/sync_fas_portal_adresse.php +++ b/admin/sync/fas/sync_fas_portal_adresse.php @@ -123,6 +123,7 @@ if($result = pg_query($conn_fas, $qry)) $firma->name=$row->bezeichnung; $firma->anmerkung=null; $firma->ext_id=$row->adresse_pk; + $firma->firmentyp_kurzbz='Partnerfirma'; $qry3="SELECT firma_id, ext_id FROM tbl_firma WHERE ext_id=".$row->adresse_pk.";"; if($result3 = pg_query($conn, $qry3)) { diff --git a/admin/sync/fas/sync_fas_portal_bankverbindung.php b/admin/sync/fas/sync_fas_portal_bankverbindung.php index c42565550..ae53d40cf 100644 --- a/admin/sync/fas/sync_fas_portal_bankverbindung.php +++ b/admin/sync/fas/sync_fas_portal_bankverbindung.php @@ -158,7 +158,7 @@ if($result = pg_query($conn_fas, $qry)) //echo nl2br($text); -echo nl2br($error_log); +echo nl2br("\n".$error_log); echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler"); ?> diff --git a/admin/sync/fas/sync_fas_portal_email.php b/admin/sync/fas/sync_fas_portal_email.php index 5e2bea951..46cbffe82 100644 --- a/admin/sync/fas/sync_fas_portal_email.php +++ b/admin/sync/fas/sync_fas_portal_email.php @@ -135,7 +135,7 @@ if($result = pg_query($conn_fas, $qry)) //echo nl2br($text); -echo nl2br($error_log); +echo nl2br("\n".$error_log); echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler"); ?> diff --git a/admin/sync/fas/sync_fas_portal_mitarbeiter.php b/admin/sync/fas/sync_fas_portal_mitarbeiter.php index 8561de8be..976a6456a 100644 --- a/admin/sync/fas/sync_fas_portal_mitarbeiter.php +++ b/admin/sync/fas/sync_fas_portal_mitarbeiter.php @@ -99,7 +99,14 @@ if($result = pg_query($conn_fas, $qry)) $mitarbeiter->ext_id_mitarbeiter=$row->mitarbeiter_pk; $mitarbeiter->kurzbz=$row->kurzbez; $mitarbeiter->uid=$row->uid; - $mitarbeiter->ausbildungcode=$row->ausbildung; + if($row->ausbildung>0) + { + $mitarbeiter->ausbildungcode=$row->ausbildung; + } + else + { + $mitarbeiter->ausbildungscode=null; + } $mitarbeiter->personalnummer=$row->persnr; $mitarbeiter->gebzeit=''; diff --git a/admin/sync/fas/sync_fas_portal_person.php b/admin/sync/fas/sync_fas_portal_person.php index cc8c63910..b4b83bb49 100644 --- a/admin/sync/fas/sync_fas_portal_person.php +++ b/admin/sync/fas/sync_fas_portal_person.php @@ -111,10 +111,11 @@ if($result = pg_query($conn_fas, $qry)) $person->geschlecht='m'; } $error=false; + $qry="SELECT person_id FROM public.tbl_benutzer WHERE uid='$row->uid'"; if($resultu = pg_query($conn, $qry)) { - if(pg_num_rows($resultu)>0) //wenn dieser eintrag schon vorhanden ist + if(pg_num_rows($resultu)>0 && $row->uid!='') //wenn dieser eintrag schon vorhanden ist { if($rowu=pg_fetch_object($resultu)) { @@ -151,8 +152,8 @@ if($result = pg_query($conn_fas, $qry)) { //vergleich svnr und ersatzkennzeichen $qry="SELECT person_id FROM public.tbl_person - WHERE ('$row->svnr' is not null AND svnr = '$row->svnr') - OR ('$row->ersatzkennzeichen' is not null AND ersatzkennzeichen = '$row->ersatzkennzeichen')"; + WHERE ('$row->svnr' is not null AND '$row->svnr' <> '' AND svnr = '$row->svnr') + OR ('$row->ersatzkennzeichen' is not null AND '$row->ersatzkennzeichen' <> '' AND ersatzkennzeichen = '$row->ersatzkennzeichen')"; if($resultz = pg_query($conn, $qry)) { if(pg_num_rows($resultz)>0) //wenn dieser eintrag schon vorhanden ist @@ -197,7 +198,7 @@ if($result = pg_query($conn_fas, $qry)) { $qry='INSERT INTO tbl_syncperson (person_fas, person_portal)'. 'VALUES ('.$row->person_pk.', '.$person->person_id.');'; - $resulti = pg_query($conn, $qry); + pg_query($conn, $qry); } } $anzahl_eingefuegt++; @@ -220,7 +221,7 @@ else //echo nl2br($text); -echo nl2br($error_log); +echo nl2br("\n".$error_log); echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler"); ?> diff --git a/admin/sync/fas/sync_fas_portal_schluesseltyp.php b/admin/sync/fas/sync_fas_portal_schluesseltyp.php index 17fcb0d4a..db764482f 100644 --- a/admin/sync/fas/sync_fas_portal_schluesseltyp.php +++ b/admin/sync/fas/sync_fas_portal_schluesseltyp.php @@ -104,7 +104,7 @@ if($result = pg_query($conn_fas, $qry)) "VALUES ('".$row->schluessel_pk."', '".$schluesseltyp->schluesseltyp."');"; $resulti = pg_query($conn, $qry); } - } + } $anzahl_eingefuegt++; } diff --git a/admin/sync/fas/sync_fas_portal_student.php b/admin/sync/fas/sync_fas_portal_student.php index 7390e8414..cecf41ae8 100644 --- a/admin/sync/fas/sync_fas_portal_student.php +++ b/admin/sync/fas/sync_fas_portal_student.php @@ -1,20 +1,5 @@ , * Andreas Oesterreicher and * Rudolf Hangl . @@ -24,6 +9,7 @@ * */ require_once('../../../vilesci/config.inc.php'); +require_once('../../../include/datum.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"); @@ -50,6 +36,7 @@ $anzahl_benutzer=0; $anzahl_fehler_benutzer=0; $anzahl_nichtstudenten=0; $rolle_kurzbz=array(1=>"Interessent", 2=>"Bewerber", 3=>"Student", 4=>"Ausserordentlicher", 5=>"Abgewiesener", 6=>"Aufgenommener", 7=>"Wartender", 8=>"Abbrecher", 9=>"Unterbrecher", 10=>"Outgoing", 11=>"Incoming", 12=>"Praktikant", 13=>"Diplomant", 14=>"Absolvent"); +$studiensemester_kurzbz=array(2=>"wS2002",3=>"SS2003",4=>"WS2003",5=>"SS2004",6=>"WS2004",7=>"SS2005",8=>"WS2005",9=>"SS2006",10=>"WS2006",11=>"SS2007",12=>"WS2007",13=>"SS2008",14=>"WS2008"); function myaddslashes($var) { @@ -71,7 +58,7 @@ function myaddslashes($var) //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)) { echo nl2br("\n Sync Student\n--------------\n\n"); @@ -82,7 +69,7 @@ if($result = pg_query($conn_fas, $qry)) flush(); $error_log=''; - $text=''; + //$text=''; $error=false; //Attribute Person $staatsbuergerschaft=$row->staatsbuergerschaft; @@ -247,11 +234,11 @@ if($result = pg_query($conn_fas, $qry)) //Reihenfolge: person - prestudent - student - benutzer //insert oder update bei person? - $qry="SELECT person_id FROM public.tbl_person WHERE uid='$row->uid'"; + $qry="SELECT person_id FROM public.tbl_benutzer WHERE uid='$row->uid'"; if($resultu = pg_query($conn, $qry)) { - if(pg_num_rows($resultu)>0) //wenn dieser eintrag schon vorhanden ist + if(pg_num_rows($resultu)>0 && $row->uid!='') //wenn dieser eintrag schon vorhanden ist { if($rowu=pg_fetch_object($resultu)) { @@ -268,14 +255,14 @@ if($result = pg_query($conn_fas, $qry)) else { $qry="SELECT person_fas, person_portal FROM public.tbl_syncperson WHERE person_fas='$row->person_pk'"; - if($result_sync = pg_query($conn, $qry)) + if($result_sync1 = pg_query($conn, $qry)) { - if(pg_num_rows($result_sync)>0) //wenn dieser eintrag schon vorhanden ist + if(pg_num_rows($result_sync1)>0) //wenn dieser eintrag schon vorhanden ist { - if($row_sync1=pg_fetch_object($result_sync)) + if($row_sync1=pg_fetch_object($result_sync1)) { //update - $person_id=$row_sync->person_portal; + $person_id=$row_sync1->person_portal; $new_person=false; } else @@ -288,8 +275,8 @@ if($result = pg_query($conn_fas, $qry)) { //vergleich svnr und ersatzkennzeichen $qry="SELECT person_id FROM public.tbl_person - WHERE ('$row->svnr' is not null AND svnr = '$row->svnr') - OR ('$row->ersatzkennzeichen' is not null AND ersatzkennzeichen = '$row->ersatzkennzeichen')"; + WHERE ('$row->svnr' is not null AND '$row->svnr'<> '' AND svnr = '$row->svnr') + OR ('$row->ersatzkennzeichen' is not null AND '$row->ersatzkennzeichen' <> '' AND ersatzkennzeichen = '$row->ersatzkennzeichen')"; if($resultz = pg_query($conn, $qry)) { if(pg_num_rows($resultz)>0) //wenn dieser eintrag schon vorhanden ist @@ -437,13 +424,13 @@ if($result = pg_query($conn_fas, $qry)) } } //Eintrag Synctabelle - $qryz="SELECT person_fas FROM tbl_syncperson WHERE person_fas='$row->person_pk' AND person_portal='$person->person_id'"; + $qryz="SELECT person_fas FROM tbl_syncperson WHERE person_fas='$row->person_pk' AND person_portal='$person_id'"; if($resultz = pg_query($conn, $qryz)) { if(pg_num_rows($resultz)==0) //wenn dieser eintrag noch nicht vorhanden ist { $qry='INSERT INTO tbl_syncperson (person_fas, person_portal)'. - 'VALUES ('.$row->person_pk.', '.$person->person_id.');'; + 'VALUES ('.$row->person_pk.', '.$person_id.');'; $resulti = pg_query($conn, $qry); } } @@ -731,26 +718,35 @@ if($result = pg_query($conn_fas, $qry)) } //presetudentrolle - $qry="SELECT * FROM student_ausbildungssemester where student='$student_uid';"; + $qry="SELECT * FROM student_ausbildungssemester where student_fk='$ext_id_student';"; if($resultru = pg_query($conn_fas, $qry)) { while($rowru=pg_fetch_object($resultru)) { - $date = date('Y-m-d',mktime_fromtimestamp($rowru->creationdate)); - $status=$rowru->status; - $qry="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='$prestudent_id' AND rolle_kurzbz='$rolle_kurzbz[$status]' AND ausbildungssemsester='$rowru->ausbildungssemester';"; - if($resultu = pg_query($conn, $qry)) + $qry="SELECT semester FROM ausbildungssemester WHERE ausbildungssemester_pk='$rowru->ausbildungssemester_fk'"; + if($resultr = pg_query($conn_fas, $qry)) { - if(!pg_num_rows($resultu)>0) //wenn dieser eintrag noch nicht vorhanden ist + while($rowr=pg_fetch_object($resultr)) { - if($rowu=pg_fetch_object($resultu)) + $ausbildungssemester=$rowr->semester; + $date = date('Y-m-d', $datum_obj->mktime_fromtimestamp($rowru->creationdate)); + $status=$rowru->status; + $stm=$rowru->studiensemester_fk; + $qry="SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='$prestudent_id' AND rolle_kurzbz='$rolle_kurzbz[$status]' AND studiensemester_kurzbz='$studiensemester_kurzbz[$stm]' AND ausbildungssemester='$ausbildungssemester';"; + if($resultu = pg_query($conn, $qry)) { - $qry="INSERT INTO public_tbl_prestudentenrolle (prestudent_id, rolle_kurzbz, studiensemester_kurzbz, - ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id) - SET('$prestudent_id', '$rolle_kurzbz[$status]', '$rowru->studiensemester_kurzbz', '$rowru->ausbildungssemester', '$datum', - now(),'SYNC',now(),'SYNC', '$rowru->student_ausbildungssemester_pk')"; - pg_query($conn, $qry); - echo "rolle: ".$qry; + if(!pg_num_rows($resultu)>0) //wenn dieser eintrag noch nicht vorhanden ist + { + if($rowu=pg_fetch_object($resultu)) + { + $qry="INSERT INTO public_tbl_prestudentenrolle (prestudent_id, rolle_kurzbz, studiensemester_kurzbz, + ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id) + SET('$prestudent_id', '$rolle_kurzbz[$status]', '$studiensemester_kurzbz[$stm]', '$ausbildungssemester', '$datum', + now(),'SYNC',now(),'SYNC', '$rowru->student_ausbildungssemester_pk')"; + pg_query($conn, $qry); + echo "rolle: ".$qry; + } + } } } } diff --git a/admin/sync/fas/sync_fas_portal_telefon.php b/admin/sync/fas/sync_fas_portal_telefon.php index 615dd354d..14de12757 100644 --- a/admin/sync/fas/sync_fas_portal_telefon.php +++ b/admin/sync/fas/sync_fas_portal_telefon.php @@ -153,7 +153,7 @@ if($result = pg_query($conn_fas, $qry)) //echo nl2br($text); -echo nl2br($error_log); +echo nl2br("\n".$error_log); echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler"); ?> diff --git a/include/aufmerksamdurch.class.php b/include/aufmerksamdurch.class.php index 9864b974f..5b44d0bb6 100644 --- a/include/aufmerksamdurch.class.php +++ b/include/aufmerksamdurch.class.php @@ -93,7 +93,7 @@ class aufmerksamdurch { //Neuen Datensatz einfuegen - $qry='INSERT INTO tbl_aufmerksamdurch (aufmerksamdurch_kurzbz, beschreibung) VALUES('. + $qry='INSERT INTO tbl_aufmerksamdurch (aufmerksamdurch_kurzbz, beschreibung, ext_id) VALUES('. $this->addslashes($this->aufmerksamdurch_kurzbz).', '. $this->addslashes($this->beschreibung).', '. $this->addslashes($this->ext_id).');'; diff --git a/include/firma.class.php b/include/firma.class.php index 0c3e67dc1..f56a7589a 100644 --- a/include/firma.class.php +++ b/include/firma.class.php @@ -26,20 +26,21 @@ class firma { - var $conn; // @var resource DB-Handle - var $new; // @var boolean - var $errormsg; // @var string - var $result = array(); // @var adresse Objekt + var $conn; // @var resource DB-Handle + var $new; // @var boolean + var $errormsg; // @var string + var $result = array(); // @var adresse Objekt //Tabellenspalten - var $firma_id; // @var integer - var $name; // @var string - var $anmerkung; // @var string - var $ext_id; // @var integer - var $insertamum; // @var timestamp - var $insertvon; // @var bigint - var $updateamum; // @var timestamp - var $updatevon; // @var bigint + var $firma_id; // @var integer + var $name; // @var string + var $anmerkung; // @var string + var $ext_id; // @var integer + var $insertamum; // @var timestamp + var $insertvon; // @var bigint + var $updateamum; // @var timestamp + var $updatevon; // @var bigint + var $firmentyp_kurzbz; // @var /** * Konstruktor @@ -84,14 +85,14 @@ class firma //Gesamtlaenge pruefen //$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten'; - if(strlen($this->name)>64) + if(strlen($this->name)>128) { - $this->errormsg = 'Name darf nicht länger als 64 Zeichen sein - firma_id: '.$row->firma_id; + $this->errormsg = 'Name darf nicht länger als 128 Zeichen sein - firma_id: '.$this->firma_id.'/'.$this->name; return false; } if(strlen($this->anmerkung)>256) { - $this->errormsg = 'anmerkung darf nicht länger als 256 Zeichen sein - firma_id: '.$row->firma_id; + $this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein - firma_id: '.$this->firma_id.'/'.$this->name; return false; } @@ -133,13 +134,14 @@ class firma } $this->firma_id = $row->id; - $qry='INSERT INTO tbl_firma (firma_id, name, anmerkung, ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('. + $qry='INSERT INTO tbl_firma (firma_id, name, anmerkung, ext_id, insertamum, insertvon, updateamum, updatevon, firmentyp_kurzbz) VALUES('. $this->addslashes($this->firma_id).', '. $this->addslashes($this->name).', '. $this->addslashes($this->anmerkung).', '. $this->addslashes($this->ext_id).', now(), '. $this->addslashes($this->insertvon).', now(), '. - $this->addslashes($this->updatevon).');'; + $this->addslashes($this->updatevon).', '. + $this->addslashes($this->firmentyp_kurzbz).');'; } else { @@ -158,6 +160,7 @@ class firma 'anmerkung='.$this->addslashes($this->anmerkung).', '. 'updateamum= now(), '. 'updatevon='.$this->addslashes($this->updatevon).' '. + 'firmentyp='.$this->addslashes($this->firmentyp_kurzbz).' '. 'WHERE firma_id='.$this->addslashes($this->firma_id).';'; } //echo $qry; diff --git a/include/person.class.php b/include/person.class.php index 0580b513d..69fdbbaa5 100644 --- a/include/person.class.php +++ b/include/person.class.php @@ -355,7 +355,7 @@ class person $qry="SELECT * FROM public.tbl_person WHERE person_id='$this->person_id';"; if($result = pg_query($this->conn, $qry)) { - while($row = pg_fetch_object($result)) + if($row = pg_fetch_object($result)) { $update=false; if($row->sprache!=$this->sprache) $update=true;