info["codice"]; $vocabolario["gestore"] = Ente::getInfoFromID($_SESSION["ente"]->codice)[0] ?? []; $vocabolario["beneficiario"] = Ente::getInfoFromID($record["codice_ente"])[0] ?? []; $vocabolario["gara"] = $gara->info; $vocabolario["gara"]["procedura"] = $gara->getProcedura()["descrizioni"][0]["titolo"]; $extraInfo = json_decode($gara->info["extraInfo"],true); if (!empty($extraInfo)) { $vocabolario["gara"] += $extraInfo; } if (!empty($gara->lotto)) { $vocabolario["lotto"] = $gara->lotto; $vocabolario["lotto"]["criterio"] = getCriteri()[$gara->lotto["criterio"]]["titolo"]; $extraInfo = json_decode($gara->lotto["extraInfo"],true); if (!empty($extraInfo)) { $vocabolario["lotto"] += $extraInfo; } } $vocabolario["fase"] = $gara->round; $extraInfo = json_decode($gara->round["extraInfo"],true); if (!empty($extraInfo)) { $vocabolario["fase"] += $extraInfo; } if (!empty($seduta)) { $vocabolario["data_seduta"] = mysql2completedate($seduta["data"]); } $incaricati = $gara->getManagerIncarichi()->getIncaricati(); if (!empty($incaricati)) { foreach($incaricati AS $incaricato) { if ($incaricato["ruolo"] == 14) { // 14: ruolo RUP $vocabolario["gara"]["rup"] = "{$incaricato["extraInfo"]["cognome"]} {$incaricato["extraInfo"]["nome"]}"; } } } $managerSeggio = $gara->getManagerCommissione("seggio"); $vocabolario["gara"]["numero_atto_seggio"] = $managerSeggio->getInfo()["numero_atto"]; $vocabolario["gara"]["data_atto_seggio"] = $managerSeggio->getInfo()["data_atto"]; foreach(cpvManager::getInfo($gara->getCategorieMerceologiche()) AS $cpv) { $vocabolario["gara"]["cpv"] = $cpv["codice_completo"] . " - " . $cpv["IT"]; } $seggio = $managerSeggio->getCommissari(); $firme = ""; if (!empty($seggio)) { ob_start(); foreach($seggio AS $c) { echo "{$c["ruolo"]} - {$c["cognome"]} {$c["nome"]}
"; } $firme = ob_get_clean(); } $vocabolario["seggio"] = $firme; $managerCommissione = $gara->getManagerCommissione("commissione"); $vocabolario["gara"]["numero_atto_commissione"] = $managerCommissione->getInfo()["numero_atto"]; $vocabolario["gara"]["data_atto_commissione"] = $managerCommissione->getInfo()["data_atto"]; $seggio = $managerCommissione->getCommissari(); $firme = ""; if (!empty($commissione)) { ob_start(); foreach($commissione AS $c) { echo "{$c["ruolo"]} - {$c["cognome"]} {$c["nome"]}
"; } $firme = ob_get_clean(); } $vocabolario["commissione"] = $firme; $lotti = $gara->getLotti(); ob_start(); echo ""; $totaleImportoBase = 0; $totaleManodopera = 0; $totaleOneri = 0; foreach($lotti AS $lottoElenco) { $totaleImportoBase += $lottoElenco["importoBase"]; $totaleManodopera += $lottoElenco["importoManodopera"]; $totaleOneri += $lottoElenco["oneriNoRibasso"]; $lottoElenco = gara::formatLotto($lottoElenco); echo ""; } echo "
Numero CIG CUP Oggetto ".__(getTipologieAffidamento(false, $gara->info["timestamp_creazione"])[$gara->info["tipologia"]]["titolo"])." Costo manodopera Oneri non soggetti a ribasso
{$lottoElenco["numero"]} {$lottoElenco["cig"]} {$lottoElenco["cup"]} {$lottoElenco["oggetto"]} {$lottoElenco["importoBase"]} {$lottoElenco["importoManodopera"]} {$lottoElenco["oneriNoRibasso"]}
"; $vocabolario["elencolotti"] = ob_get_clean(); $vocabolario["gara"]["totaleImportoBase"] = number_format($totaleImportoBase,2,",","."); $vocabolario["gara"]["totaleManodopera"] = number_format($totaleImportoBase,2,",","."); $vocabolario["gara"]["totaleOneri"] = number_format($totaleOneri,2,",","."); $criteri = $gara->getMacroCriteri(); if (!empty($criteri)) { ob_start(); echo ""; $totaleTecnico = 0; $totaleEconomico = 0; foreach($criteri AS $criterio) { $sub = $gara->getSubCriteri($criterio["codice"]); $rowspan = ""; if (count($sub) > 1) { $rowspan="rowspan=\"".count($sub)."\""; } echo " "; $first = true; if (!empty($sub)) { foreach($sub AS $s) { if (!$first) { echo ""; } else { $first = false; } echo " "; } } else { echo ""; } echo ""; if ($criterio["economico"] == "S") { $totaleEconomico += $criterio["peso"]; } else { $totaleTecnico += $criterio["peso"]; } } echo "
Criterio Peso Sottocriteri
{$criterio["denominazione"]}
{$criterio["descrizione"]}
{$criterio["peso"]}
{$s["denominazione"]}
{$criterio["descrizione"]}
{$s["peso"]}
"; $vocabolario["gara"]["tabellaCriteri"] = ob_get_clean(); $vocabolario["gara"]["punteggioMassimoTecnico"] = $totaleTecnico; $vocabolario["gara"]["punteggioMassimoEconomico"] = $totaleEconomico; } if (!empty($gara->lotto)) { $lottoFormatted = gara::formatLotto($gara->lotto); $importoAggiudicazione = $lottoFormatted["importoAggiudicazione"]; $importoNetto = $importoAggiudicazione - $lottoFormatted["importoNonRibassabile"]; $vocabolario["lotto"]["ribassoAggiudicazione"] = $lottoFormatted["importoRibassabile"] != 0 ? (100 - ($importoAggiudicazione * 100 / $lottoFormatted["importoRibassabile"])) : null; $vocabolario["lotto"]["riepilogoAnomalia"] = ""; if (!empty($vocabolario["lotto"]["info-anomalia-{$gara->round["codice"]}"])) { $infoAnomalia = json_decode($vocabolario["lotto"]["info-anomalia-{$gara->round["codice"]}"],true); $vocabolario["lotto"]["riepilogoAnomalia"] = $infoAnomalia["riepilogo"] ?? ""; } $bind = [":codice_lotto"=>$gara->lotto["codice"],":codice"=>$round["codice"]]; $sql = "SELECT b_gare_buste.codice_partecipante,b_gare_buste.codice_richiesta,b_gare_buste.timestamp_decrypt, b_gare_richieste.busta,r_partecipanti_gare.codice_fiscale,r_partecipanti_gare.ragione_sociale FROM b_gare_buste JOIN b_gare_richieste ON b_gare_buste.codice_richiesta = b_gare_richieste.codice JOIN r_partecipanti_gare ON b_gare_buste.codice_partecipante = r_partecipanti_gare.codice WHERE b_gare_buste.open = 'S' AND r_partecipanti_gare.codice_lotto = :codice_lotto AND r_partecipanti_gare.codice_round = :codice "; if (!empty($dataInizio)) { $tipologie = [""]; $sql .= " AND b_gare_buste.timestamp_decrypt BETWEEN :inizio AND :fine "; $bind[":inizio"] = $dataInizio; $bind[":fine"] = $dataFine; } else { $tipologie = ["amministrativa","tecnica","economica"]; $sql .= " AND b_gare_richieste.busta = :busta "; } $sql .= " ORDER BY b_gare_buste.timestamp_decrypt "; foreach($tipologie AS $tipologia) { if (empty($dataInizio)) { $bind[":busta"] = $tipologia; } $aperture = $pdo->go($sql,$bind)->fetchAll(PDO::FETCH_ASSOC); $timing = ""; if (!empty($aperture)) { $tipiBuste = gara::tipologieBusta(); ob_start(); echo ""; foreach($aperture AS $apertura) { echo ""; } echo "
" . mysql2completedate($apertura["timestamp_decrypt"]) . "" . __($tipiBuste[$apertura["busta"]]["titolo"]) . "" . $apertura["codice_fiscale"] . "" . $apertura["ragione_sociale"] . "
"; $timing = ob_get_clean(); } if (!empty($tipologia)) { $tipologia = "_{$tipologia}"; } $vocabolario["timing_apertura{$tipologia}"] = $timing; } $partecipanti = $gara->getPartecipanti(); $vocabolario["totalePartecipanti"] = count($partecipanti); $esclusi = ""; $aggiudicatari = ""; $tablePartecipanti = ""; $headElenco = ""; $footElenco = "
#ID UnivocoCodice FiscaleDenominazione
"; $i = 1; foreach($partecipanti AS $partecipante) { $row = "{$i}" . $partecipante["codice"] . "" . $partecipante["codice_fiscale"] . "" . $partecipante["ragione_sociale"] . ""; if ($partecipante["escluso"] == "S") { $esclusi .= $row; } if ($partecipante["aggiudicatario"] == "S") { $aggiudicatari .= $row; } $tablePartecipanti .= $row; $i ++; } $vocabolario["partecipanti"] = $headElenco . $tablePartecipanti . $footElenco; $vocabolario["aggiudicatario"] = $headElenco . $aggiudicatari . $footElenco; $vocabolario["esclusi"] = $headElenco . $esclusi . $footElenco; $invitati = $gara->getInvitati(); $invitatiManuali = $gara->getInvitatiManuali(); $vocabolario["totaleInvitati"] = count($invitati) + count($invitatiManuali); ob_start(); echo ""; $i = 1; if (!empty($invitati)) { foreach($invitati AS $invitato) { $oeInfo = oeManager::getOE($invitato['codice_operatore']); $row = ""; echo $row; $i ++; } } if (!empty($invitatiManuali)) { foreach($invitatiManuali AS $invitato) { $row = ""; echo $row; $i ++; } } echo "
# Codice Fiscale Denominazione
{$i} " . $oeInfo["codice_fiscale_impresa"] . " " . $oeInfo["ragione_sociale"] . "
{$i} " . $oeInfo["codice_fiscale_operatore"] . " " . $oeInfo["denominazione"] . "
"; $vocabolario["invitati"] = ob_get_clean(); $graduatoria = $gara->getImportoAggiudicazionePartecipanti(true,false); $graduatoriaNominativi = $graduatoriaRibassi = $graduatoriaImporti = $graduatoriaTotale = $graduatoriaTecnica = ""; $graduatoriaImporti .= ""; $graduatoriaRibassi .= ""; if ($gara->soloEconomica()) { $graduatoriaTotale .= ""; } else { $graduatoriaTotale .= ""; $graduatoriaTecnica .= ""; } $graduatoriaTotale .= ""; $graduatoriaTecnica .= ""; $i = 1; foreach($graduatoria AS $partecipante) { $row = $rowNominativi = $rowRibassi = $rowImporti = $rowTecnica = ""; $rowImporti .= ""; $ribasso = 100 - ((($partecipante["offerta"] ?? 0) * 100) / $lottoElenco["importoRibassabile"]); $rowRibassi .= ""; if ($gara->soloEconomica()) { $row .= ""; } else { $row .= ""; $row .= ""; $row .= ""; $rowTecnica .= ""; } $rowNominativi .= ""; $rowRibassi .= ""; $rowImporti .= ""; $rowTecnica .= ""; $row .= ""; $i ++; $graduatoriaNominativi .= $rowNominativi; $graduatoriaRibassi .= $rowRibassi; $graduatoriaImporti .= $rowImporti; $graduatoriaTecnica .= $rowTecnica; $graduatoriaTotale .= $row; } $graduatoriaImporti .= "
#ID UnivocoCodice FiscaleDenominazioneImporto offertoRibasso offertoPunteggioPunteggio TecnicoPunteggio EconomicoTotalePunteggio Tecnico
{$i}" . $partecipante["codice"] . "" . $partecipante["codice_fiscale"] . "" . $partecipante["ragione_sociale"] . "€ " . ((!empty($partecipante["totaleEconomico"])) ? number_format(($partecipante["offerta"] ?? 0),2,",",".") : "") . "" . ((!empty($partecipante["totaleEconomico"])) ? number_format($ribasso,9,",",".") : "") . "%{$partecipante["totale"]}" . ((!empty($partecipante["totaleTecnico"])) ? $partecipante["totaleTecnico"] : __("Escluso")) . "" . ((!empty($partecipante["totaleEconomico"])) ? $partecipante["totaleEconomico"] : __("Escluso")) . "" . ((!empty($partecipante["totale"])) ? $partecipante["totale"] : __("Escluso")) . "" . ((!empty($partecipante["totaleTecnico"])) ? $partecipante["totaleTecnico"] : __("Escluso")) . "
"; $graduatoriaTotale .= ""; $graduatoriaTecnica .= ""; $vocabolario["graduatoria"] = $graduatoriaTotale; $vocabolario["graduatoria-tecnica"] = $graduatoriaTecnica; $vocabolario["graduatoria-importi"] = $graduatoriaImporti; $vocabolario["graduatoria-nominativi"] = $graduatoriaNominativi; $vocabolario["graduatoria-ribassi"] = $graduatoriaRibassi; $manager = $gara->getManagerRichieste(); $esito_controllo_documentazione = ""; ob_start(); $richieste =$manager->getRichieste(["attivo"=>"S"]); if (!empty($richieste)) { echo "Sono state attivate le seguenti procedure di soccorso istruttorio:

"; foreach($richieste AS $richiesta) { $ooee = $manager->getOE($richiesta["codice"]); ?> "; } $esito_controllo_documentazione .= ob_get_clean() . "

