0) { $this->_loadAndFillObject($src['ID'], self::TABLE_NAME, $src); } else { $this->_loadByRow($src, $stripSlashes); } } elseif (intval($src)) { $sql = "SELECT * FROM " . self::TABLE_NAME . " WHERE ID = :id"; $query = $con->prepare($sql); $query->bindParam(":id", $src); try { $query->execute(); $it = $query->fetchAll(PDO::FETCH_ASSOC); Utils::FillObjectFromRow($this, $it[0]); } catch (Exception $exc) { $exc->getMessage(); } } } /** * * @param type $filter * @return type */ public static function Count($filter = null) { return parent::_count(self::TABLE_NAME, $filter); } public static function LoadDataTable($searchQuery = "", $searchArray = array(), $columnName = array(), $columnSortOrder = array(), $start = 0, $offset = 0) { return parent::_loadDataTable(self::VIEW, $searchQuery, $searchArray, $columnName, $columnSortOrder, $start, $offset); } /** * * @global type $con * @global type $LoggedAccount * @param type $id_domanda * @return type array */ public static function load($id_domanda = 0, $stato) { global $con, $LoggedAccount; $rows = array(); if (intval($id_domanda) > 0) { if ($stato == RS_IN_ELABORAZIONE) { $filter = "AND STATO = :stato "; } elseif ($stato == RS_PRESA_IN_CARICO) { $filter = "AND STATO >= :stato "; } else { $filter = ""; } $sql = "SELECT * FROM " . self::VIEW . " WHERE ID_DOMANDA=:id_domanda " . $filter . " ORDER BY ID_DOMANDA ASC "; $query = $con->prepare($sql); $query->bindParam(":id_domanda", $id_domanda); if ($stato >= 0) { $query->bindParam(":stato", $stato); } try { $query->execute(); $rows = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } } return $rows; } public static function checkVerificaDatiPreSalvataggio() { global $LoggedAccount; $domanda = Domanda::loadDomandaFromAccount(); $_POST['ID'] = intval(Utils::get_filter_int_POST('ID')); $_POST['ID_DOMANDA'] = $domanda->ID; $_POST['CODICE_FISCALE'] = Utils::get_filter_string_POST('CODICE_FISCALE'); $_POST['NUMERO_VOLO'] = Utils::get_filter_string_POST('NUMERO_VOLO'); $_POST['DATA_ACQUISTO'] = Utils::get_filter_string_POST('DATA_ACQUISTO'); $_POST['DATA_VOLO'] = Utils::get_filter_string_POST('DATA_VOLO'); $_POST['AEROPORTO_PARTENZA'] = Utils::get_filter_string_POST('AEROPORTO_PARTENZA'); $_POST['AEROPORTO_PARTENZA_CODICE'] = Utils::get_filter_string_POST('AEROPORTO_PARTENZA_CODICE'); $_POST['AEROPORTO_DESTINAZIONE'] = Utils::get_filter_string_POST('AEROPORTO_DESTINAZIONE'); $_POST['AEROPORTO_DESTINAZIONE_CODICE'] = Utils::get_filter_string_POST('AEROPORTO_DESTINAZIONE_CODICE'); $_POST['COMPAGNIA_AEREA'] = Utils::get_filter_string_POST('COMPAGNIA_AEREA'); $_POST['COSTO_TRATTA'] = Utils::get_filter_string_POST('COSTO_TRATTA'); } public function checkDatiPreSave() { global $LoggedAccount; $response = array(); $controllValidita = true; $dati_mancanti = ''; if (trim($this->CODICE_FISCALE) == '') { $controllValidita = false; $dati_mancanti .= "
Il codice fiscale del passeggero
"; } if (trim($this->NUMERO_VOLO) == '') { $controllValidita = false; $dati_mancanti .= "
Il numero del volo
"; } if (!Utils::VerificaNumeroBigliettoAereo(trim($this->NUMERO_VOLO))) { $controllValidita = false; $dati_mancanti .= "
Il numero del volo non è corretto
"; } if (trim($this->DATA_ACQUISTO) == '') { $controllValidita = false; $dati_mancanti .= "
La data di acquisto del biglietto
"; } else { $this->DATA_ACQUISTO = Date::dateOracleDate($this->DATA_ACQUISTO, 'd-m-Y'); $checkRilascio = Date::checkSaveDate(MIN_DATA_ACQUISTO_BIGLIETTO_PHP, $this->DATA_ACQUISTO, "", true); if ($checkRilascio['esito'] != 1) { $controllValidita = false; $dati_mancanti .= "
Data di acquisto del biglietto minore del " . MIN_DATA_ACQUISTO_BIGLIETTO_PHP . " "; } } if (trim($this->DATA_VOLO) == '') { $controllValidita = false; $dati_mancanti .= "
La data del volo
"; } if (trim($this->AEROPORTO_PARTENZA) == '' || trim($this->AEROPORTO_PARTENZA_CODICE) == '') { $controllValidita = false; $dati_mancanti .= "
L'aeroporto di partenza
"; } if (trim($this->AEROPORTO_DESTINAZIONE) == '' || trim($this->AEROPORTO_DESTINAZIONE_CODICE) == '') { $controllValidita = false; $dati_mancanti .= "
L'aeroporto di destinazione
"; } if (trim($this->COMPAGNIA_AEREA) == '') { $controllValidita = false; $dati_mancanti .= "
La compagnia aerea
"; } if (intval($this->COSTO_TRATTA) == 0 || trim($this->COSTO_TRATTA) == '') { $controllValidita = false; $dati_mancanti .= "
Il costo del volo per singola tratta
"; } if (trim($this->FILEPATH_BIGLIETTO) == '') { $controllValidita = false; $dati_mancanti .= "
Il file del biglietto elettronico
"; } if (trim($this->FILEPATH_CARTAIMBARCO) == '') { $controllValidita = false; $dati_mancanti .= "
Il file della carta di imbarco
"; } $checkContratto = Date::checkSaveDate($this->DATA_VOLO); if ($checkContratto['esito'] != 1) { $controllValidita = false; $dati_mancanti .= "Controllo data volo: " . $checkContratto['erroreDescrizione'] . "
"; } if (trim($this->CODICE_FISCALE) == '' || strlen(trim($this->CODICE_FISCALE)) < MIN_CF || strlen(trim($this->CODICE_FISCALE)) > MAX_CF) { $controllValidita = false; $dati_mancanti .= "
Il campo passeggero
"; } if (CONTROLLO_FORMATTAZIONE_CF && !Utils::ControlloCodiceFiscale(trim($this->CODICE_FISCALE))) { $controllValidita = false; $dati_mancanti .= "
Codice fiscale dell'intestatario del contratto non valido
"; } if (!$LoggedAccount->isNucleoFamiliare(trim($this->CODICE_FISCALE))) { $controllValidita = false; $dati_mancanti .= "
Il codice fiscale del beneficiario non è presente nel proprio nucleo familiare
"; } else { $beneficiario = AccountNucleoFamiliare::loadFromCf(trim($this->CODICE_FISCALE)); $this->COGNOME = $beneficiario->COGNOME; $this->NOME = $beneficiario->NOME; $this->DATA_NASCITA = $beneficiario->DATA_NASCITA; /* $this->COMUNE_RESIDENZA = $beneficiario->COMUNE_RESIDENZA; $this->PROV_RESIDENZA = $beneficiario->PROV_RESIDENZA; $this->CAP_RESIDENZA = $beneficiario->CAP_RESIDENZA; $this->STUDENTE = $beneficiario->STUDENTE; $this->DISABILE = $beneficiario->DISABILE; */ } $this->COSTO_TRATTA = str_replace(",", ".", $this->COSTO_TRATTA); $this->DATA_ACQUISTO = Date::dateOracleDate($this->DATA_ACQUISTO, 'd-M-y'); $this->DATA_VOLO = Date::dateOracleDate($this->DATA_VOLO, 'd-M-y'); $response['checkDati'] = $controllValidita; $response['txt_dati_mancanti'] = $dati_mancanti; return $response; } public function isErasable() { global $LoggedAccount; $response = false; $domanda = Domanda::loadDomandaFromAccount(); if (($this->ID_DOMANDA == $domanda->ID) && $this->STATO == RS_IN_ELABORAZIONE) { $response = true; } return $response; } /** * * @global type $con * @global type $LoggedAccount * @return type */ public function Save() { global $con, $LoggedAccount; $vars = get_object_vars($this); unset($vars["DATA_REGISTRAZIONE"]); $sql = Utils::prepareQuery(self::TABLE_NAME, $vars); /* Utils::print_array($sql); Utils::print_array($vars); */ $queryabi = $con->prepare($sql); foreach ($vars as $k => $v) { if ($k == "ID" && $v == 0) { continue; } $queryabi->bindValue(":" . $k, $v); } try { $it = parent::_Save($queryabi); if (trim($it['erroreCode']) == 'HY000') { $it['erroreDescrizione'] = 'Richiesta già inserita!
Non è possibile richiedere un ulteriore rimborso per questo biglietto'; } } catch (Exception $exc) { $it['erroreDescrizione'] = $exc->getMessage(); } return $it; } public function Delete() { return parent::_Delete(self::TABLE_NAME, "ID = " . $this->ID); } public function DeleteAll() { return parent::_Delete(self::TABLE_NAME, "ID_DOMANDA = " . $this->ID_DOMANDA); } public function Parse(&$record, $campo = "") { array_push($record, array("Campo" => $campo, "Valore" => $this->$campo)); } public function VerificaSlotTemporale() { global $con; $response = Utils::initDefaultResponse(); $response['erroreDescrizione'] = 'Il periodo di contratto inserito si sovrappone con altri periodi già inseriti'; $from = new DateTime(MIN_DATA_CONTRIBUTO); $to = new DateTime(MAX_DATA_CONTRIBUTO); if ($this->SFRATTO_ESECUTIVO == 1 && !empty($this->SFRATTO_ESECUTIVO_DATA)) { $d_sfratto = new DateTime($this->SFRATTO_ESECUTIVO_DATA); $d_al = new DateTime($this->CONTRATTO_AL); $out = ($d_sfratto < $d_al ? $d_sfratto : $d_al); } else { $out = new DateTime($this->CONTRATTO_AL); } $in = new DateTime($this->CONTRATTO_DAL); if ($in <= $to && $from <= $out) { $sql = "SELECT " . self::FNZ_SLOTCONTRATTI . "('" . $this->ID . "','" . $this->ID_DOMANDA . "', '" . $this->CONTRATTO_DAL . "', '" . $out->format('d-M-y') . "') AS COUNT FROM DUAL"; $query = $con->prepare($sql); try { $query->execute(); $res = $query->fetch(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } if (intval($res['COUNT']) <= 0) { $response['esito'] = 1; } } else { $response['esito'] = -999; $response['erroreDescrizione'] = "Le date del contratto devono ricadere nel periodo richiesto dal bando"; } return $response; } public function getPathInfoDocumento() { $response = array(); $response["TIPO_DOCUMENTO"] = TIPO_UPLOAD_OBBLIGATORIO; $response["PATH_DOCUMENTO"] = "biglietti"; return $response; } public function VerificaDataVolo() { $response = Utils::initDefaultResponse(); $from = new DateTime(MIN_DATA_CONTRIBUTO); $to = new DateTime(MAX_DATA_CONTRIBUTO); $data_volo = new DateTime($this->DATA_VOLO); $out = new DateTime($this->DATA_VOLO); $oggi = new DateTime(); $out->add(new DateInterval('P' . MIN_DATA_VOLO . 'D')); if ($data_volo <= $to && $data_volo >= $from && $out >= $oggi) { $response['esito'] = 1; } elseif ($out < $oggi) { $response['esito'] = -999; $response['erroreDescrizione'] = "La data del volo supera i " . MIN_DATA_VOLO . " giorni previsti dal bando"; } elseif ($data_volo > $to) { $response['esito'] = -999; $response['erroreDescrizione'] = "La data del volo supera la data della fine (" . $to->format('d-M-y') . ") del contributo prevista dal bando"; } elseif ($data_volo < $from) { $response['esito'] = -999; $response['erroreDescrizione'] = "La data del volo è antecedente la data di inizio (" . $from->format('d-M-y') . ") del contributo prevista dal bando"; } else { $response['esito'] = -999; } return $response; } /** * @param $data * @return array */ public static function GetTotalePerStato_OLD($data) { global $con; $result = array(); $res = array(); if (!empty($data)) { if (Date::is_date($data)) { $sql2 = "SELECT COUNT(V.ID) AS NUM, V.STATO, SUM(V.SCONTO_TOTALE) AS SCONTO, SUM(V.COSTO_TRATTA) AS COSTO, V.LOTTO,TO_CHAR(V.DATA_ESPORTAZIONE, 'dd/mm/YYYY') AS DATA_ESPORTAZIONE, TO_CHAR(V.DATA_EROGAZIONE, 'dd/mm/YYYY') AS DATA_EROGAZIONE, TO_CHAR(V.DATA_ESITO, 'dd/mm/YYYY') AS DATA_ESITO, PRIORITA, TO_CHAR(E.DATA_FILTRO, 'dd/mm/YYYY') AS DATA_FILTRO, E.FILEPATH FROM VIEW_EXPORT_SCONTI V LEFT JOIN ESPORTAZIONI E ON E.LOTTO = V.LOTTO WHERE V.DATA_REGISTRAZIONE <= TO_DATE('" . $data . " 23:59:59','dd/mm/yyyy hh24:mi:ss') GROUP BY V.STATO, V.LOTTO, TO_CHAR(V.DATA_ESPORTAZIONE, 'dd/mm/YYYY'),TO_CHAR(V.DATA_EROGAZIONE, 'dd/mm/YYYY'), TO_CHAR(V.DATA_ESITO, 'dd/mm/YYYY'), PRIORITA, TO_CHAR(E.DATA_FILTRO, 'dd/mm/YYYY'), E.FILEPATH ORDER BY V.STATO desc, V.LOTTO asc"; $query = $con->prepare($sql2); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } } } return $res; } public static function GetTotalePerStato($data) { global $con; $result = array(); $res = array(); if (!empty($data)) { if (Date::is_date($data)) { $sqlNatalizio = "(SELECT COUNT(T.ID) AS NUM, T.STATO, SUM(T.SCONTO_TOTALE) AS SCONTO, SUM(T.COSTO_TRATTA) AS COSTO, T.LOTTO, T.DATA_ESPORTAZIONE , T.DATA_EROGAZIONE, T.DATA_ESITO, T.PRIORITA , T.DATA_FILTRO, T.FILEPATH FROM( SELECT V.ID, V.STATO, V.SCONTO_TOTALE, V.COSTO_TRATTA, V.LOTTO,TO_CHAR(V.DATA_ESPORTAZIONE, 'dd/mm/YYYY') AS DATA_ESPORTAZIONE, TO_CHAR(V.DATA_EROGAZIONE, 'dd/mm/YYYY') AS DATA_EROGAZIONE, TO_CHAR(V.DATA_ESITO, 'dd/mm/YYYY') AS DATA_ESITO, CASE WHEN V.ISEE = 0 AND V.PRIORITA = 0 THEN 0 ELSE 1 END AS PRIORITA, TO_CHAR(E.DATA_FILTRO, 'dd/mm/YYYY') AS DATA_FILTRO, E.FILEPATH FROM VIEW_EXPORT_SCONTI V LEFT JOIN ESPORTAZIONI E ON E.LOTTO = V.LOTTO WHERE V.DATA_REGISTRAZIONE <= TO_DATE('" . $data . " 23:59:59','dd/mm/yyyy hh24:mi:ss') AND V.DATA_VOLO < TO_DATE('07/12/2024 00:00:00','dd/mm/yyyy hh24:mi:ss') AND (V.LOTTO = 0 OR V.LOTTO = 99) )T GROUP BY T.STATO, T.LOTTO, T.DATA_ESPORTAZIONE,T.DATA_EROGAZIONE, T.DATA_ESITO,T.PRIORITA, T.DATA_FILTRO, T.FILEPATH ) UNION (SELECT COUNT(T.ID) AS NUM, T.STATO, SUM(T.SCONTO_TOTALE) AS SCONTO, SUM(T.COSTO_TRATTA) AS COSTO, T.LOTTO, T.DATA_ESPORTAZIONE , T.DATA_EROGAZIONE, T.DATA_ESITO, T.PRIORITA , T.DATA_FILTRO, T.FILEPATH FROM( SELECT V.ID, V.STATO, V.SCONTO_TOTALE, V.COSTO_TRATTA, V.LOTTO,TO_CHAR(V.DATA_ESPORTAZIONE, 'dd/mm/YYYY') AS DATA_ESPORTAZIONE, TO_CHAR(V.DATA_EROGAZIONE, 'dd/mm/YYYY') AS DATA_EROGAZIONE, TO_CHAR(V.DATA_ESITO, 'dd/mm/YYYY') AS DATA_ESITO, 10 AS PRIORITA, TO_CHAR(E.DATA_FILTRO, 'dd/mm/YYYY') AS DATA_FILTRO, E.FILEPATH FROM VIEW_EXPORT_SCONTI V LEFT JOIN ESPORTAZIONI E ON E.LOTTO = V.LOTTO WHERE V.DATA_REGISTRAZIONE <= TO_DATE('" . $data . " 23:59:59','dd/mm/yyyy hh24:mi:ss') AND V.DATA_VOLO BETWEEN TO_DATE('07/12/2024 00:00:00','dd/mm/yyyy hh24:mi:ss') AND TO_DATE('06/01/2025 23:59:59','dd/mm/yyyy hh24:mi:ss') AND (V.LOTTO = 0 OR V.LOTTO = 99) )T GROUP BY T.STATO, T.LOTTO, T.DATA_ESPORTAZIONE,T.DATA_EROGAZIONE, T.DATA_ESITO,T.PRIORITA, T.DATA_FILTRO, T.FILEPATH ) UNION (SELECT COUNT(T.ID) AS NUM, T.STATO, SUM(T.SCONTO_TOTALE) AS SCONTO, SUM(T.COSTO_TRATTA) AS COSTO, T.LOTTO, T.DATA_ESPORTAZIONE , T.DATA_EROGAZIONE, T.DATA_ESITO, T.TIPO AS PRIORITA, T.DATA_FILTRO, T.FILEPATH FROM( SELECT V.ID, V.STATO, V.SCONTO_TOTALE, V.COSTO_TRATTA, V.LOTTO,TO_CHAR(V.DATA_ESPORTAZIONE, 'dd/mm/YYYY') AS DATA_ESPORTAZIONE, TO_CHAR(V.DATA_EROGAZIONE, 'dd/mm/YYYY') AS DATA_EROGAZIONE, TO_CHAR(V.DATA_ESITO, 'dd/mm/YYYY') AS DATA_ESITO, E.TIPO, TO_CHAR(E.DATA_FILTRO, 'dd/mm/YYYY') AS DATA_FILTRO, E.FILEPATH FROM VIEW_EXPORT_SCONTI V LEFT JOIN ESPORTAZIONI E ON E.LOTTO = V.LOTTO WHERE V.LOTTO > 0 AND V.LOTTO <> 99 )T GROUP BY T.STATO, T.LOTTO, T.DATA_ESPORTAZIONE,T.DATA_EROGAZIONE, T.DATA_ESITO,T.TIPO, T.DATA_FILTRO, T.FILEPATH ) ORDER BY STATO asc, LOTTO asc"; $sql2 = "(SELECT COUNT(T.ID) AS NUM, T.STATO, SUM(T.SCONTO_TOTALE) AS SCONTO, SUM(T.COSTO_TRATTA) AS COSTO, T.LOTTO, T.DATA_ESPORTAZIONE , T.DATA_EROGAZIONE, T.DATA_ESITO, T.PRIORITA , T.DATA_FILTRO, T.FILEPATH FROM( SELECT V.ID, V.STATO, V.SCONTO_TOTALE, V.COSTO_TRATTA, V.LOTTO,TO_CHAR(V.DATA_ESPORTAZIONE, 'dd/mm/YYYY') AS DATA_ESPORTAZIONE, TO_CHAR(V.DATA_EROGAZIONE, 'dd/mm/YYYY') AS DATA_EROGAZIONE, TO_CHAR(V.DATA_ESITO, 'dd/mm/YYYY') AS DATA_ESITO, CASE WHEN V.ISEE = 0 AND V.PRIORITA = 0 THEN 0 ELSE 1 END AS PRIORITA, TO_CHAR(E.DATA_FILTRO, 'dd/mm/YYYY') AS DATA_FILTRO, E.FILEPATH FROM VIEW_EXPORT_SCONTI V LEFT JOIN ESPORTAZIONI E ON E.LOTTO = V.LOTTO WHERE V.DATA_REGISTRAZIONE <= TO_DATE('" . $data . " 23:59:59','dd/mm/yyyy hh24:mi:ss') AND (V.LOTTO = 0 OR V.LOTTO = 99) )T GROUP BY T.STATO, T.LOTTO, T.DATA_ESPORTAZIONE,T.DATA_EROGAZIONE, T.DATA_ESITO,T.PRIORITA, T.DATA_FILTRO, T.FILEPATH ) UNION (SELECT COUNT(T.ID) AS NUM, T.STATO, SUM(T.SCONTO_TOTALE) AS SCONTO, SUM(T.COSTO_TRATTA) AS COSTO, T.LOTTO, T.DATA_ESPORTAZIONE , T.DATA_EROGAZIONE, T.DATA_ESITO, T.TIPO AS PRIORITA, T.DATA_FILTRO, T.FILEPATH FROM( SELECT V.ID, V.STATO, V.SCONTO_TOTALE, V.COSTO_TRATTA, V.LOTTO,TO_CHAR(V.DATA_ESPORTAZIONE, 'dd/mm/YYYY') AS DATA_ESPORTAZIONE, TO_CHAR(V.DATA_EROGAZIONE, 'dd/mm/YYYY') AS DATA_EROGAZIONE, TO_CHAR(V.DATA_ESITO, 'dd/mm/YYYY') AS DATA_ESITO, E.TIPO, TO_CHAR(E.DATA_FILTRO, 'dd/mm/YYYY') AS DATA_FILTRO, E.FILEPATH FROM VIEW_EXPORT_SCONTI V LEFT JOIN ESPORTAZIONI E ON E.LOTTO = V.LOTTO WHERE V.LOTTO > 0 AND V.LOTTO <> 99 )T GROUP BY T.STATO, T.LOTTO, T.DATA_ESPORTAZIONE,T.DATA_EROGAZIONE, T.DATA_ESITO,T.TIPO, T.DATA_FILTRO, T.FILEPATH ) ORDER BY STATO asc, LOTTO asc"; $query = $con->prepare($sql2); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } } } return $res; } public static function GetTotaleFromLotto($lotto) { global $con; $result = array(); $res = array(); if (intval($lotto) > 0) { $sql2 = "SELECT COUNT(V.ID) AS NUM, V.STATO, SUM(V.SCONTO_TOTALE) AS SCONTO, SUM(V.COSTO_TRATTA) AS COSTO, V.LOTTO,TO_CHAR(V.DATA_ESPORTAZIONE, 'dd/mm/YYYY') AS DATA_ESPORTAZIONE, TO_CHAR(V.DATA_EROGAZIONE, 'dd/mm/YYYY') AS DATA_EROGAZIONE, TO_CHAR(V.DATA_ESITO, 'dd/mm/YYYY') AS DATA_ESITO, PRIORITA FROM VIEW_EXPORT_SCONTI V WHERE V.LOTTO = " . $lotto . " AND STATO = 2 GROUP BY V.STATO, V.LOTTO, TO_CHAR(V.DATA_ESPORTAZIONE, 'dd/mm/YYYY'),TO_CHAR(V.DATA_EROGAZIONE, 'dd/mm/YYYY'), TO_CHAR(V.DATA_ESITO, 'dd/mm/YYYY'), PRIORITA ORDER BY V.STATO desc, V.LOTTO asc"; $query = $con->prepare($sql2); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } } return $res[0]; } public static function listEsportVista() { global $con; $result = array(); $res = array(); // $sql = 'SELECT // ID AS "ID RICHIESTA", // ID_DOMANDA AS "ID ISTANZA", // COMUNE_RESIDENZA AS "COMUNE DI RESIDENZA", PROV_RESIDENZA AS "PROVINCIA DI RESIDENZA", CAP_RESIDENZA AS "CAP DI RESIDENZA", // CASE WHEN PRIORITA = 1 OR ISEE = 1 THEN \'SI\' ELSE \'NO\' END AS "CATEGORIA PRIORITARIA", // COMPAGNIA_AEREA AS "COMPAGNIA AEREA", NUMERO_VOLO AS "NUMERO DEL VOLO", // TO_CHAR(DATA_VOLO, \'dd/mm/YYYY\') AS "DATA DEL VOLO", COSTO_TRATTA AS "COSTO DELLA TRATTA", // AEROPORTO_PARTENZA AS "PARTEZA DA", AEROPORTO_DESTINAZIONE AS "ARRIVO A", // IBAN, ISTITUTO_CREDITO AS "ISTITUTO DI CREDITO", FILIALE_CREDITO AS "FILIALE DI CREDITO", // SCONTO_TOTALE AS "SCONTO TOTALE", TO_CHAR(DATA_ACQUISTO, \'dd/mm/YYYY\') AS "DATA DI ACQUISTO DEL BIGLIETTO", LOTTO, // CASE WHEN STATO = 1 THEN \'PRESA IN CARICO\' WHEN STATO = 2 THEN \'APPROVATO\' WHEN STATO = 3 THEN \'EROGATO\' WHEN STATO = 99 THEN \'NON APPROVATO\' ELSE \'IN ELABORAZIONE\' END AS "STATO DELLE PRATICA", // FLAG // FROM VIEW_EXPORT_SCONTI WHERE STATO >= 0 ORDER BY DATA_REGISTRAZIONE ASC'; // $sql = 'SELECT VIEW_EXPORT_SCONTI.ID AS "ID RICHIESTA", VIEW_EXPORT_SCONTI.ID_DOMANDA AS "ID ISTANZA", VIEW_EXPORT_SCONTI.COGNOME, VIEW_EXPORT_SCONTI.NOME, VIEW_EXPORT_SCONTI.CODICE_FISCALE, VIEW_EXPORT_SCONTI.DATA_NASCITA AS "DATA NASCITA", VIEW_EXPORT_SCONTI.COMUNE_RESIDENZA AS "COMUNE DI RESIDENZA", VIEW_EXPORT_SCONTI.PROV_RESIDENZA AS "PROVINCIA DI RESIDENZA", VIEW_EXPORT_SCONTI.CAP_RESIDENZA AS "CAP DI RESIDENZA", ACCOUNT_ANAGRAFICA.SESSO, VIEW_EXPORT_SCONTI.COMPAGNIA_AEREA AS "COMPAGNIA AEREA", VIEW_EXPORT_SCONTI.NUMERO_VOLO AS "NUMERO DEL VOLO", TO_CHAR(VIEW_EXPORT_SCONTI.DATA_VOLO, \'dd/mm/YYYY\') AS "DATA DEL VOLO", VIEW_EXPORT_SCONTI.COSTO_TRATTA AS "COSTO DELLA TRATTA", VIEW_EXPORT_SCONTI.AEROPORTO_PARTENZA AS "PARTENZA DA", VIEW_EXPORT_SCONTI.AEROPORTO_DESTINAZIONE AS "ARRIVO A", VIEW_EXPORT_SCONTI.IBAN, VIEW_EXPORT_SCONTI.ISTITUTO_CREDITO AS "ISTITUTO DI CREDITO", VIEW_EXPORT_SCONTI.FILIALE_CREDITO AS "FILIALE DI CREDITO", VIEW_EXPORT_SCONTI.SCONTO_TOTALE AS "SCONTO TOTALE", TO_CHAR(VIEW_EXPORT_SCONTI.DATA_ACQUISTO, \'dd/mm/YYYY\') AS "DATA DI ACQUISTO DEL BIGLIETTO", VIEW_EXPORT_SCONTI.LOTTO, CASE WHEN VIEW_EXPORT_SCONTI.STATO = 1 THEN \'PRESA IN CARICO\' WHEN VIEW_EXPORT_SCONTI.STATO = 2 THEN \'APPROVATO\' WHEN VIEW_EXPORT_SCONTI.STATO = 3 THEN \'EROGATO\' WHEN VIEW_EXPORT_SCONTI.STATO = 99 THEN \'NON APPROVATO\' ELSE \'IN ELABORAZIONE\' END AS "STATO DELLE PRATICA", VIEW_EXPORT_SCONTI.FLAG, CASE WHEN VIEW_EXPORT_SCONTI.PRIORITA = 1 OR VIEW_EXPORT_SCONTI.ISEE = 1 THEN \'SI\' ELSE \'NO\' END AS "CATEGORIA PRIORITARIA", CASE WHEN VIEW_EXPORT_SCONTI.ISEE = 1 THEN \'SI\' ELSE \'NO\' END AS "PRIORITARIO ISEE" FROM VIEW_EXPORT_SCONTI LEFT JOIN ACCOUNT_ANAGRAFICA ON ACCOUNT_ANAGRAFICA.CODICE_FISCALE=VIEW_EXPORT_SCONTI.CODICE_FISCALE WHERE VIEW_EXPORT_SCONTI.STATO >= 0 AND VIEW_EXPORT_SCONTI.DATA_REGISTRAZIONE BETWEEN TO_DATE(\'01/03/2025 00:00:00\',\'dd/mm/yyyy hh24:mi:ss\') AND TO_DATE(\'31/03/2025 23:59:59\',\'dd/mm/yyyy hh24:mi:ss\') ORDER BY VIEW_EXPORT_SCONTI.DATA_REGISTRAZIONE ASC'; // //echo $sql;exit(); $query = $con->prepare($sql); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } return $res; } public static function listLottoFromExport($lotto = null, $stato = null) { global $con; $result = array(); $res = array(); if (!empty($lotto) && !empty($stato)) { $sql = " SELECT ID AS \"ID RICHIESTA\", ID_DOMANDA AS \"ID ISTANZA\", COGNOME, NOME, TO_CHAR(DATA_NASCITA, 'dd/mm/YYYY') AS \"DATA DI NASCITA\", CODICE_FISCALE AS \"CODICE FISCALE\", COMUNE_RESIDENZA AS \"COMUNE DI RESIDENZA\", PROV_RESIDENZA AS \"PROVINCIA DI RESIDENZA\", CAP_RESIDENZA AS \"CAP DI RESIDENZA\", CASE WHEN NVL(PRIORITA, 0) = 1 OR NVL(ISEE, 0) = 1 THEN 'SI' ELSE 'NO' END AS \"CATEGORIA PRIORITARIA\", COMPAGNIA_AEREA AS \"COMPAGNIA AEREA\", NUMERO_VOLO AS \"NUMERO DEL VOLO\", TO_CHAR(DATA_VOLO, 'dd/mm/YYYY') AS \"DATA DEL VOLO\", COSTO_TRATTA AS \"COSTO DELLA TRATTA\", AEROPORTO_PARTENZA AS \"PARTEZA DA\", AEROPORTO_DESTINAZIONE AS \"ARRIVO A\", IBAN, ISTITUTO_CREDITO AS \"ISTITUTO DI CREDITO\", FILIALE_CREDITO AS \"FILIALE DI CREDITO\", SCONTO_TOTALE AS \"SCONTO TOTALE\", TO_CHAR(DATA_ACQUISTO, 'dd/mm/YYYY') AS \"DATA DI ACQUISTO DEL BIGLIETTO\", LOTTO, CASE WHEN STATO = 1 THEN 'PRESA IN CARICO' WHEN STATO = 2 THEN 'APPROVATO' WHEN STATO = 3 THEN 'EROGATO' WHEN STATO = 99 THEN 'NON APPROVATO' ELSE 'IN ELABORAZIONE' END AS \"STATO DELLE PRATICA\" FROM VIEW_EXPORT_IBAN_AGGIORNATI WHERE LOTTO = :lotto AND STATO = :stato ORDER BY DATA_REGISTRAZIONE ASC "; //echo $sql;exit(); $query = $con->prepare($sql); $query->bindParam(":lotto", $lotto); $query->bindParam(":stato", $stato); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } } return $res; } public static function listLottoFromMandatiXls($lotto = null, $stato = null) { global $con; $result = array(); $res = array(); if (!empty($lotto) && !empty($stato)) { $sql = 'SELECT T.COGNOME, T.NOME, T.Codice_Fiscale as "CODICE FISCALE", T.SESSO, T.Nato_A AS "LUOGO DI NASCITA", T.Provincia AS "PROV",T.Data_Nascita AS "DATA DI NASCITA", T.Indirizzo AS INDIRIZZO,T.CAP,T.Localita AS LOCALITA FROM ( SELECT AA.CODICE_FISCALE AS Codice_Fiscale, 0 AS "Blocco", AA.COGNOME, AA.NOME, AA.SESSO, AA.COMUNE_NASCITA AS Nato_A, AA.DATA_NASCITA AS Data_Nascita, AA.INDIRIZZO_RESIDENZA AS Indirizzo, AA.CAP_RESIDENZA AS CAP, AA.COMUNE_RESIDENZA AS Localita, null AS "Data_Immissione", null AS "Data_Variazione", null AS "Data_Blocco", null AS "Avviso_CAP", null AS "AvvisoLocalita", AA.PROV_NASCITA AS Provincia, ROUND(SUM(V.SCONTO_TOTALE), 2) AS SCONTO_TOTALE FROM VIEW_EXPORT_SCONTI V INNER JOIN DOMANDA D ON D.ID = V.ID_DOMANDA INNER JOIN ACCOUNT A ON A.ID = D.ID_ACCOUNT INNER JOIN ACCOUNT_ANAGRAFICA AA ON AA.CODICE_FISCALE = A.CODICE_FISCALE WHERE V.LOTTO = :lotto AND V.STATO = :stato GROUP BY AA.CODICE_FISCALE, AA.COGNOME, AA.NOME, AA.SESSO, AA.COMUNE_NASCITA, AA.DATA_NASCITA, AA.INDIRIZZO_RESIDENZA, AA.CAP_RESIDENZA, AA.COMUNE_RESIDENZA, AA.PROV_NASCITA )T WHERE T.SCONTO_TOTALE > 0 ORDER BY T.Codice_Fiscale ASC'; $query = $con->prepare($sql); $query->bindParam(":lotto", $lotto); $query->bindParam(":stato", $stato); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } } return $res; } public static function listLottoFromMandatiXml($lotto = null, $stato = null) { global $con; $result = array(); $res = array(); if (!empty($lotto) && !empty($stato)) { $sql = 'SELECT * FROM ( SELECT AA.CODICE_FISCALE AS "Codice_Fiscale", D.IBAN, ROUND(SUM(V.SCONTO_TOTALE), 2) AS "Importo_Lordo", ROUND(SUM(V.SCONTO_TOTALE), 2) AS "Importo_Netto" FROM VIEW_EXPORT_SCONTI V INNER JOIN DOMANDA D ON D.ID = V.ID_DOMANDA INNER JOIN ACCOUNT A ON A.ID = D.ID_ACCOUNT INNER JOIN ACCOUNT_ANAGRAFICA AA ON AA.CODICE_FISCALE = A.CODICE_FISCALE WHERE V.LOTTO = :lotto AND V.STATO = :stato group by AA.CODICE_FISCALE, D.IBAN )T WHERE T."Importo_Lordo" > 0 ORDER BY T."Codice_Fiscale" ASC'; $query = $con->prepare($sql); $query->bindParam(":lotto", $lotto); $query->bindParam(":stato", $stato); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } } return $res; } /** * LISTA DEI BENEFICIARI per il PAGAMENTO (XLS) */ public static function listLottoFromPagamentiXls($lotto = null, $stato = null) { global $con; $result = array(); $res = array(); if (!empty($lotto) && !empty($stato)) { $sql = "SELECT * FROM ( SELECT AA.CODICE_FISCALE AS \"CF\", V.IBAN, TO_CHAR(SUM(V.SCONTO_TOTALE), 'FM9999990.00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS \"IMPORTO LORDO\", TO_CHAR(SUM(V.SCONTO_TOTALE), 'FM9999990.00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS \"IMPORTO_NETTO LORDO\" FROM VIEW_EXPORT_IBAN_AGGIORNATI V INNER JOIN DOMANDA D ON D.ID = V.ID_DOMANDA INNER JOIN ACCOUNT A ON A.ID = D.ID_ACCOUNT INNER JOIN ACCOUNT_ANAGRAFICA AA ON AA.CODICE_FISCALE = A.CODICE_FISCALE WHERE V.LOTTO = :lotto AND V.STATO = :stato GROUP BY AA.CODICE_FISCALE, V.IBAN ) T WHERE T.\"IMPORTO LORDO\" > 0 ORDER BY T.\"CF\" ASC"; $query = $con->prepare($sql); $query->bindParam(":lotto", $lotto); $query->bindParam(":stato", $stato); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } } return $res; } public static function listLottoFromDecretoPdf($lotto = null, $stato = null) { global $con; $result = array(); $res = array(); if (!empty($lotto) && !empty($stato)) { $sql = 'SELECT "ID Richiesta", "Data richiesta", "Importo sconto", "Localita", "Provincia" FROM ( SELECT V.ID AS "ID Richiesta", TO_CHAR(V.DATA_REGISTRAZIONE, \'dd/mm/YYYY hh24:mi:ss\') AS "Data richiesta", TO_CHAR(V.SCONTO_TOTALE, \'L99G999D99MI\', \'NLS_NUMERIC_CHARACTERS = \'\',.\'\' NLS_CURRENCY = \'\'€.\'\' \' ) AS "Importo sconto", AA.COMUNE_RESIDENZA AS "Localita", AA.PROV_RESIDENZA AS "Provincia", V.SCONTO_TOTALE FROM VIEW_EXPORT_SCONTI V INNER JOIN DOMANDA D ON D.ID = V.ID_DOMANDA INNER JOIN ACCOUNT A ON A.ID = D.ID_ACCOUNT INNER JOIN ACCOUNT_ANAGRAFICA AA ON AA.CODICE_FISCALE = A.CODICE_FISCALE WHERE V.LOTTO = :lotto AND V.STATO = :stato )T WHERE T.SCONTO_TOTALE > 0 ORDER BY T."ID Richiesta" ASC'; //echo $sql; $query = $con->prepare($sql); $query->bindParam(":lotto", $lotto); $query->bindParam(":stato", $stato); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } } return $res; } /** * * @return array */ public static function SetPresInCarico($data, $tipo = -1) { global $con; $res = Utils::initDefaultResponse(); if (!empty($data) && $tipo >= 0) { if (Date::is_date($data)) { $sql = "CALL SPPRESAINCARICO(TO_DATE('" . DATA_PREPARAZIONE_INIZIO . "', 'dd/mm/YYYY hh24:mi:ss'), TO_DATE('" . $data . " 23:59:59', 'dd/mm/YYYY hh24:mi:ss'), '" . $tipo . "')"; //echo $sql;exit(); $query = $con->prepare($sql); try { if ($query->execute()) { $res['esito'] = 1; } } catch (Exception $exc) { $res['erroreDescrizione'] = $exc->getMessage(); } } else { $res['erroreDescrizione'] = 'Non è una data valida'; } } return $res; } /** * Imposto lo stato ad approvato di tutte le richieste appartenenti al lotto desiderato * @param $lotto * @return array */ public static function SetApprova($lotto = 0) { global $con; $result = array(); $res = array(); if (intval($lotto) > 0) { $sql = "CALL SP_APPROVA(" . $lotto . ")"; //echo $sql;exit(); $query = $con->prepare($sql); try { if ($query->execute()) { $res['esito'] = 1; } } catch (Exception $exc) { $res['descrizioneErrore'] = $exc->getMessage(); } } return $res; } // SetApprovaVerificati public static function SetApprovaVerificati($lotto = 0) { global $con; $result = array(); $res = array(); if (intval($lotto) > 0) { $sql = "CALL SP_CONFERMA_VALIDATI(" . $lotto . ")"; //echo $sql;exit(); $query = $con->prepare($sql); try { if ($query->execute()) { $res['esito'] = 1; } } catch (Exception $exc) { $res['descrizioneErrore'] = $exc->getMessage(); } } return $res; } /** * @param $lotto * @return array */ public static function SetDisApprova($lotto = 0) { global $con; $result = array(); $res = array(); if (intval($lotto) > 0) { $sql = "CALL SP_DISAPPROVA(" . $lotto . ")"; //echo $sql;exit(); $query = $con->prepare($sql); try { if ($query->execute()) { $res['esito'] = 1; } } catch (Exception $exc) { $res['descrizioneErrore'] = $exc->getMessage(); } } return $res; } /** * Imposto lo stato ad erogato di tutte le richieste appartenenti al lotto desiderato * @param $lotto * @return array */ public static function SetErogato($lotto = 0) { global $con; $res = array(); if (intval($lotto) > 0) { $sql = "CALL SP_EROGA(" . $lotto . ")"; //echo $sql;exit(); $query = $con->prepare($sql); try { if ($query->execute()) { $res['esito'] = 1; } } catch (Exception $exc) { $res['descrizioneErrore'] = $exc->getMessage(); } } return $res; } public static function listScontiForFix($con) { global $con; $res = array(); $sql = "SELECT * FROM " . self::VIEW . " WHERE FLAG is null ORDER BY ID ASC"; //echo $sql;exit(); $query = $con->prepare($sql); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } return $res; } public static function listAccountForFix() { global $con; $res = array(); $sql = "SELECT * FROM " . AccountNucleoFamiliare::TABLE_NAME . " WHERE FLAG is null ORDER BY ID ASC"; //echo $sql;exit(); $query = $con->prepare($sql); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } return $res; } public function SetForzaResidenza($forza = 1) { global $con; $res = array(); if (intval($forza) >= 0) { $sql = "CALL SP_FORZA_RESIDENZA(" . $this->ID . ", '" . $forza . "')"; //echo $sql;exit(); $query = $con->prepare($sql); try { if ($query->execute()) { $res['esito'] = 1; } } catch (Exception $exc) { $res['descrizioneErrore'] = $exc->getMessage(); } } return $res; } public static function exportDecreti($lotto = 0, $stato = 0, $omissis = 0) { global $con; $res = array(); $fields = ($omissis == 0) ? "V.COGNOME AS COGNOME, V.NOME AS NOME, V.CODICE_FISCALE AS CODICE_FISCALE, V.IBAN AS IBAN" : "'OMISSIS' AS COGNOME, 'OMISSIS' AS NOME, 'OMISSIS' AS CODICE_FISCALE, 'OMISSIS' AS IBAN"; $sql = " SELECT \"ID Richiesta\", COGNOME, NOME, CODICE_FISCALE, DATA_NASCITA, \"Localita\", \"Provincia\", \"Importo sconto\", IBAN FROM ( SELECT V.ID AS \"ID Richiesta\", TO_CHAR(V.SCONTO_TOTALE, 'FM9999990.00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS \"Importo sconto\", V.COMUNE_RESIDENZA AS \"Localita\", V.PROV_RESIDENZA AS \"Provincia\", $fields, V.DATA_NASCITA, V.SCONTO_TOTALE FROM VIEW_EXPORT_IBAN_AGGIORNATI V WHERE V.LOTTO = :LOTTO AND V.STATO = 2 ) T WHERE T.SCONTO_TOTALE > 0 ORDER BY T.\"ID Richiesta\" ASC "; $query = $con->prepare($sql); $query->bindParam(":LOTTO", $lotto); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { $exc->getMessage(); } return $res; } public static function exportAnagrafiche($lotto = 0, $stato = 0) { global $con; $res = array(); $sql = " SELECT T.COGNOME, T.NOME, T.Codice_Fiscale AS \"CODICE FISCALE\", T.SESSO, T.Nato_A AS \"LUOGO DI NASCITA\", T.Provincia AS \"PROV\", T.Data_Nascita AS \"DATA DI NASCITA\", T.Indirizzo AS INDIRIZZO, T.CAP, T.Localita AS LOCALITA, T.IBAN, T.SCONTO_TOTALE FROM ( SELECT AA.CODICE_FISCALE AS Codice_Fiscale, 0 AS \"Blocco\", AA.COGNOME, AA.NOME, AA.SESSO, AA.COMUNE_NASCITA AS Nato_A, AA.DATA_NASCITA AS Data_Nascita, AA.INDIRIZZO_RESIDENZA AS Indirizzo, AA.CAP_RESIDENZA AS CAP, AA.COMUNE_RESIDENZA AS Localita, NULL AS \"Data_Immissione\", NULL AS \"Data_Variazione\", NULL AS \"Data_Blocco\", NULL AS \"Avviso_CAP\", NULL AS \"AvvisoLocalita\", AA.PROV_NASCITA AS Provincia, V.IBAN, TO_CHAR(SUM(V.SCONTO_TOTALE), 'FM9999990.00', 'NLS_NUMERIC_CHARACTERS = '',.''') AS SCONTO_TOTALE FROM VIEW_EXPORT_IBAN_AGGIORNATI V INNER JOIN DOMANDA D ON D.ID = V.ID_DOMANDA INNER JOIN ACCOUNT A ON A.ID = D.ID_ACCOUNT INNER JOIN ACCOUNT_ANAGRAFICA AA ON AA.CODICE_FISCALE = A.CODICE_FISCALE WHERE V.LOTTO = :LOTTO AND V.STATO = 2 GROUP BY AA.CODICE_FISCALE, AA.COGNOME, AA.NOME, AA.SESSO, AA.COMUNE_NASCITA, AA.DATA_NASCITA, AA.INDIRIZZO_RESIDENZA, AA.CAP_RESIDENZA, AA.COMUNE_RESIDENZA, AA.PROV_NASCITA, V.IBAN ) T WHERE T.SCONTO_TOTALE > 0 ORDER BY T.Codice_Fiscale ASC "; $query = $con->prepare($sql); $query->bindParam(":LOTTO", $lotto); try { $query->execute(); $res = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { echo $exc->getMessage(); } return $res; } public static function getIdDomandaFromSconto($idSconto = 0) { global $con; $return = array(); $return['id_domanda'] = -999; if ($idSconto > 0) { $sql = "SELECT ID_DOMANDA FROM " . self::TABLE_NAME . " WHERE ID=:ID"; $query = $con->prepare($sql); $query->bindParam(":ID", $idSconto); try { $query->execute(); $res = $query->fetch(PDO::FETCH_ASSOC); $return['id_domanda'] = $res['ID_DOMANDA'] > 0 ? $res['ID_DOMANDA'] : -999; } catch (Exception $exc) { echo $exc->getMessage(); } } return $return; } public static function getDrsFromLotto($lotto = 0) { global $con; $return = array(); $return['NUMERO_DRS'] = ""; $return['DATA_DRS'] = ""; $sel = $con->prepare("SELECT NUMERO_DRS, DATA_DRS FROM ESPORTAZIONI WHERE LOTTO=:LOTTO"); $sel->bindParam(":LOTTO", $lotto); try { $sel->execute(); $it = $sel->fetch(PDO::FETCH_ASSOC); $return['NUMERO_DRS'] = $it['NUMERO_DRS']; $return['DATA_DRS'] = $it['DATA_DRS']; } catch (PDOException $exc) { // echo $exc->getMessage(); } return $return; } public static function getLottoFromRecord($id = 0) { global $con; $return = array(); $return['LOTTO'] = 0; $sel = $con->prepare("SELECT LOTTO FROM " . self::TABLE_NAME . " WHERE ID=:ID"); $sel->bindParam(":ID", $id); try { $sel->execute(); $it = $sel->fetch(PDO::FETCH_ASSOC); $return['LOTTO'] = $it['LOTTO']; } catch (PDOException $exc) { // echo $exc->getMessage(); } return $return; } public static function SetCambiaLotto($from = 0, $to) { global $con; $res = array(); if (intval($from) > 0 && intval($to) > 0) { $sql = "CALL AGGIORNA_LOTTO_DOMANDA_SCONTI(" . $from . ", ".$to.")"; //echo $sql;exit(); $query = $con->prepare($sql); try { if ($query->execute()) { $res['esito'] = 1; } } catch (Exception $exc) { $res['descrizioneErrore'] = $exc->getMessage(); } } return $res; } }