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.
 
 
 
 
 

88 righe
3.5 KiB

<?
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
$error = true;
$id_modulo = "definitiva";
$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()) {
$codice_round = $_POST["codice_round"] ?? NULL;
$gara = gara::init($_POST["codice"],$codice_round);
if (!empty($gara) && $gara->setLotto($_POST["codice_lotto"])) {
$record = $gara->info;
$round = $gara->round;
$lotto = $gara->lotto;
$lock = $gara->checkLock($cmd_info["id"]);
$importoAggiudicazione = $_POST["importoAggiudicazione"] ?? null;
if($importoAggiudicazione <= 0 && !$lock) {
swalDie("Impossibile aggiudicare una gara ad importo 0.", "Attenzione", "reload", "error", false);
}
$individuatoAggiudicatario = false;
if (!$lock) {
$individuatoAggiudicatario = true;
if ($gara->selezioneManualeAggiudicatari()) {
$individuatoAggiudicatario = false;
foreach($_POST["aggiudicatario"] AS $id => $aggiudicatario) {
if (!empty($gara->getPartecipante($id))) {
$salva = new salva();
$salva->debug = false;
$salva->nome_tabella = "r_partecipanti_gare";
$salva->operazione = "UPDATE";
$salva->oggetto = ["codice"=>$id,"aggiudicatario"=>$aggiudicatario];
$salva->save();
if ($aggiudicatario == "S") {
$individuatoAggiudicatario = true;
}
}
}
}
}
$gara->saveExtraInfo("showPartecipanti-{$gara->round["codice"]}",!empty($_POST["pubblicaPartecipanti"]),"lotto");
$gara->saveExtraInfo("estremi_definitiva",$_POST["extra"]["estremi_definitiva"],"lotto");
if ($individuatoAggiudicatario) {
$_POST["codice"] = $lotto["codice"];
$salva = new salva();
$salva->debug = false;
$salva->nome_tabella = "b_gare_lotti";
$salva->operazione = "UPDATE";
$salva->oggetto = $_POST;
$salva->expect = array("codice","importoAggiudicazione");
$codice = $salva->save();
if ($codice !== false) {
$error = false;
}
} else {
$error = false;
if (!$lock) {
?>
swal({title:js_dict.error,html:"<?= __("Nessun aggiudicatario indicato") ?>",type:"error"});
<?
die();
}
}
if (!$error) {
if (!empty($_POST["extra"]["estremi_definitiva"])) {
$gara->updateStatoLotto("35");
}
$gara->valutaStatoGenerale();
if (!empty($gara->lotto["cig"]) && !$lock) {
anac::updateDati190($gara->lotto["cig"],"190importoAggiudicato",$_POST["importoAggiudicazione"]);
$gara->updatePartecipantiANAC();
}
$gara->addToLog("UPDATE",__("Aggiudicazione definitiva") . " " . __("Lotto") . " " . $gara->lotto["numero"]);
if(!empty($_POST['marketplace']) && $_POST['marketplace'] == true){
return ['save' => true, 'codice' => $codice];
}else{
?>
swal({title:js_dict["success-msg"],type:"success"}).then(function(){ window.location.href="/backend/gare/panel.php?codice=<?= $record["codice"] ?>&codice_round=<?= $round["codice"] ?>"; });
<?
}
}
}
}
if ($error) {
header('HTTP/1.0 403 Forbidden');
die();
}
?>