, * Andreas Oesterreicher and * Rudolf Hangl . */ /** * Klasse bankverbindung * @create 20-12-2006 */ require_once(dirname(__FILE__).'/basis_db.class.php'); class resturlaub extends basis_db { public $new; public $result = array(); //Tabellenspalten public $mitarbeiter_uid; public $resturlaubstage; public $mehrarbeitsstunden; public $urlaubstageprojahr; public $updateamum; public $updatevon; public $insertamum; public $insertvon; public $vorname; public $vornamen; public $nachname; /** * Konstruktor * @param $uid */ public function __construct($uid=null) { parent::__construct(); if($uid!=null) $this->load($uid); } /** * Laedt die Resturlaubstage eines Mitarbeiters * @param $mitarbeiter_uid ID der zu ladenden Resturlaubstage * @return true wenn ok, false im Fehlerfall */ public function load($mitarbeiter_uid) { $qry = "SELECT * FROM campus.tbl_resturlaub WHERE mitarbeiter_uid='".addslashes($mitarbeiter_uid)."'"; if($this->db_query($qry)) { if($row = $this->db_fetch_object()) { $this->mitarbeiter_uid = $row->mitarbeiter_uid; $this->resturlaubstage = $row->resturlaubstage; $this->mehrarbeitsstunden = $row->mehrarbeitsstunden; $this->urlaubstageprojahr = $row->urlaubstageprojahr; $this->updateamum = $row->updateamum; $this->updatevon = $row->updatevon; $this->insertamum = $row->insertamum; $this->insertvon = $row->insertvon; return true; } else { $this->errormsg = 'Datensatz wurde nicht gefunden'; return false; } } else { $this->errormsg = 'Fehler beim Laden der Daten'; return false; } } /** * Prueft die Variablen auf Gueltigkeit * @return true wenn ok, false im Fehlerfall */ protected function validate() { if($this->resturlaubstage!='' && !is_numeric($this->resturlaubstage)) { $this->errormsg ='Resturlaubstage muss eine gueltige Zahl sein'; return false; } if($this->mehrarbeitsstunden!='' && !is_numeric($this->mehrarbeitsstunden)) { $this->errormsg ='Mehrarbeitsstunden muss eine gueltige Zahl sein'; return false; } if($this->urlaubstageprojahr<0) { $this->errormsg = 'Urlaubsanspruch darf nicht negativ sein'; return false; } if($this->urlaubstageprojahr=='') $this->urlaubstageprojahr='0'; return true; } /** * Speichert den aktuellen Datensatz in die Datenbank * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt * andernfalls wird der Datensatz mit der ID in $bankverbindung_id aktualisiert * @return true wenn ok, false im Fehlerfall */ public function save() { //Variablen pruefen if(!$this->validate()) return false; if($this->new) { //Neuen Datensatz einfuegen $qry = 'INSERT INTO campus.tbl_resturlaub (mitarbeiter_uid, resturlaubstage, mehrarbeitsstunden, urlaubstageprojahr, insertamum, insertvon, updateamum, updatevon) VALUES('. $this->addslashes($this->mitarbeiter_uid).', '. $this->addslashes($this->resturlaubstage).', '. $this->addslashes($this->mehrarbeitsstunden).', '. $this->addslashes($this->urlaubstageprojahr).', '. $this->addslashes($this->insertamum).', '. $this->addslashes($this->insertvon).', '. $this->addslashes($this->updateamum).', '. $this->addslashes($this->updatevon).');'; } else { //Updaten des bestehenden Datensatzes $qry='UPDATE campus.tbl_resturlaub SET '. 'resturlaubstage='.$this->addslashes($this->resturlaubstage).', '. 'mehrarbeitsstunden='.$this->addslashes($this->mehrarbeitsstunden).', '. 'urlaubstageprojahr='.$this->addslashes($this->urlaubstageprojahr).', '. 'updateamum='.$this->addslashes($this->updateamum).', '. 'updatevon='.$this->addslashes($this->updatevon). ' WHERE mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).';'; } if($this->db_query($qry)) { return true; } else { $this->errormsg = 'Fehler beim Speichern der Daten'; return false; } } /** * Liefert die Resturlaubstage der * Fixangestellten */ public function getResturlaubFixangestellte() { $qry = "SELECT * FROM campus.vw_mitarbeiter LEFT JOIN campus.tbl_resturlaub ON(uid=mitarbeiter_uid) WHERE fixangestellt=true AND aktiv=true ORDER BY nachname, vorname"; if($this->db_query($qry)) { while($row = $this->db_fetch_object()) { $obj = new resturlaub(); $obj->mitarbeiter_uid = $row->uid; $obj->resturlaubstage = $row->resturlaubstage; $obj->mehrarbeitsstunden = $row->mehrarbeitsstunden; $obj->urlaubstageprojahr = $row->urlaubstageprojahr; $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; $obj->vorname = $row->vorname; $obj->vornamen = $row->vornamen; $obj->nachname = $row->nachname; $this->result[] = $obj; } return true; } else { $this->errormsg = 'Fehler beim Laden der Daten'; return false; } } } ?>