diff --git a/cis/testtool/login.php b/cis/testtool/login.php
index fac890bc8..f69065aa0 100644
--- a/cis/testtool/login.php
+++ b/cis/testtool/login.php
@@ -276,7 +276,15 @@ else
//$prestudent_id=null;
$ps=new prestudent();
$datum=date('Y-m-d');
- $ps->getPrestudentRT($datum);
+ // An der FHTW wird ein Bewerber nur einmal ausgegeben (1. Prio) falls es mehrere Bewerbungen gibt
+ if (CAMPUS_NAME == 'FH Technikum Wien')
+ {
+ $ps->getFirstPrioPrestudentRT($datum);
+ }
+ else
+ {
+ $ps->getPrestudentRT($datum);
+ }
}
@@ -491,7 +499,10 @@ if (isset($prestudent_id))
echo '
';
$stg = new Studiengang($ps_obj->studiengang_kz);
- if($ps_obj->lastStatus == "Interessent")
+ if($ps_obj->lastStatus == "Interessent"
+ || $ps_obj->lastStatus == "Bewerber"
+ || $ps_obj->lastStatus == "Wartender"
+ || $ps_obj->lastStatus == "Aufgenommener")
{
echo '| '. $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). ' | ';
if($ps_obj->ausbildungssemester == '1')
diff --git a/include/prestudent.class.php b/include/prestudent.class.php
index 4304e5341..923ca81be 100644
--- a/include/prestudent.class.php
+++ b/include/prestudent.class.php
@@ -420,6 +420,62 @@ class prestudent extends person
return true;
}
+ /**
+ * Laden aller Prestudenten, die an $datum zum Reihungstest geladen sind.
+ * Wenn es mehrere Bewerbungen für ein Person gibt, wird nur die höchste Prestudent_id zurückgeliefert
+ * @param string $datum Datum in der Form YYYY-MM-DD an dem der Reihungstest stattfindet
+ * @return true wenn erfolgreich, false im Fehlerfall
+ */
+ public function getFirstPrioPrestudentRT($datum)
+ {
+ $sql_query='SELECT DISTINCT
+ ps.prestudent_id,
+ pers.vorname, pers.nachname, pers.person_id, pers.titelpre,
+ pers.titelpost, pers.gebdatum,
+ tbl_reihungstest.*,
+ ps.studiengang_kz as studiengang_kz
+ FROM
+ public.tbl_prestudent ps
+ JOIN public.tbl_person pers USING(person_id)
+ JOIN public.tbl_rt_person USING(person_id)
+ JOIN public.tbl_reihungstest ON(tbl_reihungstest.reihungstest_id=tbl_rt_person.rt_id)
+ WHERE
+ tbl_reihungstest.datum='.$this->db_add_param($datum).'
+ AND tbl_rt_person.studienplan_id IN (SELECT studienplan_id FROM public.tbl_prestudentstatus WHERE prestudent_id=ps.prestudent_id)
+ AND EXISTS(SELECT * FROM public.tbl_prestudentstatus JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
+ WHERE prestudent_id=ps.prestudent_id AND tbl_studiensemester.ende>'.$this->db_add_param($datum).')
+ AND priorisierung = (SELECT priorisierung FROM public.tbl_prestudent
+ WHERE person_id = pers.person_id
+ AND get_rolle_prestudent (ps.prestudent_id,NULL) IN (\'Interessent\',\'Bewerber\',\'Wartender\',\'Aufgenommener\')
+ ORDER BY priorisierung ASC LIMIT 1)
+ ORDER BY nachname,vorname';
+
+ if(!$this->db_query($sql_query))
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+
+ $this->num_rows=0;
+
+ while($row = $this->db_fetch_object())
+ {
+ $ps=new prestudent();
+ $ps->prestudent_id = $row->prestudent_id;
+ $ps->person_id = $row->person_id;
+ $ps->reihungstest_id = $row->reihungstest_id;
+ $ps->titelpost = $row->titelpost;
+ $ps->titelpre = $row->titelpre;
+ $ps->nachname = $row->nachname;
+ $ps->vorname = $row->vorname;
+ $ps->gebdatum = $row->gebdatum;
+ $ps->studiengang_kz = $row->studiengang_kz;
+ $this->result[]=$ps;
+ $this->num_rows++;
+ }
+ return true;
+ }
+
/**
* Laedt über einen Prestudenten alle anderen Prestudenten einer Person, die aktuell an STG interessiert sind.
* @integer $prestudent_id Prestudent ID, über die alle weiteren Prestudenten ermittelt werden sollen.
diff --git a/vilesci/stammdaten/auswertung_fhtw.php b/vilesci/stammdaten/auswertung_fhtw.php
index a47230087..e38be43bf 100644
--- a/vilesci/stammdaten/auswertung_fhtw.php
+++ b/vilesci/stammdaten/auswertung_fhtw.php
@@ -562,10 +562,9 @@ if ($testende)
';
$mailtext .= 'Der Reihungstest vom ' . $datum_obj->convertISODate($reihungstest->datum) . ' um ' . $datum_obj->formatDatum($reihungstest->uhrzeit, 'H:i') . ' Uhr ist beendet.';
- $mailtext .= ' Es haben '.$anzahl.' Person(en) aus dem Studiengang '.$stg->kuerzel.'-'.$orgForm.' teilgenommen';
- $mailtext .= ' Sie finden die Auswertung unter dem folgendem Link:';
+ $mailtext .= ' Es haben '.$anzahl.' Person(en) aus dem Studiengang '.$stg->kuerzel.'-'.$orgForm.' teilgenommen.';
$mailtext .= '
Link zur Auswertung';
-
+ $mailtext .= '
Link zur Pivot-Tabelle für die Priorisierung';
$mailtext .= ' |
@@ -643,7 +642,7 @@ if (isset($_POST['method']) && $_POST['method'] == 'addPerson')
if ($row->bewerbung_abgeschicktamum != '' && $row->bestaetigtam != '' && $row->studienplan_id != '')
{
$studienplan = $row->studienplan_id;
- $break;
+ break;
}
}
@@ -1154,7 +1153,7 @@ if (isset($_REQUEST['reihungstest']))
JOIN PUBLIC.tbl_person ON (tbl_rt_person.person_id = tbl_person.person_id)
JOIN PUBLIC.tbl_prestudent ps ON (ps.person_id = tbl_rt_person.person_id)
JOIN PUBLIC.tbl_reihungstest rt ON (tbl_rt_person.rt_id = rt.reihungstest_id)
- JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id)
+ JOIN PUBLIC.tbl_prestudentstatus pss USING (prestudent_id)
JOIN public.tbl_studiengang ON (ps.studiengang_kz = tbl_studiengang.studiengang_kz)
LEFT JOIN bis.tbl_zgv ON (ps.zgv_code = tbl_zgv.zgv_code)
LEFT JOIN PUBLIC.tbl_ort ON (tbl_rt_person.ort_kurzbz = tbl_ort.ort_kurzbz)
@@ -1196,6 +1195,20 @@ if (isset($_REQUEST['reihungstest']))
{
$query .= " AND ps.prestudent_id=" . $db->db_add_param($prestudent_id, FHC_INTEGER);
}
+ if ($orgform_kurzbz != '' && $studiengang != '')
+ {
+ $query .= " AND tbl_ablauf.studienplan_id=(
+ SELECT studienplan_id FROM lehre.tbl_studienplan
+ JOIN lehre.tbl_studienordnung USING (studienordnung_id)
+ WHERE studiengang_kz=".$db->db_add_param($studiengang, FHC_INTEGER)."
+ AND tbl_studienplan.orgform_kurzbz = ".$db->db_add_param($orgform_kurzbz)."
+ AND tbl_studienplan.aktiv
+ AND tbl_studienordnung.status_kurzbz='approved'
+ AND ((SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=tbl_studienordnung.gueltigvon) <= now()
+ OR tbl_studienordnung.gueltigvon IS NULL)
+ AND ((SELECT ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=tbl_studienordnung.gueltigbis) >= now() OR tbl_studienordnung.gueltigbis IS NULL)
+ ORDER BY studienplan_id DESC LIMIT 1)";
+ }
//$query .= " AND nachname='Al-Mafrachi'";
$query .= " ORDER BY tbl_ablauf.studiengang_kz, tbl_ablauf.semester, reihung";
@@ -1403,6 +1416,9 @@ if (isset($_REQUEST['reihungstest']))
}
if ($orgform_kurzbz != '')
{
+ //$query .= " AND tbl_prestudentstatus.orgform_kurzbz=" . $db->db_add_param($orgform_kurzbz);
+ //$query .= " AND tbl_ablauf.studienplan_id = tbl_prestudentstatus.studienplan_id";
+ //$query .= " AND tbl_ablauf.studienplan_id = 5";
$query .= " AND tbl_studienplan.orgform_kurzbz=" . $db->db_add_param($orgform_kurzbz);
}
//$query .= " AND nachname='Al-Mafrachi'";
@@ -1410,6 +1426,7 @@ if (isset($_REQUEST['reihungstest']))
vorname,
person_id
";/*print_r($query);*/
+ //echo '', var_dump($query), '
';
if (!($result = $db->db_query($query)))
{
die($db->db_last_error());