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.
299 righe
13 KiB
299 righe
13 KiB
<?php |
|
|
|
$mode = $_REQUEST['action']; |
|
switch ($mode) { |
|
case 'saveSconto': |
|
saveSconto(); |
|
break; |
|
case 'delSconto': |
|
deleteSconto(); |
|
break; |
|
case 'listSconti': |
|
listSconti(); |
|
break; |
|
} |
|
|
|
function saveSconto() { |
|
global $con, $LoggedAccount; |
|
$transaction = false; |
|
$controllo = true; |
|
$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)); |
|
} |
|
$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 = '<button type="button" onclick="goToSconto(\'page_sconto.php\', \'' . $row['ID'] . '\')" class="btn btn-sm btn-warning"><i class="fas fa-edit"></i></button>'; |
|
$btn_downoload = '<button type="button" onclick="delSconto(\'' . $row['ID'] . '\')" class="btn btn-sm btn-danger"><i class="fas fa-trash-alt"></i></button>'; |
|
} else { |
|
$btn = '<button type="button" onclick="goToSconto(\'page_sconto.php\', \'' . $row['ID'] . '\')" class="btn btn-sm btn-warning"><i class="fas fa-eye"></i></button>'; |
|
} |
|
|
|
$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 = '<small class="text-success"><i class="fas fa-ticket-alt"></i> ' . $row['NUMERO_VOLO'] . '</small><br/>'; |
|
$tratta .= '<small>Compagnia: <b>' . $row['COMPAGNIA_AEREA'] . '</b></small><br/>'; |
|
$tratta .= '<small class="text-info"><i class="fas fa-plane-departure"></i> ' . $row['AEROPORTO_PARTENZA'] . '</small> - '; |
|
$tratta .= '<small class="text-success"><i class="fas fa-plane-arrival"></i> ' . $row['AEROPORTO_DESTINAZIONE'] . '</small><br/>'; |
|
$tratta .= '<small class="text-primary"><i class="fas fa-euro-sign"></i> ' . number_format($row['COSTO_TRATTA'], 2, ',', '.') . '</small>'; |
|
|
|
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 .= "<br><strong>DRS: </strong>" . $datiDrs['NUMERO_DRS'] . "<br><strong>DATA: </strong>" . Date::convertData($datiDrs['DATA_DRS']); |
|
if ($datiDrs['FILEPATH'] != "") { |
|
$statoSconto .= "<br>" . "<a class='text-primary' href='" . BASE_HTTP . "assets/docs/" . $datiDrs['FILEPATH'] . "' download>[Visualizza DRS]</a>"; |
|
} |
|
} |
|
} |
|
} |
|
if ($row['NOTE'] != "") { |
|
$statoSconto .= "<br>" . $row['NOTE']; |
|
} |
|
|
|
$gruopButton = '<div class="btn-group" role="group" aria-label="Basic example">' . $btn . $btn_downoload . '</div>'; |
|
|
|
$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)); |
|
}
|
|
|