mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 08:52:21 +00:00
This commit is contained in:
@@ -475,7 +475,7 @@ class lehreinheit
|
||||
* @param integer stunde gewuenschte Stunde
|
||||
* @param string ort gewuenschter Ort
|
||||
* @param string db_stpl_table Tabllenname des Stundenplans im DBMS
|
||||
* @return boolean true=ok, false=fehler
|
||||
* @return boolean true=ok, false=error
|
||||
*************************************************************************/
|
||||
function check_lva($datum,$stunde,$ort,$stpl_table)
|
||||
{
|
||||
@@ -499,11 +499,12 @@ class lehreinheit
|
||||
// Datenbank abfragen
|
||||
$sql_query="SELECT $stpl_id FROM $stpl_table
|
||||
WHERE datum='$datum' AND stunde=$stunde
|
||||
AND ((ort_kurzbz='$ort' OR $sql_lkt)
|
||||
AND unr!=$this->unr)"; //AND lehrveranstaltung_id!=$this->lehrveranstaltung_id
|
||||
AND (ort_kurzbz='$ort' OR $sql_lkt)";
|
||||
if (is_numeric($this->unr))
|
||||
$sql_query.=" AND unr!=$this->unr";
|
||||
if (! $erg_stpl=pg_query($this->conn, $sql_query))
|
||||
{
|
||||
die($sql_query.pg_last_error($this->conn));
|
||||
//die($sql_query.pg_last_error($this->conn));
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
@@ -527,7 +528,7 @@ class lehreinheit
|
||||
* @param string ort gewuenschter Ort
|
||||
* @param string db_stpl_table Tabllenname des Stundenplans im DBMS
|
||||
* @param string user UID des aktuellen Bentzers
|
||||
* @return boolean true=ok, false=fehler
|
||||
* @return boolean true=ok, false=error
|
||||
*************************************************************************/
|
||||
function save_stpl($datum,$stunde,$ort,$stpl_table,$user)
|
||||
{
|
||||
@@ -536,6 +537,14 @@ class lehreinheit
|
||||
$stpl_id=$stpl_table.TABLE_ID;
|
||||
$stpl_table='lehre.'.TABLE_BEGIN.$stpl_table;
|
||||
|
||||
// Variablen pruefen
|
||||
if (!is_numeric($this->unr))
|
||||
{
|
||||
$this->errormsg='Error: UNR ist nicht vorhanden!';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
for ($i=0;$i<$this->anz;$i++)
|
||||
{
|
||||
// Datenbank INSERT
|
||||
@@ -552,7 +561,7 @@ class lehreinheit
|
||||
$sql_query.=",'".$this->titel[$i]."','$this->anmerkung','$user')";
|
||||
if (! $erg_stpl=pg_query($this->conn, $sql_query))
|
||||
{
|
||||
die(pg_last_error($this->conn).$sql_query);
|
||||
//die(pg_last_error($this->conn).$sql_query);
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
return false;
|
||||
}
|
||||
@@ -683,68 +692,68 @@ class lehreinheit
|
||||
else
|
||||
{
|
||||
pg_query($this->conn, 'BEGIN');
|
||||
|
||||
|
||||
//UNDO Befehl zusammenbauen
|
||||
$undosql='';
|
||||
|
||||
|
||||
//LehreinheitMitarbeiter
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$undosql.=" INSERT INTO lehre.tbl_lehreinheitmitarbeiter(lehreinheit_id, mitarbeiter_uid, lehrfunktion_kurzbz, planstunden, stundensatz, faktor, anmerkung, bismelden, updateamum, updatevon, insertamum, insertvon, semesterstunden)
|
||||
$undosql.=" INSERT INTO lehre.tbl_lehreinheitmitarbeiter(lehreinheit_id, mitarbeiter_uid, lehrfunktion_kurzbz, planstunden, stundensatz, faktor, anmerkung, bismelden, updateamum, updatevon, insertamum, insertvon, semesterstunden)
|
||||
VALUES(".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->mitarbeiter_uid).",".$this->addslashes($row->lehrfunktion_kurzbz).",".$this->addslashes($row->planstunden).",".$this->addslashes($row->stundensatz).",".$this->addslashes($row->faktor).",".
|
||||
$this->addslashes($row->anmerkung).",".($row->bismelden=='t'?'true':'false').",".$this->addslashes($row->updateamum).",".$this->addslashes($row->updatevon).",".$this->addslashes($row->insertamum).",".$this->addslashes($row->insertvon).",".$this->addslashes($row->semesterstunden).");";
|
||||
}
|
||||
}
|
||||
|
||||
//LehreinheitGruppe
|
||||
|
||||
//LehreinheitGruppe
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$undosql.=" INSERT INTO lehre.tbl_lehreinheitgruppe(lehreinheitgruppe_id, lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon)
|
||||
$undosql.=" INSERT INTO lehre.tbl_lehreinheitgruppe(lehreinheitgruppe_id, lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon)
|
||||
VALUES(".$this->addslashes($row->lehreinheitgruppe_id).",".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->studiengang_kz).",'".addslashes($row->semester)."','".addslashes($row->verband)."','".addslashes($row->gruppe)."',".
|
||||
$this->addslashes($row->gruppe_kurzbz).",".$this->addslashes($row->updateamum).",".$this->addslashes($row->updatevon).",".$this->addslashes($row->insertamum).",".$this->addslashes($row->insertvon).");";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Lehreinheit
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$lehreinheit_id'";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$undosql.=" INSERT INTO lehre.tbl_lehreinheit(lehreinheit_id, lehrveranstaltung_id, studiensemester_kurzbz, lehrfach_id, lehrform_kurzbz, stundenblockung, wochenrythmus, start_kw, raumtyp, raumtypalternativ, sprache, lehre, anmerkung, unr, lvnr, updateamum, updatevon, insertamum, insertvon)
|
||||
$undosql.=" INSERT INTO lehre.tbl_lehreinheit(lehreinheit_id, lehrveranstaltung_id, studiensemester_kurzbz, lehrfach_id, lehrform_kurzbz, stundenblockung, wochenrythmus, start_kw, raumtyp, raumtypalternativ, sprache, lehre, anmerkung, unr, lvnr, updateamum, updatevon, insertamum, insertvon)
|
||||
VALUES(".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->lehrveranstaltung_id).",".$this->addslashes($row->studiensemester_kurzbz).",".$this->addslashes($row->lehrfach_id).",".$this->addslashes($row->lehrform_kurzbz).",".$this->addslashes($row->stundenblockung).",".
|
||||
$this->addslashes($row->wochenrythmus).",".$this->addslashes($row->startkw).",".$this->addslashes($row->raumtyp).",".$this->addslashes($row->raumtypalternativ).",".$this->addslashes($row->sprache).",".($row->wochenrythmus=='t'?'true':'false').",".
|
||||
$this->addslashes($row->anmerkung).",".$this->addslashes($row->unr).",".$this->addslashes($row->lvnr).",".$this->addslashes($row->updateamum).",".$this->addslashes($row->updatevon).",".$this->addslashes($row->insertamum).",".$this->addslashes($row->insertvon).");";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$log = new log($this->conn);
|
||||
|
||||
|
||||
//Gruppenzuteilung, Mitarbeiterzuteilung und Lehreinheit loeschen
|
||||
$qry = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id';
|
||||
DELETE FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id';
|
||||
DELETE FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$lehreinheit_id';";
|
||||
|
||||
|
||||
$log->new = true;
|
||||
$log->sql = $qry;
|
||||
$log->sqlundo = $undosql;
|
||||
$log->executetime = date('Y-m-d H:i:s');
|
||||
$log->mitarbeiter_uid = get_uid();
|
||||
$log->beschreibung = "Lehreinheit loeschen - $lehreinheit_id";
|
||||
|
||||
|
||||
if(!$log->save())
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Schreiben des Log-Eintrages';
|
||||
pg_query($this->conn, 'ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
|
||||
@@ -1370,13 +1370,15 @@ class wochenplan
|
||||
// Stundenplanabfrage bauen (Wo ist Kollision?)
|
||||
$sql_query="SELECT DISTINCT datum, stunde FROM $stpl_table
|
||||
WHERE datum>='$datum_begin' AND datum<'$datum_end' AND
|
||||
($lkt $gruppen OR ($lvb) ) AND unr!=$unr";
|
||||
($lkt $gruppen OR ($lvb) )";
|
||||
if (is_numeric($unr))
|
||||
$sql_query.=" AND unr!=$unr";
|
||||
//$this->errormsg.=htmlspecialchars($sql_query);
|
||||
//return false;
|
||||
if(!$result_kollision=pg_query($this->conn, $sql_query))
|
||||
{
|
||||
//die(pg_last_error($this->conn));
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
$this->errormsg=pg_last_error($this->conn).$sql_query;
|
||||
return false;
|
||||
}
|
||||
$num_k=pg_numrows($result_kollision);
|
||||
@@ -1395,11 +1397,13 @@ class wochenplan
|
||||
$sql_query="SELECT DISTINCT datum, stunde, ort_kurzbz FROM $stpl_view
|
||||
JOIN public.tbl_ortraumtyp USING (ort_kurzbz)
|
||||
WHERE datum>='$datum_begin' AND datum<'$datum_end' AND
|
||||
($rtype) AND unr!=$unr"; //
|
||||
($rtype)";
|
||||
if (is_numeric($unr))
|
||||
$sql_query.=" AND unr!=$unr";
|
||||
//echo $sql_query;
|
||||
if(!$result_besetzt=pg_query($this->conn, $sql_query))
|
||||
{
|
||||
$this->errormsg=pg_last_error($this->conn);
|
||||
$this->errormsg=pg_last_error($this->conn).$sql_query;
|
||||
return false;
|
||||
}
|
||||
$num_b=pg_numrows($result_besetzt);
|
||||
|
||||
Reference in New Issue
Block a user