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.
 
 
 
 
 

58 righe
2.0 KiB

<?php
if (!empty($elabora_coda) && (!empty($_SESSION["ente"]))) {
$npa = null;
$ora = date("H");
$force = in_array("--forceANAC", $argv);
if ($force || ($ora > 8 && $ora < 19 && empty(getQueueLog($_SESSION["ente"]->codice, "anac_avviso-H{$ora}")))) {
writeQueueLog($_SESSION["ente"]->codice, "anac_avviso-H{$ora}");
$schede = NuovaPiattaformaAppalti::fetchSchede(
["codice"],
[
"stato" => 100,
"errore" => "NO",
],
true,
true
);
$count = count($schede);
if ($count) {
alertManager::printCliInfo("Ottenimento {$count} avvisi pubblicati da ANAC.");
foreach ($schede as $scheda) {
try {
$npa = NuovaPiattaformaAppalti::init(null, $scheda["codice"]);
if (!$npa) {
alertManager::printCliAlert("Impossibile inizializzare NuovaPiattaformaAppalti per la scheda {$scheda['codice']}");
continue;
}
//if($npa->isUserLoggedIn()) {
$validRoles = $npa->getPermissionFor("pubblicazioneAvvisi", "read");
foreach ($validRoles as $role) {
$cf = $npa->getUserFromRole($role, RoleSyncBehaviour::NEVER_SYNC);
if ($cf === null) continue;
$npa->setCronOverrideUser($role, $cf);
if ($npa->updatePublicationStatus($message)) {
alertManager::printCliInfo("\t- La scheda {$scheda['codice']} ha terminato la sua pubblicazione.");
}
break;
}
} catch (\Throwable $t) {
$alert = <<<ERR
[!] NPA::EsitoPubblicazione ha lanciato un eccezione:
{$t->getMessage()}
{$t->getTraceAsString()}
ERR;
alertManager::printCliAlert($alert);
ec_create_ticket("Eccezione in NPA::AVVISO", $alert, $ente->codice ?? 0);
}
}
} else {
alertManager::printCliInfo("Nessuna scheda da finalizzare");
}
} else {
alertManager::printCliInfo("Salto la verifica avviso ANAC per l'ora {$ora}");
}
}