first commit
This commit is contained in:
127
func_terminwahl.php
Executable file
127
func_terminwahl.php
Executable file
@ -0,0 +1,127 @@
|
||||
<?php
|
||||
#require_once("config.inc.php");
|
||||
|
||||
function terminwahl($tm_id, $vorname, $nachname, $gebdat_form, $wh_test, $id_wied, $tan_wied)
|
||||
{
|
||||
$db = dbconnect();
|
||||
|
||||
# Checken, zu welchem Ausbildungsjahr das gewählte Testdatum gehört:
|
||||
$query_curtermin = $db->query("SELECT date_format(tm_datum, '%Y-%m-%d') tm_datum
|
||||
FROM bpm_termine
|
||||
WHERE tm_id = $tm_id
|
||||
");
|
||||
$row_curtermin = $query_curtermin->fetch_array();
|
||||
|
||||
$query_curausbjahr = $db->query("SELECT ausbildungsbeginn
|
||||
FROM bpm_stichtage
|
||||
WHERE ende >= '$row_curtermin[tm_datum]'
|
||||
ORDER BY beginn ASC
|
||||
LIMIT 1
|
||||
");
|
||||
$row_curausbjahr = $query_curausbjahr->fetch_array();
|
||||
$curr_jahr = $row_curausbjahr['ausbildungsbeginn'];
|
||||
|
||||
if ($wh_test == 0) {
|
||||
$query_doppelt = $db->query("SELECT id
|
||||
FROM bpm_kandidat
|
||||
WHERE nachname='$nachname'
|
||||
AND vorname ='$vorname'
|
||||
AND gebdat='$gebdat_form'
|
||||
AND id LIKE '%$curr_jahr'");
|
||||
$row_doppelt = $query_doppelt->fetch_array();
|
||||
|
||||
# Bei Wiederholungskandidat muss hier das übersprungen werden und gewährleistet werden, dass er nicht ein drittes Mal sich bewirbt
|
||||
# Außerdem muss das Testergebnis herangezogen werden, ob er nicht bestanden hat
|
||||
if ($row_doppelt['id'] != '') {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if ($wh_test == 1) {
|
||||
# Falls jemand mal eine doppelte ID haben sollte, dann liegt das daran, dass er eine WiederholungsID vom Vorjahr eingegeben hat
|
||||
# und sich mehrfach in einer neuen Bewerbungsphase eingeloggt hat
|
||||
|
||||
|
||||
# War der Kandidat bereits da mit durchgefallenem Test
|
||||
$query_bes = $db->query("SELECT sum(bestanden) bestanden
|
||||
FROM bpm_kandidat a, bpm_ergebnisse b, bpm_term_kand c, bpm_tanpool d
|
||||
WHERE a.ka_id = b.ka_id
|
||||
AND a.ka_id = c.ka_id
|
||||
AND c.tp_id = d.tp_id
|
||||
AND a.id = '$id_wied'
|
||||
AND b.bestanden='1'
|
||||
AND id LIKE '%$curr_jahr'");
|
||||
|
||||
$row_bes = $query_bes->fetch_array();
|
||||
|
||||
if ($row_bes['bestanden'] > 0) {
|
||||
return 3;
|
||||
} else {
|
||||
|
||||
|
||||
$query_anz = $db->query("SELECT count(*) Anz
|
||||
FROM bpm_kandidat a, bpm_ergebnisse b, bpm_term_kand c, bpm_tanpool d
|
||||
WHERE a.ka_id = b.ka_id
|
||||
AND a.ka_id = c.ka_id
|
||||
AND c.tp_id = d.tp_id
|
||||
AND a.id = '$id_wied'
|
||||
AND b.bestanden='1'
|
||||
AND id LIKE '%$curr_jahr'");
|
||||
|
||||
$row_anz = $query_anz->fetch_array();
|
||||
|
||||
if ($row_anz['Anz'] == '1') {
|
||||
# Test wurde bereis einmal wiederholt
|
||||
return 3;
|
||||
} else {
|
||||
# Wie oft ist Kandidat schon durchgefallen
|
||||
$query_anz2 = $db->query("SELECT count(*) Anz
|
||||
FROM bpm_kandidat a, bpm_ergebnisse b, bpm_term_kand c, bpm_tanpool d
|
||||
WHERE a.ka_id = b.ka_id
|
||||
AND a.ka_id = c.ka_id
|
||||
AND c.tp_id = d.tp_id
|
||||
AND a.id = '$id_wied'
|
||||
AND b.bestanden='0'
|
||||
AND d.tan=b.tan
|
||||
AND id LIKE '%$curr_jahr'");
|
||||
|
||||
$row_anz2 = $query_anz2->fetch_array();
|
||||
# Wenn Anzahl 0, dann darf er wiederholen. >1 gibts nicht, da es hier geblockt wird
|
||||
if ($row_anz2['Anz'] == 2) {
|
||||
return 4;
|
||||
} else {
|
||||
|
||||
#ID Kombination prüfen. Stimmen Logindaten aus erstem Test
|
||||
$query_anz1 = $db->query("SELECT count(*) Anz
|
||||
FROM bpm_kandidat a, bpm_term_kand c, bpm_tanpool d
|
||||
WHERE a.ka_id = c.ka_id
|
||||
AND c.tp_id = d.tp_id
|
||||
AND a.id = '$id_wied'
|
||||
AND d.tan = '$tan_wied'");
|
||||
$row_anz1 = $query_anz1->fetch_array();
|
||||
# wenn hier nichts gefunden wird, dann stimmt TAN Wiederholung
|
||||
|
||||
# Bei Wiederholungskandidat muss hier das übersprungen werden und gewährleistet werden, dass er nicht ein drittes Mal sich bewirbt
|
||||
# Außerdem muss das Testergebnis herangezogen werden, ob er nicht bestanden hat
|
||||
if ($row_anz1['Anz'] == '0') {
|
||||
return 2;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
# Kein Wiederholer
|
||||
# echo terminwahl(7, 'Alexander', 'Schwarz', '1979-08-15', '0', '', '');
|
||||
|
||||
#Wiederholer in derselben Bewerbungsphase
|
||||
#echo terminwahl(7, 'Alexander', 'Schwarz', '1979-08-15', '1', 'SCHWAL1508197901-2022', 'K3NN');
|
||||
|
||||
|
||||
?>
|
Reference in New Issue
Block a user