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.
 
 
 
 
 

74 righe
4.3 KiB

<?
if (!empty($elabora_coda) && (!empty($_SESSION["ente"]))) {
alertManager::printCliInfo("Promemoria scadenze");
if (empty(getQueueLog($_SESSION["ente"]->codice,"alertRevisioni"))) {
$current_time = (int) date('H');
if($current_time >= 8) {
$elenchi = [];
$elenchi["b_bandi_albo"] = ["partecipanti"=>"r_partecipanti_albo","folder"=>"albo_fornitori","modulo"=>"albo_fornitori"];
foreach ($elenchi AS $tabella => $info) {
$sql_bandi = "SELECT * FROM {$tabella} WHERE mesi_revisione > 0 AND mesi_revisione IS NOT NULL AND (scadenza > now() OR scadenza IS NULL) AND pubblica > 0 AND stato NOT IN (80)";
$ris_bandi = $pdo->query($sql_bandi);
if ($ris_bandi->rowCount() > 0) {
while($bando = $ris_bandi->fetch(PDO::FETCH_ASSOC)) {
$folder = $info["folder"];
$href = "https://".$_SESSION["ente"]->getInfo()["dominio"]."/".$folder."/id".$bando["codice"]."-dettaglio";
$limiti = array();
$limiti["30"] = date('Y-m-d',strtotime("+30 days"));
$limiti["7"] = date('Y-m-d',strtotime("+7 day"));
$limiti["1"] = date('Y-m-d',strtotime("+1 day"));
$limite_ultimo = date('Y-m-d');
$limit = $bando["mesi_revisione"] - 2;
$limit = date('Y-m-d',strtotime("-".$limit." month"));
$sql = "SELECT ".$info["partecipanti"].".* FROM " . $info["partecipanti"] . " WHERE ammesso = 'S' AND DATE(timestamp_abilitazione) <= '".$limit."' AND codice_elenco = " . $bando["codice"];
$ris_partecipanti = $pdo->query($sql);
if ($ris_partecipanti->rowCount() > 0) {
while($partecipante = $ris_partecipanti->fetch(PDO::FETCH_ASSOC)) {
$logID = "alertRevisioni-{$tabella}-{$partecipante["codice"]}";
if (empty(getQueueLog($_SESSION["ente"]->codice,$logID))) {
$time = strtotime($partecipante["timestamp_abilitazione"]);
$scadenza = date('Y-m-d',strtotime('+'.$bando["mesi_revisione"].'month',$time));
$time_richiesta = strtotime($partecipante["timestamp_aggiornamento"]);
if ($time > $time_richiesta && $partecipante["valutato"]=="S") {
foreach($limiti AS $gg => $limite) {
if ($limite == $scadenza) {
$scadenza_string = $gg . " giorni";
if ($gg=="30") { $scadenza_string = "1 mese"; }
if ($gg=="1") { $scadenza_string = "1 giorno"; }
$oggetto = $scadenza_string . " alla scadenza iscrizione " . $bando["oggetto"];
$corpo = "Si informa la S.V. che il ".mysql2date($scadenza)." scadr&agrave; l'abilitazione relativa al bando:<br>";
$corpo.= "<br><strong>" . $bando["oggetto"] . "</strong><br><br>";
$corpo.= "La invitiamo ad aggiornare quanto prima i suoi dati collegandosi al link: ";
$corpo.= "<a href='".$href."' title='Sito esterno'>" . $href . "</a><br><br>";
$corpo.= "Distinti Saluti<br><br>";
$mailer = new Communicator();
$mailer->oggetto = $oggetto;
$mailer->corpo = "<h2>" . $oggetto . "</h2>" . $corpo;
$mailer->codice_pec = $bando["codice_pec"];
$mailer->comunicazione = true;
$mailer->coda = false;
$mailer->sezione = $info["modulo"];
$mailer->codice_gara = $bando["codice"];
$mailer->destinatari = $partecipante["codice_operatore"];
$esito = $mailer->send();
unset($mailer);
break;
}
}
}
writeQueueLog($_SESSION["ente"]->codice,$logID);
} else {
alertManager::printCliWarning("Già eseguito - $logID");
}
}
}
}
}
}
writeQueueLog($_SESSION["ente"]->codice,"alertRevisioni");
}
} else {
alertManager::printCliWarning("Già eseguito");
}
}
?>