NOTE != "") {
$nota = explode('[!]', $record->NOTE);
if (count($nota) > 0) {
$record->NOTE = $nota[1];
}
}
exit(json_encode($record));
}
function listSconti() {
global $LoggedAccount, $STATI_RICHIESTE_SCONTI, $ICONE_STATI_RICHIESTE_SCONTI;
$response = array();
$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;
$stato = $_POST['columns'][8]['search']['value'];
if ($stato == "") {
$stato = 0;
$searchQuery = " AND STATO >= :STATO";
} else {
$searchQuery = " AND STATO = :STATO";
}
$priority = $_POST['columns'][1]['search']['value'];
if ($priority == "") {
$priority = 0;
$searchQuery .= " AND PRIORITA >= :PRIORITA";
} else {
$searchQuery .= " AND PRIORITA = :PRIORITA";
}
$searchArray = array(
'STATO' => $stato,
'PRIORITA' => $priority,
);
if ($searchValue != '') {
$searchQuery .= " AND ( REGEXP_LIKE(COGNOME,:COGNOME,'i') OR REGEXP_LIKE(NOME,:NOME,'i') OR CODICE_FISCALE = :CODICE_FISCALE OR ID = :ID ) ";
$searchArray['COGNOME'] = $searchValue;
$searchArray['NOME'] = $searchValue;
$searchArray['CODICE_FISCALE'] = $searchValue;
$searchArray['ID'] = intval($searchValue);
}
$res = DomandaSconti::LoadDataTable($searchQuery, $searchArray, $columnName, $columnSortOrder, $row, $rowperpage);
//Utils::print_array($res);exit();
foreach ($res['empRecords'] as $row) {
$btn_Downloads = '';
$btn_OP = '';
$note_esclusione = '';
if ($row['FILEPATH_BIGLIETTO'] != "") {
$btn_Downloads .= '';
}
if ($row['FILEPATH_CARTAIMBARCO'] != "") {
$btn_Downloads .= '';
}
if ($row['STATO'] < RS_EROGATA && $row['STATO'] > RS_IN_ELABORAZIONE) {
$onclick = 'siparsFramework.takeChargeFromName(\'' . $row['ID'] . '\',\'elenco_sconti\', \'load\', \'\', \'form-edit-sconto\' )';
//$fnAddMod = '';
$btn_OP = '';
}
if ($row['STATO'] == RS_PRESA_IN_CARICO) {
$onclick = 'siparsFramework.takeChargeFromName(\'' . $row['ID'] . '\',\'elenco_sconti\', \'load\', \'\', \'form-edit-sconto-valida\' )';
$btn_OP .= '';
}
if ($row['NOTE'] != "") {
$nota = explode('[!]', $row['NOTE']);
if (count($nota) > 0) {
$row['NOTE'] = $nota[0] . ($nota[1] != "" ? " - " . $nota[1] : "");
}
$note_esclusione = "
" . $row['NOTE'] . "
";
}
if ($row['STATO'] == RS_NON_APPROVATA) {
$note_esclusione = "" . $row['NOTE'] . "
";
}
$label_forza_residenza = (intval($row['FORZA_RESIDENZA']) == 0 ? '' : '
Forzato sconto residenza');
if ($row['STATO'] == RS_IN_ELABORAZIONE) {
if ($row['FORZA_RESIDENZA'] == 0) {
$onclickForza = 'onclick="siparsFramework.takeChargeConfirm(\'' . $row['ID'] . '\',\'elenco_sconti\', \'forza\', \'#lista_richieste\' )"';
$btn_OP .= '';
} else {
$onclickForza = 'onclick="siparsFramework.takeChargeConfirm(\'' . $row['ID'] . '\',\'elenco_sconti\', \'togli_forzatura_residenza\', \'#lista_richieste\' )"';
$btn_OP .= '';
}
}
$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');
}
$controlloVolo = Utils::isPeriodoNativita($row['DATA_VOLO']);
if ($controlloVolo == 0) {
$priority = '';
if ($row['PRIORITA'] > 0 || $row['ISEE'] == 1) {
$priority = '';
}
if ($row['PRIORITA'] == 1 || $row['ISEE'] == 1) {
$txt_priority = 'PRIORITARIO';
} else {
$txt_priority = 'RESIDENTE';
}
$tipoVolo = $txt_priority . $priority;
} else {
$tipoVolo = "DDG 3848";
}
$tratta = ' ' . $row['NUMERO_VOLO'] . '
';
$tratta .= 'Compagnia: ' . $row['COMPAGNIA_AEREA'] . '
';
$tratta .= ' ' . $row['AEROPORTO_PARTENZA'] . ' - ';
$tratta .= ' ' . $row['AEROPORTO_DESTINAZIONE'] . '
';
$tratta .= ' ' . number_format($row['COSTO_TRATTA'], 2, ',', '.') . '';
$fnVisualizza = '';
$gruopDowuloads = '' . $btn_Downloads . '
';
$gruopOP = '' . $btn_OP . $fnVisualizza . '
';
$benficiario = "[" . $row['CODICE_FISCALE'] . "] " . $row['COGNOME'] . " " . $row['NOME'];
$benficiario .= "
" . $gruopDowuloads . $note_esclusione;
$data[] = array(
"ID" => $row['ID'],
"DATA_RICHIESTA" => $data_richiesta,
"PRIORITA" => $tipoVolo,
"BENEFICIARIO" => $benficiario,
"DATA_ACQUISTO" => $data_acquisto,
"DATA_VOLO" => $data_volo,
"TRATTA" => $tratta,
"SCONTO_TOTALE" => number_format($row['SCONTO_TOTALE'], 2, ',', '.') . $label_forza_residenza,
"STATO" => $ICONE_STATI_RICHIESTE_SCONTI[$row['STATO']] . (intval($row['LOTTO']) > 0 ? ' Lotto n.' . $row['LOTTO'] . '' : '' ),
"OP" => $gruopOP//($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 listScontiNonErogati() {
global $LoggedAccount, $STATI_RICHIESTE_SCONTI, $ICONE_STATI_RICHIESTE_SCONTI;
$response = array();
$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 = "AND ((STATO=" . RS_EROGATA . " AND SCONTO_TOTALE=0) OR STATO =" . RS_NON_APPROVATA . ")";
$priority = $_POST['columns'][1]['search']['value'];
if ($priority == "") {
$priority = 0;
$searchQuery .= " AND PRIORITA >= :PRIORITA";
} else {
$searchQuery .= " AND PRIORITA = :PRIORITA";
}
$searchArray = array(
'PRIORITA' => $priority,
);
if ($searchValue != '') {
$searchQuery .= " AND ( REGEXP_LIKE(COGNOME,:COGNOME,'i') OR REGEXP_LIKE(NOME,:NOME,'i') OR CODICE_FISCALE = :CODICE_FISCALE OR ID = :ID ) ";
$searchArray['COGNOME'] = $searchValue;
$searchArray['NOME'] = $searchValue;
$searchArray['CODICE_FISCALE'] = $searchValue;
$searchArray['ID'] = intval($searchValue);
}
//Utils::print_array($searchQuery);exit();
$res = DomandaSconti::LoadDataTable($searchQuery, $searchArray, $columnName, $columnSortOrder, $row, $rowperpage);
//Utils::print_array($res);exit();
foreach ($res['empRecords'] as $row) {
$btn_Downloads = '';
$btn_OP = '';
$note_esclusione = '';
if ($row['FILEPATH_BIGLIETTO'] != "") {
$btn_Downloads .= '';
}
if ($row['FILEPATH_CARTAIMBARCO'] != "") {
$btn_Downloads .= '';
}
if ($row['STATO'] < RS_EROGATA && $row['STATO'] > RS_IN_ELABORAZIONE) {
$onclick = 'siparsFramework.takeChargeFromName(\'' . $row['ID'] . '\',\'elenco_sconti\', \'load\', \'\', \'form-edit-sconto\' )';
//$fnAddMod = '';
$btn_OP = '';
}
if ($row['STATO'] == RS_PRESA_IN_CARICO) {
$onclick = 'siparsFramework.takeChargeFromName(\'' . $row['ID'] . '\',\'elenco_sconti\', \'load\', \'\', \'form-edit-sconto-valida\' )';
$btn_OP .= '';
}
if ($row['NOTE'] != "") {
$nota = explode('[!]', $row['NOTE']);
if (count($nota) > 0) {
$row['NOTE'] = $nota[0] . ($nota[1] != "" ? " - " . $nota[1] : "");
}
$note_esclusione = "" . $row['NOTE'] . "
";
}
if ($row['STATO'] == RS_NON_APPROVATA) {
$note_esclusione = "" . $row['NOTE'] . "
";
}
$label_forza_residenza = (intval($row['FORZA_RESIDENZA']) == 0 ? '' : '
Forzato sconto residenza');
if ($row['STATO'] == RS_IN_ELABORAZIONE) {
if ($row['FORZA_RESIDENZA'] == 0) {
$onclickForza = 'onclick="siparsFramework.takeChargeConfirm(\'' . $row['ID'] . '\',\'elenco_sconti\', \'forza\', \'#lista_richieste\' )"';
$btn_OP .= '';
} else {
$onclickForza = 'onclick="siparsFramework.takeChargeConfirm(\'' . $row['ID'] . '\',\'elenco_sconti\', \'togli_forzatura_residenza\', \'#lista_richieste\' )"';
$btn_OP .= '';
}
}
$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');
}
$priority = '';
if ($row['PRIORITA'] > 0) {
$priority = '';
}
$txt_priority = ($row['PRIORITA'] == 1 ? 'PRIORITARIO' : 'RESIDENTE');
$tratta = ' ' . $row['NUMERO_VOLO'] . '
';
$tratta .= 'Compagnia: ' . $row['COMPAGNIA_AEREA'] . '
';
$tratta .= ' ' . $row['AEROPORTO_PARTENZA'] . ' - ';
$tratta .= ' ' . $row['AEROPORTO_DESTINAZIONE'] . '
';
$tratta .= ' ' . number_format($row['COSTO_TRATTA'], 2, ',', '.') . '';
$fnVisualizza = '';
$gruopDowuloads = '' . $btn_Downloads . '
';
$gruopOP = '' . $btn_OP . $fnVisualizza . '
';
$benficiario = "[" . $row['CODICE_FISCALE'] . "] " . $row['COGNOME'] . " " . $row['NOME'];
$benficiario .= "
" . $gruopDowuloads . $note_esclusione;
$data[] = array(
"ID" => $row['ID'],
"DATA_RICHIESTA" => $data_richiesta,
"PRIORITA" => $txt_priority . $priority,
"BENEFICIARIO" => $benficiario,
"DATA_ACQUISTO" => $data_acquisto,
"DATA_VOLO" => $data_volo,
"TRATTA" => $tratta,
"SCONTO_TOTALE" => number_format($row['SCONTO_TOTALE'], 2, ',', '.') . $label_forza_residenza,
"STATO" => $ICONE_STATI_RICHIESTE_SCONTI[$row['STATO']] . (intval($row['LOTTO']) > 0 ? ' Lotto n.' . $row['LOTTO'] . '' : '' ),
"OP" => $gruopOP//($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 presaincarico() {
$data_estrazione = Utils::get_filter_string_POST('data_estrazione');
$tipo = Utils::get_filter_string_POST('tipo');
$response = Utils::initDefaultResponse();
$response = DomandaSconti::SetPresInCarico($data_estrazione, $tipo);
exit(json_encode($response));
}
function approva($t) {
$lotto = Utils::get_filter_string_POST('lotto');
$tipo = Utils::get_filter_string_POST('tipo');
$response = Utils::initDefaultResponse();
if (!$t) {
$response = DomandaSconti::SetDisApprova($lotto, $tipo);
} else {
$response = DomandaSconti::SetApprova($lotto, $tipo);
}
exit(json_encode($response));
}
function eroga() {
$lotto = $_POST['lotto'];
$response = Utils::initDefaultResponse();
$response = DomandaSconti::SetErogato($lotto);
exit(json_encode($response));
}
function escludi() {
global $LoggedAccount;
$response = Utils::initDefaultResponse();
if (intval($_POST['ID']) > 0) {
$rec = new DomandaSconti($_POST['ID']);
$rec->ID_UID_FIREBASE = $LoggedAccount->ID;
$rec->NOTE = $_POST['NOTE'];
$rec->STATO = RS_NON_APPROVATA;
$now = new DateTime();
$rec->DATA_ESITO = $now->format('d-M-y');
$rec->NUMERO_VOLO = $rec->NUMERO_VOLO . '-CANCELLED-' . time();
$response = $rec->Save();
$caricoControllo = DomandaScontiControlli::loadControlloFromSconto($_POST['ID']);
$domandaControlli = new DomandaScontiControlli($caricoControllo['ID']);
$domandaControlli->DATA_ESITO = date(FORMAT_TIMESTAMP_ORACLE);
$domandaControlli->ESITO = RS_NON_APPROVATA;
$domandaControlli->ID_UID_FIREBASE_ADMIN = $LoggedAccount->ID;
$eseguo = $domandaControlli->Save();
}
exit(json_encode($response));
}
function valida() {
// error_reporting(E_ALL);
//ini_set('display_errors', 1);
global $LoggedAccount, $con;
$response = Utils::initDefaultResponse();
$transaction = false;
$con->db_transactionStart();
if (intval($_POST['ID']) > 0) {
$rec = new DomandaSconti($_POST['ID']);
$rec->ID_UID_FIREBASE = $LoggedAccount->ID;
$txt_validato = "[VALIDATA]";
$rec->NOTE = $txt_validato . "[!]" . $_POST['NOTE'];
$response = $rec->Save();
$caricoControllo = DomandaScontiControlli::loadControlloFromSconto($_POST['ID']);
if ($caricoControllo['ID'] > 0) {
$domandaControlli = new DomandaScontiControlli($caricoControllo['ID']);
} else {
$caricoLotto = DomandaSconti::getLottoFromRecord($_POST['ID']);
$domandaControlli = new DomandaScontiControlli();
$domandaControlli->LOTTO = $caricoLotto['LOTTO'];
$domandaControlli->ID_DOMANDA_SCONTI = $_POST['ID'];
}
$domandaControlli->DATA_ESITO = date(FORMAT_TIMESTAMP_ORACLE);
$domandaControlli->ESITO = RS_PRESA_IN_CARICO;
$domandaControlli->ID_UID_FIREBASE_ADMIN = $LoggedAccount->ID;
$eseguo = $domandaControlli->Save();
if ($eseguo['esito'] == 1) {
$transaction = true;
}
// $caricoControllo = DomandaScontiControlli::loadControlloFromSconto($_POST['ID']);
// $domandaControlli = new DomandaScontiControlli($caricoControllo['ID']);
// $domandaControlli->DATA_ESITO = date(FORMAT_TIMESTAMP_ORACLE);
// $domandaControlli->ESITO = RS_PRESA_IN_CARICO;
// $domandaControlli->ID_UID_FIREBASE_ADMIN = $LoggedAccount->ID;
// $eseguo = $domandaControlli->Save();
if ($transaction) {
$con->db_transactionCommit();
$response['esito'] = 1;
} else {
$con->db_transactionRollback();
}
}
exit(json_encode($response));
}
function loadMandato() {
global $TIPO_RICHIESTA;
$id = Utils::getFromReq("id", 0);
$totaliEsportazione = DomandaSconti::GetTotaleFromLotto($id);
$return = array();
$record = new Esportazioni($id);
$return = Utils::ObjectToArray($record);
$return['TIPO_TXT'] = $TIPO_RICHIESTA[$record->TIPO];
$return['DATA_FILTRO'] = Date::dateOracleDate($record->DATA_FILTRO, 'Y-m-d');
$return['DATA_DRS'] = ($record->DATA_DRS == '' ? date('Y-m-d') : Date::dateOracleDate($record->DATA_DRS, 'Y-m-d'));
$return['IMPORTO_MANDATO'] = "€. " . number_format($totaliEsportazione['SCONTO'], '2', ',', '.');
exit(json_encode($return));
}
function saveMandato() {
$response = Utils::initDefaultResponse();
$controllValidita = true;
$dati_mancanti = '';
$filteredInput = Utils::requestDati($_POST);
$id = Utils::getFromReq("LOTTO");
$filteredInput['NUMERO_DRS'] = Utils::getFromReq('NUMERO_DRS');
$filteredInput['DATA_DRS'] = Utils::getFromReq("DATA_DRS");
if ($filteredInput['NUMERO_DRS'] == "") {
$controllValidita = false;
$dati_mancanti .= "Campo Numero DRS Obbligatorio.
";
}
if ($filteredInput['DATA_DRS'] == "") {
$controllValidita = false;
$dati_mancanti .= "Campo Data DRS Obbligatorio..
";
}
$totaliEsportazione = DomandaSconti::GetTotaleFromLotto($id);
$rec = new Esportazioni($id);
$rec->NUMERO_DRS = $filteredInput['NUMERO_DRS'];
$rec->DATA_DRS = ($filteredInput['DATA_DRS'] != "" ? Date::dateOracleDate($filteredInput['DATA_DRS'], 'd-M-y') : '');
$rec->IMPORTO_MANDATO = $totaliEsportazione['SCONTO'];
if ($controllValidita) {
/*
* Inserire la generazione del PDF
* */
$response = $rec->Save();
} else {
$response['erroreDescrizione'] = ("Verificare i seguenti campi: " . $dati_mancanti);
}
exit(json_encode($response));
}
function listDecreti() {
global $LoggedAccount, $STATI_RICHIESTE_SCONTI, $ICONE_STATI_RICHIESTE_SCONTI, $TIPO_RICHIESTA;
$response = array();
$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();
$searchQuery = '';
$searchArray = array();
$data_modifica = "";
//$countAllegatiCompleti = 0;
//$iTotalRecordsObbligatori = 0;
## Search
$totCount = false;
if ($searchValue != '') {
$searchQuery .= " AND ( REGEXP_LIKE(NUMERO_DRS,:SEARCH,'i') OR LOTTO = :LOTTO ) ";
$searchArray['SEARCH'] = $searchValue;
$searchArray['LOTTO'] = intval($searchValue);
}
$res = Esportazioni::LoadDataTable($searchQuery, $searchArray, $columnName, $columnSortOrder, $row, $rowperpage);
//Utils::print_array($res);exit();
foreach ($res['empRecords'] as $row) {
$btn_Downloads = '';
$btn_OP = '';
$note_esclusione = '';
if ($row['FILEPATH'] != "") {
$btn_Downloads .= '';
}
$data_creazione = '';
if ($row['DATA_CREAZIONE'] != "") {
$data_creazione = Date::dateOracleTimeStamp($row['DATA_CREAZIONE'], 'd-m-Y');
}
$data_filtro = '';
if ($row['DATA_FILTRO'] != "") {
$data_filtro = "dal 04/12/2023 al " . Date::dateOracleDate($row['DATA_FILTRO'], 'd-m-Y');
}
$data_drs = '';
if ($row['DATA_DRS'] != "") {
$data_drs = Date::dateOracleDate($row['DATA_DRS'], 'd-m-Y');
}
$gruopOP = '' . $btn_OP . $btn_Downloads . '
';
$data[] = array(
"LOTTO" => $row['LOTTO'],
"DATA_CREAZIONE" => $data_creazione,
"DATA_FILTRO" => $data_filtro,
"NUMERO_DRS" => $row['NUMERO_DRS'],
"DATA_DRS" => $data_drs,
"TIPO" => $TIPO_RICHIESTA[$row['TIPO']],
"OP" => $gruopOP//($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 forzaResidenza($forza = 1) {
$id = Utils::getFromReq("id", 0);
$record = new DomandaSconti($id);
$return = $record->SetForzaResidenza($forza);
exit(json_encode($return));
}
function approvaVerificati() {
$lotto = Utils::get_filter_string_POST('lotto');
$response = Utils::initDefaultResponse();
$response = DomandaSconti::SetApprovaVerificati($lotto);
exit(json_encode($response));
}
function cambiaLotto(){
$from = Utils::getFromReq("LOTTO_FROM", 0);
$to = Utils::getFromReq("LOTTO_TO", 0);
$response = Utils::initDefaultResponse();
$response = DomandaSconti::SetCambiaLotto($from, $to);
exit(json_encode($response));
}