diff --git a/system/sync/stp/sync_stp_vilesci_person.php b/system/sync/stp/sync_stp_vilesci_person.php index af1714fa6..09eeb746c 100644 --- a/system/sync/stp/sync_stp_vilesci_person.php +++ b/system/sync/stp/sync_stp_vilesci_person.php @@ -24,7 +24,7 @@ function myaddslashes($var) { return ($var!=''?"'".addslashes($var)."'":'null'); } - + // Sync-Tabelle fuer Personen checken if (!@pg_query($conn,'SELECT * FROM sync.tbl_syncperson LIMIT 1;')) { @@ -75,6 +75,7 @@ $staat=array(); __staat]=$row_staat->chkurzbez; } } -else +else { echo "
".$qry_staat."
".pg_last_error($conn)."
"; } //*********** Neue Daten holen ***************** -$qry='SELECT __Person,_Staatsbuerger,_GebLand,Briefanrede,chTitel,chNachname,chVorname,daGebDat,chGebOrt,chAdrBemerkung,chHomepage,chSVNr,chErsatzKZ,_cxFamilienstand,_cxGeschlecht,inKinder +$qry='SELECT __Person,_Staatsbuerger,_GebLand,Briefanrede,chTitel,chNachname,chVorname,daGebDat,chGebOrt,meBemerkung,chHomepage,chSVNr,chErsatzKZ,_cxFamilienstand,_cxGeschlecht,inKinder FROM sync.stp_person WHERE _cxGeschlecht!=3 AND _cxPersonTyp!=5 AND __Person NOT IN (SELECT __Person FROM sync.tbl_syncperson) ;'; @@ -169,7 +170,7 @@ if($result = pg_query($conn, $qry)) $sql="SELECT * FROM public.tbl_person WHERE (svnr=".myaddslashes($row->chsvnr)." AND svnr!='' AND svnr IS NOT NULL) - OR (ersatzkennzeichen=".myaddslashes($row->chersatzkz)." AND ersatzkennzeichen!='' AND ersatzkennzeichen IS NOT NULL) + OR (ersatzkennzeichen=".myaddslashes($row->chersatzkz)." AND ersatzkennzeichen!='' AND ersatzkennzeichen IS NOT NULL) OR (nachname=".myaddslashes($row->chnachname)." AND ".myaddslashes($row->chnachname)."!='' AND vorname=".myaddslashes($row->chvorname)."AND ".myaddslashes($row->chvorname)."!='' AND gebdatum=".myaddslashes($row->dagebdat)." AND gebdatum IS NOT NULL)"; if($result_dubel = pg_query($conn, $sql)) { @@ -187,8 +188,8 @@ if($result = pg_query($conn, $qry)) myaddslashes($staat[$row->_gebland]).", ". "NULL, ". myaddslashes($row->briefanrede).", ". - "NULL, ". myaddslashes(trim($row->chtitel)).", ". + "NULL, ". myaddslashes(trim($row->chnachname)).", ". myaddslashes(trim($row->chvorname)).", ". "NULL, ". @@ -196,7 +197,7 @@ if($result = pg_query($conn, $qry)) myaddslashes($row->chgebort).", ". "NULL, ". "NULL, ". - myaddslashes($row->chadrbemerkung).", ". + myaddslashes($row->mebemerkung).", ". myaddslashes($row->chhomepage).", ". myaddslashes($row->chsvnr).", ". myaddslashes($row->chersatzkz).", ". @@ -210,7 +211,7 @@ if($result = pg_query($conn, $qry)) $error_log.= $sql."\n".pg_last_error($conn)." \n"; pg_query($conn, "ROLLBACK"); } - else + else { //Eintrag Synctabelle $qry_seq = "SELECT currval('public.tbl_person_person_id_seq') AS id;"; @@ -234,29 +235,29 @@ if($result = pg_query($conn, $qry)) 'VALUES ('.$row->__person.', '.$person_id.');'; $resulti = pg_query($conn, $qry); } - $ausgabe.="\n------------------\nÜbertragen: ".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname); + $ausgabe.="\n------------------\nÜbertragen: ".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname); $eingefuegt++; pg_query($conn, "COMMIT"); } - else + else { $error_log.= "\n".$sql."\n".pg_last_error($conn)." \n"; - pg_query($conn, "ROLLBACK"); + pg_query($conn, "ROLLBACK"); } } - else + else { pg_query($conn, "ROLLBACK"); } - + } } - else + else { $dublette++; } } - else + else { $error_log.= "\n".$sql."\n".pg_last_error($conn)." \n"; pg_query($conn, "ROLLBACK"); @@ -264,21 +265,94 @@ if($result = pg_query($conn, $qry)) } } } -else +else { echo "
".$qry."
".pg_last_error($conn)."
"; } -echo "
Eingefügt: ".$eingefuegt; +//*********** Updates holen ***************** +// Staatsbuergerschaft, Geburtsnation werden nicht geprueft. +$updates=0; +$qry='SELECT __Person,_Staatsbuerger,_GebLand,Briefanrede,chTitel,chNachname,chVorname,daGebDat,chGebOrt,meBemerkung, + chHomepage,chSVNr,chErsatzKZ,_cxFamilienstand,_cxGeschlecht,inKinder,_cxBundesland, + person_id,staatsbuergerschaft,geburtsnation,anrede,titelpre,nachname,vorname, + gebdatum,gebort,anmerkung,homepage,svnr,ersatzkennzeichen,familienstand,geschlecht,anzahlkinder, + aktiv,bundesland_code + FROM sync.stp_person JOIN sync.tbl_syncperson USING (__Person) JOIN public.tbl_person USING (person_id) + WHERE chNachname!=nachname OR anrede!=Briefanrede OR titelpre!=chTitel OR vorname!=chVorname OR gebdatum!=daGebDat + OR gebort!=chGebOrt OR anmerkung!=meBemerkung OR homepage!=chHomepage OR svnr!=chSVNr OR ersatzkennzeichen!=chErsatzKZ + OR familienstand!=_cxFamilienstand OR anzahlkinder!=inKinder OR bundesland_code!=_cxBundesland;'; // OR geschlecht!=_cxGeschlecht + +$error_log_ext="Updates holen:\n\n"; +$start=date("d.m.Y H:i:s"); +echo $start."
"; +$log_updates=''; +if($result = pg_query($conn, $qry)) +{ + $anzahl_person_gesamt=pg_num_rows($result); + $error_log_ext.="Anzahl der Datensätze für updates: ".$anzahl_person_gesamt."\n"; + echo nl2br($error_log_ext); + while($row=pg_fetch_object($result)) + { + $cont=''; + $sql='UPDATE public.tbl_person SET'; + if ($row->chnachname!=$row->nachname) + $sql.=" nachname='$row->chnachname',"; + if ($row->anrede!=$row->briefanrede) + $sql.=" anrede='$row->briefanrede',"; + if ($row->titelpre!=$row->chtitel) + $sql.=" titelpre='$row->chtitel',"; + if ($row->vorname!=$row->chvorname) + $sql.=" vorname='$row->chvorname',"; + if ($row->gebdatum!=$row->dagebdat) + $sql.=" gebdatum='$row->dagebdat',"; + if ($row->gebort!=$row->chgebort) + $sql.=" gebort='$row->chgebort',"; + if ($row->anmerkung!=$row->mebemerkung) + $sql.=" anmerkung='$row->mebemerkung',"; + if ($row->homepage!=$row->chhomepage) + $sql.=" homepage='$row->chhomepage',"; + if ($row->svnr!=$row->chsvnr) + $sql.=" svnr='$row->chsvnr',"; + if ($row->ersatzkennzeichen!=$row->chersatzkz) + $sql.=" ersatzkennzeichen='$row->chersatzkz',"; + if ($row->familienstand!=$row->_cxfamilienstand) + $sql.=" familienstand='$row->_cxfamilienstand',"; + //if ($row->geschlecht!=$row->_cxgeschlecht) + // $sql.=" geschlecht='$row->_cxgeschlecht',"; + if ($row->anzahlkinder!=$row->inkinder) + $sql.=" anzahlkinder='$row->inkinder',"; + if ($row->bundesland_code!=$row->_cxbundesland) + $sql.=" bundesland_code='$row->_cxbundesland',"; + $sql=substr($sql,0,-1); + $sql.=' WHERE person_id='.$row->person_id.';'; + //echo $sql; + if (!pg_query($conn, $sql)) + $log_updates.= "\n".$sql."\n".pg_last_error($conn)." \n"; + else + { + $log_updates.= "\n".$sql; + $updates++; + } + } +} +else +{ + echo "
".$qry."
".pg_last_error($conn)."
"; +} + +echo "

Eingefügt: ".$eingefuegt; +echo "
Updates: ".$updates; echo "
Doppelt: ".$dublette; echo "
Fehler: ".$fehler; echo "

"; -if($error_log=='') +if($error_log=='' && $log_updates=='') { echo "o.k.
"; } -else +else { + echo nl2br($log_updates); echo nl2br($error_log); } echo nl2br($ausgabe);