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.
62 righe
2.3 KiB
62 righe
2.3 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_pubblica-H{$ora}")))) { |
|
writeQueueLog($_SESSION["ente"]->codice, "anac_pubblica-H{$ora}"); |
|
|
|
$schede = NuovaPiattaformaAppalti::fetchSchede( |
|
["codice"], |
|
[ |
|
"stato" => 90, |
|
"errore" => "NO", |
|
], |
|
true, |
|
true |
|
); |
|
$count = count($schede); |
|
if ($count > 0) { |
|
alertManager::printCliInfo("Verifica pubblicazione {$count} schede."); |
|
foreach($schede as $scheda) { |
|
try { |
|
$npa = NuovaPiattaformaAppalti::init(null, $scheda["codice"]); |
|
if (!$npa) { |
|
alertManager::printCliAlert("Impossibile inizializzare NuovaPiattaformaAppalti per la scheda {$scheda['codice']}"); |
|
continue; |
|
} |
|
$validRoles = $npa->getPermissionFor("serviziComuni", "result"); |
|
foreach ($validRoles as $role) { |
|
// if ($npa->isUserLoggedIn($role)) { |
|
$cf = $npa->getUserFromRole($role, RoleSyncBehaviour::NEVER_SYNC); |
|
if ($cf === null) continue; |
|
$npa->setCronOverrideUser($role, $cf); |
|
|
|
// if ($npa->isUserLoggedIn()) { // per velocizzare il feedback sulle operazioni asincrone non controlliamo il login dell'utente per le operazioni di controllo solo esito, operazione in qualche modo concessa, anche se non esplicitamente da ANAC in un GDL pre-produzione |
|
if (!empty($npa->scheda["codice_rettifica"])) |
|
$npa->rectify(); // Verifica esito rettifica |
|
else |
|
$npa->publish(); // Verifica esito pubblicazione |
|
} |
|
break; |
|
// } |
|
// } |
|
} catch (\Throwable $t) { |
|
$alert = <<<ERR |
|
[!] NPA::AvvioPubblicazione ha lanciato un eccezione: |
|
{$t->getMessage()} |
|
{$t->getTraceAsString()} |
|
ERR; |
|
alertManager::printCliAlert($alert); |
|
ec_create_ticket("Eccezione in NPA::PUBBLICA", $alert, $ente->codice ?? 0); |
|
} |
|
$npa = null; |
|
} |
|
} else { |
|
alertManager::printCliInfo("Nessuna scheda da pubblicare"); |
|
} |
|
} else { |
|
alertManager::printCliInfo("Salto la verifica pubblicazione ANAC per l'ora {$ora}"); |
|
} |
|
}
|
|
|