Neue Spalte für LehrveranstaltungID bei Verträgen hinzugefügt um eine Verbindung zur LV bei Prüfungen zu haben

This commit is contained in:
oesi
2015-09-01 16:37:19 +02:00
parent 152271dfcf
commit db451a5618
4 changed files with 108 additions and 5 deletions
@@ -2519,6 +2519,7 @@ function LehrveranstaltungNotenPruefungSave()
req.add('bezeichnung', 'Pruefungshonorar '+lv_studiengang+' '+lv_semester+' '+lv_bezeichnung+' '+lehrveranstaltung_id);
req.add('anmerkung', satz+'€ * '+anzahl);
req.add('vertragsdatum', datum);
req.add('lehrveranstaltung_id',lehrveranstaltung_id);
var response = req.executePOST();
+3 -1
View File
@@ -467,6 +467,8 @@ if(!$error)
$vertrag->bezeichnung = $_POST['bezeichnung'];
$vertrag->anmerkung = $_POST['anmerkung'];
$vertrag->vertragsdatum = $_POST['vertragsdatum'];
if(isset($_POST['lehrveranstaltung_id']))
$vertrag->lehrveranstaltung_id = $_POST['lehrveranstaltung_id'];
if($errormsg=='')
{
@@ -548,7 +550,7 @@ if(!$error)
// Retour Status setzen
$vertrag->vertragsstatus_kurzbz = 'retour';
$vertrag->datum = date('Y-m-d H:i:s');
if(!$vertrag->saveVertragsstatus(true))
$errormsg.=$vertrag->errormsg;
}
+90 -3
View File
@@ -39,6 +39,7 @@ class vertrag extends basis_db
public $ext_id; // bigint
public $anmerkung; // text
public $vertragsdatum; // date
public $lehrveranstaltung_id; // integer
/**
* Konstruktor
@@ -63,6 +64,7 @@ class vertrag extends basis_db
$this->person_id = $row->person_id;
$this->anmerkung = $row->anmerkung;
$this->vertragsdatum = $row->vertragsdatum;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->new=false;
@@ -122,6 +124,7 @@ class vertrag extends basis_db
$obj->status = $row->status;
$obj->anmerkung = $row->anmerkung;
$obj->vertragsdatum = $row->vertragsdatum;
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->vertragstyp_bezeichnung = $row->vertragstyp_bezeichnung;
@@ -583,7 +586,7 @@ class vertrag extends basis_db
if($new)
{
$qry = "BEGIN;INSERT INTO lehre.tbl_vertrag(bezeichnung, person_id, vertragstyp_kurzbz, betrag, insertamum, insertvon,
updateamum, updatevon, anmerkung, vertragsdatum) VALUES(".
updateamum, updatevon, anmerkung, vertragsdatum,lehrveranstaltung_id) VALUES(".
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->person_id,FHC_INTEGER).','.
$this->db_add_param($this->vertragstyp_kurzbz).','.
@@ -593,7 +596,8 @@ class vertrag extends basis_db
$this->db_add_param($this->updateamum).','.
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->anmerkung).','.
$this->db_add_param($this->vertragsdatum).');';
$this->db_add_param($this->vertragsdatum).','.
$this->db_add_param($this->lehrveranstaltung_id).');';
}
else
@@ -606,7 +610,8 @@ class vertrag extends basis_db
" updateamum=".$this->db_add_param($this->updateamum).','.
" updatevon=".$this->db_add_param($this->updatevon).','.
" anmerkung=".$this->db_add_param($this->anmerkung).','.
" vertragsdatum=".$this->db_add_param($this->vertragsdatum).
" vertragsdatum=".$this->db_add_param($this->vertragsdatum).','.
" lehrveranstaltung_id=".$this->db_add_param($this->lehrveranstaltung_id).
" WHERE vertrag_id=".$this->db_add_param($this->vertrag_id, FHC_INTEGER,false);
}
@@ -874,5 +879,87 @@ class vertrag extends basis_db
}
}
/**
* Liefert die Vertraege zu einem Datum
*
*/
public function getVertragFromDatum($mitarbeiter_uid, $datum)
{
// Studiensemester zu Datum ermitteln
$stsem_obj = new studiensemester();
$stsem = $stsem_obj->getSemesterFromDatum($datum);
// Vorheriges Studiensemester
$prev = $stsem_obj->getPreviousFrom($stsem);
$stsem_obj->load($prev);
$prevstsemende = $stsem_obj->ende;
// Alle Vertraege holen die in das Studiensemester fallen
// (Lehreinheiten und Betreuungen)
// plus Sonderhonorare die in diesem Zeitraum angelegt wurden
$qry = "SELECT
*
FROM
lehre.tbl_vertrag
WHERE
EXISTS (SELECT
1
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
vertrag_id=tbl_vertrag.vertrag_id
AND studiensemester_kurzbz=".$this->db_add_param($stsem).")
OR
EXISTS (SELECT
1
FROM
lehre.tbl_projektbetreuer
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
vertrag_id=tbl_vertrag.vertrag_id
AND studiensemester_kurzbz=".$this->db_add_param($stsem).")
OR
(NOT EXISTS (SELECT
1
FROM
lehre.tbl_lehreinheitmitarbeiter
WHERE
vertrag_id=tbl_vertrag.vertrag_id)
AND NOT EXISTS (SELECT
1
FROM
lehre.tbl_projektbetreuer
WHERE
vertrag_id=tbl_vertrag.vertrag_id)
AND vertragsdatum<=".$this->db_add_param($datum)."
AND vertragsdatum>=".$this->db_add_param($prevstsemende)."
)";
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;
}
}
}
?>
+14 -1
View File
@@ -3436,6 +3436,19 @@ if($result = $db->db_query("SELECT 1 FROM lehre.tbl_vertragsstatus WHERE vertrag
echo 'Vertragsstatus Storno hinzugefuegt';
}
}
if(!$result = @$db->db_query("SELECT lehrveranstaltung_id FROM lehre.tbl_vertrag LIMIT 1"))
{
$qry = "ALTER TABLE lehre.tbl_vertrag ADD COLUMN lehrveranstaltung_id integer;
ALTER TABLE lehre.tbl_vertrag ADD CONSTRAINT fk_vertrag_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON UPDATE CASCADE ON DELETE CASCADE;
";
if(!$db->db_query($qry))
echo '<strong>Vertrag: '.$db->db_last_error().'</strong><br>';
else
echo 'Vertrag: Spalte lehrveranstaltung_id hinzugefügt';
}
echo '<br><br><br>';
$tabellen=array(
@@ -3570,7 +3583,7 @@ $tabellen=array(
"lehre.tbl_stundenplan" => array("stundenplan_id","unr","mitarbeiter_uid","datum","stunde","ort_kurzbz","gruppe_kurzbz","titel","anmerkung","lehreinheit_id","studiengang_kz","semester","verband","gruppe","fix","updateamum","updatevon","insertamum","insertvon"),
"lehre.tbl_stundenplandev" => array("stundenplandev_id","lehreinheit_id","unr","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","mitarbeiter_uid","ort_kurzbz","datum","stunde","titel","anmerkung","fix","updateamum","updatevon","insertamum","insertvon","ext_id"),
"lehre.tbl_stundenplan_betriebsmittel" => array("stundenplan_betriebsmittel_id","betriebsmittel_id","stundenplandev_id","anmerkung","insertamum","insertvon"),
"lehre.tbl_vertrag" => array("vertrag_id","person_id","vertragstyp_kurzbz","bezeichnung","betrag","insertamum","insertvon","updateamum","updatevon","ext_id","anmerkung","vertragsdatum"),
"lehre.tbl_vertrag" => array("vertrag_id","person_id","vertragstyp_kurzbz","bezeichnung","betrag","insertamum","insertvon","updateamum","updatevon","ext_id","anmerkung","vertragsdatum","lehrveranstaltung_id"),
"lehre.tbl_vertrag_vertragsstatus" => array("vertragsstatus_kurzbz","vertrag_id","uid","datum","ext_id","insertamum","insertvon","updateamum","updatevon"),
"lehre.tbl_vertragstyp" => array("vertragstyp_kurzbz","bezeichnung"),
"lehre.tbl_vertragsstatus" => array("vertragsstatus_kurzbz","bezeichnung"),