165 lines
6.6 KiB
PHP
Executable File
165 lines
6.6 KiB
PHP
Executable File
<?php
|
|
|
|
class gutachter {
|
|
|
|
function gutachter_status($gid){
|
|
global $db;
|
|
# Berechnen, ob bereits entschieden ist, da die Mehrzahl der Stimmen bereits abgegeben wurde
|
|
/*
|
|
1) Prüfen, wie viele Ausschussmitglieder es gibt (gleich die Hälfte ermitteln)
|
|
2) Prüfen, wie viele Ausschussmitglieder mit ja zugestimmt haben
|
|
3) Prüfen, wie viele Ausschussmitglieder nicht abgestimmt haben und die Frist bereits verstrichen ist
|
|
4) 2 und 3 addieren
|
|
5) Wenn die Anzahl 4 > Hälfte der Ausschussmitglieder ist und abgabefrist für Gutachter nicht gesetzt,
|
|
dann wurde der Gutachter angenommen, sonst ist der Status "Warten auf Gutachter"
|
|
6) Ist die Anzahl 4 < Hälfte der Ausschussmitglieder und Frist ist abgelaufen
|
|
Prüfen, ob für den Gutachter bereits ein Verlauf gesetzt wurde
|
|
Wenn nicht -> Verlauf setzen (abgelehnt)
|
|
*/
|
|
|
|
#1
|
|
$result_anz_aus = $db->query("SELECT count(*)/2 Anz
|
|
FROM imt_rollen_user_zuord
|
|
WHERE roid = '4'"); # 4 ist id RollenID des Ausschusses
|
|
$row_anz_aus = $result_anz_aus->fetch_array();
|
|
|
|
#2
|
|
$result_ja = $db->query("SELECT count(*) Anz
|
|
FROM imt_ausschuss_gutachter_erg
|
|
WHERE gid = '$gid'
|
|
AND ergebnis = 'Y'");
|
|
$row_ja = $result_ja->fetch_array();
|
|
|
|
|
|
#3
|
|
$result_frist = $db->query("SELECT count(*) Anz
|
|
FROM imt_gutachter a
|
|
WHERE a.gid = '$gid'
|
|
AND a.frist_datum < date_format( now( ) , '%Y-%m-%d' )
|
|
");
|
|
$row_frist = $result_frist->fetch_array();
|
|
|
|
if($row_frist[Anz] > 0){
|
|
# Wenn Frist schon abgelaufen ist, dann die Gutachter mitzählen, die versäumt haben eine Stimme abzugeben
|
|
$result_ja_vers = $db->query("SELECT count(*) Anz
|
|
FROM imt_rollen_user_zuord a
|
|
WHERE a.roid = '4'
|
|
AND a.imtuid NOT IN (SELECT imtuid FROM imt_ausschuss_gutachter_erg WHERE gid='$gid')
|
|
");
|
|
$row_ja_vers = $result_ja_vers->fetch_array();
|
|
$versaeumt = $row_ja_vers[Anz];
|
|
}else{
|
|
$versaeumt = 0;
|
|
}
|
|
|
|
#4
|
|
$anz_zugestimmt = $row_ja[Anz]+$versaeumt;
|
|
|
|
|
|
$result_name = $db->query("SELECT vorname, nachname
|
|
FROM imt_gutachter a, imt_user b
|
|
WHERE a.imtuid = b.imtuid
|
|
AND a.gid = '$gid'
|
|
");
|
|
|
|
$row_name = $result_name->fetch_array();
|
|
|
|
if($anz_zugestimmt > $row_anz_aus[Anz]){
|
|
#5
|
|
|
|
$result_gafrist = $db->query("SELECT count(*) Anz
|
|
FROM imt_gutachter
|
|
WHERE frist_datum_abgabe != '0000-00-00'
|
|
AND gid = '$gid'
|
|
");
|
|
|
|
$row_gafrist = $result_gafrist->fetch_array();
|
|
|
|
if($row_gafrist[Anz] == 0){
|
|
# Wenn dem Gutachter keine Frist gesetzt wurde, dann wurde er nur vom Ausschuss zugestimmt
|
|
return 1;
|
|
|
|
}else{
|
|
# Warten auf Gutachter, Frist läuft noch: stellung_dat == 0000-00-00 00:00:00 und frist_datum_abgabe <= date_format( now( ) , '%Y-%m-%d' )
|
|
# Warten auf Gutachter, Frist abgelaufen: stellung_dat == 0000-00-00 00:00:00 und frist_datum_abgabe > date_format( now( ) , '%Y-%m-%d' )
|
|
# Gutachten abgegeben, Frist läuft noch: stellung_dat != 0000-00-00 00:00:00 und frist_datum_abgabe <= date_format( now( ) , '%Y-%m-%d' )
|
|
# Gutachten abgegeben, Frist abgelaufen: stellung_dat != 0000-00-00 00:00:00 und frist_datum_abgabe > date_format( now( ) , '%Y-%m-%d' )
|
|
|
|
$result_stelldat1 = $db->query("SELECT stellung_dat
|
|
FROM imt_gutachter
|
|
WHERE gid = '$gid'
|
|
");
|
|
$row_stelldat1 = $result_stelldat1->fetch_array();
|
|
|
|
$result_fristabg1 = $db->query("SELECT count(*) Anz
|
|
FROM imt_gutachter a
|
|
WHERE a.gid = '$gid'
|
|
AND a.frist_datum_abgabe < date_format( now( ) , '%Y-%m-%d' )
|
|
");
|
|
$row_fristabg1 = $result_fristabg1->fetch_array();
|
|
|
|
if($row_stelldat1[stellung_dat] == '0000-00-00 00:00:00' AND $row_fristabg1[Anz] == 0){
|
|
return 2;
|
|
}
|
|
|
|
if($row_stelldat1[stellung_dat] == '0000-00-00 00:00:00' AND $row_fristabg1[Anz] == 1){
|
|
return 3;
|
|
}
|
|
|
|
if($row_stelldat1[stellung_dat] != '0000-00-00 00:00:00' AND $row_fristabg1[Anz] == 0){
|
|
return 4;
|
|
}
|
|
|
|
if($row_stelldat1[stellung_dat] != '0000-00-00 00:00:00' AND $row_fristabg1[Anz] == 1){
|
|
return 5;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}else{
|
|
#6
|
|
|
|
if($row_frist[Anz] > 0){ # Frist ist abgelaufen
|
|
return 6;
|
|
}else{
|
|
return 7;
|
|
}
|
|
}
|
|
}
|
|
|
|
function gutachter_status_klartext($gid, $status){
|
|
global $db;
|
|
if($status == 1){
|
|
#return "Ausschuss zugestimmt";
|
|
return "Gutachter anschreiben";
|
|
}
|
|
|
|
if($status == 2){
|
|
return "Warten auf Gutachter, Frist läuft noch";
|
|
}
|
|
|
|
if($status == 3){
|
|
return "Warten auf Gutachter, Frist abgelaufen";
|
|
}
|
|
|
|
if($status == 4){
|
|
return "<a class='aformlink box' title='Stellungnahme Gutachter' href='ansicht_gutachten.php?gid=$gid'>Gutachten abgegeben</a>, Frist läuft noch";
|
|
}
|
|
|
|
if($status == 5){
|
|
return "<a class='aformlink box' title='Stellungnahme Gutachter' href='ansicht_gutachten.php?gid=$gid'>Gutachten abgegeben</a>, Frist abgelaufen";
|
|
}
|
|
|
|
if($status == 6){
|
|
return "Ausschuss abgelehnt";
|
|
}
|
|
|
|
if($status == 7){
|
|
return "Warten auf Ausschuss";
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
?>
|