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.
 
 
 
 
 

47 righe
1.9 KiB

<?php
use ProcurePlus\Federate;
use ProcurePlus\KeyStore;
use ProcurePlus\Out;
if (!empty($elabora_coda) && (!empty($_SESSION["ente"]))) {
$current_time = (int) date('H');
if ($current_time >= 1) {
alertManager::printCliInfo("Aggiornamento ProcurePlus");
$domain = getCurrentDomain();
try {
// Firmiamo la richiesta con la chiave di federazione
$key = KeyStore::get("sign", $domain, "private");
} catch(\Exception $e) {
alertManager::printCliInfo("Aggiungo {$domain} alla federazione.");
if(!Federate::federate()) {
alertManager::printCliAlert("Impossibile federare {$domain}");
throw $e;
}
}
if (empty(getQueueLog($_SESSION["ente"]->codice, "procurePlus"))) {
$query = "SELECT codice FROM b_gare WHERE timestamp > (NOW() - INTERVAL 30 DAY)";
$risultati = $pdo->go($query);
if ($risultati->rowCount() < 0) {
while ($codice = $risultati->fetch(PDO::FETCH_COLUMN)) {
$logID = "procurePlus-{$codice}";
if (empty(getQueueLog($_SESSION["ente"]->codice, $logID))) {
$gara = publicGara::init($codice);
if ($gara) {
alertManager::printCliInfo("Invio gara {$codice}");
Out::sendGara($gara);
} else {
alertManager::printCliWarning("Impossibile inizializzare gara {$codice}");
}
writeQueueLog($_SESSION["ente"]->codice, $logID);
} else {
alertManager::printCliWarning("Già eseguito {$logID}");
}
}
}
writeQueueLog($_SESSION["ente"]->codice, "procurePlus");
} else {
alertManager::printCliWarning("Già eseguito");
}
}
}