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.
 
 
 
 
 

112 righe
5.5 KiB

<?
if (isset($this) && is_a($this,"anac") && !empty($cig)) {
$codice_gestore = $this->info["codice_gestore"];
$codice_ente = $this->info["codice_ente"];
$sql = "SELECT b_concorsi.codice, b_concorsi_lotti.codice AS codice_lotto
FROM b_concorsi
JOIN b_concorsi_lotti ON ON b_concorsi_lotti.codice_concorso = b_concorsi.codice
WHERE b_concorsi_lotti.cig = :cig ";
$codici = $this->db->go($sql,[":cig"=>$cig]);
if ($codici->rowCount() > 0) {
while($id = $codici->fetch(PDO::FETCH_ASSOC)) {
$concorso = concorso::init($id["codice"]);
if (!empty($concorso)) {
$concorso->setLotto($id["codice_lotto"]);
// scheda pubblicazione
$pubblicazione = [];
if (!empty($concorso->round["pubblicazione"])) {
$pubblicazione["dataPubblicazione"] = mysql2date($concorso->round["pubblicazione"]);
}
if (!empty($concorso->round["scadenza"])) {
$scadenza = explode(" ",$concorso->round["scadenza"]);
$pubblicazione["dataScadenzaPag"] = mysql2date($scadenza[0]) ?? "";
$pubblicazione["oraScadenza"] = substr($scadenza[1] ?? "",0,5);
}
$data["pubblicazione"][] = ["source"=>"concorsi","data"=>$pubblicazione];
// dati 190
$xml190 = [];
$xml190["190importoAggiudicato"] = ($concorso->lotto["importoAggiudicazione"] > 0) ? number_format($concorso->lotto["importoAggiudicazione"],2,".","") : "";
// scheda dati comuni
$data["190"][] = ["source"=>"concorsi","data"=>$xml190];
if ($concorso->lotto["stato"] == 95) {
$data["comuni"][] = ["source"=>"concorsi","data"=>["ESITO_PROCEDURA"=>"3"]];
} else if ($concorso->lotto["stato"] == 90) {
$data["comuni"][] = ["source"=>"concorsi","data"=>["ESITO_PROCEDURA"=>"2"]];
} else if ($concorso->lotto["stato"] > 100) {
$data["comuni"][] = ["source"=>"concorsi","data"=>["ESITO_PROCEDURA"=>"1"]];
}
// scheda appalto
$partecipanti = $concorso->getPartecipanti();
$esclusi = 0;
$aggiudicatari = [];
if (!empty($partecipanti)) {
$data["partecipanti"][] = ["source"=>"concorsi","data"=>$concorso->arrangePartecipantiForANAC($partecipanti)];
foreach($partecipanti AS $partecipante) {
if ($partecipante["escluso"] == "S") { $esclusi++; }
if ($partecipante["aggiudicatario"] == "S") { $aggiudicatari[] = $partecipante; }
}
$appalto = [];
$appalto["NUM_IMPRESE_OFFERENTI"] = count($partecipanti);
$appalto["NUM_OFFERTE_AMMESSE"] = count($partecipanti) - $esclusi;
$appalto["NUM_OFFERTE_ESCLUSE"] = $esclusi;
$dati = $concorso->getExtraInfo()["round"] ?? [];
if (!empty($dati["estremi_definitiva"])) {
preg_match('/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/',$dati["estremi_definitiva"],$dataAggiudicazione);
}
$appalto["DATA_VERB_AGGIUDICAZIONE"] = (!empty($dataAggiudicazione[0])) ? $dataAggiudicazione[0] : "";
$appalto["DATA_SCADENZA_PRES_OFFERTA"] = $pubblicazione["dataScadenzaPag"] ?? null;
$appalto["IMPORTO_AGGIUDICAZIONE"] = $xml190["190importoAggiudicato"] ?? null;
$appalto["IMPORTO_SERVIZI"] = $concorso->round["prezzoRiferimento"];
if ($concorso->round["numero"] > 1) { $appalto["DATA_INVITO"] = mysql2date($concorso->round["pubblicazione"]); }
$data["appalto"][] = ["source"=>"concorsi","data"=>$appalto];
// scheda aggiudicatari
if (!empty($aggiudicatari)) {
$indiceRaggruppamento = 0;
foreach($aggiudicatari AS $tmp) {
$aggiudicatario = [];
$aggiudicatario["ID_TIPOAGG"] = 3;
$aggiudicatario["RUOLO"] = "";
$aggiudicatario["ID_GRUPPO"] = "";
$aggiudicatario["CODICE_FISCALE_AGGIUDICATARIO"] = $tmp["codice_fiscale"];
$aggiudicatario["CODICE_STATO"] = $tmp["stato"];
$raggruppamento = $concorso->getRaggruppamento($tmp["codice"]);
if (!empty($raggruppamento)) {
$indiceRaggruppamento++;
$aggiudicatario["RUOLO"] = 1;
$aggiudicatario["ID_GRUPPO"] = $indiceRaggruppamento;
$first = true;
foreach($raggruppamento AS $tmp) {
if ($first) {
$first = false;
if (stripos($tmp["ruolo"],"cons") !== false) {
$aggiudicatario["ID_TIPOAGG"] = 2;
} else {
$aggiudicatario["ID_TIPOAGG"] = 1;
}
$data["aggiudicatari"][] = ["source"=>"concorsi","data"=>$aggiudicatario];
}
$membro = [];
$membro["ID_TIPOAGG"] = $aggiudicatario["ID_TIPOAGG"];
$membro["RUOLO"] = 2;
$membro["ID_GRUPPO"] = $indiceRaggruppamento;
$membro["CODICE_FISCALE_AGGIUDICATARIO"] = $tmp["codice_fiscale_impresa"];
$membro["CODICE_STATO"] = $tmp["stato"];
$data["aggiudicatari"][] = ["source"=>"concorsi","data"=>$membro];
}
} else {
$data["aggiudicatari"][] = ["source"=>"concorsi","data"=>$aggiudicatario];
}
}
}
}
}
}
}
}
?>