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();
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']) {
$respBiglietto = File::checkFileAllegato('FILEPATH_BIGLIETTO', MAX_SIZE_FILE, 'pdf');
if ($respBiglietto['esito'] == 1) {
$fileNameBiglietto = time() . "_" . $richiesta->CODICE_FISCALE . "_BE_" . $richiesta->NUMERO_VOLO . "_" . File::GetValidFilename($_FILES['FILEPATH_BIGLIETTO']['name']);
$fileFullPathBiglietto = $folder . "/" . $fileNameBiglietto;
if (copy($_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)";
}
} else {
$response['esito'] = -999;
$response['erroreDescrizione'] = $respBiglietto['erroreDescrizione'];
}
}
if ($_FILES['FILEPATH_CARTAIMBARCO']) {
$respImbarco = File::checkFileAllegato('FILEPATH_CARTAIMBARCO', MAX_SIZE_FILE, 'pdf');
if ($respImbarco['esito'] == 1) {
$fileNameImbarco = time() . "_" . $richiesta->CODICE_FISCALE . "_CI_" . $richiesta->NUMERO_VOLO . "_" . File::GetValidFilename($_FILES['FILEPATH_CARTAIMBARCO']['name']);
$fileFullPathImbarco = $folder . "/" . $fileNameImbarco;
if (copy($_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)";
}
} else {
$response['esito'] = -999;
$response['erroreDescrizione'] = $respImbarco['erroreDescrizione'];
}
}
}
}
########################################################
$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]";
}
}
}
}
if ($row['NOTE'] != "") {
$statoSconto .= "
" . $row['NOTE'];
}
$gruopButton = '