getPartecipantiForAnomalia(); usort($partecipanti,"sortPartecipantiTotale"); if (!empty($partecipanti)) { $numero_partecipanti = count($partecipanti); $infoAnomalia = []; $algoritmi = []; $algoritmi[] = "a"; $algoritmi[] = "b"; $algoritmi[] = "c"; $algoritmi[] = "d"; $algoritmi[] = "e"; $coefficienti = []; $coefficienti[] = "0.6"; $coefficienti[] = "0.7"; $coefficienti[] = "0.8"; $coefficienti[] = "0.9"; if ($settings["lettera"] == "z") { shuffle($algoritmi); $selezione = rand(0,4); $settings["lettera"] = $algoritmi[$selezione]; $infoAnomalia["sequenza_sorteggio_lettera"] = json_encode($algoritmi); $infoAnomalia["selezione_sorteggio_lettera"] = json_encode($selezione); } if ($settings["lettera"] === "e" && $settings["coefficiente"] == "z") { shuffle($coefficienti); $selezione = rand(0,4); $settings["coefficiente"] = $coefficienti[$selezione]; $infoAnomalia["sequenza_sorteggio_coefficiente"] = json_encode($coefficienti); $infoAnomalia["selezione_sorteggio_coefficiente"] = json_encode($selezione); } if (in_array($settings["lettera"],$algoritmi) !== false) { $esclusione_automatica = $this->getRisposteElaborazione()["esclusioneAutomatica"] ?? "N"; if ($esclusione_automatica == "S") { $esclusione_automatica = true; if ($numero_partecipanti <= 10 || (strpos($this->info["tipologia"],"L") !== false && $this->info["prezzoRiferimento"] >= 5548000) || (strpos($this->info["tipologia"],"L") === false && $this->info["prezzoRiferimento"] >= 221000)) { $esclusione_automatica = false; } } else { $esclusione_automatica = false; } $path = __DIR__."/" . substr($settings["lettera"],0,1) . ".php"; if (file_exists($path)) { include($path); if (isset($soglia_anomalia)) { $infoAnomalia["esclusione_automatica"] = $esclusione_automatica; $extraInfo = ["set-anomalia-{$this->round["codice"]}"=>json_encode($settings,JSON_PRETTY_PRINT),"info-anomalia-{$this->round["codice"]}"=>json_encode($infoAnomalia,JSON_PRETTY_PRINT)]; reset($partecipanti); $salva = new salva(); $salva->debug = false; $salva->nome_tabella = "r_partecipanti_gare"; $salva->operazione = "UPDATE"; foreach($partecipanti AS $partecipante) { if ($partecipante["totale"] >= $soglia_anomalia) { $partecipante["anomalia"] = "S"; $partecipante["a_facoltativa"] = "N"; $partecipante["motivazione_anomalia"] = "Calcolo automatico"; if ($esclusione_automatica) { $partecipante["escluso"] = "S"; $partecipante["esclusione_automatica"] = "S"; $partecipante["motivazione"] = "Calcolo automatico anomalia"; } $salva->oggetto = $partecipante; $salva->save(); } } $errors = ""; } else { if (empty($errors)) { $errors = __("Errore nel calcolo dell'anomalia"); } } } else { $errors = __("Algoritmo di calcolo non trovato"); } } else { $errors = __("Algoritmo errato"); } } else { $errors = __("Nessun partecipante ammesso"); } } ?>