mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 08:52:21 +00:00
use postgres function
This commit is contained in:
@@ -328,17 +328,7 @@ $config['prestudent'] = [
|
||||
WHERE status_kurzbz = public.get_rolle_prestudent(ps.prestudent_id, NULL)
|
||||
LIMIT 1
|
||||
) AS status",
|
||||
"COALESCE(
|
||||
(
|
||||
SELECT COALESCE(plan.orgform_kurzbz, pss.orgform_kurzbz)
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
LEFT JOIN lehre.tbl_studienplan plan USING (studienplan_id)
|
||||
WHERE pss.prestudent_id=ps.prestudent_id
|
||||
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
|
||||
LIMIT 1
|
||||
),
|
||||
sg.orgform_kurzbz
|
||||
) AS orgform",
|
||||
"public.get_orgform_prestudent(ps.prestudent_id, NULL) AS orgform",
|
||||
"b.aktiv",
|
||||
"array_position(" . $prestudent_sort_array . ", public.get_rolle_prestudent(ps.prestudent_id, NULL)) AS sort"
|
||||
],
|
||||
|
||||
@@ -330,7 +330,14 @@ class Prestudentstatus_model extends DB_Model
|
||||
$this->addJoin('public.tbl_studiengang', 'studiengang_kz', 'LEFT');
|
||||
$this->addJoin('public.tbl_status', 'tbl_status.status_kurzbz = tbl_prestudentstatus.status_kurzbz');
|
||||
$this->addJoin('public.tbl_status_grund', 'statusgrund_id', 'LEFT');
|
||||
$this->addJoin('bis.tbl_orgform', 'COALESCE(tbl_studienplan.orgform_kurzbz, ' . $this->dbTable . '.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) = tbl_orgform.orgform_kurzbz', 'LEFT');
|
||||
$this->addJoin(
|
||||
'bis.tbl_orgform',
|
||||
'public.get_orgform_prestudent(
|
||||
' . $this->dbTable . '.prestudent_id,
|
||||
' . $this->dbTable . '.studiensemester_kurzbz
|
||||
) = tbl_orgform.orgform_kurzbz',
|
||||
'LEFT'
|
||||
);
|
||||
$this->db->where('tbl_status.status_kurzbz = tbl_prestudentstatus.status_kurzbz');
|
||||
|
||||
$where = array('prestudent_id' => $prestudent_id);
|
||||
@@ -377,7 +384,10 @@ class Prestudentstatus_model extends DB_Model
|
||||
$this->addJoin('public.tbl_person pers', 'person_id');
|
||||
$this->addJoin('public.tbl_studiengang g', 'p.studiengang_kz=g.studiengang_kz');
|
||||
$this->addJoin('lehre.tbl_studienplan plan', 'studienplan_id', 'LEFT');
|
||||
$this->addJoin('bis.tbl_orgform o', 'COALESCE(plan.orgform_kurzbz, ' . $this->dbTable . '.orgform_kurzbz, g.orgform_kurzbz)=o.orgform_kurzbz');
|
||||
$this->addJoin(
|
||||
'bis.tbl_orgform o',
|
||||
'public.get_orgform_prestudent(' . $this->dbTable . '.prestudent_id, ' . $this->dbTable . '.studiensemester_kurzbz) = o.orgform_kurzbz'
|
||||
);
|
||||
|
||||
$this->addOrder($this->dbTable . '.datum', 'DESC');
|
||||
$this->addOrder($this->dbTable . '.insertamum', 'DESC');
|
||||
|
||||
@@ -124,7 +124,7 @@ class Pruefung_model extends DB_Model
|
||||
'LEFT'
|
||||
);
|
||||
$this->addJoin('lehre.tbl_studienplan plan', 'studienplan_id', 'LEFT');
|
||||
$this->addJoin('bis.tbl_orgform o', 'COALESCE(plan.orgform_kurzbz, pss.orgform_kurzbz, g.orgform_kurzbz)=o.orgform_kurzbz');
|
||||
$this->addJoin('bis.tbl_orgform o', 'public.get_orgform_prestudent(ps.prestudent_id, le.studiensemester_kurzbz)=o.orgform_kurzbz');
|
||||
$this->db->join('campus.tbl_studierendenantrag a', 'ps.prestudent_id=a.prestudent_id and a.typ = ?', 'LEFT', false);
|
||||
|
||||
$this->db->where("n.positiv", false);
|
||||
@@ -221,7 +221,7 @@ class Pruefung_model extends DB_Model
|
||||
'LEFT'
|
||||
);
|
||||
$this->addJoin('lehre.tbl_studienplan plan', 'studienplan_id', 'LEFT');
|
||||
$this->addJoin('bis.tbl_orgform o', 'COALESCE(plan.orgform_kurzbz, pss.orgform_kurzbz, g.orgform_kurzbz)=o.orgform_kurzbz');
|
||||
$this->addJoin('bis.tbl_orgform o', 'public.get_orgform_prestudent(ps.prestudent_id, le.studiensemester_kurzbz)=o.orgform_kurzbz');
|
||||
$this->addJoin(
|
||||
'campus.tbl_studierendenantrag a',
|
||||
'ps.prestudent_id=a.prestudent_id and a.typ=' . $this->escape(Studierendenantrag_model::TYP_WIEDERHOLUNG),
|
||||
|
||||
@@ -65,7 +65,7 @@ class Studierendenantrag_model extends DB_Model
|
||||
'LEFT'
|
||||
);
|
||||
$this->addJoin('lehre.tbl_studienplan plan', 'studienplan_id', 'LEFT');
|
||||
$this->addJoin('bis.tbl_orgform of', 'of.orgform_kurzbz=COALESCE(plan.orgform_kurzbz, ps.orgform_kurzbz, stg.orgform_kurzbz)');
|
||||
$this->addJoin('bis.tbl_orgform of', 'of.orgform_kurzbz=public.get_orgform_prestudent(p.prestudent_id, ss.studiensemester_kurzbz)');
|
||||
$this->addJoin(
|
||||
'campus.tbl_studierendenantrag_status as s',
|
||||
'campus.get_status_id_studierendenantrag('. $this->dbTable .'.studierendenantrag_id) = studierendenantrag_status_id'
|
||||
@@ -197,7 +197,7 @@ class Studierendenantrag_model extends DB_Model
|
||||
$this->addSelect('stg.bezeichnung');
|
||||
$this->addSelect('s.ausbildungssemester');
|
||||
$this->addSelect('plan.sprache');
|
||||
$this->addSelect('COALESCE(plan.orgform_kurzbz, s.orgform_kurzbz, stg.orgform_kurzbz) AS orgform_kurzbz');
|
||||
$this->addSelect('public.get_orgform_prestudent(s.prestudent_id, s.studiensemester_kurzbz) AS orgform_kurzbz');
|
||||
|
||||
$this->addJoin(
|
||||
'public.tbl_prestudentstatus s',
|
||||
@@ -288,7 +288,7 @@ class Studierendenantrag_model extends DB_Model
|
||||
'LEFT'
|
||||
);
|
||||
$this->addJoin('lehre.tbl_studienplan plan', 'studienplan_id', 'LEFT');
|
||||
$this->addJoin('bis.tbl_orgform of', 'of.orgform_kurzbz=COALESCE(plan.orgform_kurzbz, ps.orgform_kurzbz, stg.orgform_kurzbz)');
|
||||
$this->addJoin('bis.tbl_orgform of', 'of.orgform_kurzbz=public.get_orgform_prestudent(p.prestudent_id, ps.studiensemester_kurzbz)');
|
||||
$this->addJoin(
|
||||
'campus.tbl_studierendenantrag_status s',
|
||||
'campus.get_status_id_studierendenantrag(' . $this->dbTable . '.studierendenantrag_id)=s.studierendenantrag_status_id',
|
||||
|
||||
@@ -605,7 +605,7 @@ class Studiengang_model extends DB_Model
|
||||
AND ps.status_kurzbz=get_rolle_prestudent(p.prestudent_id, NULL)'
|
||||
);
|
||||
$this->addJoin('lehre.tbl_studienplan plan', 'studienplan_id');
|
||||
$this->addJoin('bis.tbl_orgform o', 'COALESCE(plan.orgform_kurzbz, ps.orgform_kurzbz, ' . $this->dbTable . '.orgform_kurzbz)=o.orgform_kurzbz');
|
||||
$this->addJoin('bis.tbl_orgform o', 'public.get_orgform_prestudent(p.prestudent_id, NULL)=o.orgform_kurzbz');
|
||||
$this->addJoin('public.tbl_person pers', 'person_id');
|
||||
$this->addJoin('public.tbl_student stud', 'p.prestudent_id=stud.prestudent_id', 'LEFT');
|
||||
|
||||
|
||||
@@ -1861,7 +1861,7 @@ class prestudent extends person
|
||||
tbl_prestudentstatus.studiensemester_kurzbz,
|
||||
tbl_prestudent.studiengang_kz,
|
||||
tbl_prestudentstatus.ausbildungssemester,
|
||||
COALESCE(tbl_prestudentstatus.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) as orgform_kurzbz
|
||||
public.get_orgform_prestudent(tbl_prestudentstatus.prestudent_id, tbl_prestudentstatus.studiensemester_kurzbz) as orgform_kurzbz
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||
@@ -1924,7 +1924,7 @@ class prestudent extends person
|
||||
tbl_prestudentstatus.studiensemester_kurzbz,
|
||||
tbl_prestudent.studiengang_kz,
|
||||
tbl_prestudentstatus.ausbildungssemester,
|
||||
COALESCE(tbl_prestudentstatus.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) as orgform_kurzbz
|
||||
public.get_orgform_prestudent(tbl_prestudentstatus.prestudent_id, tbl_prestudentstatus.studiensemester_kurzbz) as orgform_kurzbz
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||
@@ -1981,7 +1981,7 @@ class prestudent extends person
|
||||
tbl_prestudentstatus.studiensemester_kurzbz,
|
||||
tbl_prestudent.studiengang_kz,
|
||||
tbl_prestudentstatus.ausbildungssemester,
|
||||
COALESCE(tbl_prestudentstatus.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) as orgform_kurzbz
|
||||
public.get_orgform_prestudent(tbl_prestudentstatus.prestudent_id, tbl_prestudentstatus.studiensemester_kurzbz) as orgform_kurzbz
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||
@@ -2038,7 +2038,7 @@ class prestudent extends person
|
||||
tbl_prestudentstatus.studiensemester_kurzbz,
|
||||
tbl_prestudent.studiengang_kz,
|
||||
tbl_prestudentstatus.ausbildungssemester,
|
||||
COALESCE(tbl_prestudentstatus.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) as orgform_kurzbz
|
||||
public.get_orgform_prestudent(tbl_prestudentstatus.prestudent_id, tbl_prestudentstatus.studiensemester_kurzbz) as orgform_kurzbz
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||
|
||||
@@ -46,7 +46,7 @@ $query = "
|
||||
JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
|
||||
LEFT JOIN public.tbl_prestudentstatus pss ON (pss.prestudent_id = a.prestudent_id AND pss.studiensemester_kurzbz=a.studiensemester_kurzbz AND pss.status_kurzbz=get_rolle_prestudent(a.prestudent_id, a.studiensemester_kurzbz))
|
||||
LEFT JOIN lehre.tbl_studienplan plan USING (studienplan_id)
|
||||
JOIN bis.tbl_orgform ON (tbl_orgform.orgform_kurzbz = COALESCE(plan.orgform_kurzbz, pss.orgform_kurzbz, stg.orgform_kurzbz))" . $where;
|
||||
JOIN bis.tbl_orgform ON (tbl_orgform.orgform_kurzbz = public.get_orgform_prestudent(a.prestudent_id, a.studiensemester_kurzbz))" . $where;
|
||||
|
||||
|
||||
if (!$db->db_query($query) || !$db->db_num_rows())
|
||||
|
||||
@@ -46,7 +46,7 @@ $query = "
|
||||
JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
|
||||
LEFT JOIN public.tbl_prestudentstatus pss ON (pss.prestudent_id = a.prestudent_id AND pss.studiensemester_kurzbz=a.studiensemester_kurzbz AND pss.status_kurzbz=get_rolle_prestudent(a.prestudent_id, a.studiensemester_kurzbz))
|
||||
LEFT JOIN lehre.tbl_studienplan plan USING (studienplan_id)
|
||||
JOIN bis.tbl_orgform ON (tbl_orgform.orgform_kurzbz = COALESCE(plan.orgform_kurzbz, pss.orgform_kurzbz, stg.orgform_kurzbz))" . $where;
|
||||
JOIN bis.tbl_orgform ON (tbl_orgform.orgform_kurzbz = public.get_orgform_prestudent(a.prestudent_id, a.studiensemester_kurzbz))" . $where;
|
||||
|
||||
|
||||
if (!$db->db_query($query) || !$db->db_num_rows())
|
||||
|
||||
@@ -47,7 +47,7 @@ $query = "
|
||||
JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
|
||||
LEFT JOIN public.tbl_prestudentstatus pss ON (pss.prestudent_id = a.prestudent_id AND pss.studiensemester_kurzbz=a.studiensemester_kurzbz AND pss.status_kurzbz=get_rolle_prestudent(a.prestudent_id, a.studiensemester_kurzbz))
|
||||
LEFT JOIN lehre.tbl_studienplan plan USING (studienplan_id)
|
||||
JOIN bis.tbl_orgform ON (tbl_orgform.orgform_kurzbz = COALESCE(plan.orgform_kurzbz, pss.orgform_kurzbz, stg.orgform_kurzbz))" . $where;
|
||||
JOIN bis.tbl_orgform ON (tbl_orgform.orgform_kurzbz = public.get_orgform_prestudent(a.prestudent_id, a.studiensemester_kurzbz))" . $where;
|
||||
|
||||
|
||||
if (!$db->db_query($query) || !$db->db_num_rows())
|
||||
|
||||
@@ -97,7 +97,7 @@ $query = "
|
||||
JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
|
||||
LEFT JOIN public.tbl_prestudentstatus pss ON (pss.prestudent_id = a.prestudent_id AND pss.studiensemester_kurzbz=a.studiensemester_kurzbz AND pss.status_kurzbz=get_rolle_prestudent(a.prestudent_id, a.studiensemester_kurzbz))
|
||||
LEFT JOIN lehre.tbl_studienplan plan USING (studienplan_id)
|
||||
JOIN bis.tbl_orgform ON (tbl_orgform.orgform_kurzbz = COALESCE(plan.orgform_kurzbz, pss.orgform_kurzbz, stg.orgform_kurzbz))" . $where;
|
||||
JOIN bis.tbl_orgform ON (tbl_orgform.orgform_kurzbz = public.get_orgform_prestudent(a.prestudent_id, a.studiensemester_kurzbz))" . $where;
|
||||
|
||||
|
||||
if (!$db->db_query($query) || !$db->db_num_rows())
|
||||
|
||||
Reference in New Issue
Block a user