From bfd9f423655e4d11693b86008991512729068940 Mon Sep 17 00:00:00 2001 From: Rudolf Hangl Date: Fri, 5 Jan 2007 11:00:37 +0000 Subject: [PATCH] SYNC Schluesseltyp --- admin/sync/fas/sync_fas_portal_person.php | 1 + admin/sync/fas/sync_fas_portal_schluessel.php | 4 +- .../fas/sync_fas_portal_schluesseltyp.php | 25 ++++++---- include/schluesseltyp.class.php | 47 ++++++++++++------- 4 files changed, 49 insertions(+), 28 deletions(-) diff --git a/admin/sync/fas/sync_fas_portal_person.php b/admin/sync/fas/sync_fas_portal_person.php index 6fe934072..4995f8165 100644 --- a/admin/sync/fas/sync_fas_portal_person.php +++ b/admin/sync/fas/sync_fas_portal_person.php @@ -80,6 +80,7 @@ if($result = pg_query($conn_fas, $qry)) $person->svnr=$row->svnr; $person->ersatzkennzeichen=$row->ersatzkennzeichen; $person->familienstand=$row->familienstand; + $person->anzahlkinder=$row->anzahlderkinder; $person->staatsbuergerschaft=$row->staatsbuergerschaft; $person->geschlecht=strtolower($row->geschlecht); $person->ext_id=$row->person_pk; diff --git a/admin/sync/fas/sync_fas_portal_schluessel.php b/admin/sync/fas/sync_fas_portal_schluessel.php index 1078aab94..072ce5543 100644 --- a/admin/sync/fas/sync_fas_portal_schluessel.php +++ b/admin/sync/fas/sync_fas_portal_schluessel.php @@ -90,7 +90,7 @@ if($result = pg_query($conn_fas, $qry)) { $schluessel->person_id=$row1->person_portal; //Schlüsseltyp feststellen - $qry2="SELECT schluesseltyp FROM tbl_schluesseltyp WHERE ext_id=".$row->schluessel_fk.";"; + $qry2="SELECT schluesseltyp FROM tbl_schluesseltyp WHERE schluesseltyp=".$row->name.";"; if($result2 = pg_query($conn, $qry2)) { if(pg_num_rows($result2)>0) //eintrag gefunden @@ -99,7 +99,7 @@ if($result = pg_query($conn_fas, $qry)) { $schluessel->schluesseltyp=$row2->schluesseltyp; //Insert oder Update - $qry3="SELECT schluessel_id FROM tbl_schluessel WHERE ext_id=".$row->schluessel_fk.";"; + $qry3="SELECT schluessel_id FROM tbl_schluessel WHERE beschreibung=".$row->name.";"; if($result3 = pg_query($conn, $qry3)) { if(pg_num_rows($result3)>0) //eintrag gefunden diff --git a/admin/sync/fas/sync_fas_portal_schluesseltyp.php b/admin/sync/fas/sync_fas_portal_schluesseltyp.php index dc2fcd3e9..627b7adbe 100644 --- a/admin/sync/fas/sync_fas_portal_schluesseltyp.php +++ b/admin/sync/fas/sync_fas_portal_schluesseltyp.php @@ -1,5 +1,5 @@ beschreibung =$row->name; - $schluesseltyp->nummer =$row->nummer; - $schluesseltyp->anzahl =$row->anzahl; - $schluesseltyp->kaution =$row->betrag; - $schluesseltyp->ext_id =$row->schluessel_pk; + $schluesseltyp->anzahl =$row->anzahl==''?'0':$row->anzahl; + $schluesseltyp->kaution =$row->betrag==''?'0':$row->betrag; if($row->name=='Gaderobenschlüssel') { $schluesseltyp->schluesseltyp='Gaderobe'; } - elseif($row->name=='Zutrittskarte') - { - $schluesseltyp->schluesseltyp='Zutritt'.$row->nummer; - } else { $schluesseltyp->schluesseltyp=$row->name; @@ -99,6 +93,19 @@ if($result = pg_query($conn_fas, $qry)) } else { + + //überprüfen, ob sync-eintrag schon vorhanden + $qryz="SELECT * FROM tbl_syncschluesseltyp WHERE fas_typ='$row->schluesseltyp_pk' AND portal_typ='$schluesseltyp->schluesseltyp'"; + if($resultz = pg_query($conn, $qryz)) + { + if(pg_num_rows($resultz)==0) //wenn dieser eintrag noch nicht vorhanden ist + { + $qry='INSERT INTO tbl_syncschluesseltyp (fas_typ, portal_typ)'. + 'VALUES ('.$row->schluesseltyp_pk.', '.$person->schluesseltyp.');'; + $resulti = pg_query($conn, $qry); + } + } + $anzahl_eingefuegt++; } } diff --git a/include/schluesseltyp.class.php b/include/schluesseltyp.class.php index a4eff1848..1aec728d0 100644 --- a/include/schluesseltyp.class.php +++ b/include/schluesseltyp.class.php @@ -22,7 +22,7 @@ /** * Klasse schluesseltyp (FAS-Online) - * @create 22-12-2006 + * @create 03-01-2006 */ class schluesseltyp @@ -37,9 +37,6 @@ class schluesseltyp var $beschreibung; //string var $anzahl; //smallint var $kaution; //numeric(5,2) - var $nummer; //string - var $ext_id; //bigint - /** * Konstruktor @@ -93,23 +90,39 @@ class schluesseltyp function save() { - - $qry='INSERT INTO tbl_schluesseltyp (schluesseltyp, beschreibung, anzahl, kaution, nummer, ext_id) VALUES('. - $this->addslashes($this->schluesseltyp).', '. - $this->addslashes($this->beschreibung).', '. - $this->addslashes($this->anzahl).', '. - $this->addslashes($this->kaution).', '. - $this->addslashes($this->nummer).', '. - $this->addslashes($this->ext_id).');'; - - - if(pg_query($this->conn,$qry)) + $qry1='SELECT * FROM tbl_schluesseltyp WHERE beschreibung='.$this->addslashes($this->beschreibung).';'; + if($result1=pg_query($this->conn,$qry1)) { - return true; + if(pg_num_rows($result1)>0) //eintrag gefunden + { + if($row1 = pg_fetch_object($result1)) + { + $qry='UPDATE tbl_schluesseltyp SET '. + 'anzahl =anzahl+'.$this->anzahl.' '. + 'WHERE beschreibung='.$this->addslashes($this->beschreibung).';'; + } + } + else + { + $qry='INSERT INTO tbl_schluesseltyp (schluesseltyp, beschreibung, anzahl, kaution) VALUES('. + $this->addslashes($this->schluesseltyp).', '. + $this->addslashes($this->beschreibung).', '. + $this->addslashes($this->anzahl).', '. + $this->addslashes($this->kaution).');'; + } + if(pg_query($this->conn,$qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Schluesseltypen-Datensatzes: '.$this->schluesseltyp.' '.$qry; + return false; + } } else { - $this->errormsg = 'Fehler beim Speichern des Schluesseltypen-Datensatzes:'.$this->schluesseltyp.' '.$qry; + $this->errormsg = 'Fehler beim Zugriff auf den Schluesseltypen-Datensatz: '.$this->schluesseltyp.' '.$qry; return false; } }