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

113 lines
4.8 KiB
PHP
Executable File

<?php
require_once("func_verlauf.php");
function gutachter_entscheid($uid, $gid, $vid){
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, dann wurde der Gutachter angenommen
Prüfen, ob für den Gutachter bereits ein Verlauf gesetzt wurde
Wenn nicht -> Verlauf setzen (angenommen)
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
$text = "Ausschuss hat Gutachter $row_name[vorname] $row_name[nachname] zugestimmt";
$result_verlauf = $db->query("SELECT count(*) Anz
FROM imt_verlauf
WHERE vid = '$vid'
AND status = '105'
AND verlauf='$text'
");
$row_verlauf = $result_verlauf->fetch_array();
if($row_verlauf[Anz] == 0){
# Kein Eintrag in Verlauf, da Ausschuss nicht mehr über Gutachter abstimmt
# verlauf($uid, $vid, "$text", 105, '');
##ggf Mail an Henzel
}
}else{
#6
if($row_frist[Anz] > 0){ # Frist ist abgelaufen
$text = "Ausschuss hat Gutachter $row_name[vorname] $row_name[nachname] abgelehnt";
$result_verlauf = $db->query("SELECT count(*) Anz
FROM imt_verlauf
WHERE vid = '$vid'
AND status = '105'
AND verlauf='$text'
");
$row_verlauf = $result_verlauf->fetch_array();
if($row_verlauf[Anz] == 0){
$aend_dat = date("Y-m-d H:i:s");
$sql = $db->query("UPDATE imt_gutachter SET ablehn_dat='$edit_hinweis_eigen' WHERE gid='$gid'");
# Kein Eintrag in Verlauf, da Ausschuss nicht mehr über Gutachter abstimmt
# verlauf($uid, $vid, "$text", 105,'');
}
}
}
}
?>