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.
 
 
 
 
 

50 righe
2.5 KiB

<?
if (isset($_getProcedureMancantiAnac) && isset($checkExistingLotto) && isset($idModulo) && $idModulo == "gare") {
$ids = $pdo->go("SELECT codice, prezzoRiferimento, oggetto, id, codice_ente FROM b_gare WHERE codice NOT IN (SELECT codice_gara FROM r_simog_moduli WHERE modulo = :modulo)",[":modulo"=>$idModulo])->fetchAll(PDO::FETCH_ASSOC);
$returnModulo = [];
if (!empty($ids)) {
$sqLotti = $pdo->prepare("SELECT codice,cig FROM b_gare_lotti WHERE codice_gara = :gara");
foreach($ids AS $id) {
$ente = Ente::getInfoFromID($id["codice_ente"])[0] ?? null;
$privato = false;
if (isset($ente["soggettoPrivato"]) && $ente["soggettoPrivato"] == "S") {
$privato = true;
}
if (!$privato) {
$sqLotti->execute([":gara"=>$id["codice"]]);
if ($sqLotti->rowCount() > 0) {
$lotti = $sqLotti->fetchAll(PDO::FETCH_ASSOC);
if (count($lotti) === 1 && $id["prezzoRiferimento"] <= anac::limiteSmartCIG()) {
$smart_cig = "S";
} else {
$smart_cig = "N";
}
$returnModulo[] = ["modulo"=>$idModulo,"id"=>$id["codice"],"oggetto"=>$id["oggetto"],"ref"=>$id["id"],"lotti"=>$lotti,"smart_cig"=>$smart_cig];
}
}
}
$return = array_merge($return,$returnModulo);
}
if (!empty($bindLostElements) && !empty($returnModulo)) {
foreach($return AS $istanza) {
$count = 0;
foreach($istanza["lotti"] AS $lotto) {
if (!empty($lotto["cig"])) {
$checkExistingLotto->execute([":cig"=>$lotto["cig"]]);
if ($checkExistingLotto->rowCount() > 0) {
$count++;
$existing = $checkExistingLotto->fetch(PDO::FETCH_ASSOC);
anac::staticSaveRelazione($idModulo,$istanza["id"],$lotto["codice"],$existing["codice_simog"],$existing["codice"]);
}
}
}
if ($count < count($lotti)) {
$gara = gara::init($istanza["id"]);
if (!empty($gara)) {
$gara->creaIstanzaANAC($istanza["smart_cig"]);
}
}
}
}
return $return;
}