first commit
This commit is contained in:
165
func_gutachter_status.php
Executable file
165
func_gutachter_status.php
Executable file
@ -0,0 +1,165 @@
|
||||
<?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";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user