db_transactionStart(); $response = Utils::initDefaultResponse(-999, ''); // VERIFICO SE SONO NEL PERIODO DELLA PRESENTAZIONE DELLA DOMANDA if (!Utils::isStatoSportelloPreparazione()) { $return['erroreDescrizione'] = "Accesso non consentito (0)"; exit(json_encode($return)); } $istanza = Domanda::loadDomandaFromAccount(); $idDomandaSconto = intval(Utils::get_filter_int_POST('ID')); if ($idDomandaSconto > 0) { $idIstanzaMia = false; foreach ($istanza->richieste_sconti as $mieiSconti) { if ($mieiSconti['ID'] == $idDomandaSconto) { $idIstanzaMia = true; } } } else { $idIstanzaMia = true; } if (!$idIstanzaMia) { $return['erroreDescrizione'] = "Accesso non consentito (0)"; exit(json_encode($return)); } // Utils::print_array($istanza); // exit(); DomandaSconti::checkVerificaDatiPreSalvataggio(); $richiesta = new DomandaSconti($_POST); ######################################################## if ($_FILES) { $md5FileBiglietto = File::getSha256File($_FILES['FILEPATH_BIGLIETTO']['tmp_name']); $md5FileCartaImbarco = File::getSha256File($_FILES['FILEPATH_CARTAIMBARCO']['tmp_name']); $folder = $istanza->generateDirForUpload(ROOT_UPLOAD_PRESENTAZIONE, 'biglietti'); if ($folder) { if ($_FILES['FILEPATH_BIGLIETTO']['size'] > 0) { $respBiglietto = File::checkFileAllegato('FILEPATH_BIGLIETTO', MAX_SIZE_FILE, 'pdf'); if ($respBiglietto['esito'] == 1) { $fileNameBiglietto = time() . "_" . $richiesta->CODICE_FISCALE . "_BE_" . File::GetValidName($richiesta->NUMERO_VOLO) . "_" . File::GetValidFilename($_FILES['FILEPATH_BIGLIETTO']['name']); $fileFullPathBiglietto = $folder . "/" . $fileNameBiglietto; if (move_uploaded_file($_FILES['FILEPATH_BIGLIETTO']['tmp_name'], $fileFullPathBiglietto)) { if ($richiesta->FILEPATH_BIGLIETTO != "") { unlink($folder . "/" . $richiesta->FILEPATH_BIGLIETTO); } $richiesta->FILEPATH_BIGLIETTO = $fileNameBiglietto; $richiesta->FILEPATH_BIGLIETTO_HASH = $md5FileBiglietto; } else { $response['esito'] = -999; $response['erroreDescrizione'] = "Al momento non è possibile allegare il file, contattare un amministratore! (10996)"; exit(json_encode($response)); } } else { $response['esito'] = -999; $response['erroreDescrizione'] = $respBiglietto['erroreDescrizione']; exit(json_encode($response)); } } if ($_FILES['FILEPATH_CARTAIMBARCO']['size'] > 0) { $respImbarco = File::checkFileAllegato('FILEPATH_CARTAIMBARCO', MAX_SIZE_FILE, 'pdf'); if ($respImbarco['esito'] == 1) { $fileNameImbarco = time() . "_" . $richiesta->CODICE_FISCALE . "_CI_" . File::GetValidName($richiesta->NUMERO_VOLO) . "_" . File::GetValidFilename($_FILES['FILEPATH_CARTAIMBARCO']['name']); $fileFullPathImbarco = $folder . "/" . $fileNameImbarco; if (move_uploaded_file($_FILES['FILEPATH_CARTAIMBARCO']['tmp_name'], $fileFullPathImbarco)) { if ($richiesta->FILEPATH_CARTAIMBARCO != "") { unlink($folder . "/" . $richiesta->FILEPATH_CARTAIMBARCO); } $richiesta->FILEPATH_CARTAIMBARCO = $fileNameImbarco; $richiesta->FILEPATH_CARTAIMBARCO_HASH = $md5FileCartaImbarco; } else { $response['esito'] = -999; $response['erroreDescrizione'] = "Al momento non è possibile allegare il file, contattare un amministratore! (10996)"; exit(json_encode($response)); } } else { $response['esito'] = -999; $response['erroreDescrizione'] = $respImbarco['erroreDescrizione']; exit(json_encode($response)); } } } } ######################################################## $controlliRichiesta = $richiesta->checkDatiPreSave(); if ($controlliRichiesta['checkDati']) { $verificaVolo = $richiesta->VerificaDataVolo(); if ($verificaVolo['esito'] == 1) { $response = $richiesta->Save(); if ($response['esito'] == 1) { $transaction = true; } } else { $response['esito'] = -999; $response['erroreDescrizione'] = $verificaVolo['erroreDescrizione']; } } else { $response['erroreDescrizione'] = ("Verificare i seguenti campi: " . $controlliRichiesta['txt_dati_mancanti']); } if ($transaction) { $con->db_transactionCommit(); } else { $con->db_transactionRollback(); ###################################### unlink($fileFullPathBiglietto); unlink($fileFullPathImbarco); ###################################### } exit(json_encode($response)); } function deleteSconto() { global $con, $LoggedAccount; $transaction = false; $con->db_transactionStart(); $response = Utils::initDefaultResponse(-999, ''); // VERIFICO SE SONO NEL PERIODO DELLA PRESENTAZIONE DELLA DOMANDA if (!Utils::isStatoSportelloPreparazione()) { $return['erroreDescrizione'] = "Accesso non consentito (0)"; exit(json_encode($return)); } $id_sconto = Utils::get_filter_int_POST('id_sconto'); $sconto = new DomandaSconti($id_sconto); $istanza = Domanda::loadDomandaFromAccount(); $folder = $istanza->generateDirForUpload(ROOT_UPLOAD_PRESENTAZIONE, 'biglietti'); if ($sconto->isErasable()) { $old_path_be = $sconto->FILEPATH_BIGLIETTO; $old_path_ci = $sconto->FILEPATH_CARTAIMBARCO; $response = $sconto->Delete(); if ($response['esito'] == 1) { $transaction = true; } } else { $response['erroreDescrizione'] = 'Sconto non cancellabile'; } if ($transaction) { unlink($folder . "/" . $old_path_be); unlink($folder . "/" . $old_path_ci); $con->db_transactionCommit(); } else { $con->db_transactionRollback(); } exit(json_encode($response)); } function listSconti() { // error_reporting(E_ALL); //ini_set('display_errors', 1); global $LoggedAccount, $STATI_RICHIESTE_SCONTI, $ICONE_STATI_RICHIESTE_SCONTI; $response = array(); $domanda = Domanda::loadDomandaFromAccount(); $idDomanda = $domanda->ID; if ($idDomanda > 0 && Utils::isStatoSportelloPreparazione(true)) { $draw = $_POST['draw']; $row = $_POST['start']; $rowperpage = $_POST['length']; // Rows display per page $columnIndex = $_POST['order'][0]['column']; // Column index $columnName = $_POST['columns'][$columnIndex]['data']; // Column name $columnSortOrder = $_POST['order'][0]['dir']; // asc or desc $searchValue = $_POST['search']['value']; // Search value $data = array(); $searchArray = array(); $data_modifica = ""; //$countAllegatiCompleti = 0; //$iTotalRecordsObbligatori = 0; ## Search $totCount = false; $searchQuery = ""; if ($_POST['columns'][7]['search']['value'] != '') { $stato = intval($_POST['columns'][7]['search']['value']); $searchQuery .= " AND STATO = :STATO "; } else { $stato = 0; $searchQuery .= " AND STATO >= :STATO "; } $searchQuery .= " AND ID_DOMANDA = :ID_DOMANDA "; // $searchArray = array( 'ID_DOMANDA' => $domanda->ID, 'STATO' => $stato, ); /* if ($searchValue != '') { $searchQuery .= " AND ( REGEXP_LIKE(DOCUMENTO_NOME,:DOCUMENTO_NOME,'i')) "; $searchArray['DOCUMENTO_NOME'] = $searchValue; } */ $res = DomandaSconti::LoadDataTable($searchQuery, $searchArray, $columnName, $columnSortOrder, $row, $rowperpage); //Utils::print_array($res);exit(); foreach ($res['empRecords'] as $row) { $btn = ''; $btn_downoload = ''; if ($row['STATO'] == RS_IN_ELABORAZIONE) { $btn = ''; $btn_downoload = ''; } else { $btn = ''; } $data_richiesta = ''; if ($row['DATA_REGISTRAZIONE'] != "") { $data_richiesta = Date::dateOracleTimeStamp($row['DATA_REGISTRAZIONE'], 'd-m-Y'); } $data_acquisto = ''; if ($row['DATA_ACQUISTO'] != "") { $data_acquisto = Date::dateOracleDate($row['DATA_ACQUISTO'], 'd-m-Y'); } $data_volo = ''; if ($row['DATA_VOLO'] != "") { $data_volo = Date::dateOracleDate($row['DATA_VOLO'], 'd-m-Y'); } $tratta = ' ' . $row['NUMERO_VOLO'] . '
'; $tratta .= 'Compagnia: ' . $row['COMPAGNIA_AEREA'] . '
'; $tratta .= ' ' . $row['AEROPORTO_PARTENZA'] . ' - '; $tratta .= ' ' . $row['AEROPORTO_DESTINAZIONE'] . '
'; $tratta .= ' ' . number_format($row['COSTO_TRATTA'], 2, ',', '.') . ''; if ($row['STATO'] == RS_EROGATA) { $scontoTotale = number_format($row['SCONTO_TOTALE'], 2, ',', '.'); if ($row['SCONTO_TOTALE'] <= 0) { $scontoTotale .= $ICONE_STATI_RICHIESTE_SCONTI[RS_NON_AVENTE_DIRITTO]; } } else { $scontoTotale = $ICONE_STATI_RICHIESTE_SCONTI[$row['STATO']]; } $statoSconto = $ICONE_STATI_RICHIESTE_SCONTI[$row['STATO']]; if (($row['STATO'] == RS_EROGATA || $row['STATO'] == RS_APPROVATA) && $row['SCONTO_TOTALE'] <= 0) { $statoSconto = $ICONE_STATI_RICHIESTE_SCONTI[RS_NON_AVENTE_DIRITTO]; $scontoTotale = number_format($row['SCONTO_TOTALE'], 2, ',', '.'); $scontoTotale .= $ICONE_STATI_RICHIESTE_SCONTI[RS_NON_AVENTE_DIRITTO]; } else { if (intval($row['LOTTO']) > 0 && $row['STATO'] == RS_EROGATA) { $datiDrs = DomandaSconti::getDrsFromLotto($row['LOTTO']); if ($datiDrs['NUMERO_DRS'] != "" && $datiDrs['DATA_DRS'] != "") { $statoSconto .= "
DRS: " . $datiDrs['NUMERO_DRS'] . "
DATA: " . Date::convertData($datiDrs['DATA_DRS']); if ($datiDrs['FILEPATH'] != "") { //$statoSconto .= "
" . "[Visualizza DRS]"; $btnDrs = ''; $statoSconto .= "
" . $btnDrs; } } } } if ($row['NOTE'] != "") { $statoSconto .= "
" . $row['NOTE']; } $gruopButton = '
' . $btn . $btn_downoload . '
'; $data[] = array( "ID" => $row['ID'], "DATA_RICHIESTA" => $data_richiesta, "BENEFICIARIO" => $row['CODICE_FISCALE'], //$row['COGNOME'] . " " .$row['NOME']. " ". "DATA_ACQUISTO" => $data_acquisto, "DATA_VOLO" => $data_volo, "TRATTA" => $tratta, "SCONTO_TOTALE" => $scontoTotale, "STATO" => $statoSconto, "OP" => $gruopButton//($domanda->STATO > STATO_DOMANDA_IN_PREPARAZIONE ? '' : $btn_genera . $btn) ); } ## Response $response = array( "draw" => intval($draw), "iTotalRecords" => $res['iTotalRecords'], "iTotalDisplayRecords" => $res['iTotalDisplayRecords'], "aaData" => $data ); // } exit(json_encode($response)); } function saveIntegrazione() { // error_reporting(E_ALL); // ini_set('display_errors', 1); global $con, $LoggedAccount; // $verificaCsrf = Utils::verifyCsrfToken($_SESSION['Token'], 'csrf_contratti', $_POST['csrf_contratti']); // if (!$verificaCsrf) { // $return['erroreDescrizione'] = "Operazione non consentita - 159"; // exit(json_encode($return)); // } $transaction = false; $con->db_transactionStart(); $response = Utils::initDefaultResponse(-999, ''); if (!Utils::isStatoSportelloPreparazione()) { $return['erroreDescrizione'] = "Accesso non consentito (0)"; exit(json_encode($return)); } $istanza = Domanda::loadDomandaFromAccount(); RichiestaIntegrazione::checkVerificaDatiPreSalvataggio(); $integrazione = new RichiestaIntegrazione($_POST['ID_INTEGRAZIONE']); $sconto = new DomandaSconti($_POST['ID_DOMANDA_SCONTI']); if ($sconto->ID > 0 && $sconto->ID_DOMANDA != $istanza->ID) { $return['erroreDescrizione'] = "Accesso non consentito (1)"; exit(json_encode($return)); } if ($sconto->ID > 0 && $sconto->ID != $integrazione->ID_DOMANDA_SCONTI) { $return['erroreDescrizione'] = "Accesso non consentito (2)"; exit(json_encode($return)); } ######################################################## if ($_FILES['FILEPATH_RISPOSTA']['size'] > 0) { $md5FileBiglietto = File::getSha256File($_FILES['FILEPATH_RISPOSTA']['tmp_name']); $folder = $istanza->generateDirForUpload(ROOT_UPLOAD_PRESENTAZIONE, 'integrazione'); if ($folder) { if ($_FILES['FILEPATH_RISPOSTA']) { $respBiglietto = File::checkFileAllegato('FILEPATH_RISPOSTA', MAX_SIZE_FILE, 'pdf'); if ($respBiglietto['esito'] == 1) { $fileNameBiglietto = time() . "_" . $LoggedAccount->CODICE_FISCALE . "_INT_" . $integrazione->ID . "_" . File::GetValidFilename($_FILES['FILEPATH_RISPOSTA']['name']); $fileFullPathBiglietto = $folder . "/" . $fileNameBiglietto; if (copy($_FILES['FILEPATH_RISPOSTA']['tmp_name'], $fileFullPathBiglietto)) { if ($integrazione->FILEPATH_RISPOSTA != "") { unlink($folder . "/" . $integrazione->FILEPATH_BIGLIETTO); } $integrazione->FILEPATH_RISPOSTA = $fileNameBiglietto; // $integrazione->FILEPATH_BIGLIETTO_HASH = $md5FileBiglietto; } else { $response['esito'] = -999; $response['erroreDescrizione'] = "Al momento non è possibile allegare il file, contattare un amministratore! (10996)"; exit(json_encode($response)); } } else { $response['esito'] = -999; $response['erroreDescrizione'] = $respBiglietto['erroreDescrizione']; exit(json_encode($response)); } } } } ######################################################## // Utils::print_array($integrazione); // EXIT(); $integrazione->NOTE_UTENTE = $_POST['NOTE_UTENTE']; $integrazione->STATO = RI_INTEGRAZIONE_INSERITO; $integrazione->DATA_CARICAMENTO = (new DateTime())->format('d-M-y'); $controlliRichiesta = $integrazione->checkDatiPreSave(); if ($controlliRichiesta['checkDati']) { $response = $integrazione->Save(); if ($response['esito'] == 1) { $destinatario_email = EMAIL_DIPARTIMENTO; $oggetto = "SiciliaPEI - Bando Caro Voli - Richiesta Integrazione Documentale - Sconto nr. " . $sconto->ID; $testo = "E' presente una nuova risposta alla richiesta di integrazione per lo sconto nr. " . $sconto->ID . ", " . "presentato dall'utente con codice fiscale " . $LoggedAccount->CODICE_FISCALE . ".

" . "Per maggiori informazioni, consultare il portale https://siciliapei.regione.sicilia.it/bandocarovoli_be/.

Cordiali saluti."; $invioEmail = EmailSms::sendGenericEmail($destinatario_email, $oggetto, $testo); $queue = new IntegrazioniEmailQueue(); $queue->ID_RICHIESTA = $integrazione->ID; $queue->DESTINATARIO = EMAIL_DIPARTIMENTO; $queue->OGGETTO = $oggetto; $queue->CORPO = $testo; $queue->STATO = $invioEmail; $queue->DATA_INVIO = date(FORMAT_TIMESTAMP_ORACLE); $eseguo = $queue->Save(); if ($eseguo['esito'] == 1) { $transaction = true; } else { $response['erroreDescrizione'] = "Errore durante la generazione della coda mail di integrazione."; } } } else { $response['erroreDescrizione'] = ("Verificare i seguenti campi: " . $controlliRichiesta['txt_dati_mancanti']); } if ($transaction) { $con->db_transactionCommit(); } else { $con->db_transactionRollback(); ###################################### unlink($fileFullPathBiglietto); ###################################### } exit(json_encode($response)); }