From 89b043ab30c24e6702feff0a6b7da813933cad7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 17 Nov 2010 15:17:16 +0000 Subject: [PATCH] =?UTF-8?q?Syncronisationsscript=20WaWi->FHComplete=20f?= =?UTF-8?q?=C3=BCr=20Aufteilung=20und=20Aufteilung=5FDefault?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/checksystem.php | 2 + system/sync/sync_aufteilung.php | 173 ++++++++++++++++++++++++ system/sync/sync_aufteilung_default.php | 173 ++++++++++++++++++++++++ 3 files changed, 348 insertions(+) create mode 100644 system/sync/sync_aufteilung.php create mode 100644 system/sync/sync_aufteilung_default.php diff --git a/system/checksystem.php b/system/checksystem.php index 91014af84..576804299 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -1585,6 +1585,8 @@ if(!@$db->db_query('SELECT * FROM wawi.tbl_konto LIMIT 1')) GRANT SELECT, UPDATE ON SEQUENCE public.tbl_kontakt_kontakt_id_seq TO wawi; GRANT SELECT, UPDATE ON SEQUENCE public.tbl_standort_standort_id_seq TO wawi; GRANT SELECT, UPDATE ON SEQUENCE public.tbl_personfunktionstandort_personfunktionstandort_id_seq TO wawi; + GRANT SELECT, UPDATE ON SEQUENCE wawi.seq_aufteilung_default_aufteilung_id TO wawi; + GRANT SELECT, UPDATE ON SEQUENCE wawi.seq_aufteilung_aufteilung_id TO wawi; -- INDEX diff --git a/system/sync/sync_aufteilung.php b/system/sync/sync_aufteilung.php new file mode 100644 index 000000000..03eb4144b --- /dev/null +++ b/system/sync/sync_aufteilung.php @@ -0,0 +1,173 @@ +, + * Andreas Oesterreicher and + * Karl Burkhart . + */ +/** + * Syncronisiert die Aufteilung von WaWi DB in FHComplete DB + */ +require_once('../../config/wawi.config.inc.php'); +require_once('../../include/basis_db.class.php'); +require_once('../../include/mail.class.php'); + +if (!$db = new basis_db()) + die('Fehler beim Herstellen der Datenbankverbindung'); + +if (!$conn_wawi = pg_pconnect(CONN_STRING_WAWI)) + die('Es konnte keine Verbindung zum Server aufgebaut werden. *** File:='.__FILE__.' Line:='.__LINE__."\n"); + +$error_log=''; +$update_log=''; +$anzahl_aufteilungen=0; +$anzahl_insert=0; +$anzahl_update=0; +$anzahl_delete=0; +$anzahl_fehler=0; + +?> + + +Synchro - WaWi -> FAS - Aufteilung + + + +20 + ORDER BY aufteilung_id + "; +if($result=pg_query($conn_wawi, $qry)) +{ + + $anzahl_aufteilungen=pg_num_rows($result); + + while($row = pg_fetch_object($result)) + { + //check, ob firma bereits übertragen + $qry_check="SELECT * FROM wawi.tbl_aufteilung WHERE aufteilung_id='".addslashes($row->aufteilung_id)."'"; + if($result_check=$db->db_query($qry_check)) + { + if($db->db_num_rows($result_check)>0) + { + $update = false; + //Aufteilung vorhanden - Änderungen im WaWi? + if($row_check = $db->db_fetch_object($result_check)) + { + if($row_check->bestellung_id!=$row->bestellung_id) + { + $update = true; + $update_log.="\nBestellung_id von $row_check->bestellung_id auf $row->bestellung_id geändert"; + } + if($row_check->oe_kurzbz!=$row->oe_kurzbz) + { + $update=true; + $update_log.="\nOrganisationseinheit von $row_check->oe_kurzbz auf $row->oe_kurzbz geändert"; + } + if($row_check->anteil!=$row->anteil) + { + $update=true; + $update_log.="\nAnteil von $row_check->anteil auf $row->anteil geändert"; + } + if($row_check->updatevon!=$row->username_neu) + { + $update=true; + $update_log.="\nUpdateVon von $row_check->updatevon auf $row->username_neu geändert"; + } + + if($update) + { + $qry = "UPDATE wawi.tbl_aufteilung SET + bestellung_id=".$db->addslashes($row->bestellung_id).", + oe_kurzbz=".$db->addslashes($row->oe_kurzbz).", + anteil=".$db->addslashes($row->anteil).", + updatevon=".$db->addslashes($row->updatevon).", + updateamum=".$db->addslashes($row->lupdate)." + WHERE aufteilung_id='".addslashes($row->aufteilung_id)."'"; + if($db->db_query($qry)) + { + $anzahl_update++; + } + else + { + $error_log.="\nFehler beim Update: $qry"; + $anzahl_fehler++; + } + } + } + } + else + { + //Aufteilung nicht vorhanden + $qry="INSERT INTO wawi.tbl_aufteilung(aufteilung_id, bestellung_id, oe_kurzbz, anteil, + insertamum, insertvon, updateamum, updatevon) VALUES(" + .$db->addslashes($row->aufteilung_id)."," + .$db->addslashes($row->bestellung_id)."," + .$db->addslashes($row->oe_kurzbz)."," + .$db->addslashes($row->anteil)."," + .$db->addslashes($row->cdate)."," + .$db->addslashes($row->insertvon)."," + .$db->addslashes($row->lupdate)."," + .$db->addslashes($row->updatevon).");"; + if($db->db_query($qry)) + { + $anzahl_insert++; + } + else + { + $error_log.="\nFehler beim Insert: $qry"; + $anzahl_fehler++; + } + } + } + else + { + $error_log.="\nFehler bei Select: $qry_check"; + $anzahl_fehler++; + } + } + + if(!$db->db_query("SELECT setval('wawi.seq_aufteilung_aufteilung_id',(SELECT max(aufteilung_id) FROM wawi.tbl_aufteilung));")) + { + $error_log.="\nFehler beim Update der Sequence"; + $anzahl_fehler++; + } + //Mail versenden + $statistik="Aufteilung Default Sync\n--------------\n"; + $statistik.="Beginn: ".date("d.m.Y H:i:s")." von ".DB_NAME." - Anzahl Einträge: ".$anzahl_aufteilungen."\n\n"; + $statistik.="\nEingefügte Datensätze: $anzahl_insert"; + $statistik.="\nGeänderte Datensätze: $anzahl_update"; + $statistik.="\nFehler: $anzahl_fehler\n"; + + $synced=$statistik.$error_log.$update_log; + $mail = new mail(MAIL_ADMIN, "vilesci@".DOMAIN, "SYNC Aufteilung Default von ".DB_NAME, $synced); + $mail->setReplyTo("vilesci@".DOMAIN); + if(!$mail->send()) + { + echo "Fehler beim Versenden des Durchführungs-Mails!
"; + } +} +?> \ No newline at end of file diff --git a/system/sync/sync_aufteilung_default.php b/system/sync/sync_aufteilung_default.php new file mode 100644 index 000000000..9cdddeba5 --- /dev/null +++ b/system/sync/sync_aufteilung_default.php @@ -0,0 +1,173 @@ +, + * Andreas Oesterreicher and + * Karl Burkhart . + */ +/** + * Syncronisiert die Default Aufteilung von WaWi DB in FHComplete DB + */ +require_once('../../config/wawi.config.inc.php'); +require_once('../../include/basis_db.class.php'); +require_once('../../include/mail.class.php'); + +if (!$db = new basis_db()) + die('Fehler beim Herstellen der Datenbankverbindung'); + +if (!$conn_wawi = pg_pconnect(CONN_STRING_WAWI)) + die('Es konnte keine Verbindung zum Server aufgebaut werden. *** File:='.__FILE__.' Line:='.__LINE__."\n"); + +$error_log=''; +$update_log=''; +$anzahl_aufteilungen=0; +$anzahl_insert=0; +$anzahl_update=0; +$anzahl_delete=0; +$anzahl_fehler=0; + +?> + + +Synchro - WaWi -> FAS - Aufteilung Default + + + +20 + ORDER BY aufteilung_id + "; +if($result=pg_query($conn_wawi, $qry)) +{ + + $anzahl_aufteilungen=pg_num_rows($result); + + while($row = pg_fetch_object($result)) + { + //check, ob firma bereits übertragen + $qry_check="SELECT * FROM wawi.tbl_aufteilung_default WHERE aufteilung_id='".addslashes($row->aufteilung_id)."'"; + if($result_check=$db->db_query($qry_check)) + { + if($db->db_num_rows($result_check)>0) + { + $update = false; + //Aufteilung vorhanden - Änderungen im WaWi? + if($row_check = $db->db_fetch_object($result_check)) + { + if($row_check->kostenstelle_id!=$row->kostenstelle_id) + { + $update = true; + $update_log.="\nKostenstelle_id von $row_check->kostenstelle auf $row->kostenstelle_id geändert"; + } + if($row_check->oe_kurzbz!=$row->oe_kurzbz) + { + $update=true; + $update_log.="\nOrganisationseinheit von $row_check->oe_kurzbz auf $row->oe_kurzbz geändert"; + } + if($row_check->anteil!=$row->anteil) + { + $update=true; + $update_log.="\nAnteil von $row_check->anteil auf $row->anteil geändert"; + } + if($row_check->updatevon!=$row->username_neu) + { + $update=true; + $update_log.="\nUpdateVon von $row_check->updatevon auf $row->username_neu geändert"; + } + + if($update) + { + $qry = "UPDATE wawi.tbl_aufteilung_default SET + kostenstelle_id=".$db->addslashes($row->kostenstelle_id).", + oe_kurzbz=".$db->addslashes($row->oe_kurzbz).", + anteil=".$db->addslashes($row->anteil).", + updatevon=".$db->addslashes($row->username_neu).", + updateamum=".$db->addslashes($row->lupdate)." + WHERE aufteilung_id='".addslashes($row->aufteilung_id)."'"; + if($db->db_query($qry)) + { + $anzahl_update++; + } + else + { + $error_log.="\nFehler beim Update: $qry"; + $anzahl_fehler++; + } + } + } + } + else + { + //Aufteilung nicht vorhanden + $qry="INSERT INTO wawi.tbl_aufteilung_default(aufteilung_id, kostenstelle_id, oe_kurzbz, anteil, + insertamum, insertvon, updateamum, updatevon) VALUES(" + .$db->addslashes($row->aufteilung_id)."," + .$db->addslashes($row->kostenstelle_id)."," + .$db->addslashes($row->oe_kurzbz)."," + .$db->addslashes($row->anteil)."," + .$db->addslashes($row->lupdate)."," + .$db->addslashes($row->username_neu)."," + .$db->addslashes($row->lupdate)."," + .$db->addslashes($row->username_neu).");"; + if($db->db_query($qry)) + { + $anzahl_insert++; + } + else + { + $error_log.="\nFehler beim Insert: $qry"; + $anzahl_fehler++; + } + } + } + else + { + $error_log.="\nFehler bei Select: $qry_check"; + $anzahl_fehler++; + } + } + + if(!$db->db_query("SELECT setval('wawi.seq_aufteilung_default_aufteilung_id',(SELECT max(aufteilung_id) FROM wawi.tbl_aufteilung_default));")) + { + $error_log.="\nFehler beim Update der Sequence"; + $anzahl_fehler++; + } + + //Mail versenden + $statistik="Aufteilung Default Sync\n--------------\n"; + $statistik.="Beginn: ".date("d.m.Y H:i:s")." von ".DB_NAME." - Anzahl Einträge: ".$anzahl_aufteilungen."\n\n"; + $statistik.="\nEingefügte Datensätze: $anzahl_insert"; + $statistik.="\nGeänderte Datensätze: $anzahl_update"; + $statistik.="\nFehler: $anzahl_fehler\n"; + + $synced=$statistik.$error_log.$update_log; + $mail = new mail(MAIL_ADMIN, "vilesci@".DOMAIN, "SYNC Aufteilung Default von ".DB_NAME, $synced); + $mail->setReplyTo("vilesci@".DOMAIN); + if(!$mail->send()) + { + echo "Fehler beim Versenden des Durchführungs-Mails!
"; + } +} +?> \ No newline at end of file