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();