mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
SOAP Schnittstelle LVPlan
This commit is contained in:
@@ -898,5 +898,65 @@ class lehreinheit extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Daten zu einer Lehreinheit inklusive Zusatzdaten der LV und des Lehrfachs
|
||||
* @param $lehreinheit_id
|
||||
* @return boolean
|
||||
*/
|
||||
public function getLehreinheitDetails($lehreinheit_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*, tbl_lehrveranstaltung.semester as lv_semester, tbl_lehrveranstaltung.studiengang_kz as lv_studiengang_kz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehrfach USING(lehrfach_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehreinheit.lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->lehreinheit_id = $row->lehreinheit_id;
|
||||
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$this->lehrfach_id = $row->lehrfach_id;
|
||||
$this->lehrform_kurzbz = $row->lehrform_kurzbz;
|
||||
$this->stundenblockung = $row->stundenblockung;
|
||||
$this->wochenrythmus = $row->wochenrythmus;
|
||||
$this->start_kw = $row->start_kw;
|
||||
$this->raumtyp = $row->raumtyp;
|
||||
$this->raumtypalternativ = $row->raumtypalternativ;
|
||||
$this->lehre = $this->db_parse_bool($row->lehre);
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->unr = $row->unr;
|
||||
$this->lvnr = $row->lvnr;
|
||||
$this->sprache = $row->sprache;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
|
||||
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$this->farbe = $row->farbe;
|
||||
$this->studiengang_kz = $row->lv_studiengang_kz;
|
||||
$this->semester = $row->lv_semester;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Kein Eintrag gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -256,6 +256,7 @@ class lehrstunde extends basis_db
|
||||
}
|
||||
else
|
||||
$datum_bis=$datum_von;
|
||||
|
||||
// Person
|
||||
if (($type=='student' || $type=='lektor') && $uid==NULL)
|
||||
{
|
||||
@@ -374,6 +375,7 @@ class lehrstunde extends basis_db
|
||||
$sql_query=mb_substr($sql_query,3);
|
||||
$sql_query_stdplan.=' WHERE'.$sql_query;
|
||||
}
|
||||
|
||||
//echo $sql_query_stdplan;
|
||||
//Datenbankabfrage
|
||||
if (!$this->db_query($sql_query_stdplan))
|
||||
@@ -743,6 +745,75 @@ class lehrstunde extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gruppiert die einzelnen Lehrstunden zusammen
|
||||
*/
|
||||
public function getLehrstundenGruppiert()
|
||||
{
|
||||
$result = array();
|
||||
|
||||
foreach($this->lehrstunden as $row_lehrstunde)
|
||||
{
|
||||
$found=false;
|
||||
//Pruefen ob bereits ein Eintrag vorhanden ist
|
||||
//zu dem dazugruppiert werden kann
|
||||
|
||||
/*
|
||||
Kriterien fuer Gruppierung
|
||||
- gleiches Datum
|
||||
- gleiche Stunde
|
||||
- gleiche UNR
|
||||
*/
|
||||
foreach($result as $key=>$row_result)
|
||||
{
|
||||
if($row_result->unr==$row_lehrstunde->unr
|
||||
&& $row_result->datum==$row_lehrstunde->datum
|
||||
&& $row_result->stunde==$row_lehrstunde->stunde)
|
||||
{
|
||||
$found=true;
|
||||
//gleicher Eintrag gefunden
|
||||
$grpidx = count($result[$key]->gruppen);
|
||||
$result[$key]->gruppen[$grpidx]->studiengang_kz=$row_lehrstunde->studiengang_kz;
|
||||
$result[$key]->gruppen[$grpidx]->sem=$row_lehrstunde->sem;
|
||||
$result[$key]->gruppen[$grpidx]->ver=$row_lehrstunde->ver;
|
||||
$result[$key]->gruppen[$grpidx]->grp=$row_lehrstunde->grp;
|
||||
$result[$key]->gruppen[$grpidx]->gruppe_kurzbz=$row_lehrstunde->gruppe_kurzbz;
|
||||
if(!in_array($row_lehrstunde->lektor_uid, $result[$key]->lektor_uid))
|
||||
$result[$key]->lektor_uid[]=$row_lehrstunde->lektor_uid;
|
||||
if(!in_array($row_lehrstunde->ort_kurzbz, $result[$key]->ort_kurzbz))
|
||||
$result[$key]->ort_kurzbz[]=$row_lehrstunde->ort_kurzbz;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$found)
|
||||
{
|
||||
// Wenn kein passender Eintrag vorhanden ist,
|
||||
// wird ein neuer angelegt
|
||||
$stunde=new lehrstunde();
|
||||
$stunde->stundenplan_id=$row_lehrstunde->stundenplan_id;
|
||||
$stunde->lehreinheit_id=$row_lehrstunde->lehreinheit_id;
|
||||
$stunde->farbe = (isset($row_lehrstunde->farbe)?$row_lehrstunde->farbe:'FFFFFF');
|
||||
$stunde->unr=$row_lehrstunde->unr;
|
||||
$stunde->gruppen[0]->studiengang_kz=$row_lehrstunde->studiengang_kz;
|
||||
$stunde->gruppen[0]->sem=$row_lehrstunde->sem;
|
||||
$stunde->gruppen[0]->ver=$row_lehrstunde->ver;
|
||||
$stunde->gruppen[0]->grp=$row_lehrstunde->grp;
|
||||
$stunde->gruppen[0]->gruppe_kurzbz=$row_lehrstunde->gruppe_kurzbz;
|
||||
$stunde->lektor_uid[]=$row_lehrstunde->lektor_uid;
|
||||
$stunde->ort_kurzbz[]=$row_lehrstunde->ort_kurzbz;
|
||||
$stunde->datum=$row_lehrstunde->datum;
|
||||
$stunde->stunde=$row_lehrstunde->stunde;
|
||||
$stunde->titel=$row_lehrstunde->titel;
|
||||
$stunde->anmerkung=$row_lehrstunde->anmerkung;
|
||||
$stunde->fix=$row_lehrstunde->fix;
|
||||
$stunde->reservierung=$row_lehrstunde->reservierung;
|
||||
$result[]=$stunde;
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user