GUI zur Verwaltung der Verträge im FAS

This commit is contained in:
Andreas Österreicher
2014-10-31 05:56:56 +00:00
parent 6da3af7879
commit c245dd101b
17 changed files with 2046 additions and 135 deletions
+7 -3
View File
@@ -42,6 +42,7 @@ class lehreinheitmitarbeiter extends basis_db
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $ext_id; // bigint
public $vertrag_id;
/**
* Konstruktor - Laedt optional einee LEMitarbeiterzuordnung
@@ -91,6 +92,7 @@ class lehreinheitmitarbeiter extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->new=false;
return true;
}
else
@@ -228,7 +230,7 @@ class lehreinheitmitarbeiter extends basis_db
//ToDo ID entfernen
$qry = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, mitarbeiter_uid, semesterstunden, planstunden,
stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon)
stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon, vertrag_id)
VALUES('.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).','.
$this->db_add_param($this->mitarbeiter_uid).','.
$this->db_add_param($this->semesterstunden).','.
@@ -240,7 +242,8 @@ class lehreinheitmitarbeiter extends basis_db
$this->db_add_param($this->bismelden, FHC_BOOLEAN).','.
$this->db_add_param($this->ext_id, FHC_INTEGER).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).');';
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->vertrag_id).');';
}
else
{
@@ -266,12 +269,13 @@ class lehreinheitmitarbeiter extends basis_db
' bismelden='.$this->db_add_param($this->bismelden, FHC_BOOLEAN).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).','.
' vertrag_id='.$this->db_add_param($this->vertrag_id).','.
' ext_id = '.$this->db_add_param($this->ext_id, FHC_INTEGER).
$setinsert.
" WHERE lehreinheit_id=".$this->db_add_param($this->lehreinheit_id, FHC_INTEGER)." AND
mitarbeiter_uid=".$this->db_add_param($this->mitarbeiter_uid_old).";";
}
if($this->db_query($qry))
{
return true;
+44 -29
View File
@@ -45,6 +45,7 @@ class projektbetreuer extends basis_db
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
public $vertrag_id; // bigint
public $person_id_old;
@@ -80,7 +81,14 @@ class projektbetreuer extends basis_db
return false;
}
$qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE person_id='$person_id' AND projektarbeit_id='$projektarbeit_id' AND betreuerart_kurzbz='".addslashes($betreuerart_kurzbz)."'";
$qry = "SELECT
*
FROM
lehre.tbl_projektbetreuer
WHERE
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz);
if($this->db_query($qry))
{
@@ -100,6 +108,8 @@ class projektbetreuer extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->vertrag_id = $row->vertrag_id;
$this->new=false;
return true;
}
else
@@ -193,19 +203,20 @@ class projektbetreuer extends basis_db
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, note, betreuerart_kurzbz, faktor, name,
punkte, stunden, stundensatz, ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->addslashes($this->person_id).', '.
$this->addslashes($this->projektarbeit_id).', '.
$this->addslashes($this->note).', '.
$this->addslashes($this->betreuerart_kurzbz).', '.
$this->addslashes($this->faktor).', '.
$this->addslashes($this->name).', '.
$this->addslashes($this->punkte).', '.
$this->addslashes($this->stunden).', '.
$this->addslashes($this->stundensatz).', '.
$this->addslashes($this->ext_id).', now(), '.
$this->addslashes($this->insertvon).', now(), '.
$this->addslashes($this->updatevon).');';
punkte, stunden, stundensatz, ext_id, insertamum, insertvon, updateamum, updatevon, vertrag_id) VALUES('.
$this->db_add_param($this->person_id).', '.
$this->db_add_param($this->projektarbeit_id).', '.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->betreuerart_kurzbz).', '.
$this->db_add_param($this->faktor).', '.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->punkte).', '.
$this->db_add_param($this->stunden).', '.
$this->db_add_param($this->stundensatz).', '.
$this->db_add_param($this->ext_id).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->vertrag_id).');';
}
else
{
@@ -213,21 +224,24 @@ class projektbetreuer extends basis_db
if($this->person_id_old=='')
$this->person_id_old = $this->person_id;
if($this->betreuerart_kurzbz_old=='')
if(!isset($this->betreuerart_kurzbz_old) || $this->betreuerart_kurzbz_old=='')
$this->betreuerart_kurzbz_old = $this->betreuerart_kurzbz;
$qry='UPDATE lehre.tbl_projektbetreuer SET '.
'person_id='.$this->addslashes($this->person_id).', '.
'note='.$this->addslashes($this->note).', '.
'betreuerart_kurzbz='.$this->addslashes($this->betreuerart_kurzbz).', '.
'faktor='.$this->addslashes($this->faktor).', '.
'name='.$this->addslashes($this->name).', '.
'punkte='.$this->addslashes($this->punkte).', '.
'stunden='.$this->addslashes($this->stunden).', '.
'stundensatz='.$this->addslashes($this->stundensatz).', '.
'updateamum='.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).' '.
"WHERE projektarbeit_id='".addslashes($this->projektarbeit_id)."' AND person_id='".addslashes($this->person_id_old)."' AND betreuerart_kurzbz='".addslashes($this->betreuerart_kurzbz_old)."';";
'person_id='.$this->db_add_param($this->person_id).', '.
'note='.$this->db_add_param($this->note).', '.
'betreuerart_kurzbz='.$this->db_add_param($this->betreuerart_kurzbz).', '.
'faktor='.$this->db_add_param($this->faktor).', '.
'name='.$this->db_add_param($this->name).', '.
'punkte='.$this->db_add_param($this->punkte).', '.
'stunden='.$this->db_add_param($this->stunden).', '.
'stundensatz='.$this->db_add_param($this->stundensatz).', '.
'updateamum='.$this->db_add_param($this->updateamum).', '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'vertrag_id='.$this->db_add_param($this->vertrag_id).' '.
"WHERE projektarbeit_id=".$this->db_add_param($this->projektarbeit_id, FHC_INTEGER,false).
" AND person_id=".$this->db_add_param($this->person_id_old, FHC_INTEGER,false).
" AND betreuerart_kurzbz=".$this->db_add_param($this->betreuerart_kurzbz_old).";";
}
if($this->db_query($qry))
@@ -261,7 +275,7 @@ class projektbetreuer extends basis_db
return false;
}
$qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id='".$person_id."' AND projektarbeit_id='".$projektarbeit_id."' AND betreuerart_kurzbz='".addslashes($betreuerart_kurzbz)."';";
$qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz).";";
if($this->db_query($qry))
{
@@ -308,7 +322,8 @@ class projektbetreuer extends basis_db
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->vertrag_id = $row->vertrag_id;
$this->result[] = $obj;
}
return true;
@@ -320,4 +335,4 @@ class projektbetreuer extends basis_db
}
}
}
?>
?>
+45 -40
View File
@@ -40,7 +40,8 @@ class pruefung extends basis_db
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $ext_id; // bigint
public $pruefungsanmeldung_id; // bigint
public $pruefungsanmeldung_id; // bigint
public $vertrag_id; // bigint
public $lehrveranstaltung_bezeichnung;
public $lehrveranstaltung_id;
@@ -93,6 +94,7 @@ class pruefung extends basis_db
$this->updateamum=$row->updateamum;
$this->updatevon=$row->updatevon;
$this->ext_id=$row->ext_id;
$this->vertrag_id = $row->vertrag_id;
$this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -111,11 +113,11 @@ class pruefung extends basis_db
* Liefert alle Pruefungen
* @return true wenn ok, false im Fehlerfall
*/
public function getAll($order=null, $student=null)
public function getAll($order=null, $student_uid=null)
{
$qry = 'SELECT * FROM lehre.tbl_pruefung';
if ($student)
$qry.=' WHERE student ="'.addslashes($student).'"';
if ($student_uid)
$qry.=" WHERE student_uid =".$this->db_add_param($student);
if($order!=null)
$qry .=" ORDER BY $order";
@@ -142,6 +144,7 @@ class pruefung extends basis_db
$pruef_obj->updatevon=$row->updatevon;
$pruef_obj->ext_id=$row->ext_id;
$pruef_obj->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
$pruef_obj->vertrag_id = $row->vertrag_id;
$this->result[] = $pruef_obj;
}
@@ -206,20 +209,21 @@ class pruefung extends basis_db
if($this->new)
{
//Neuen Datensatz anlegen
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz, datum, anmerkung, insertamum, insertvon, updateamum, updatevon, ext_id, pruefungsanmeldung_id) VALUES ('.
$this->addslashes($this->lehreinheit_id).', '.
$this->addslashes($this->student_uid).', '.
$this->addslashes($this->mitarbeiter_uid).', '.
$this->addslashes($this->note).', '.
$this->addslashes($this->pruefungstyp_kurzbz).', '.
$this->addslashes($this->datum).', '.
$this->addslashes($this->anmerkung).', '.
$this->addslashes($this->insertamum).', '.
$this->addslashes($this->insertvon).', '.
$this->addslashes($this->updateamum).', '.
$this->addslashes($this->updatevon).', '.
$this->addslashes($this->ext_id).', '.
$this->addslashes($this->pruefungsanmeldung_id).');';
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz, datum, anmerkung, insertamum, insertvon, updateamum, updatevon, ext_id, pruefungsanmeldung_id, vertrag_id) VALUES ('.
$this->db_add_param($this->lehreinheit_id).', '.
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->mitarbeiter_uid).', '.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->ext_id).', '.
$this->db_add_param($this->pruefungsanmeldung_id).','.
$this->db_add_param($this->vertrag_id).');';
}
else
{
@@ -233,20 +237,21 @@ class pruefung extends basis_db
}
$qry = 'UPDATE lehre.tbl_pruefung SET '.
'lehreinheit_id='.$this->addslashes($this->lehreinheit_id).', '.
'student_uid='.$this->addslashes($this->student_uid).', '.
'mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).', '.
'note='.$this->addslashes($this->note).', '.
'pruefungstyp_kurzbz='.$this->addslashes($this->pruefungstyp_kurzbz).', '.
'datum='.$this->addslashes($this->datum).', '.
'anmerkung='.$this->addslashes($this->anmerkung).', '.
'insertamum='.$this->addslashes($this->insertamum).', '.
'insertvon='.$this->addslashes($this->insertvon).', '.
'updateamum='.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).', '.
'ext_id='.$this->addslashes($this->ext_id).', '.
'pruefungsanmeldung_id='.$this->addslashes($this->pruefungsanmeldung_id).' '.
'WHERE pruefung_id='.$this->addslashes($this->pruefung_id).';';
'lehreinheit_id='.$this->db_add_param($this->lehreinheit_id).', '.
'student_uid='.$this->db_add_param($this->student_uid).', '.
'mitarbeiter_uid='.$this->db_add_param($this->mitarbeiter_uid).', '.
'note='.$this->db_add_param($this->note).', '.
'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz).', '.
'datum='.$this->db_add_param($this->datum).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'insertamum='.$this->db_add_param($this->insertamum).', '.
'insertvon='.$this->db_add_param($this->insertvon).', '.
'updateamum='.$this->db_add_param($this->updateamum).', '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'ext_id='.$this->db_add_param($this->ext_id).', '.
'pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id).', '.
'vertrag_id='.$this->db_add_param($this->vertrag_id).' '.
'WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';';
}
if($this->db_query($qry))
@@ -297,17 +302,17 @@ class pruefung extends basis_db
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
WHERE student_uid='".addslashes($student_uid)."'
WHERE student_uid=".$this->db_add_param($student_uid)."
AND tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND tbl_pruefung.note = tbl_note.note
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
if ($pruefungstyp != null)
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes($pruefungstyp)."'";
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp);
if ($lv_id != null)
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'";
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id);
if ($stsem != null)
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'";
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem);
$qry .= " ORDER BY datum DESC";
if($this->db_query($qry))
@@ -364,11 +369,11 @@ class pruefung extends basis_db
AND tbl_pruefung.note = tbl_note.note
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
if ($pruefungstyp != null)
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes($pruefungstyp)."'";
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp);
if ($lv_id != null)
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'";
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id);
if ($stsem != null)
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'";
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem);
$qry .= " ORDER BY datum DESC";
@@ -451,4 +456,4 @@ class pruefung extends basis_db
return true;
}
}
?>
?>
+498 -29
View File
@@ -15,40 +15,127 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Nikolaus Krondraf <nikolaus.krondraf@technikum-wien.at>
* Authors: Nikolaus Krondraf <nikolaus.krondraf@technikum-wien.at>,
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class vertrag extends basis_db
{
public $new;
public $new=true;
public $result = array();
public $vertragtyp_kurzbz;
public $vertragtyp_bezeichnung;
/**
public $vertragstyp_bezeichnung;
public $vertrag_id; // bigint
public $bezeichnung; // varchar(256)
public $person_id; // bigint
public $vertragstyp_kurzbz; // varchar(32)
public $betrag; // numeric(8,2)
public $insertamum; // timestamp
public $insertvon; // varchar(32)
public $updateamum; // timestamp
public $updatevon; // varchar(32)
public $ext_id; // bigint
/**
* Konstruktor
*/
public function __construct()
{
parent::__construct();
}
public function load($vertrag_id)
{
$qry = "SELECT * FROM lehre.tbl_vertrag WHERE vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->vertrag_id = $row->vertrag_id;
$this->vertragstyp_kurzbz = $row->vertragstyp_kurzbz;
$this->bezeichnung = $row->bezeichnung;
$this->betrag = $row->betrag;
$this->person_id = $row->person_id;
$this->new=false;
return true;
}
else
{
$this->errormsg = 'Eintrag wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Verträge einer Person
* @param $person_id
* @return boolean true wenn ok ,false im Fehlerfall
*/
public function loadVertrag($person_id)
{
$qry = "SELECT
*,
tbl_vertrag.bezeichnung as bezeichnung,
tbl_vertragstyp.bezeichnung as vertragstyp_bezeichnung
FROM
lehre.tbl_vertrag
LEFT JOIN lehre.tbl_vertragstyp USING(vertragstyp_kurzbz)
WHERE person_id=".$this->db_add_param($person_id);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new vertrag();
$obj->vertrag_id = $row->vertrag_id;
$obj->bezeichnung = $row->bezeichnung;
$obj->person_id = $row->person_id;
$obj->vertragstyp_kurzbz = $row->vertragstyp_kurzbz;
$obj->betrag = $row->betrag;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->vertragstyp_bezeichnung = $row->vertragstyp_bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Speichert den Vertragstyp in der Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function saveVertragtyp($new=null)
public function saveVertragstyp($new=null)
{
if(is_null($new))
$new = $this->new;
if($this->vertragtyp_kurzbz=='')
if($this->vertragstyp_kurzbz=='')
{
$this->errormsg = 'Vertragtyp_kurzbz muss angegeben werden';
$this->errormsg = 'Vertragstyp_kurzbz muss angegeben werden';
return false;
}
@@ -56,7 +143,7 @@ class vertrag extends basis_db
{
//Prüfung, ob Eintrag bereits vorhanden
$qry='SELECT vertragstyp_kurzbz FROM lehre.tbl_vertragstyp
WHERE vertragstyp_kurzbz='.$this->db_add_param($this->vertragtyp_kurzbz);
WHERE vertragstyp_kurzbz='.$this->db_add_param($this->vertragstyp_kurzbz);
if($this->db_query($qry))
{
if($this->db_fetch_object())
@@ -75,14 +162,14 @@ class vertrag extends basis_db
if($new)
{
$qry = 'INSERT INTO lehre.tbl_vertragstyp(vertragstyp_kurzbz, bezeichnung) VALUES('.
$this->db_add_param($this->vertragtyp_kurzbz).','.
$this->db_add_param($this->vertragtyp_bezeichnung).');';
$this->db_add_param($this->vertragstyp_kurzbz).','.
$this->db_add_param($this->vertragstyp_bezeichnung).');';
}
else
{
$qry = 'UPDATE lehre.tbl_vertragstyp SET '.
'bezeichnung = '.$this->db_add_param($this->vertragtyp_bezeichnung).
'WHERE vertragstyp_kurzbz = '.$this->db_add_param($this->vertragtyp_kurzbz);
'bezeichnung = '.$this->db_add_param($this->vertragstyp_bezeichnung).
'WHERE vertragstyp_kurzbz = '.$this->db_add_param($this->vertragstyp_kurzbz);
}
if($this->db_query($qry))
@@ -98,13 +185,13 @@ class vertrag extends basis_db
/**
* Loescht einen Vertragstyp wenn er noch nicht verwendet wird
* @param vertragtyp_kurzbz
* @param vertragstyp_kurzbz
*/
public function deleteVertragtyp($vertragtyp_kurzbz)
public function deleteVertragstyp($vertragstyp_kurzbz)
{
// prüfen ob Vertrag bereits verwendet wird
$qry = "SELECT vertragstyp_kurzbz FROM lehre.tbl_vertrag
WHERE vertragstyp_kurzbz = " . $this->db_add_param($vertragtyp_kurzbz);
WHERE vertragstyp_kurzbz = " . $this->db_add_param($vertragstyp_kurzbz);
if($this->db_query($qry))
{
@@ -120,14 +207,14 @@ class vertrag extends basis_db
return false;
}
if(is_null($vertragtyp_kurzbz))
if(is_null($vertragstyp_kurzbz))
{
$this->errormsg = 'Vertragtyp_kurzbz darf nicht leer sein';
$this->errormsg = 'Vertragstyp_kurzbz darf nicht leer sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_vertragstyp
WHERE vertragstyp_kurzbz=".$this->db_add_param($vertragtyp_kurzbz).";";
WHERE vertragstyp_kurzbz=".$this->db_add_param($vertragstyp_kurzbz).";";
if($this->db_query($qry))
return true;
@@ -142,7 +229,7 @@ class vertrag extends basis_db
* Liefert alle Vertragsytpen
* @return true wenn ok false im Fehlerfall
*/
public function getAllVertragtypen()
public function getAllVertragstypen()
{
$qry = "SELECT * FROM lehre.tbl_vertragstyp ORDER BY bezeichnung;";
@@ -152,8 +239,8 @@ class vertrag extends basis_db
{
$vertrag = new vertrag();
$vertrag->vertragtyp_kurzbz = $row->vertragstyp_kurzbz;
$vertrag->vertragtyp_bezeichnung = $row->bezeichnung;
$vertrag->vertragstyp_kurzbz = $row->vertragstyp_kurzbz;
$vertrag->vertragstyp_bezeichnung = $row->bezeichnung;
$this->result[] = $vertrag;
}
@@ -169,21 +256,21 @@ class vertrag extends basis_db
/**
* Laedt einen Vertragstyp
*
* @param $vertragtyp_kurzbz
* @param $vertragstyp_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function loadVertragtyp($vertragtyp_kurzbz)
public function loadVertragstyp($vertragstyp_kurzbz)
{
$qry="SELECT * FROM lehre.tbl_vertragstyp
WHERE
vertragstyp_kurzbz=".$this->db_add_param($vertragtyp_kurzbz);
vertragstyp_kurzbz=".$this->db_add_param($vertragstyp_kurzbz);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->vertragtyp_kurzbz = $row->vertragstyp_kurzbz;
$this->vertragtyp_bezeichnung = $row->bezeichnung;
$this->vertragstyp_kurzbz = $row->vertragstyp_kurzbz;
$this->vertragstyp_bezeichnung = $row->bezeichnung;
return true;
}
else
@@ -197,6 +284,388 @@ class vertrag extends basis_db
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Vertragselemente die noch keinem Vertrag zugeordnet sind
* @param $person_id
* @return boolean true wenn ok ,false im Fehlerfall
*/
public function loadNichtZugeordnet($person_id)
{
/*
Lehrauftraege
UNION
Betreuungen
UNION
Pruefungen
*/
$qry = "
SELECT
'Lehrauftrag' as type,
lehreinheit_id,
mitarbeiter_uid,
null as pruefung_id,
null as projektarbeit_id,
(tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
upper(tbl_studiengang.typ || tbl_studiengang.kurzbz) || tbl_lehrveranstaltung.semester || '-' || tbl_lehrveranstaltung.kurzbz || '-' || tbl_lehreinheit.lehrform_kurzbz
FROM
lehre.tbl_lehrveranstaltung
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
as bezeichnung
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
mitarbeiter_uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER).")
AND vertrag_id IS NULL
UNION
SELECT
'Betreuung' as type,
tbl_projektarbeit.lehreinheit_id as lehreinheit_id,
null as mitarbeiter_uid,
null::integer as pruefung_id,
projektarbeit_id,
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
tbl_projektbetreuer.betreuerart_kurzbz,
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
as bezeichnung
FROM
lehre.tbl_projektbetreuer
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND vertrag_id IS NULL
UNION
SELECT
'Pruefung' as type,
lehreinheit_id,
mitarbeiter_uid,
pruefung_id,
null as projektarbeit_id,
'".PRUEFUNGSHONORAR."' as betrag,
tbl_lehreinheit.studiensemester_kurzbz AS studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
nachname || ' ' || vorname || ' ' || (SELECT kurzbz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
FROM
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
WHERE uid=tbl_pruefung.student_uid)
as bezeichnung
FROM
lehre.tbl_pruefung
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
mitarbeiter_uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER).")
AND vertrag_id IS NULL
";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->type = $row->type;
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->pruefung_id = $row->pruefung_id;
$obj->betrag = $row->betrag;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->betreuerart_kurzbz = $row->betreuerart_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Vertragselemente die einem Vertrag zugeordnet sind
* @param $vertrag_id
* @return boolean true wenn ok ,false im Fehlerfall
*/
public function loadZugeordnet($vertrag_id)
{
/*
Lehrauftraege
UNION
Betreuungen
UNION
Pruefungen
*/
$qry = "
SELECT
'Lehrauftrag' as type,
lehreinheit_id,
mitarbeiter_uid,
null as pruefung_id,
null as projektarbeit_id,
(tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
upper(tbl_studiengang.typ || tbl_studiengang.kurzbz) || tbl_lehrveranstaltung.semester || '-' || tbl_lehrveranstaltung.kurzbz || '-' || tbl_lehreinheit.lehrform_kurzbz
FROM
lehre.tbl_lehrveranstaltung
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
as bezeichnung
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)."
UNION
SELECT
'Betreuung' as type,
tbl_projektarbeit.lehreinheit_id as lehreinheit_id,
null as mitarbeiter_uid,
null::integer as pruefung_id,
projektarbeit_id,
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
tbl_projektbetreuer.betreuerart_kurzbz,
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
as bezeichnung
FROM
lehre.tbl_projektbetreuer
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)."
UNION
SELECT
'Pruefung' as type,
lehreinheit_id,
mitarbeiter_uid,
pruefung_id,
null as projektarbeit_id,
'".PRUEFUNGSHONORAR."' as betrag,
tbl_lehreinheit.studiensemester_kurzbz AS studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
nachname || ' ' || vorname || ' ' || (SELECT kurzbz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
FROM
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
WHERE uid=tbl_pruefung.student_uid)
as bezeichnung
FROM
lehre.tbl_pruefung
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->type = $row->type;
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->pruefung_id = $row->pruefung_id;
$obj->betrag = $row->betrag;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->betreuerart_kurzbz = $row->betreuerart_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Speichert einen Vertrag
*/
public function save($new=null)
{
if(is_null($new))
$new = $this->new;
if($new)
{
$qry = "BEGIN;INSERT INTO lehre.tbl_vertrag(bezeichnung, person_id, vertragstyp_kurzbz, betrag, insertamum, insertvon, updateamum, updatevon)
VALUES(".
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->person_id,FHC_INTEGER).','.
$this->db_add_param($this->vertragstyp_kurzbz).','.
$this->db_add_param($this->betrag).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->updateamum).','.
$this->db_add_param($this->updatevon).');';
}
else
{
$qry = "UPDATE lehre.tbl_vertrag SET ".
" bezeichnung=".$this->db_add_param($this->bezeichnung).','.
" person_id=".$this->db_add_param($this->person_id, FHC_INTEGER).','.
" vertragstyp_kurzbz=".$this->db_add_param($this->vertragstyp_kurzbz).','.
" betrag=".$this->db_add_param($this->betrag).','.
" updateamum=".$this->db_add_param($this->updateamum).','.
" updatevon=".$this->db_add_param($this->updatevon).
" WHERE vertrag_id=".$this->db_add_param($this->vertrag_id, FHC_INTEGER,false);
}
if($this->db_query($qry))
{
if($new)
{
//Sequence auslesen
$qry = "SELECT currval('lehre.seq_vertrag_vertrag_id') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->vertrag_id = $row->id;
$this->new=false;
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
return true;
}
else
{
$this->errormsg='Fehler beim Speichern der Daten';
return false;
}
}
/**
* Laedt alle Stati eines Vertrags
*
* @param $vertrag_id
* @return boolean
*/
public function getAllStatus($vertrag_id)
{
$qry="SELECT
*
FROM
lehre.tbl_vertrag_vertragsstatus
JOIN lehre.tbl_vertragsstatus USING(vertragsstatus_kurzbz)
WHERE
tbl_vertrag_vertragsstatus.vertrag_id=".$this->db_add_param($vertrag_id)."
ORDER BY datum DESC";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->vertrag_id = $row->vertrag_id;
$obj->vertragsstatus_kurzbz = $row->vertragsstatus_kurzbz;
$obj->vertragsstatus_bezeichnung = $row->bezeichnung;
$obj->datum = $row->datum;
$obj->uid = $row->uid;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
public function saveVertragsstatus($new=null)
{
if(is_null($new))
$new = $this->new;
if($new)
{
$qry = "INSERT INTO lehre.tbl_vertrag_vertragsstatus(vertragsstatus_kurzbz, vertrag_id, uid, datum) VALUES(".
$this->db_add_param($this->vertragsstatus_kurzbz).','.
$this->db_add_param($this->vertrag_id).','.
$this->db_add_param($this->uid).','.
$this->db_add_param($this->datum).');';
}
else
{
$this->errormsg = 'Update not implemented';
return false;
}
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Laedt alle Vorhandenen Vertragsstati
* @return boolean true wenn ok, false im Fehlerfall
*/
public function loadVertragsstatus()
{
$qry = "SELECT * FROM lehre.tbl_vertragsstatus ORDER BY bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->vertragsstatus_kurzbz = $row->vertragsstatus_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>