diff --git a/include/vertrag.class.php b/include/vertrag.class.php index 29593af35..f1387dce9 100644 --- a/include/vertrag.class.php +++ b/include/vertrag.class.php @@ -985,5 +985,59 @@ class vertrag extends basis_db return false; } } + + /** + * Liefert alle Vertraege bei denen die Lehraufträge nicht zur Person passen. + * (zB Aufgrund Lektorenaenderung) + * @param $studiensemester_kurzbz + * @return boolean true wenn ok, false im Fehlerfall + */ + public function getFalscheVertraege($studiensemester_kurzbz) + { + $qry = "SELECT + tbl_vertrag.* + FROM + lehre.tbl_vertrag + JOIN lehre.tbl_lehreinheitmitarbeiter USING(vertrag_id) + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + WHERE + studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." + AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT IN(SELECT uid FROM public.tbl_benutzer WHERE person_id=tbl_vertrag.person_id) + UNION + SELECT + tbl_vertrag.* + FROM + lehre.tbl_vertrag + JOIN lehre.tbl_projektbetreuer USING(vertrag_id) + JOIN lehre.tbl_projektarbeit USING(projektarbeit_id) + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + WHERE + studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." + AND tbl_projektbetreuer.person_id!=tbl_vertrag.person_id"; + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new stdClass(); + + $obj->vertrag_id = $row->vertrag_id; + $obj->vertragstyp_kurzbz = $row->vertragstyp_kurzbz; + $obj->bezeichnung = $row->bezeichnung; + $obj->betrag = $row->betrag; + $obj->person_id = $row->person_id; + $obj->anmerkung = $row->anmerkung; + $obj->vertragsdatum = $row->vertragsdatum; + + $this->result[]=$obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } } ?>