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.
 
 
 

1162 righe
104 KiB

<?php
$mode = $_REQUEST['action'];
switch ($mode) {
case 'load':
load();
break;
case 'listSconti':
listSconti();
break;
case 'listScontiNonErogati':
listScontiNonErogati();
break;
case 'presaincarico':
presaincarico();
break;
case 'approva':
approva(true);
break;
case 'disapprova':
approva(false);
break;
case 'eroga':
eroga();
break;
case 'escludi':
escludi();
break;
case 'valida':
valida();
break;
case 'loadMandato':
loadMandato();
break;
case 'lista_decreti':
listDecreti();
break;
case 'forza':
forzaResidenza(1);
break;
case 'togli_forzatura_residenza':
forzaResidenza(0);
break;
case 'approvaVerificati':
approvaVerificati();
break;
case 'cambiaLotto':
cambiaLotto();
break;
case 'load_lotto':
loadLotto();
break;
case 'soccorso_istruttorio':
soccorsoIstruttorio();
break;
case 'soccorso_istruttorio_validato':
soccorsoIstruttorioValidato();
break;
case 'soccorso_istruttorio_rigettato':
soccorsoIstruttorioRigettato();
break;
}
function load() {
$id = Utils::getFromReq("id", 0);
$record = new DomandaSconti($id);
if ($record->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 .= '<button type="button" data-toggle="tooltip" data-placement="top" title="Scarica il biglietto elettronico" onclick="openStreamer(\'' . $row['ID'] . '\', \'biglietto\' )" class="btn btn-sm btn-success"><i class="fas fa-download"></i>&nbsp;Biglietto elettronico</button>';
}
if ($row['FILEPATH_CARTAIMBARCO'] != "") {
$btn_Downloads .= '<button type="button" data-toggle="tooltip" data-placement="top" title="Scarica la carta di imbarco" onclick="openStreamer(\'' . $row['ID'] . '\', \'imbarco\' )" class="btn btn-sm btn-info"><i class="fas fa-download"></i>&nbsp;Carta d\'imbarco</button>';
}
if ($row['STATO'] < RS_EROGATA && $row['STATO'] > RS_IN_ELABORAZIONE) {
$onclick = 'siparsFramework.takeChargeFromName(\'' . $row['ID'] . '\',\'elenco_sconti\', \'load\', \'\', \'form-edit-sconto\' )';
//$fnAddMod = '<a href="#editFaq" ' . $onclick . ' data-toggle="modal" data-target="#editFaq" class="btn btn-primary "><i class="fas fa-quidditch"></i></a>';
$btn_OP = '<button type="button" data-toggle="modal" data-target="#editEscludiRichiesta" onclick="' . $onclick . '" title="Escludi la singola richiesta" class="btn btn-sm btn-danger"><i class="fas fa-ban"></i></button>';
}
if ($row['STATO'] == RS_PRESA_IN_CARICO) {
$onclick = 'siparsFramework.takeChargeFromName(\'' . $row['ID'] . '\',\'elenco_sconti\', \'load\', \'\', \'form-edit-sconto-valida\' )';
$btn_OP .= '<button type="button" data-toggle="modal" data-target="#editValidaRichiesta" onclick="' . $onclick . '" title="Valida la singola richiesta" class="btn btn-sm btn-info"><i class="far fa-check-square"></i></button>';
}
if ($row['NOTE'] != "") {
$nota = explode('[!]', $row['NOTE']);
if (count($nota) > 0) {
$row['NOTE'] = $nota[0] . ($nota[1] != "" ? " - " . $nota[1] : "");
}
$note_esclusione = "<h5 class='text-success text-uppercase'>" . $row['NOTE'] . "</h5>";
}
if ($row['STATO'] == RS_NON_APPROVATA) {
$note_esclusione = "<h6 class='text-danger text-uppercase'>" . $row['NOTE'] . "</h6>";
}
$label_forza_residenza = (intval($row['FORZA_RESIDENZA']) == 0 ? '' : '<br/><small class="text-success">Forzato sconto residenza</small>');
if ($row['STATO'] == RS_IN_ELABORAZIONE) {
if ($row['FORZA_RESIDENZA'] == 0) {
$onclickForza = 'onclick="siparsFramework.takeChargeConfirm(\'' . $row['ID'] . '\',\'elenco_sconti\', \'forza\', \'#lista_richieste\' )"';
$btn_OP .= '<button type="button" ' . $onclickForza . ' title="Forza lo sconto residenza" class="btn btn-sm btn-info"><i class="fas fa-bell"></i></button>';
} else {
$onclickForza = 'onclick="siparsFramework.takeChargeConfirm(\'' . $row['ID'] . '\',\'elenco_sconti\', \'togli_forzatura_residenza\', \'#lista_richieste\' )"';
$btn_OP .= '<button type="button" ' . $onclickForza . ' title="Togli la forzatura dello sconto residenza" class="btn btn-sm btn-danger"><i class="fas fa-bell-slash"></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');
}
$controlloVolo = Utils::isPeriodoNativita($row['DATA_VOLO']);
if ($controlloVolo == 0) {
$priority = '<span class="h5 float-right text-warning"><i class="fas fa-star"></i><i class="far fa-star"></i></span>';
if ($row['PRIORITA'] > 0 || $row['ISEE'] == 1) {
$priority = '<span class="h5 float-right text-warning"><i class="fas fa-star"></i><i class="fas fa-star"></i></span>';
}
if ($row['PRIORITA'] == 1 || $row['ISEE'] == 1) {
$txt_priority = 'PRIORITARIO';
} else {
$txt_priority = 'RESIDENTE';
}
$tipoVolo = $txt_priority . $priority;
} else {
$tipoVolo = "<span class='text-danger'>DDG 3848</span>";
}
$tratta = '<small class="text-success"><i class="fas fa-ticket-alt"></i>&nbsp;' . $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>&nbsp;' . $row['AEROPORTO_PARTENZA'] . '</small> - ';
$tratta .= '<small class="text-success"><i class="fas fa-plane-arrival"></i>&nbsp;' . $row['AEROPORTO_DESTINAZIONE'] . '</small><br/>';
$tratta .= '<small class="text-primary"><i class="fas fa-euro-sign"></i>&nbsp;' . number_format($row['COSTO_TRATTA'], 2, ',', '.') . '</small>';
$fnVisualizza = '<button type="button" data-toggle="tooltip" data-placement="top" title="Visualizza l\'istanza del dichiarante" class="btn btn-sm btn-primary" onclick=\'redirectDomanda("' . $row['ID_DOMANDA'] . '")\'><i class="fas fa-file-alt"></i></button>';
$gruopDowuloads = '<div class="btn-group" role="group" aria-label="Basic example">' . $btn_Downloads . '</div>';
$gruopOP = '<div class="btn-group" role="group" aria-label="Basic example">' . $btn_OP . $fnVisualizza . '</div>';
$benficiario = "<small>[" . $row['CODICE_FISCALE'] . "]</small>&nbsp;" . $row['COGNOME'] . "&nbsp;" . $row['NOME'];
$benficiario .= "<br/>" . $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 ? '&nbsp;<small>Lotto n.' . $row['LOTTO'] . '</small>' : ''),
"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 .= '<button type="button" data-toggle="tooltip" data-placement="top" title="Scarica il biglietto elettronico" onclick="openStreamer(\'' . $row['ID'] . '\', \'biglietto\' )" class="btn btn-sm btn-success"><i class="fas fa-download"></i>&nbsp;Biglietto elettronico</button>';
}
if ($row['FILEPATH_CARTAIMBARCO'] != "") {
$btn_Downloads .= '<button type="button" data-toggle="tooltip" data-placement="top" title="Scarica la carta di imbarco" onclick="openStreamer(\'' . $row['ID'] . '\', \'imbarco\' )" class="btn btn-sm btn-info"><i class="fas fa-download"></i>&nbsp;Carta d\'imbarco</button>';
}
if ($row['STATO'] < RS_EROGATA && $row['STATO'] > RS_IN_ELABORAZIONE) {
$onclick = 'siparsFramework.takeChargeFromName(\'' . $row['ID'] . '\',\'elenco_sconti\', \'load\', \'\', \'form-edit-sconto\' )';
//$fnAddMod = '<a href="#editFaq" ' . $onclick . ' data-toggle="modal" data-target="#editFaq" class="btn btn-primary "><i class="fas fa-quidditch"></i></a>';
$btn_OP = '<button type="button" data-toggle="modal" data-target="#editEscludiRichiesta" onclick="' . $onclick . '" title="Escludi la singola richiesta" class="btn btn-sm btn-danger"><i class="fas fa-ban"></i></button>';
}
if ($row['STATO'] == RS_PRESA_IN_CARICO) {
$onclick = 'siparsFramework.takeChargeFromName(\'' . $row['ID'] . '\',\'elenco_sconti\', \'load\', \'\', \'form-edit-sconto-valida\' )';
$btn_OP .= '<button type="button" data-toggle="modal" data-target="#editValidaRichiesta" onclick="' . $onclick . '" title="Valida la singola richiesta" class="btn btn-sm btn-info"><i class="far fa-check-square"></i></button>';
}
if ($row['NOTE'] != "") {
$nota = explode('[!]', $row['NOTE']);
if (count($nota) > 0) {
$row['NOTE'] = $nota[0] . ($nota[1] != "" ? " - " . $nota[1] : "");
}
$note_esclusione = "<h5 class='text-success text-uppercase'>" . $row['NOTE'] . "</h5>";
}
if ($row['STATO'] == RS_NON_APPROVATA) {
$note_esclusione = "<h6 class='text-danger text-uppercase'>" . $row['NOTE'] . "</h6>";
}
$label_forza_residenza = (intval($row['FORZA_RESIDENZA']) == 0 ? '' : '<br/><small class="text-success">Forzato sconto residenza</small>');
if ($row['STATO'] == RS_IN_ELABORAZIONE) {
if ($row['FORZA_RESIDENZA'] == 0) {
$onclickForza = 'onclick="siparsFramework.takeChargeConfirm(\'' . $row['ID'] . '\',\'elenco_sconti\', \'forza\', \'#lista_richieste\' )"';
$btn_OP .= '<button type="button" ' . $onclickForza . ' title="Forza lo sconto residenza" class="btn btn-sm btn-info"><i class="fas fa-bell"></i></button>';
} else {
$onclickForza = 'onclick="siparsFramework.takeChargeConfirm(\'' . $row['ID'] . '\',\'elenco_sconti\', \'togli_forzatura_residenza\', \'#lista_richieste\' )"';
$btn_OP .= '<button type="button" ' . $onclickForza . ' title="Togli la forzatura dello sconto residenza" class="btn btn-sm btn-danger"><i class="fas fa-bell-slash"></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');
}
$priority = '<span class="h5 float-right text-warning"><i class="fas fa-star"></i><i class="far fa-star"></i></span>';
if ($row['PRIORITA'] > 0) {
$priority = '<span class="h5 float-right text-warning"><i class="fas fa-star"></i><i class="fas fa-star"></i></span>';
}
$txt_priority = ($row['PRIORITA'] == 1 ? 'PRIORITARIO' : 'RESIDENTE');
$tratta = '<small class="text-success"><i class="fas fa-ticket-alt"></i>&nbsp;' . $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>&nbsp;' . $row['AEROPORTO_PARTENZA'] . '</small> - ';
$tratta .= '<small class="text-success"><i class="fas fa-plane-arrival"></i>&nbsp;' . $row['AEROPORTO_DESTINAZIONE'] . '</small><br/>';
$tratta .= '<small class="text-primary"><i class="fas fa-euro-sign"></i>&nbsp;' . number_format($row['COSTO_TRATTA'], 2, ',', '.') . '</small>';
$fnVisualizza = '<button type="button" data-toggle="tooltip" data-placement="top" title="Visualizza l\'istanza del dichiarante" class="btn btn-sm btn-primary" onclick=\'redirectDomanda("' . $row['ID_DOMANDA'] . '")\'><i class="fas fa-file-alt"></i></button>';
$gruopDowuloads = '<div class="btn-group" role="group" aria-label="Basic example">' . $btn_Downloads . '</div>';
$gruopOP = '<div class="btn-group" role="group" aria-label="Basic example">' . $btn_OP . $fnVisualizza . '</div>';
$benficiario = "<small>[" . $row['CODICE_FISCALE'] . "]</small>&nbsp;" . $row['COGNOME'] . "&nbsp;" . $row['NOME'];
$benficiario .= "<br/>" . $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 ? '&nbsp;<small>Lotto n.' . $row['LOTTO'] . '</small>' : ''),
"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 loadLotto() {
$id = Utils::getFromReq("id", 0);
$record = new Esportazioni($id);
$return = Utils::ObjectToArray($record);
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.<br>";
}
if ($filteredInput['DATA_DRS'] == "") {
$controllValidita = false;
$dati_mancanti .= "Campo Data DRS Obbligatorio..<br>";
}
$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 .= '<button type="button" data-toggle="tooltip" data-placement="top" title="Scarica il decreto di liquidazione" onclick="openStreamer(\'' . $row['FILEPATH'] . '\')" class="btn btn-sm btn-success"><i class="fas fa-download"></i>&nbsp;Decreto di liquidazione</button>';
}
$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 = '<div class="btn-group" role="group" aria-label="Basic example">' . $btn_OP . $btn_Downloads . '</div>';
$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));
}
function soccorsoIstruttorio() {
// 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']);
$richiesta = new RichiestaIntegrazione();
$richiesta->ID_DOMANDA_SCONTI = $rec->ID;
$richiesta->DESCRIZIONE_RICHIESTA = $_POST['DESCRIZIONE_RICHIESTA'];
$richiesta->STATO = RI_INTEGRAZIONE_IN_ATTESA;
$dataInvio = new DateTime();
$richiesta->DATA_INVIO_NOTIFICA = $dataInvio->format('d-m-Y');
$richiesta->OPERATORE_RICHIESTA = $LoggedAccount->ID;
$richiesta->calcolaScadenzaDaInvio();
$response = $richiesta->Save();
if ($response['esito'] == 1) {
$richiestaSalvata = new RichiestaIntegrazione($response['lastId']);
if ($richiestaSalvata->ID > 0) {
$genpdf = generaPdfRichiestaIntegrazione($richiestaSalvata->ID);
if ($genpdf['esito'] == 1) {
$richiestaSalvata->FILEPATH_PDF_PROTOCOLLATO = $genpdf['nomeFile'];
$response = callServiceProtocollo($rec, $richiestaSalvata);
// $response['esito']=1;
if ($response['esito'] == 1) {
$richiestaSalvata->PROTOCOLLO_JSON = json_encode($response['xml']);
$richiestaSalvata->NUMERO_PROTOCOLLO = $response['protocollo']; // $response['protocollo'];
$richiestaSalvata->DATA_PROTOCOLLO = Date::convertiDataProtocollo($response['xml']['DataProtocollo']);
$eseguo = $richiestaSalvata->Save();
if ($eseguo['esito'] == 1) {
$destinatario = new AccountAnagrafica($rec->CODICE_FISCALE);
if ($destinatario->ID > 0) {
$oggetto = "SiciliaPEI - Bando Caro Voli - Richiesta Integrazione Documentale - Sconto nr. " . $rec->ID;
$testo = "Gentile utente,<br/><br/>le comunichiamo che la sua richiesta per lo sconto del "
. "biglietto è stata presa in carico e necessita di integrazione documentale.<br/><br/>"
. "Per maggiori informazioni, è necesario accedere al portale <b><u>https://siciliapei.regione.sicilia.it/bandocarovoli</u></b>,"
. " entrare nel modulo \"Sezione rimborsi\" e filtrare le richieste con stato 'RICHIESTA INTEGRAZIONE'."
. "<br/><br/>Cordiali saluti.";
$destinatario_email = $destinatario->EMAIL;
$invioEmail = EmailSms::sendGenericEmail($destinatario_email, $oggetto, $testo);
$queue = new IntegrazioniEmailQueue();
$queue->ID_RICHIESTA = $richiestaSalvata->ID;
$queue->DESTINATARIO = $destinatario_email;
$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'] = "Errore durante il caricamento del destinatario della richiesta di integrazione.";
}
} else {
// echo "<pre>" . print_r($eseguo, true) . "</pre>";
$response['erroreDescrizione'] = "Errore durante il salvataggio della richiesta di integrazione.";
}
} else {
$response['erroreDescrizione'] = "Errore durante la chiamata al servizio di protocollo.";
}
} else {
$response['erroreDescrizione'] = "Errore durante la generazione del PDF della richiesta di integrazione.";
}
} else {
$response['erroreDescrizione'] = "Errore durante il caricamento della richiesta di integrazione.";
}
} else {
$response['erroreDescrizione'] = "Errore durante il salvataggio della richiesta di integrazione.";
}
}
// $transaction = false;
if ($transaction) {
$con->db_transactionCommit();
$response['esito'] = 1;
} else {
$con->db_transactionRollback();
}
exit(json_encode($response));
}
function callServiceProtocollo($sconto, $integrazione) {
// error_reporting(E_ALL);
//ini_set('display_errors', 1);
$response = Utils::initDefaultResponse();
$account = new AccountAnagrafica($sconto->CODICE_FISCALE);
$id_sconto = $sconto->ID;
$cf = $sconto->CODICE_FISCALE;
$cognome = $sconto->COGNOME;
$nome = $sconto->NOME;
$indirizzo = $account->INDIRIZZO_RESIDENZA;
$localita = $account->COMUNE_RESIDENZA;
$email = $account->SPID_EMAIL;
$cell = $account->SPID_CELLULARE;
$annoPratica = Date::dateOracleTimeStamp($sconto->DATA_REGISTRAZIONE, 'Y');
$nomeFile = $integrazione->FILEPATH_PDF_PROTOCOLLATO;
$istanza = new Domanda($sconto->ID_DOMANDA);
$folder = $istanza->generateDirForUpload(ROOT_UPLOAD_PRESENTAZIONE, 'soccorso_istruttorio');
$filePath = $folder . '/' . $integrazione->FILEPATH_PDF_PROTOCOLLATO;
$contenuto = file_get_contents($filePath);
$base64File = base64_encode($contenuto);
$stringaAllegato = "<Allegati>"
. "<Allegato>"
. "<TipoFile>pdf</TipoFile>"
. "<ContentType/>"
. "<Image>$base64File</Image>"
. "<Commento/>"
. "<IdAllegatoPrincipale/>"
. "<Schema/>"
. "<NomeAllegato>$nomeFile</NomeAllegato>"
. "<TipoAllegato/>"
. "<URI/>"
. "<Hash/>"
. "</Allegato>"
. "</Allegati>";
$protoString = "<ProtoIn><Data></Data><DataProt>"
. "</DataProt><NumProt></NumProt>"
. "<Classifica>" . PROTO_CLASSIFICA . "</Classifica>"
. "<TipoDocumento>" . PROTO_TIPODOCUMENTO . "</TipoDocumento><Oggetto>"
. "TEST WGS SiciliaPEI - Bando Caro Voli - Soccorso Istruttorio - Sconto nr. $id_sconto</Oggetto>"
. "<OggettoBilingue></OggettoBilingue>"
. "<Origine>" . PROTO_ORIGINE . "</Origine><MittenteInterno></MittenteInterno><MittentiDestinatari><MittenteDestinatario>"
. "<CodiceFiscale>$cf</CodiceFiscale><CognomeNome>$cognome</CognomeNome><Nome>$nome</Nome>"
. "<Indirizzo>$indirizzo</Indirizzo><Localita>$localita</Localita><CodiceComuneResidenza></CodiceComuneResidenza>"
. "<DataNascita></DataNascita><CodiceComuneNascita></CodiceComuneNascita><Nazionalita></Nazionalita>"
. "<DataInvio_DataProt></DataInvio_DataProt><Spese_NProt></Spese_NProt><Mezzo></Mezzo><DataRicevimento></DataRicevimento>"
. "<TipoSogg></TipoSogg><TipoPersona>FI</TipoPersona>"
. "<Recapiti>"
. "<Recapito><TipoRecapito>EMAIL</TipoRecapito><ValoreRecapito>$email</ValoreRecapito>"
. "<Swap></Swap></Recapito>"
. "<Recapito><TipoRecapito>TelefonoFax</TipoRecapito><ValoreRecapito>$cell</ValoreRecapito>"
. "<Swap></Swap></Recapito>"
. "</Recapiti>"
. "</MittenteDestinatario></MittentiDestinatari>"
. "<AggiornaAnagrafiche>" . PROTO_AGGIORNAANAGRAFICHE . "</AggiornaAnagrafiche>"
. "<InCaricoA>" . PROTO_INCARICOA . "</InCaricoA><AnnoPratica>$annoPratica</AnnoPratica><NumeroPratica>" . PROTO_NUMEROPRATICA . "</NumeroPratica>"
. "<DataDocumento></DataDocumento>"
. "<NumeroDocumento></NumeroDocumento><NumeroAllegati></NumeroAllegati><DataEvid></DataEvid>"
. "<OggettoStandard></OggettoStandard><Utente>" . PROTO_UTENTE . "</Utente>"
. "<Ruolo>" . PROTO_RUOLO . "</Ruolo>$stringaAllegato</ProtoIn>";
$oggettoInvio = array(
"InserisciProtocolloEAnagraficheString" => array(
"ProtocolloInStr" => $protoString,
"CodiceAmministrazione" => PROTO_CODICEAMMINISTRAZIONE,
"CodiceAOO" => PROTO_CODICEAOO,
)
);
$soapHelper = new CallSoapProtocollo(WSDL_PROTOCOLLO, WS_PROTOCOLLO);
$xmlRisposta = $soapHelper->inviaRichiesta('InserisciProtocolloString', $oggettoInvio);
if (is_array($xmlRisposta)) {
$response['esito'] = 1;
$response['xml'] = $xmlRisposta;
}
return $response;
}
function generaPdfRichiestaIntegrazione($id) {
global $LoggedAccount;
$response = Utils::initDefaultResponse();
if ($id <= 0) {
$response['erroreDescrizione'] = "ID della richiesta di integrazione non valido.";
return $response;
}
$richiesta = new RichiestaIntegrazione($id);
$sconto = new DomandaSconti($richiesta->ID_DOMANDA_SCONTI);
$istanza = new Domanda($sconto->ID_DOMANDA);
if ($richiesta->ID <= 0) {
$response['erroreDescrizione'] = "Richiesta di integrazione non trovata.";
return $response;
}
$imgBase64 = "data:image/jpeg;base64,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Ij4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjMtMDctMDZUMTE6NTg6MjMrMDI6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIzLTA4LTAzVDEyOjI0OjE5KzAyOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIzLTA4LTAzVDEyOjI0OjE5KzAyOjAwIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YmZjMTZjYTctODJiOC1mYzQ0LTk3ZjMtMjNmN2MyMTBhMTkwIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZWI1NzNjYWUtMDVmMi02ODQ1LWE2OTItMDRjN2U5ZjFmNzhiIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YTVkM2Y5ODQtYTVkMS1lZTRjLThlZDItMjg2MzI4NzJmMTMxIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphNWQzZjk4NC1hNWQxLWVlNGMtOGVkMi0yODYzMjg3MmYxMzEiIHN0RXZ0OndoZW49IjIwMjMtMDctMDZUMTE6NTg6MjMrMDI6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ODU1NzA5ZGItNzRkZS1mZjQ3LWJhMzEtYWE5YzlkNGM0NmM3IiBzdEV2dDp3aGVuPSIyMDIzLTA4LTAzVDEyOjE4OjE0KzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjkwOTY3NWVmLTViZGEtZjE0ZS04NWI4LTY2MDlkNmZhOWUxOCIgc3RFdnQ6d2hlbj0iMjAyMy0wOC0wM1QxMjoyNDoxOSswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gaW1hZ2UvcG5nIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGltYWdlL3BuZyB0byBpbWFnZS9qcGVnIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiZmMxNmNhNy04MmI4LWZjNDQtOTdmMy0yM2Y3YzIxMGExOTAiIHN0RXZ0OndoZW49IjIwMjMtMDgtMDNUMTI6MjQ6MTkrMDI6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTA5Njc1ZWYtNWJkYS1mMTRlLTg1YjgtNjYwOWQ2ZmE5ZTE4IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6Mjk4NTU0MDgtYjRlMC04NzQ5LTk3ZjMtZmFlZjcwZDRjNGVjIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YTVkM2Y5ODQtYTVkMS1lZTRjLThlZDItMjg2MzI4NzJmMTMxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz7/7gAOQWRvYmUAZEAAAAAB/9sAhAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgIDAwMDAwMDAwMDAQEBAQEBAQEBAQECAgECAgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwP/wAARCACWAIEDAREAAhEBAxEB/90ABAAR/8QBogAAAAYCAwEAAAAAAAAAAAAABwgGBQQJAwoCAQALAQAABgMBAQEAAAAAAAAAAAAGBQQDBwIIAQkACgsQAAIBAwQBAwMCAwMDAgYJdQECAwQRBRIGIQcTIgAIMRRBMiMV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";
$img = '<img src="@' . preg_replace('#^data:image/[^;]+;base64,#', '', $imgBase64) . '" style="width:90px;">';
$dataInvio = Date::dateOracleTimeStamp($sconto->DATA_REGISTRAZIONE, 'd-m-Y');
$dataScadenza = Date::dateOracleDate($richiesta->SCADENZA, 'd-m-Y');
$pratica = $sconto->ID;
$motivoIntegrazione = htmlspecialchars($richiesta->DESCRIZIONE_RICHIESTA, ENT_QUOTES, 'UTF-8');
$motivoIntegrazione = nl2br($motivoIntegrazione);
$oggetto = "richiesta di integrazione per la domanda di sconto nr. " . $pratica . " - inviata il " . $dataInvio;
$html = <<<EOD
<style>
body {
font-family: dejavusans, sans-serif;
font-size: 10.5pt;
color: #000;
}
.center {
text-align: center;
}
.small {
font-size: 8.5pt;
}
.header-title {
text-align: center;
line-height: 1.35;
font-size: 10pt;
}
.prot {
margin-top: 22px;
font-size: 10.5pt;
}
.oggetto {
margin-top: 18px;
font-size: 10.5pt;
font-weight: bold;
}
.testo {
margin-top: 28px;
text-align: justify;
line-height: 1.55;
font-size: 10.5pt;
}
.motivo {
margin-top: 10px;
margin-bottom: 14px;
text-align: justify;
line-height: 1.45;
font-size: 10.5pt;
}
.cordiali {
margin-top: 55px;
text-align: left;
line-height: 1.45;
font-size: 10.5pt;
}
.firma {
margin-top: 55px;
text-align: right;
line-height: 1.45;
font-size: 10.5pt;
}
.footer-note {
position: fixed;
bottom: 0;
font-size: 8pt;
text-align: center;
border-top: 1px solid #000;
padding-top: 4px;
}
</style>
<div class="center">
$img
</div>
<div class="header-title">
<b>Unione Europea</b><br>
<b>REPUBBLICA ITALIANA</b><br>
<b>Regione Siciliana</b><br>
Assessorato delle Infrastrutture e della Mobilità<br>
Dipartimento delle Infrastrutture, della Mobilità e dei Trasporti<br>
<b><i>Servizio 1 Autotrasporto Persone - Trasporto Regionale Aereo e Marittimo</i></b>
</div>
<div class="oggetto">
OGGETTO: $oggetto
</div>
<div class="testo">
Gentile utente,<br><br>
in relazione alla richiesta di sconto indicata in oggetto, si richiede un'integrazione per il seguente motivo:
</div>
<div class="motivo">
$motivoIntegrazione
</div>
<div class="testo">
Il termine ultimo per presentare la richiesta è in data <b>$dataScadenza</b>.<br><br>
Per completare l'integrazione è necessario accedere al portale
<b>https://siciliapei.regione.sicilia.it/bandocarovoli</b>,
selezionare la sezione <b>"Sezione sconti voli"</b>, entrare nella pratica
<b>$pratica</b> e caricare la documentazione richiesta.
</div>
<div class="cordiali">
Cordiali saluti
</div>
<div class="firma">
<b>Il Dirigente Generale</b><br>
arch. Salvatore Lizzio
</div>
EOD;
ob_clean();
$pdf = new PdfRichiestaIntegrazione(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Regione Siciliana');
$pdf->SetTitle('Richiesta integrazione');
$pdf->SetSubject('Soccorso istruttorio');
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(true);
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetFooterMargin(12);
$pdf->SetMargins(18, 15, 18);
$pdf->SetAutoPageBreak(true, 18);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->setLanguageArray(array());
$pdf->AddPage();
$pdf->writeHTML($html, true, false, true, false, '');
$folder = $istanza->generateDirForUpload(ROOT_UPLOAD_PRESENTAZIONE, 'soccorso_istruttorio');
$folder = File::createPath($folder);
if (!empty($folder)) {
$fileName = time() . "_RICHIESTA_" . $richiesta->ID . "_" . $sconto->ID . ".pdf";
$filePath = $folder . "/" . $fileName;
$pdf->Output($filePath, 'F');
$hashfile = File::md5File($filePath);
if (file_exists($filePath) && !empty($hashfile)) {
$response['esito'] = 1;
$response['nomeFile'] = $fileName;
} else {
$response['erroreDescrizione'] = "Errore durante la generazione del file PDF.";
}
} else {
$response['erroreDescrizione'] = "Errore durante la creazione della cartella di destinazione.";
}
return $response;
}
function soccorsoIstruttorioValidato() {
global $LoggedAccount, $con;
$response = Utils::initDefaultResponse();
$transaction = false;
$con->db_transactionStart();
$note = Utils::get_filter_string_POST('NOTE_OPERATORE');
$integrazione = RichiestaIntegrazione::loadFromDomanda($_POST['ID']);
if ($integrazione->ID > 0) {
$integrazione->STATO = RI_INTEGRAZIONE_VALIDATO;
$integrazione->DATA_VALIDAZIONE = date(FORMAT_TIMESTAMP_ORACLE);
$integrazione->OPERATORE_VALIDAZIONE = $LoggedAccount->ID;
$integrazione->NOTE_OPERATORE = $note;
$response = $integrazione->Save();
if ($response['esito'] == 1) {
$rec = new DomandaSconti($integrazione->ID_DOMANDA_SCONTI);
$rec->ID_UID_FIREBASE = $LoggedAccount->ID;
$txt_validato = "[VALIDATA]";
$rec->STATO = RS_PRESA_IN_CARICO;
$rec->NOTE = $txt_validato . "[!] a seguito di soccorso istruttorio: " . $note;
$response = $rec->Save();
if ($response['esito'] == 1) {
$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;
$response = $domandaControlli->Save();
if ($response['esito'] == 1) {
$destinatario = new AccountAnagrafica($rec->CODICE_FISCALE);
$oggetto = "SiciliaPEI - Bando Caro Voli - Richiesta Integrazione Documentale - Sconto nr. " . $rec->ID;
$testo = "Gentile utente,<br/><br/>le comunichiamo che a seguito di soccorso istruttorio la richiesta di sconto in oggetto è stata validata."
. "<br/><br/>Cordiali saluti.";
$destinatario_email = $destinatario->EMAIL;
$invioEmail = EmailSms::sendGenericEmail($destinatario_email, $oggetto, $testo);
$queue = new IntegrazioniEmailQueue();
$queue->ID_RICHIESTA = $integrazione->ID;
$queue->DESTINATARIO = $destinatario_email;
$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'] = "Richiesta di integrazione non trovata.";
}
if ($transaction) {
$con->db_transactionCommit();
$response['esito'] = 1;
} else {
$con->db_transactionRollback();
}
exit(json_encode($response));
}
function soccorsoIstruttorioRigettato() {
global $LoggedAccount, $con;
$response = Utils::initDefaultResponse();
$con->db_transactionStart();
$note = Utils::get_filter_string_POST('NOTE_OPERATORE');
$integrazione = RichiestaIntegrazione::loadFromDomanda($_POST['ID']);
if ($integrazione->ID > 0) {
$integrazione->STATO = RI_INTEGRAZIONE_RIGETTATO;
$integrazione->DATA_VALIDAZIONE = date(FORMAT_TIMESTAMP_ORACLE);
$integrazione->OPERATORE_VALIDAZIONE = $LoggedAccount->ID;
$integrazione->NOTE_OPERATORE = $note;
$response = $integrazione->Save();
if ($response['esito'] == 1) {
$rec = new DomandaSconti($integrazione->ID_DOMANDA_SCONTI);
$rec->ID_UID_FIREBASE = $LoggedAccount->ID;
$rec->NOTE = $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();
if ($response['esito'] == 1) {
$caricoControllo = DomandaScontiControlli::loadControlloFromSconto($integrazione->ID_DOMANDA_SCONTI);
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_NON_APPROVATA;
$domandaControlli->ID_UID_FIREBASE_ADMIN = $LoggedAccount->ID;
$response = $domandaControlli->Save();
if ($response['esito'] == 1) {
$destinatario = new AccountAnagrafica($rec->CODICE_FISCALE);
$oggetto = "SiciliaPEI - Bando Caro Voli - Richiesta Integrazione Documentale - Sconto nr. " . $rec->ID;
$testo = "Gentile utente,<br/>le comunichiamo che a seguito di soccorso istruttorio la richiesta di sconto in oggetto è stata respinta."
. "<br>Per maggiori informazioni, è necesario accedere al portale <b><u>https://siciliapei.regione.sicilia.it/bandocarovoli</u></b>,"
. " entrare nel modulo \"Sezione sconti voli\" ed entrare nella richiesta di sconto in oggetto.<br><br>Cordiali saluti";
$destinatario_email = $destinatario->EMAIL;
$invioEmail = EmailSms::sendGenericEmail($destinatario_email, $oggetto, $testo);
$queue = new IntegrazioniEmailQueue();
$queue->ID_RICHIESTA = $integrazione->ID;
$queue->DESTINATARIO = $destinatario_email;
$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'] = "Richiesta di integrazione non trovata.";
}
if ($transaction) {
$con->db_transactionCommit();
$response['esito'] = 1;
} else {
$con->db_transactionRollback();
}
exit(json_encode($response));
}