mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-26 09:04:28 +00:00
Merge remote-tracking branch 'origin/master' into feature-60873/GesamtnoteneingabeCis4
# Conflicts: # application/config/routes.php # application/controllers/api/frontend/v1/Lehre.php # application/models/education/Lehrveranstaltung_model.php # application/views/CisRouterView/CisRouterView.php # public/js/apps/Dashboard/Fhc.js # system/phrasesupdate.php
This commit is contained in:
@@ -11,4 +11,5 @@ class Abgabe_model extends DB_Model
|
||||
$this->dbTable = 'campus.tbl_abgabe';
|
||||
$this->pk = 'abgabe_id';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -202,4 +202,66 @@ class Anrechnung_model extends DB_Model
|
||||
return success();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Anrechnungsdata for Table Anrechnungen
|
||||
*
|
||||
* @param $prestudent_id
|
||||
* @return array
|
||||
*/
|
||||
public function getAnrechnungsData($prestudent_id)
|
||||
{
|
||||
$qry = '
|
||||
SELECT
|
||||
lehre.tbl_anrechnung.anrechnung_id,
|
||||
lehre.tbl_anrechnung.prestudent_id,
|
||||
lehre.tbl_anrechnung.lehrveranstaltung_id,
|
||||
lehre.tbl_lehrveranstaltung.bezeichnung AS bez_lehrveranstaltung,
|
||||
lehre.tbl_anrechnung_begruendung.bezeichnung AS begruendung,
|
||||
lehre.tbl_anrechnung_anrechnungstatus.status_kurzbz AS status,
|
||||
genehmigt_von,
|
||||
lehre.tbl_anrechnung.insertamum,
|
||||
lehre.tbl_anrechnung.insertvon,
|
||||
lehre.tbl_anrechnung.updateamum,
|
||||
lehre.tbl_anrechnung.updatevon,
|
||||
lehrveranstaltung_id_kompatibel,
|
||||
lv_comp.bezeichnung as lehrveranstaltung_bez_kompatibel,
|
||||
count(nz.notizzuordnung_id) AS notizen_anzahl
|
||||
FROM
|
||||
lehre.tbl_anrechnung
|
||||
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||
LEFT JOIN lehre.tbl_lehrveranstaltung lv_comp ON (lehre.tbl_anrechnung.lehrveranstaltung_id_kompatibel = lv_comp.lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id)
|
||||
LEFT JOIN lehre.tbl_anrechnung_anrechnungstatus ON (lehre.tbl_anrechnung_anrechnungstatus.anrechnung_id = lehre.tbl_anrechnung.anrechnung_id)
|
||||
AND lehre.tbl_anrechnung_anrechnungstatus.insertamum = (
|
||||
SELECT MAX(insertamum)
|
||||
FROM lehre.tbl_anrechnung_anrechnungstatus
|
||||
WHERE anrechnung_id = lehre.tbl_anrechnung.anrechnung_id
|
||||
)
|
||||
LEFT JOIN lehre.tbl_anrechnungstatus USING (status_kurzbz)
|
||||
LEFT JOIN public.tbl_notizzuordnung nz ON (nz.anrechnung_id = lehre.tbl_anrechnung.anrechnung_id)
|
||||
WHERE
|
||||
lehre.tbl_anrechnung.prestudent_id = ?
|
||||
GROUP BY
|
||||
nz.anrechnung_id,
|
||||
lehre.tbl_anrechnung.anrechnung_id,
|
||||
lehre.tbl_anrechnung.prestudent_id,
|
||||
lehre.tbl_anrechnung.lehrveranstaltung_id,
|
||||
bez_lehrveranstaltung,
|
||||
begruendung,
|
||||
status,
|
||||
genehmigt_von,
|
||||
lehre.tbl_anrechnung.insertamum,
|
||||
lehre.tbl_anrechnung.insertvon,
|
||||
lehre.tbl_anrechnung.updateamum,
|
||||
lehre.tbl_anrechnung.updatevon,
|
||||
lehrveranstaltung_id_kompatibel,
|
||||
lehrveranstaltung_bez_kompatibel
|
||||
ORDER BY
|
||||
lehre.tbl_anrechnung.updateamum ASC
|
||||
';
|
||||
|
||||
return $this->execQuery($qry, array($prestudent_id));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
class Anrechnunganrechnungstatus_model extends DB_Model
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = 'lehre.tbl_anrechnung_anrechnungstatus';
|
||||
$this->pk = 'anrechnungstatus_id';
|
||||
}
|
||||
}
|
||||
@@ -344,7 +344,7 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
|
||||
$query .=
|
||||
" ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC";
|
||||
|
||||
|
||||
return $this->execQuery($query, array($studiensemester_kurzbz, $lehrveranstaltung_id));
|
||||
}
|
||||
|
||||
@@ -453,16 +453,6 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
*/
|
||||
public function getLvsByStudentWithGrades($student_uid, $studiensemester_kurzbz, $sprache = null, $lvid=null)
|
||||
{
|
||||
if ($sprache) {
|
||||
$sprache_qry = $this->db->compile_binds('SELECT index FROM public.tbl_sprache WHERE sprache = ?', [$sprache]);
|
||||
$bezeichnung = 'bezeichnung_mehrsprachig[(' . $sprache_qry . ')]';
|
||||
$sgbezeichnung = $sprache == 'English' ? 'COALESCE(sg.english, sg.bezeichnung)' : 'sg.bezeichnung';
|
||||
$lvbezeichnung = $sprache == 'English' ? 'COALESCE(v.bezeichnung_english, v.bezeichnung)' : 'v.bezeichnung';
|
||||
} else {
|
||||
$bezeichnung = 'bezeichnung';
|
||||
$sgbezeichnung = 'sg.bezeichnung';
|
||||
$lvbezeichnung = 'v.bezeichnung';
|
||||
}
|
||||
|
||||
$this->addDistinct();
|
||||
// TODO(chris): selects
|
||||
@@ -502,16 +492,20 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
$this->addSelect('znn.positiv');
|
||||
|
||||
#$this->addSelect('splv.module');
|
||||
$this->addSelect($lvbezeichnung . ' AS bezeichnung');
|
||||
$this->addSelect($sgbezeichnung . ' AS sg_bezeichnung');
|
||||
$this->addSelect('v.bezeichnung AS bezeichnung');
|
||||
$this->addSelect('v.bezeichnung_english AS bezeichnung_eng');
|
||||
$this->addSelect('sg.bezeichnung AS sg_bezeichnung');
|
||||
$this->addSelect('sg.english AS sg_bezeichnung_eng');
|
||||
$this->addSelect('UPPER(sg.typ::VARCHAR(1) || sg.kurzbz) AS studiengang_kuerzel');
|
||||
|
||||
//also adds returns the index of the grade
|
||||
//TODO: ist zeugnissnote immer gleich wie die lvgesamtnote
|
||||
$this->addSelect('COALESCE(zn.note::numeric,gn.note::numeric) as note_index');
|
||||
$this->addSelect('COALESCE(znn.positiv,gnn.positiv) as positiv');
|
||||
$this->addSelect('COALESCE(gnn.' . $bezeichnung . ', gnn.bezeichnung, gn.note::text) AS lvnote');
|
||||
$this->addSelect('COALESCE(znn.' . $bezeichnung . ', znn.bezeichnung, zn.note::text) AS znote');
|
||||
$this->addSelect('gnn.bezeichnung_mehrsprachig AS lvnotebez');
|
||||
$this->addSelect('gnn.note AS lvnote');
|
||||
$this->addSelect('znn.bezeichnung_mehrsprachig AS znotebez');
|
||||
$this->addSelect('znn.note AS znote');
|
||||
|
||||
// TODO(chris): Potentielle Anpassung "Eine UID"
|
||||
$this->addJoin('campus.vw_student_lehrveranstaltung v', 'lehrveranstaltung_id');
|
||||
@@ -990,6 +984,43 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
return $this->execQuery($qry, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets lehrveranstaltungen of Studienplan
|
||||
* @param $studienplan_id ID des Studienplans
|
||||
* @param $semester Semester optional
|
||||
* @return array|null
|
||||
*/
|
||||
public function getLvsByStudienplanId($studienplan_id, $semester = null)
|
||||
{
|
||||
$params = array($studienplan_id);
|
||||
|
||||
$qry = "SELECT tbl_lehrveranstaltung.*,
|
||||
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id,
|
||||
tbl_studienplan_lehrveranstaltung.semester as stpllv_semester,
|
||||
tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht,
|
||||
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
|
||||
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent,
|
||||
tbl_studienplan_lehrveranstaltung.sort stpllv_sort,
|
||||
tbl_studienplan_lehrveranstaltung.curriculum,
|
||||
tbl_studienplan_lehrveranstaltung.export,
|
||||
tbl_studienplan_lehrveranstaltung.genehmigung
|
||||
FROM lehre.tbl_lehrveranstaltung
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung
|
||||
USING(lehrveranstaltung_id)
|
||||
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id = ?
|
||||
";
|
||||
|
||||
if ($semester !== null)
|
||||
{
|
||||
$qry.= " AND tbl_studienplan_lehrveranstaltung.semester = ?";
|
||||
$params[] = $semester;
|
||||
}
|
||||
|
||||
$qry .= " ORDER BY stpllv_sort, semester, sort";
|
||||
|
||||
return $this->execQuery($qry, $params);
|
||||
}
|
||||
|
||||
public function getLvForLektorInSemester($sem_kurzbz, $uid) {
|
||||
$qry = "SELECT DISTINCT (tbl_lehrveranstaltung.lehrveranstaltung_id),
|
||||
UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg_kurzbz,
|
||||
|
||||
@@ -30,4 +30,35 @@ class Paabgabe_model extends DB_Model
|
||||
|
||||
return $this->execQuery($qry, array($projektarbeit_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all Paabgabe Termin Deadlines of zugewiesene Projektarbeiten as a Mitarbeiter for Terminübersicht Abgabetool.
|
||||
* @param int $person_id
|
||||
* @return object
|
||||
*/
|
||||
public function getDeadlines($person_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
DISTINCT TO_CHAR(tbl_paabgabe.datum, 'DD.MM.YYYY') as datum, tbl_paabgabe.fixtermin, tbl_paabgabe.kurzbz,
|
||||
person_student.vorname as stud_vorname, person_student.nachname as stud_nachname,
|
||||
person_student.titelpre as stud_titelpre, person_student.titelpost as stud_titelpost,
|
||||
tbl_lehrveranstaltung.semester, UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) as stg,
|
||||
tbl_paabgabetyp.bezeichnung as typ_bezeichnung
|
||||
FROM
|
||||
campus.tbl_paabgabe
|
||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||
JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
|
||||
JOIN public.tbl_benutzer bn_student ON(tbl_projektarbeit.student_uid=bn_student.uid)
|
||||
JOIN public.tbl_person person_student ON(bn_student.person_id=person_student.person_id)
|
||||
JOIN lehre.tbl_lehreinheit ON(tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung ON(tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id)
|
||||
JOIN public.tbl_studiengang ON(tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz)
|
||||
JOIN campus.tbl_paabgabetyp USING(paabgabetyp_kurzbz)
|
||||
WHERE
|
||||
tbl_projektbetreuer.person_id= ? AND tbl_paabgabe.datum>=now() AND bn_student.aktiv
|
||||
ORDER BY datum";
|
||||
|
||||
return $this->execReadOnlyQuery($qry, array($person_id));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -69,4 +69,196 @@ class Projektarbeit_model extends DB_Model
|
||||
|
||||
return $this->execQuery($qry, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update a Projektarbeit of a student by projektarbeit_id with
|
||||
* the paramenters used by the student endupload page in cis4 abgabetool.
|
||||
*/
|
||||
public function updateProjektarbeit($projektarbeit_id,$sprache,$abstract,$abstract_en,
|
||||
$schlagwoerter, $schlagwoerter_en,$seitenanzahl)
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_projektarbeit SET
|
||||
seitenanzahl = ?,
|
||||
abgabedatum = now(),
|
||||
sprache = ?,
|
||||
schlagwoerter_en = ?,
|
||||
schlagwoerter = ?,
|
||||
abstract = ?,
|
||||
abstract_en = ?
|
||||
WHERE projektarbeit_id = ?";
|
||||
|
||||
return $this->execQuery($qry, array($seitenanzahl, $sprache, $schlagwoerter_en,
|
||||
$schlagwoerter, $abstract, $abstract_en, $projektarbeit_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a List of Projektarbeiten of a student with betreuer
|
||||
* used by the student cis4 abgabetool.
|
||||
*/
|
||||
public function getStudentProjektarbeitenWithBetreuer($studentUID)
|
||||
{
|
||||
$betreuerQuery = "
|
||||
SELECT
|
||||
vorname as bvorname,
|
||||
nachname as bnachname,
|
||||
titelpre as btitelpre,
|
||||
titelpost AS btitelpost,
|
||||
titelpost AS btitelpost,
|
||||
tbl_betreuerart.beschreibung AS betreuerart_beschreibung,
|
||||
|
||||
(SELECT person_id
|
||||
FROM lehre.tbl_projektbetreuer
|
||||
WHERE projektarbeit_id=tbl_projektarbeit.projektarbeit_id
|
||||
AND betreuerart_kurzbz IN ('Zweitbetreuer', 'Zweitbegutachter') LIMIT 1) AS zweitbetreuer_person_id,
|
||||
(SELECT betreuerart_kurzbz
|
||||
FROM lehre.tbl_projektbetreuer
|
||||
WHERE projektarbeit_id=tbl_projektarbeit.projektarbeit_id
|
||||
AND betreuerart_kurzbz IN ('Zweitbetreuer', 'Zweitbegutachter') LIMIT 1) AS zweitbetreuer_betreuerart_kurzbz,
|
||||
(SELECT tbl_betreuerart.beschreibung
|
||||
FROM lehre.tbl_projektbetreuer JOIN lehre.tbl_betreuerart USING(betreuerart_kurzbz)
|
||||
WHERE projektarbeit_id=tbl_projektarbeit.projektarbeit_id
|
||||
AND betreuerart_kurzbz IN ('Zweitbetreuer', 'Zweitbegutachter', 'Senatsmitglied') LIMIT 1) AS zweitbetreuer_betreuerart_beschreibung,
|
||||
|
||||
tbl_betreuerart.betreuerart_kurzbz,
|
||||
person_id as bperson_id,
|
||||
projektarbeit_id,
|
||||
lehre.tbl_projekttyp.bezeichnung as projekttypbezeichnung,
|
||||
lehre.tbl_lehreinheit.studiensemester_kurzbz,
|
||||
lehre.tbl_lehrveranstaltung.studiengang_kz,
|
||||
public.tbl_studiengang.kurzbzlang,
|
||||
lehre.tbl_projektbetreuer.note as note,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid,
|
||||
lehre.tbl_projektarbeit.titel as titel,
|
||||
lehre.tbl_projektarbeit.sprache as sprache,
|
||||
lehre.tbl_projektarbeit.seitenanzahl as seitenanzahl,
|
||||
lehre.tbl_projektarbeit.kontrollschlagwoerter as kontrollschlagwoerter,
|
||||
lehre.tbl_projektarbeit.schlagwoerter as schlagwoerter,
|
||||
lehre.tbl_projektarbeit.schlagwoerter_en as schlagwoerter_en,
|
||||
lehre.tbl_projektarbeit.abstract as abstract,
|
||||
lehre.tbl_projektarbeit.abstract_en as abstract_en,
|
||||
(SELECT abgeschicktvon FROM extension.tbl_projektarbeitsbeurteilung WHERE projektarbeit_id = tbl_projektarbeit.projektarbeit_id AND betreuer_person_id = tbl_projektbetreuer.person_id) AS babgeschickt,
|
||||
(SELECT abgeschicktvon FROM extension.tbl_projektarbeitsbeurteilung WHERE projektarbeit_id = tbl_projektarbeit.projektarbeit_id AND betreuerart_kurzbz IN ('Zweitbetreuer', 'Zweitbegutachter') LIMIT 1) AS zweitbetreuer_abgeschickt,
|
||||
(SELECT datum FROM campus.tbl_paabgabe WHERE paabgabetyp_kurzbz = 'end' AND abgabedatum IS NOT NULL AND projektarbeit_id = tbl_projektarbeit.projektarbeit_id LIMIT 1) AS abgegeben
|
||||
|
||||
FROM lehre.tbl_projektarbeit
|
||||
LEFT JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
|
||||
LEFT JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN public.tbl_benutzer USING(person_id)
|
||||
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
||||
LEFT JOIN lehre.tbl_betreuerart USING(betreuerart_kurzbz)
|
||||
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_mitarbeiter.mitarbeiter_uid = public.tbl_benutzer.uid)
|
||||
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE
|
||||
tbl_projektarbeit.student_uid = ? AND
|
||||
(projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
||||
AND betreuerart_kurzbz IN ('Betreuer', 'Begutachter', 'Erstbegutachter', 'Senatsvorsitz')";
|
||||
|
||||
return $this->execReadOnlyQuery($betreuerQuery, array($studentUID));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a List of Projektarbeit Abgabetermin used by the student cis4 abgabetool.
|
||||
*/
|
||||
public function getProjektarbeitAbgabetermine($projektarbeit_id) {
|
||||
$qry ="SELECT campus.tbl_paabgabe.paabgabe_id,
|
||||
campus.tbl_paabgabe.projektarbeit_id,
|
||||
campus.tbl_paabgabe.fixtermin,
|
||||
campus.tbl_paabgabe.kurzbz,
|
||||
campus.tbl_paabgabe.datum,
|
||||
campus.tbl_paabgabetyp.paabgabetyp_kurzbz,
|
||||
campus.tbl_paabgabetyp.bezeichnung,
|
||||
campus.tbl_paabgabe.abgabedatum,
|
||||
campus.tbl_paabgabe.insertvon
|
||||
FROM campus.tbl_paabgabe JOIN campus.tbl_paabgabetyp USING(paabgabetyp_kurzbz)
|
||||
WHERE campus.tbl_paabgabe.projektarbeit_id = ?
|
||||
ORDER BY campus.tbl_paabgabe.datum";
|
||||
|
||||
return $this->execReadOnlyQuery($qry, array($projektarbeit_id));
|
||||
}
|
||||
|
||||
public function getProjektbetreuerAnrede($bperson_id) {
|
||||
$qry_betr="SELECT distinct trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid, anrede
|
||||
FROM public.tbl_person JOIN lehre.tbl_projektbetreuer ON(lehre.tbl_projektbetreuer.person_id=public.tbl_person.person_id)
|
||||
JOIN public.tbl_benutzer ON(public.tbl_benutzer.person_id=public.tbl_person.person_id)
|
||||
JOIN public.tbl_mitarbeiter ON(public.tbl_benutzer.uid=public.tbl_mitarbeiter.mitarbeiter_uid)
|
||||
WHERE public.tbl_person.person_id= ?";
|
||||
|
||||
return $this->execReadOnlyQuery($qry_betr, [$bperson_id]);
|
||||
|
||||
}
|
||||
|
||||
public function getProjektarbeitBenutzer($uid) {
|
||||
$qry="SELECT * FROM campus.vw_benutzer where uid=?";
|
||||
return $this->execReadOnlyQuery($qry, [$uid]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if mitarbeiter has a projektbetreuer zuordnung to student.
|
||||
*/
|
||||
public function checkZuordnung($studentUID, $maUID) {
|
||||
//oder Lektor mit Betreuung dieses Studenten
|
||||
$qry = "
|
||||
SELECT 1
|
||||
FROM
|
||||
lehre.tbl_projektarbeit
|
||||
JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
|
||||
JOIN campus.vw_benutzer on(vw_benutzer.person_id=tbl_projektbetreuer.person_id)
|
||||
WHERE
|
||||
tbl_projektarbeit.student_uid = ? AND
|
||||
vw_benutzer.uid = ?";
|
||||
|
||||
return $this->execReadOnlyQuery($qry, array($studentUID, $maUID));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a List of Projektarbeiten of a mitarbeiter with zuordnung
|
||||
* used by the mitarbeiter cis4 abgabetool.
|
||||
*/
|
||||
public function getMitarbeiterProjektarbeiten($uid, $showAll){
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
(SELECT tbl_person.vorname, tbl_person.nachname, tbl_studiengang.typ, tbl_studiengang.kurzbz,
|
||||
tbl_projektarbeit.projekttyp_kurzbz, tbl_projekttyp.bezeichnung, tbl_projektarbeit.titel, tbl_projektarbeit.projektarbeit_id,
|
||||
tbl_projektbetreuer.betreuerart_kurzbz, tbl_betreuerart.beschreibung AS betreuerart_beschreibung,
|
||||
tbl_benutzer.uid, tbl_student.matrikelnr, tbl_lehreinheit.studiensemester_kurzbz
|
||||
FROM lehre.tbl_projektarbeit
|
||||
LEFT JOIN lehre.tbl_projektbetreuer using(projektarbeit_id)
|
||||
LEFT JOIN lehre.tbl_betreuerart using(betreuerart_kurzbz)
|
||||
LEFT JOIN public.tbl_benutzer on(uid=student_uid)
|
||||
LEFT JOIN public.tbl_student on(public.tbl_benutzer.uid=public.tbl_student.student_uid)
|
||||
LEFT JOIN public.tbl_person on(tbl_benutzer.person_id=tbl_person.person_id)
|
||||
LEFT JOIN lehre.tbl_lehreinheit using(lehreinheit_id)
|
||||
LEFT JOIN lehre.tbl_lehrveranstaltung using(lehrveranstaltung_id)
|
||||
LEFT JOIN public.tbl_studiengang on(lehre.tbl_lehrveranstaltung.studiengang_kz=public.tbl_studiengang.studiengang_kz)
|
||||
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
||||
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
||||
AND tbl_projektbetreuer.person_id IN (SELECT person_id FROM public.tbl_benutzer
|
||||
WHERE public.tbl_benutzer.person_id=lehre.tbl_projektbetreuer.person_id
|
||||
AND public.tbl_benutzer.uid= ? )
|
||||
".($showAll?'':' AND public.tbl_benutzer.aktiv AND lehre.tbl_projektarbeit.note IS NULL ')."
|
||||
AND betreuerart_kurzbz IN ('Betreuer', 'Begutachter', 'Erstbegutachter', 'Zweitbegutachter', 'Erstbetreuer', 'Senatsvorsitz', 'Senatsmitglied')
|
||||
ORDER BY tbl_projektarbeit.projektarbeit_id, betreuerart_kurzbz desc) as xy
|
||||
ORDER BY nachname;";
|
||||
|
||||
return $this->execReadOnlyQuery($qry, array($uid));
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch Student info relevant to a projektarbeit_id
|
||||
*/
|
||||
public function getStudentInfoForProjektarbeitId($projektarbeit_id) {
|
||||
|
||||
$qry = "SELECT *
|
||||
FROM campus.vw_student
|
||||
WHERE uid IN(
|
||||
SELECT student_uid
|
||||
FROM lehre.tbl_projektarbeit
|
||||
WHERE projektarbeit_id = ? )";
|
||||
|
||||
return $this->execReadOnlyQuery($qry, array($projektarbeit_id));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user