mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
updated sync_konto
This commit is contained in:
+123
-9
@@ -20,16 +20,20 @@
|
||||
* Karl Burkhart <burkhart@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
require_once('config.inc.php');
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
|
||||
$errormsg = '';
|
||||
$ausgabe = '';
|
||||
$updated_lines = '';
|
||||
$error_count=0;
|
||||
$insert_count=0;
|
||||
$update_count=0;
|
||||
$interval ='';
|
||||
|
||||
$date = new datum();
|
||||
$db = new basis_db();
|
||||
|
||||
//Datenbankverbindung zur WaWi Datenbank herstellen
|
||||
@@ -43,12 +47,22 @@ if ($conn_wawi = pg_pconnect(CONN_STRING_WAWI))
|
||||
}
|
||||
|
||||
//Alle Kontoeintraege aus der WaWi Datenbank holen
|
||||
if($result = pg_query($conn_wawi, 'SELECT * FROM public.tbl_konto;'))
|
||||
$qry = 'SELECT
|
||||
*,
|
||||
cbenutzer.username as cusername,
|
||||
lbenutzer.username as lusername,
|
||||
konto.lupdate as lkontoupdate
|
||||
FROM
|
||||
public.konto
|
||||
LEFT JOIN public.benutzer cbenutzer ON (cuser=user_id)
|
||||
LEFT JOIN public.benutzer lbenutzer ON (konto.luser=lbenutzer.user_id)
|
||||
;';
|
||||
if($result = pg_query($conn_wawi, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
//Dazupassenden Eintrag in der neuen Datenbank suchen
|
||||
$qry = "SELECT * FROM wawi.tbl_konto WHERE konto_id='".addslashes($row->konto)."'";
|
||||
$qry = "SELECT *, beschreibung[1] AS first_beschreibung FROM wawi.tbl_konto WHERE konto_id='".addslashes($row->konto)."'";
|
||||
if($result_neu = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result_neu)>0)
|
||||
@@ -60,19 +74,96 @@ if ($conn_wawi = pg_pconnect(CONN_STRING_WAWI))
|
||||
$bedingung = '';
|
||||
|
||||
//Spalten ueberpruefen
|
||||
if($row_neu->beschreibung != $row->beschreibung)
|
||||
if($row_neu->kontonr != $row->kontonr)
|
||||
{
|
||||
if($bedingung!='')
|
||||
$bedingung.=',';
|
||||
$bedingung .= " beschreibung=".$db->addslashes($row->beschreibung);
|
||||
$bedingung .= " kontonr=".$db->addslashes($row->kontonr);
|
||||
$updated_lines .= "kontonr von: \"".$row_neu->kontonr."\" auf: \"".$row->kontonr."\"\n";
|
||||
|
||||
$update_count++;
|
||||
}
|
||||
//Wenn sich Beschreibung ändert, ändert sich kurzbeschreibung auch mit
|
||||
if($row_neu->first_beschreibung != $row->beschreibung)
|
||||
{
|
||||
$kurzbz = substr($row->beschreibung, 0, 32);
|
||||
if($bedingung!='')
|
||||
$bedingung.=',';
|
||||
$bedingung .= " beschreibung[1]=".$db->addslashes($row->beschreibung);
|
||||
$bedingung .= ", kurzbz =".$db->addslashes($kurzbz);
|
||||
$updated_lines .= "beschreibung von: \"".$row_neu->first_beschreibung."\" auf: \"".$row->beschreibung."\" \n";
|
||||
$updated_lines .= "kurzbz von: \"".$row_neu->kurzbz."\" auf: \"".$kurzbz."\" \n";
|
||||
|
||||
$update_count+= 2;
|
||||
}
|
||||
|
||||
if($date->formatDatum($row_neu->insertamum, 'Y-m-d H:i:s') != $date->formatDatum($row->cdate, 'Y-m-d H:i:s'))
|
||||
{
|
||||
if($bedingung!='')
|
||||
$bedingung.=',';
|
||||
$bedingung .= " insertamum=".$db->addslashes($row->cdate);
|
||||
$updated_lines .= "insertamum von: \"".$row_neu->insertamum."\" auf: \"".$row->cdate."\" \n";
|
||||
|
||||
$update_count++;
|
||||
}
|
||||
|
||||
if ($row_neu->insertvon != $row->cusername)
|
||||
{
|
||||
if($bedingung!='')
|
||||
$bedingung.=',';
|
||||
$bedingung .= " insertvon=".$db->addslashes($row->cusername);
|
||||
$updated_lines .= "insertvon von: \"".$row_neu->insertvon."\" auf: \"".$row->cusername."\" \n";
|
||||
|
||||
$update_count++;
|
||||
}
|
||||
|
||||
if($date->formatDatum($row_neu->updateamum, 'Y-m-d H:i:s') != $date->formatDatum($row->lkontoupdate, 'Y-m-d H:i:s'))
|
||||
{
|
||||
if($bedingung!='')
|
||||
$bedingung.=',';
|
||||
$bedingung .= " updateamum=".$db->addslashes($row->lkontoupdate);
|
||||
$updated_lines .= "updateamum von: \"".$row_neu->updateamum."\" auf: \"".$row->lkontoupdate."\" \n";
|
||||
|
||||
$update_count++;
|
||||
}
|
||||
|
||||
if($row_neu->updatevon != $row->lusername)
|
||||
{
|
||||
if($bedingung!='')
|
||||
$bedingung.=',';
|
||||
$bedingung .= " updatevon=".$db->addslashes($row->lusername);
|
||||
$updated_lines .= "updatevon von: \"".$row_neu->updatevon."\" auf: \"".$row->lusername."\" \n";
|
||||
|
||||
$update_count++;
|
||||
}
|
||||
|
||||
if($updated_lines != '')
|
||||
$ausgabe .= "ID ".$row_neu->konto_id.": ".$updated_lines."\n \n";
|
||||
$updated_lines ='';
|
||||
}
|
||||
|
||||
if ($bedingung !='')
|
||||
{
|
||||
$update .= $bedingung." WHERE konto_id =".$row_neu->konto_id.";";
|
||||
//echo ($update);
|
||||
$db->db_query($update);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$db->addslashes($var);
|
||||
//Wenn der Eintrag noch nicht vorhanden ist, dann wird er neu angelegt
|
||||
// INSERT INTO wawi.tbl_konto (konto_id, kontonr,....) VALUES(..)
|
||||
$kurzbz = substr($row->beschreibung, 0, 32);
|
||||
$insert_qry = "INSERT INTO
|
||||
wawi.tbl_konto
|
||||
(konto_id, kontonr, beschreibung, kurzbz, aktiv, insertamum, insertvon, updateamum, updatevon)
|
||||
VALUES (
|
||||
".$row->konto.",".$row->kontonr.","."ARRAY[".$db->addslashes($row->beschreibung).", 'EE_".$row->beschreibung."']".",
|
||||
".$db->addslashes($kurzbz).", true, ".$db->addslashes($row->cdate).",".$db->addslashes($row->cusername).",
|
||||
".$db->addslashes($row->lkontoupdate).",".$db->addslashes($row->lusername).");";
|
||||
$insert_count++;
|
||||
//echo ($insert_qry);
|
||||
if($db->db_query($insert_qry) != true)
|
||||
$error_count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -84,10 +175,33 @@ else
|
||||
$error_count++;
|
||||
}
|
||||
|
||||
//Sequenz neu setzen
|
||||
if ($insert_count >0)
|
||||
{
|
||||
$max_qry= "SELECT MAX(konto_id) as max from wawi.tbl_konto";
|
||||
if($result_max = $db->db_query($max_qry))
|
||||
{
|
||||
if($row_max = $db->db_fetch_object($result_max))
|
||||
{
|
||||
$set_qry ="SELECT setval('wawi.seq_konto_konto_id', $row_max->max)";
|
||||
$db->db_query($set_qry);
|
||||
}
|
||||
else
|
||||
$error_count++;
|
||||
}
|
||||
else
|
||||
$error_count++;
|
||||
}
|
||||
|
||||
$msg = "
|
||||
$update_count Datensätze wurden geändert.
|
||||
$insert_count Datensätze wurden hinzugefügt.
|
||||
$error_count Fehler sind dabei aufgetreten!";
|
||||
$error_count Fehler sind dabei aufgetreten!
|
||||
|
||||
$ausgabe
|
||||
";
|
||||
|
||||
|
||||
|
||||
$msg.=$errormsg;
|
||||
|
||||
@@ -95,5 +209,5 @@ $mail = new mail(MAIL_ADMIN, 'vilesci.technikum-wien.at', 'WaWi Syncro - Konto',
|
||||
if(!$mail->send())
|
||||
echo 'Fehler beim Senden des Mails';
|
||||
else
|
||||
echo 'Mail verschickt!';
|
||||
echo '<br> Mail verschickt!';
|
||||
?>
|
||||
Reference in New Issue
Block a user