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.
 
 
 
 
 

117 righe
5.1 KiB

<?
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
$error = true;
if (!empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($radice,$_POST["codice_contratto"],"ooee")) {
$bind = array(":codice"=>$_POST["codice"],":codice_contratto"=>$_POST["codice_contratto"]);
$sql = "DELETE FROM r_contraenti WHERE codice = :codice AND codice_contratto = :codice_contratto ";
$ris = $pdo->go($sql,$bind);
if ($ris->rowCount() === 1) {
if($_SESSION['ente']->hasModulo('contratti.documentale')){
$bind = null;
$sql = " SELECT r_contratto_richiesta.codice,
r_contratto_richiesta.codice_contratto,
r_contratto_richiesta.codice_richiesta,
b_contratti_richiesta_documentale.codice_classe_documentale
FROM r_contratto_richiesta
JOIN b_contratti_richiesta_documentale ON r_contratto_richiesta.codice_richiesta = b_contratti_richiesta_documentale.codice
WHERE b_contratti_richiesta_documentale.soft_delete = 'N'
AND r_contratto_richiesta.codice_contratto = :codice_contratto
AND b_contratti_richiesta_documentale.codice_oe = :codice_operatore ";
$bind = [
':codice_contratto' => $_POST['codice_contratto'],
':codice_operatore' => $_POST['codice_operatore']
];
$richieste = $pdo->go($sql,$bind)->fetchAll(PDO::FETCH_ASSOC);
if(!empty($richieste)){
$codiciClassiDocumentali = pluck('codice_classe_documentale', $richieste);
$classiDocumentali = ContrattoDocumentale::getAllDocumentali(['codici' => $codiciClassiDocumentali]);
if(!empty($classiDocumentali)){
foreach($richieste as $richiesta){
foreach ($classiDocumentali as $classeDocumentale) {
if($richiesta['codice_classe_documentale'] == $classeDocumentale['codice']){
if ($classeDocumentale['ambito_validita'] == 'oe') {
// Verifica se ci sono altre richieste in altri contratti
$sql = "SELECT r_contratto_richiesta.codice,
r_contratto_richiesta.codice_contratto,
r_contratto_richiesta.codice_richiesta,
b_contratti_richiesta_documentale.codice_classe_documentale
FROM r_contratto_richiesta
JOIN b_contratti_richiesta_documentale ON r_contratto_richiesta.codice_richiesta = b_contratti_richiesta_documentale.codice
WHERE b_contratti_richiesta_documentale.soft_delete = 'N'
AND b_contratti_richiesta_documentale.codice_classe_documentale = :codice_classe_documentale
AND b_contratti_richiesta_documentale.codice_oe = :codice_operatore ";
$bind[':codice_classe_documentale'] = $classeDocumentale['codice'];
$ris = $pdo->go($sql,$bind);
if ($ris->rowCount() === 1) {
$sql = "UPDATE b_contratti_richiesta_documentale SET soft_delete = 'S' WHERE codice = :codice_richiesta ";
$up = [':codice_richiesta' => $richiesta['codice_richiesta']];
$delete = $pdo->go($sql,$up);
if($delete->rowCount() === 1){
scriviLog("b_contratti_richiesta_documentale","UPDATE",$pdo->getSQL(),$richiesta['codice_richiesta']);
}
}else{
$sql = "DELETE FROM r_contratto_richiesta WHERE codice_contratto = :codice_contratto AND codice_richiesta = :codice_richiesta ";
$up = [
'codice_contratto' => $_POST['codice_contratto'],
'codice_richiesta' => $richiesta['codice_richiesta']
];
$delete = $pdo->go($sql,$up);
if($delete->rowCount() === 1){
scriviLog("r_contratto_richiesta","DELETE",$pdo->getSQL(),$richiesta['codice']);
}
}
}else{
$sql = "UPDATE b_contratti_richiesta_documentale SET soft_delete = 'S' WHERE codice = :codice_richiesta ";
$up = [':codice_richiesta' => $richiesta['codice_richiesta']];
$delete = $pdo->go($sql,$up);
if($delete->rowCount() === 1){
scriviLog("b_contratti_richiesta_documentale","UPDATE",$pdo->getSQL(),$richiesta['codice_richiesta']);
}
}
}
}
}
}
}
}
$error = false;
scriviLog("r_contraenti","DELETE",$pdo->getSQL(),$_POST["codice"]);
}
}
if (!$error) {
?>
window.location.reload();
<?
} else {
header('HTTP/1.0 403 Forbidden');
die();
}
?>