diff --git a/content/statistik/studentenstatistik_lehrgaenge.php b/content/statistik/studentenstatistik_lehrgaenge.php new file mode 100644 index 000000000..86c61c652 --- /dev/null +++ b/content/statistik/studentenstatistik_lehrgaenge.php @@ -0,0 +1,410 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/* + * Erstellt eine Liste der Studenten eines Studiensemesters + * Aufteilung in + * - Anzahl Gesamt + * - Prozent Anteil + * - Vollzeit/Berufsbegleitend + * - Geschlecht + * - Herkunft (AT/EU/Nicht EU) + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/functions.inc.php'); + +$db = new basis_db(); +$stsem_obj = new studiensemester(); +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else +{ + $stsem = $stsem_obj->getaktorNext(); +} +$stsem_obj->load($stsem); +echo ' + + + + + + + + '; + + + echo "

Studierendenstatistik $stsem"; + echo ''.date('d.m.Y').'


'; + echo ''; + echo '
Studiensemester: +


'; + +if($stsem!='') +{ + echo " + + + + + + + + + + + + + + + + + + + + + + + "; + //Lehrgänge + $qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='$stsem' + ) a) AS gesamt_stg, + + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) + WHERE status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND typ='l' + ) a) AS gesamt_alle, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz='".addslashes($stsem)."' + ) a) AS inc, + (SELECT count(*) FROM (SELECT distinct student_uid FROM public.tbl_student JOIN bis.tbl_bisio USING (student_uid) + WHERE studiengang_kz=stg.studiengang_kz AND (bis>='".addslashes($stsem_obj->start)."' OR bis is null) AND von<='".addslashes($stsem_obj->ende)."' + ) a) AS out, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='BB' + ) a) AS bb, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='VZ' + ) a) AS vz, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DL' + ) a) AS fs, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w' + ) a) AS w, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' + ) a) AS m, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND nation_code='A' + ) a) AS herkunft_at, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND eu AND nation_code<>'A' + ) a) AS herkunft_eu, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND NOT eu + ) a) AS herkunft_noteu, + true + FROM + public.tbl_studiengang stg + WHERE + studiengang_kz<0 AND aktiv AND typ='l' + ORDER BY typ, kurzbzlang; "; + + if($result = $db->db_query($qry)) + { + + $gesamt=0; + $gesamt_prozent=0; + $gesamt_bb=0; + $gesamt_vz=0; + $gesamt_fs=0; + $gesamt_m=0; + $gesamt_w=0; + $gesamt_at=0; + $gesamt_eu=0; + $gesamt_noteu=0; + $gesamt_inc=0; + $gesamt_out=0; + while($row = $db->db_fetch_object($result)) + { + echo ''; + echo ""; + $prozent = ($row->gesamt_alle!=0?$row->gesamt_stg/$row->gesamt_alle*100:0); + echo ""; + echo ""; + if($row->orgform_kurzbz=='BB') + { + //berufsbegleitend: gesamtzahl in spalte bb + echo ""; + $gesamt_bb += $row->gesamt_stg; + $gesamt_vz += $row->vz; + $gesamt_fs += $row->fs; + } + else if($row->orgform_kurzbz=='VZ') + { + //vollzeit: gesamtzahl in spalte vz + echo ""; + $gesamt_bb += $row->bb; + $gesamt_vz += $row->gesamt_stg; + $gesamt_fs += $row->fs; + } + else if($row->orgform_kurzbz=='DL') + { + //fernlehre: gesamtzahl in spalte DL + echo ""; + $gesamt_bb += $row->bb; + $gesamt_vz += $row->vz; + $gesamt_fs += $row->gesamt_stg; + } + else + { + echo ""; + $gesamt_bb += $row->bb; + $gesamt_vz += $row->vz; + $gesamt_fs += $row->fs; + } + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + $gesamt+=$row->gesamt_stg; + $gesamt_prozent+=$prozent; + $gesamt_m += $row->m; + $gesamt_w += $row->w; + $gesamt_at += $row->herkunft_at; + $gesamt_eu += $row->herkunft_eu; + $gesamt_noteu += $row->herkunft_noteu; + $gesamt_inc+=$row->inc; + $gesamt_out+=$row->out; + } + echo ''; + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + } + + $gesamtsumme = $gesamt; + $gesamtsumme_prozent = $gesamt_prozent; + $gesamtsumme_bb = $gesamt_bb; + $gesamtsumme_vz = $gesamt_vz; + $gesamtsumme_fs = $gesamt_fs; + $gesamtsumme_m = $gesamt_m; + $gesamtsumme_w = $gesamt_w; + $gesamtsumme_at = $gesamt_at; + $gesamtsumme_eu = $gesamt_eu; + $gesamtsumme_noteu = $gesamt_noteu; + $gesamtsumme_inc = $gesamt_inc; + $gesamtsumme_out = $gesamt_out; + + //Kurzstudien + echo ' + + + + + + + + + + + '; + $qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz, + (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' + ) AS gesamt_stg, + + (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) + WHERE status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND typ='k' + ) AS gesamt_alle, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz='".addslashes($stsem)."' + ) a) AS inc, + (SELECT count(*) FROM (SELECT distinct student_uid FROM public.tbl_student JOIN bis.tbl_bisio USING (student_uid) + WHERE studiengang_kz=stg.studiengang_kz AND (bis>='".addslashes($stsem_obj->start)."' OR bis is null) AND von<='".addslashes($stsem_obj->ende)."' + ) a) AS out, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='BB' + ) a) AS bb, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='VZ' + ) a) AS vz, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND orgform_kurzbz='DL' + ) a) AS fs, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='w' + ) a) AS w, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND geschlecht='m' + ) a) AS m, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND nation_code='A' + ) a) AS herkunft_at, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND eu AND nation_code<>'A' + ) a) AS herkunft_eu, + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) + WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' AND NOT eu + ) a) AS herkunft_noteu, + true + FROM + public.tbl_studiengang stg + WHERE + studiengang_kz<0 AND aktiv AND typ='k' + ORDER BY typ, kurzbzlang; "; + + if($result = $db->db_query($qry)) + { + + $gesamt=0; + $gesamt_prozent=0; + $gesamt_bb=0; + $gesamt_vz=0; + $gesamt_fs=0; + $gesamt_m=0; + $gesamt_w=0; + $gesamt_at=0; + $gesamt_eu=0; + $gesamt_noteu=0; + $gesamt_inc=0; + $gesamt_out=0; + while($row = $db->db_fetch_object($result)) + { + echo ''; + echo ""; + $prozent = ($row->gesamt_alle!=0?$row->gesamt_stg/$row->gesamt_alle*100:0); + echo ""; + echo ""; + if($row->orgform_kurzbz=='BB') + { + //berufsbegleitend: gesamtzahl in spalte bb + echo ""; + $gesamt_bb += $row->gesamt_stg; + $gesamt_vz += $row->vz; + $gesamt_fs += $row->fs; + } + else if($row->orgform_kurzbz=='VZ') + { + //vollzeit: gesamtzahl in spalte vz + echo ""; + $gesamt_bb += $row->bb; + $gesamt_vz += $row->gesamt_stg; + $gesamt_fs += $row->fs; + } + else if($row->orgform_kurzbz=='DL') + { + //fernlehre: gesamtzahl in spalte DL + echo ""; + $gesamt_bb += $row->bb; + $gesamt_vz += $row->vz; + $gesamt_fs += $row->gesamt_stg; + } + else + { + echo ""; + $gesamt_bb += $row->bb; + $gesamt_vz += $row->vz; + $gesamt_fs += $row->fs; + } + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + $gesamt+=$row->gesamt_stg; + $gesamt_prozent+=$prozent; + $gesamt_m += $row->m; + $gesamt_w += $row->w; + $gesamt_at += $row->herkunft_at; + $gesamt_eu += $row->herkunft_eu; + $gesamt_noteu += $row->herkunft_noteu; + $gesamt_inc+=$row->inc; + $gesamt_out+=$row->out; + } + echo ''; + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + } + $gesamtsumme += $gesamt; + $gesamtsumme_prozent = 100; + $gesamtsumme_bb += $gesamt_bb; + $gesamtsumme_vz += $gesamt_vz; + $gesamtsumme_fs += $gesamt_fs; + $gesamtsumme_m += $gesamt_m; + $gesamtsumme_w += $gesamt_w; + $gesamtsumme_at += $gesamt_at; + $gesamtsumme_eu += $gesamt_eu; + $gesamtsumme_noteu += $gesamt_noteu; + $gesamtsumme_inc += $gesamt_inc; + $gesamtsumme_out += $gesamt_out; + echo ''; + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo '
Anteil an GesamtExternStudienartGeschlechtStaatsbürgerschaft
LehrgängeAbsolut / %In / OutBB / VZ / DLmwÖsterreichEUNicht-EU
".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang) - $row->bezeichnung$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %$row->inc / $row->out$row->gesamt_stg / $row->vz / $row->fs$row->bb / $row->gesamt_stg / $row->fs$row->bb / $row->vz / $row->gesamt_stg$row->bb / $row->vz / $row->fs$row->m$row->w$row->herkunft_at$row->herkunft_eu$row->herkunft_noteu
SUMME$gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %$gesamt_inc / $gesamt_out$gesamt_bb / $gesamt_vz / $gesamt_fs$gesamt_m$gesamt_w$gesamt_at$gesamt_eu$gesamt_noteu
KurzstudienAbsolut / %In / OutBB / VZ / DLmwÖsterreichEUNicht-EU
".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang) - $row->bezeichnung$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %$row->inc / $row->out$row->gesamt_stg / $row->vz / $row->fs$row->bb / $row->gesamt_stg / $row->fs$row->bb / $row->vz / $row->gesamt_stg$row->bb / $row->vz / $row->fs$row->m$row->w$row->herkunft_at$row->herkunft_eu$row->herkunft_noteu
SUMME$gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %$gesamt_inc / $gesamt_out$gesamt_bb / $gesamt_vz / $gesamt_fs$gesamt_m$gesamt_w$gesamt_at$gesamt_eu$gesamt_noteu
GESAMTSUMME$gesamtsumme / ".sprintf('%0.2f', $gesamtsumme_prozent)." %$gesamtsumme_inc / $gesamtsumme_out$gesamtsumme_bb / $gesamtsumme_vz / $gesamtsumme_fs$gesamtsumme_m$gesamtsumme_w$gesamtsumme_at$gesamtsumme_eu$gesamtsumme_noteu
'; +} +?> + + \ No newline at end of file