diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php
index 1fd4890b6..e2b567f56 100644
--- a/system/dbupdate_3.3.php
+++ b/system/dbupdate_3.3.php
@@ -3675,6 +3675,159 @@ if(!$result = @$db->db_query("SELECT offsetpunkte FROM testtool.vw_auswertung LI
echo '
testtool.vw_auswertung view created';
}
+// Add column orgform_kurzbz to tbl_bankverbindung
+if(!$result = @$db->db_query("SELECT orgform_kurzbz FROM public.tbl_bankverbindung LIMIT 1"))
+{
+ $qry = "ALTER TABLE public.tbl_bankverbindung ADD COLUMN orgform_kurzbz varchar(3);
+ ALTER TABLE public.tbl_bankverbindung ADD CONSTRAINT fk_bankverbindung_orgform FOREIGN KEY (orgform_kurzbz) REFERENCES bis.tbl_orgform (orgform_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_bankverbindung: '.$db->db_last_error().'
';
+ else
+ echo '
public.tbl_bankverbindung: Spalte orgform_kurzbz hinzugefuegt';
+}
+
+// iban und bic zu vw_msg_vars hinzufügen
+if(!$result = @$db->db_query('SELECT "IBAN Studiengang", "BIC Studiengang", "Studiengangskennzahl", "Einstiegssemester", "Einstiegsstudiensemester", "Vorname Studiengangsassistenz", "Nachname Studiengangsassistenz", "Durchwahl Studiengangsassistenz", "Relative Prio" FROM public.vw_msg_vars LIMIT 1'))
+{
+ $qry = '
+ CREATE OR REPLACE VIEW public.vw_msg_vars AS (
+ SELECT DISTINCT ON(p.person_id, pr.prestudent_id) p.person_id,
+ pr.prestudent_id AS prestudent_id,
+ p.nachname AS "Nachname",
+ p.vorname AS "Vorname",
+ p.anrede AS "Anrede",
+ a.strasse AS "Strasse",
+ a.ort AS "Ort",
+ a.plz AS "PLZ",
+ a.gemeinde AS "Gemeinde",
+ a.langtext AS "Nation",
+ ke.kontakt AS "Email",
+ kt.kontakt AS "Telefon",
+ s.bezeichnung AS "Studiengang DE",
+ s.english AS "Studiengang EN",
+ st.bezeichnung AS "Typ",
+ last_prestudent_status.orgform_kurzbz AS "Orgform",
+ p.zugangscode AS "Zugangscode",
+ bk.iban AS "IBAN Studiengang",
+ bk.bic AS "BIC Studiengang",
+ s.studiengang_kz AS "Studiengangskennzahl",
+ first_prestudent_status.ausbildungssemester AS "Einstiegssemester",
+ first_prestudent_status.studiensemester AS "Einstiegsstudiensemester",
+ ass.vorname AS "Vorname Studiengangsassistenz",
+ ass.nachname AS "Nachname Studiengangsassistenz",
+ ass.telefonklappe AS "Durchwahl Studiengangsassistenz",
+ ass.alias AS "Alias Studiengangsassistenz",
+ (SELECT count(*)
+ FROM (
+ SELECT pss.prestudent_id, pss.person_id, priorisierung,
+ (
+ SELECT status_kurzbz
+ FROM public.tbl_prestudentstatus
+ WHERE prestudent_id = pss.prestudent_id
+ ORDER BY datum DESC,
+ tbl_prestudentstatus.insertamum DESC LIMIT 1
+ ) AS laststatus
+ FROM public.tbl_prestudent pss
+ JOIN public.tbl_prestudentstatus USING (prestudent_id)
+ WHERE person_id = (
+ SELECT person_id
+ FROM public.tbl_prestudent
+ WHERE prestudent_id = pr.prestudent_id
+ )
+ AND studiensemester_kurzbz = (
+ SELECT studiensemester_kurzbz
+ FROM public.tbl_prestudentstatus
+ WHERE prestudent_id = pr.prestudent_id
+ AND status_kurzbz = \'Interessent\' LIMIT 1
+ )
+ AND status_kurzbz = \'Interessent\'
+ ) prest
+ WHERE laststatus NOT IN (\'Abbrecher\', \'Abgewiesener\', \'Absolvent\')
+ AND priorisierung <= pr.priorisierung) AS "Relative Prio"
+ FROM public.tbl_person p
+ LEFT JOIN (
+ SELECT person_id,
+ kontakt
+ FROM public.tbl_kontakt
+ WHERE zustellung = TRUE
+ AND kontakttyp = \'email\'
+ ORDER BY kontakt_id DESC
+ ) ke USING(person_id)
+ LEFT JOIN (
+ SELECT person_id,
+ kontakt
+ FROM public.tbl_kontakt
+ WHERE zustellung = TRUE
+ AND kontakttyp IN (\'telefon\', \'mobil\')
+ ORDER BY kontakt_id DESC
+ ) kt USING(person_id)
+ LEFT JOIN (
+ SELECT person_id,
+ strasse,
+ ort,
+ plz,
+ gemeinde,
+ langtext
+ FROM public.tbl_adresse
+ LEFT JOIN bis.tbl_nation ON(bis.tbl_nation.nation_code = public.tbl_adresse.nation)
+ WHERE public.tbl_adresse.heimatadresse = TRUE
+ ORDER BY adresse_id DESC
+ ) a USING(person_id)
+ LEFT JOIN public.tbl_prestudent pr USING(person_id)
+ INNER JOIN public.tbl_studiengang s USING(studiengang_kz)
+ INNER JOIN public.tbl_studiengangstyp st USING(typ)
+ LEFT JOIN (
+ SELECT DISTINCT ON (ps.prestudent_id) ps.prestudent_id, tbl_studienplan.orgform_kurzbz
+ FROM public.tbl_prestudent ps
+ JOIN public.tbl_prestudentstatus ON ps.prestudent_id = tbl_prestudentstatus.prestudent_id
+ JOIN lehre.tbl_studienplan USING(studienplan_id)
+ ORDER BY ps.prestudent_id DESC,
+ tbl_prestudentstatus.datum DESC,
+ tbl_prestudentstatus.insertamum DESC,
+ tbl_prestudentstatus.ext_id DESC
+ ) last_prestudent_status ON pr.prestudent_id = last_prestudent_status.prestudent_id
+ LEFT JOIN (
+ SELECT DISTINCT ON (ps.prestudent_id) ps.prestudent_id, tbl_prestudentstatus.ausbildungssemester,
+ studiensemester_kurzbz, tbl_studiensemester.bezeichnung AS studiensemester,
+ tbl_studienordnung.studiengang_kz
+ FROM public.tbl_prestudent ps
+ JOIN public.tbl_prestudentstatus ON ps.prestudent_id = tbl_prestudentstatus.prestudent_id
+ JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
+ JOIN lehre.tbl_studienplan USING(studienplan_id)
+ JOIN lehre.tbl_studienordnung USING (studienordnung_id)
+ WHERE tbl_prestudentstatus.status_kurzbz = \'Interessent\'
+ ORDER BY ps.prestudent_id ASC,
+ tbl_prestudentstatus.datum ASC,
+ tbl_prestudentstatus.insertamum ASC,
+ tbl_prestudentstatus.ext_id ASC
+ ) first_prestudent_status ON pr.prestudent_id = first_prestudent_status.prestudent_id
+ LEFT JOIN (
+ SELECT DISTINCT ON (tbl_benutzerfunktion.oe_kurzbz) vorname, nachname, oe_kurzbz, telefonklappe, alias
+ FROM public.tbl_benutzerfunktion
+ JOIN public.tbl_benutzer USING (uid)
+ JOIN public.tbl_person USING (person_id)
+ JOIN public.tbl_mitarbeiter on tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid
+ WHERE tbl_benutzerfunktion.funktion_kurzbz = \'ass\'
+ AND NOW() BETWEEN COALESCE(datum_von, NOW()) AND COALESCE(datum_bis, NOW())
+ ORDER BY tbl_benutzerfunktion.oe_kurzbz, tbl_benutzerfunktion.insertamum DESC NULLS LAST, datum_von DESC NULLS LAST
+ ) ass ON s.oe_kurzbz = ass.oe_kurzbz
+ LEFT JOIN (
+ SELECT DISTINCT ON (oe_kurzbz, orgform_kurzbz) oe_kurzbz, orgform_kurzbz, iban, bic
+ FROM tbl_bankverbindung
+ WHERE oe_kurzbz IS NOT NULL
+ ORDER BY oe_kurzbz, orgform_kurzbz, tbl_bankverbindung.insertamum DESC,tbl_bankverbindung.iban
+ )bk ON s.oe_kurzbz = bk.oe_kurzbz AND (last_prestudent_status.orgform_kurzbz = bk.orgform_kurzbz OR bk.orgform_kurzbz IS NULL)
+ WHERE p.aktiv = TRUE
+ ORDER BY p.person_id ASC, pr.prestudent_id ASC
+ );';
+
+ if(!$db->db_query($qry))
+ echo 'public.vw_msg_vars: '.$db->db_last_error().'
';
+ else
+ echo '
public.vw_msg_vars IBAN Studiengang, BIC Studiengang, Studiengangskennzahl, Einstiegssemester, Einstiegsstudiensemester, Vorname Studiengangsassistenz, Nachname Studiengangsassistenz, Durchwahl Studiengangsassistenz, Relative Priorität added';
+}
+
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '