From fb74f9e76502bbc0e6203024275c839a29fcdc44 Mon Sep 17 00:00:00 2001 From: Karl Burkhart Date: Mon, 25 Jun 2012 13:34:39 +0000 Subject: [PATCH] =?UTF-8?q?-=20Mitarbeiter=20werden=20nach=20Anfangsbuchst?= =?UTF-8?q?aben=20zur=C3=BCckgegeben=20-=20=C3=9Cbergebener=20Status=20wir?= =?UTF-8?q?d=20=C3=BCberpr=C3=BCft=20ob=20er=20bei=20person=20vorhanden=20?= =?UTF-8?q?ist=20-=20Es=20wird=20=C3=BCberpr=C3=BCft=20ob=20eine=20Karte?= =?UTF-8?q?=20schon=20gedruckt=20und=20ausgegeben=20wurde?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/betriebsmittel.class.php | 45 +++++++++++++++++++++++ include/fotostatus.class.php | 62 +++++++++++++++++++++++++++++++- include/mitarbeiter.class.php | 39 ++++++++++++++++++++ 3 files changed, 145 insertions(+), 1 deletion(-) diff --git a/include/betriebsmittel.class.php b/include/betriebsmittel.class.php index eb1acb367..6a7d11dee 100644 --- a/include/betriebsmittel.class.php +++ b/include/betriebsmittel.class.php @@ -1156,5 +1156,50 @@ class betriebsmittel extends basis_db $kartennummer = preg_replace("/^0*/", "", $kartennummer); return $kartennummer; } + + /** + * Überprüft ob die Zutrittskarte zur übergerbenen uid schon ausgedruckt worden ist + * @param type $uid + */ + public function zutrittskartePrinted($uid) + { + $qry ="SELECT * FROM wawi.tbl_betriebsmittelperson + JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id) + WHERE uid = ".$this->db_add_param($uid, FHC_STRING)." + and betriebsmitteltyp = 'Zutrittskarte' + AND nummer2 is not null"; + + if($result = $this->db_query($qry)) + { + if($this->db_num_rows($result) > 0) + return true; + else + return false; + } + } + + /** + * Überprüft ob die Zutrittskarte schon ausgegeben worden ist -> ausgegeben an == null und retouram != null + * @param $uid + * @return boolean + */ + public function zutrittskarteAusgegeben($uid) + { + $qry ="SELECT * FROM wawi.tbl_betriebsmittelperson WHERE uid =".$this->db_add_param($uid, FHC_STRING)." + AND betriebsmittel_id IN( + SELECT betriebsmittel_id + FROM wawi.tbl_betriebsmittelperson + JOIN wawi.tbl_betriebsmittel USING (betriebsmittel_id) where uid=".$this->db_add_param($uid,FHC_STRING)." + AND betriebsmitteltyp='Zutrittskarte' and nummer2 is not null) + AND ausgegebenam is not null AND retouram is null"; + + if($result = $this->db_query($qry)) + { + if($this->db_num_rows($result)>0) + return true; + else + return false; + } + } } ?> diff --git a/include/fotostatus.class.php b/include/fotostatus.class.php index f62bb5a86..71abf8313 100755 --- a/include/fotostatus.class.php +++ b/include/fotostatus.class.php @@ -22,7 +22,7 @@ require_once(dirname(__FILE__).'/basis_db.class.php'); class fotostatus extends basis_db { public $new; // boolean - public $result = array(); // adresse Objekt + public $result = array(); // Array für FotoStatus Objekte //Tabellenspalten public $fotostatus_kurzbz; // varchar(32) @@ -75,6 +75,66 @@ class fotostatus extends basis_db } } + /** + * Überprüft ob der übergebene Status bei der Übergebenen Person vorhanden ist + * @param $person_id + * @param $fotostatus_kurzbz + * @return boolean + */ + public function checkStatus($person_id, $fotostatus_kurzbz) + { + $qry = "SELECT + * + FROM + public.tbl_person_fotostatus + WHERE + person_id = ".$this->db_add_param($person_id, FHC_INTEGER)." + AND fotostatus_kurzbz=".$this->db_add_param($fotostatus_kurzbz,FHC_STRING).";"; + + if($result = $this->db_query($qry)) + { + if($this->db_num_rows($result)>0) + return true; + else + return false; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + /** + * Liefert alle Möglichen Stati eines Bildes zurück + * @return boolean + */ + public function getAllStatusKurzbz() + { + $qry = "SELECT + * + FROM + tbl_fotostatus"; + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $status = new fotostatus(); + $status->fotostatus_kurzbz = $row->fotostatus_kurzbz; + + $this->result[]=$status; + } + return true; + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten."; + return false; + } + } + + public function save($new=null) { if(is_null($new)) diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php index a596aa69d..09aa8fe16 100644 --- a/include/mitarbeiter.class.php +++ b/include/mitarbeiter.class.php @@ -1045,5 +1045,44 @@ class mitarbeiter extends benutzer } } + + /** + * Holt alle Mitarbeiter nach einem bestimmten filter = Anfangsbuchstabe + * @param $filter Anfangsbuchstabe der Mitarbeiter + * @return boolean + */ + public function getMitarbeiterForZutrittskarte($filter) + { + $qry = "SELECT + * + FROM + campus.vw_mitarbeiter + WHERE + UPPER(SUBSTRING(nachname,1,1))=".$this->db_add_param($filter,FHC_STRING)." + AND aktiv='true'"; + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $mi = new mitarbeiter(); + + $mi->vorname = $row->vorname; + $mi->nachname = $row->nachname; + $mi->gebdatum = $row->gebdatum; + $mi->uid = $row->uid; + $mi->personalnummer = $row->personalnummer; + $mi->person_id = $row->person_id; + + $this->result[] = $mi; + } + return true; + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + } } ?> \ No newline at end of file