gestione gare pubbliche
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 

51 righe
2.4 KiB

<?
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
$error = true;
$id_modulo = "provvisoria";
$cmd_info = gara::getInfoModulo($id_modulo);
if (!empty($_POST) && !empty($_SESSION["utente"]) && $_SESSION["utente"]->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(); });
<?
} else {
?>
swal({title:js_dict["error-msg"],html:"<?= $errors ?>",type:"error"}).then(function(){ window.location.reload(); });
<?
}
}
}
}
if ($error) {
header('HTTP/1.0 403 Forbidden');
die();
}
?>