permission($cmd_info["modulo_riferimento"]) && $_SESSION["utente"]->permission($radice,$_POST["codice"],$id_modulo) && tokenVerify() && $_POST["codice_lotto"]) { $gara = gara::init($_POST["codice"],$_POST["codice_round"]); if (!empty($gara) && $gara->setLotto($_POST["codice_lotto"])) { $record = $gara->info; $lotto = $gara->lotto; $round = $gara->round; $lock = $gara->checkLock($cmd_info["id"]); if (!$lock) { $sql = "SELECT * FROM r_partecipanti_gare WHERE codice_round = :codice AND codice_lotto = :lotto AND conferma = 'S' AND (escluso = 'N' OR esclusione_automatica = 'S')"; $risValide = $pdo->go($sql,array(":codice"=>$round["codice"],":lotto"=>$lotto["codice"])); $offerteMinime = $gara->getRisposteElaborazione()["partecipantiMinimi"] ?? 1; $error = false; if ($risValide->rowCount() >= $offerteMinime) { $algoritmi = $gara->getAlgoritmoAnomalia(); if (!empty($algoritmi) && !empty($_POST["algoritmo"])) { $errors = $gara->calcolaAnomalia($_POST["algoritmo"],$_POST["set-anomalia"] ?? []); } } else { $errors = __("Numero di offerte valide non sufficiente per procedere all'aggiudicazione"); } if (empty($errors)) { if (!empty($_POST["aggiudicatari"])) { $aggiudicatari = (int) $_POST["aggiudicatari"]; } else { $aggiudicatari = $gara->getExtraInfo()["lotto"]["aggiudicatari-{$gara->round["codice"]}"] ?? 1; } $gara->aggiudica($aggiudicatari); $gara->addToLog("UPDATE",__("Proposta di aggiudicazione") . " " . __("Lotto") . " " . $gara->lotto["numero"]); $gara->updateStatoLotto(30,true); ?> swal({title:js_dict["success-msg"],type:"success"}).then(function(){ window.location.reload(); }); swal({title:js_dict["error-msg"],html:"",type:"error"}).then(function(){ window.location.reload(); });