Diverse Funktionen hinzugefügt die für die Verwendung in Addons benötigt werden

This commit is contained in:
oesi
2015-09-16 17:55:01 +02:00
parent c9228c7de0
commit 311f914d0b
4 changed files with 108 additions and 5 deletions
+53
View File
@@ -375,5 +375,58 @@ class bankverbindung extends basis_db
return false;
}
}
/**
* Laedt die Bankverbindung einer Person
* @param $person_id
* @return true wenn ok, false im Fehlerfall
*/
public function load_pers_verrechnung($person_id)
{
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_bankverbindung WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." ORDER BY verrechnung DESC NULLS LAST LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->bankverbindung_id = $row->bankverbindung_id;
$this->person_id = $row->person_id;
$this->name = $row->name;
$this->anschrift = $row->anschrift;
$this->bic = $row->bic;
$this->blz = $row->blz;
$this->iban = $row->iban;
$this->kontonr = $row->kontonr;
$this->typ = $row->typ;
$this->verrechnung = $this->db_parse_bool($row->verrechnung);
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->oe_kurzbz = $row->oe_kurzbz;
return true;
}
else
{
$this->errormsg = 'Keine Bankverbindung gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+1 -1
View File
@@ -958,7 +958,7 @@ class lehreinheit extends basis_db
FROM
lehre.tbl_lehreinheit
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(lehrfach_id=lehrfach.lehrveranstaltung_id)
JOIN public.tbl_fachbereich USING(oe_kurzbz)
LEFT JOIN public.tbl_fachbereich USING(oe_kurzbz)
JOIN lehre.tbl_lehrveranstaltung ON(tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id)
WHERE
tbl_lehreinheit.lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER).';';
+48 -2
View File
@@ -1094,7 +1094,7 @@ class mitarbeiter extends benutzer
/**
* Liefert MitarbeiterInnen für die Verwaltung der Zutrittskarten
*
*
* @param $filter Buchstabe mit dem der Mitarbeiter beginnt
* @param $fixangestellt false wenn externer mitarbeiter
* @param $studSemArray Array mit Studiensemestern in denen der externe Lektor zumindest in einem Unterrichtet haben soll oder NULL. Wenn NULL werden nur externe Mitarbeiter ohne Lehrauftrag ausgegeben.
@@ -1120,7 +1120,7 @@ class mitarbeiter extends benutzer
(SELECT * FROM lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE tbl_lehreinheitmitarbeiter.mitarbeiter_uid=uid) ";
else
else
$qry.=" AND NOT fixangestellt AND EXISTS
(SELECT * FROM lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
@@ -1219,5 +1219,51 @@ class mitarbeiter extends benutzer
}
return false;
}
/**
* Laedt einen Mitarbeiter anhand der Personalnummer
*
* @param $uid
* @return true wenn ok, sonst false
*/
public function getMitarbeiterFromPersonalnummer($personalnummer)
{
$qry = "SELECT * FROM public.tbl_mitarbeiter
WHERE personalnummer=".$this->db_add_param($personalnummer).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
if(!benutzer::load($row->mitarbeiter_uid))
return false;
$this->personalnummer = $row->personalnummer;
$this->kurzbz = $row->kurzbz;
$this->lektor = $this->db_parse_bool($row->lektor);
$this->fixangestellt = $this->db_parse_bool($row->fixangestellt);
$this->standort_id = $row->standort_id;
$this->telefonklappe = $row->telefonklappe;
$this->ort_kurzbz = $row->ort_kurzbz;
$this->stundensatz = $row->stundensatz;
$this->anmerkung = $row->anmerkung;
$this->ext_id_mitarbeiter = $row->ext_id;
$this->bismelden = $this->db_parse_bool($row->bismelden);
$this->kleriker = $this->db_parse_bool($row->kleriker);
return true;
}
else
{
$this->errormsg = "Kein Eintrag gefunden fuer den Benutzer\n";
return false;
}
}
else
{
$this->errormsg = "Fehler beim Laden der Daten\n";
return false;
}
}
}
?>
+6 -2
View File
@@ -898,10 +898,12 @@ class vertrag extends basis_db
// (Lehreinheiten und Betreuungen)
// plus Sonderhonorare die in diesem Zeitraum angelegt wurden
$qry = "SELECT
*
tbl_vertrag.*
FROM
lehre.tbl_vertrag
JOIN public.tbl_benutzer USING(person_id)
WHERE
(
EXISTS (SELECT
1
FROM
@@ -933,9 +935,11 @@ class vertrag extends basis_db
lehre.tbl_projektbetreuer
WHERE
vertrag_id=tbl_vertrag.vertrag_id)
))
AND vertragsdatum<=".$this->db_add_param($datum)."
AND vertragsdatum>=".$this->db_add_param($prevstsemende)."
)";
AND tbl_benutzer.uid=".$this->db_add_param($mitarbeiter_uid);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))