mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 09:52:22 +00:00
Testtool Login shows applicants only once (Only application of first priority) -> Only for FHTW!
New function getFirstPrioPrestudentRT in prestudent.class.php Link to pivot-table in mail to assistants auswertung_fhtw berücksichtigt nun orgformen (studienpläne) aus tbl_ablauf
This commit is contained in:
+13
-2
@@ -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 '<tr>';
|
||||
$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 '<td style="width: 50%;">'. $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). '</td>';
|
||||
if($ps_obj->ausbildungssemester == '1')
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -562,10 +562,9 @@ if ($testende)
|
||||
<tr>
|
||||
<td style="padding-left: 8%; padding-right: 8%; padding-top: 5%; padding-bottom: 5%; font-family: verdana, sans-serif; font-size: 1em; border-bottom: 2px solid #000000;">';
|
||||
$mailtext .= 'Der Reihungstest vom ' . $datum_obj->convertISODate($reihungstest->datum) . ' um ' . $datum_obj->formatDatum($reihungstest->uhrzeit, 'H:i') . ' Uhr ist beendet.';
|
||||
$mailtext .= '<br> Es haben <b>'.$anzahl.'</b> Person(en) aus dem Studiengang '.$stg->kuerzel.'-'.$orgForm.' teilgenommen';
|
||||
$mailtext .= '<br> Sie finden die Auswertung unter dem folgendem Link:';
|
||||
$mailtext .= '<br> Es haben <b>'.$anzahl.'</b> Person(en) aus dem Studiengang '.$stg->kuerzel.'-'.$orgForm.' teilgenommen.';
|
||||
$mailtext .= '<br><br><a href="' . APP_ROOT . 'vilesci/stammdaten/auswertung_fhtw.php?reihungstest=' . $reihungstest->reihungstest_id . '&studiengang=' . $studiengang_kz . '&orgform_kurzbz=' . $orgForm . '">Link zur Auswertung</a>';
|
||||
|
||||
$mailtext .= '<br><br><a href="' . APP_ROOT . 'addons/reports/cis/vorschau.php?statistik_kurzbz=BewerberReihungstestPriorisierung&debug=true">Link zur Pivot-Tabelle für die Priorisierung</a>';
|
||||
$mailtext .= '</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -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 '<pre>', var_dump($query), '</pre>';
|
||||
if (!($result = $db->db_query($query)))
|
||||
{
|
||||
die($db->db_last_error());
|
||||
|
||||
Reference in New Issue
Block a user