Dal controllo effettuato dalla Commissione di gara risulta che la documentazione è conforme e le ditte concorrenti di cui sopra vengono ammesse alla fase successiva di gara"; if (!empty($esclusi)) { $esito_controllo_documentazione .= ", tranne i seguenti:
Operatore Economico Richiesta Termine di presentazione
"; } } } ?>
" . $esclusi . "
"; } else { $esito_controllo_documentazione .= "."; } $vocabolario["esito_controllo_documentazione"] = $esito_controllo_documentazione; } $esito_richieste_oscuramento = ""; $richieste = $gara->getRichieste(); $segreti = []; if (!empty($richieste) && !empty($partecipanti)) { foreach($richieste AS $richiesta) { foreach($partecipanti AS $partecipante) { $busta = $gara->getBusta($partecipante["codice"],$richiesta["codice"]); $segreto = null; if (!empty($busta)) { $emendamento = $gara->getEmendamento($partecipante["codice"],$richiesta["codice"]); if (!empty($emendamento) && $emendamento["accettata"] == "S") { if ($emendamento["segreta"] == "S") { $segreto = $gara->getBustaSecretata($partecipante["codice"],$richiesta["codice"],"emendamento"); } } else if ($busta["segreta"] == "S") { $segreto = $gara->getBustaSecretata($partecipante["codice"],$richiesta["codice"],"busta"); } if (!empty($segreto)) { $segreti[] = ["codice_fiscale"=>$partecipante["codice_fiscale"],"ragione_sociale"=>$partecipante["ragione_sociale"],"richiesta"=>$richiesta["titolo"],"accettata"=>$segreto["accettata"],"motivazione"=>$segreto["motivazione"]]; } } } } if (!empty($segreti)) { ob_start(); ?> Sono state valutate le seguenti richieste di oscuramento dei documenti:
Richiesta Operatore economico Esito
Richiesta accettata Richiesta rifiutata per le seguenti motivazioni: