ideenmanagement/func_gutachter_status.php
2023-03-09 11:22:13 +01:00

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&auml;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&auml;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";
}
}
}
?>