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.
258 righe
9.2 KiB
258 righe
9.2 KiB
<?php |
|
|
|
require_once ROOT . "/lib/classes/IDataClass.php"; |
|
/* |
|
* Gestione della parte di export composta da due classi |
|
* RichiesteExport: dati relativi ad una richiesta di export |
|
* RichiesteExportMerce: dati relativi alle merci di una richiesta |
|
*/ |
|
|
|
/** |
|
* Description of Attivita |
|
* |
|
* @author Stefano |
|
*/ |
|
class Comune extends DataClass { |
|
|
|
const TABLE_NAME = "COMUNE"; |
|
|
|
public $ID = 0; |
|
public $CODICE_REGIONE = null; |
|
public $CD_PROVINCIA = null; |
|
public $CODICE_ISTAT = null; |
|
public $CODICE_PROVINCIA = null; |
|
public $PROV = null; |
|
public $COD_CF = null; |
|
public $DESCRIZIONE = null; |
|
public $ATTIVO = null; |
|
public $CAP = null; |
|
public $REGIONE = null; |
|
public $SEARCH = 1; |
|
|
|
public function __construct($src = null) { |
|
global $con; |
|
if ($src == null) { |
|
return; |
|
} |
|
if (is_array($src)) { |
|
$this->_loadByRow($src, $stripSlashes); |
|
} elseif (is_numeric($src)) { |
|
// Carichiamo tramite ID |
|
$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(); |
|
} |
|
} |
|
} |
|
|
|
public function LoadByIstat($CODICE_ISTAT) { |
|
global $con; |
|
$sql = "SELECT * FROM " . self::TABLE_NAME . " WHERE CODICE_ISTAT = :CODICE_ISTAT"; |
|
$query = $con->prepare($sql); |
|
$it = []; |
|
$query->bindParam(":CODICE_ISTAT", $CODICE_ISTAT); |
|
try { |
|
$query->execute(); |
|
$it = $query->fetchAll(PDO::FETCH_ASSOC); |
|
Utils::FillObjectFromRow($this, $it[0]); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
return $it; |
|
} |
|
|
|
public static function LoadByComune($comune = "") { |
|
global $con; |
|
$sql = "SELECT * FROM " . self::TABLE_NAME . " WHERE LOWER(DESCRIZIONE)=:comune"; // OR LOWER(DESCRIZIONE) = :comune |
|
$query = $con->prepare($sql); |
|
$query->bindParam(":comune", strtolower(trim($comune))); |
|
|
|
try { |
|
$query->execute(); |
|
$it = $query->fetch(PDO::FETCH_ASSOC); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
return $it; |
|
} |
|
|
|
public static function getProvinciaFromComune($DESCRIZIONE = '') { |
|
global $con; |
|
$response = ''; |
|
if ($DESCRIZIONE != '') { |
|
$sql = "SELECT DISTINCT(CODICE_PROVINCIA) as CODICE_PROVINCIA FROM " . self::TABLE_NAME . " WHERE DESCRIZIONE = :DESCRIZIONE"; |
|
$query = $con->prepare($sql); |
|
$query->bindParam(":DESCRIZIONE", strtoupper($DESCRIZIONE)); |
|
try { |
|
$query->execute(); |
|
$it = $query->fetchAll(PDO::FETCH_ASSOC); |
|
$response = $it[0]['CODICE_PROVINCIA']; |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
} |
|
return $response; |
|
} |
|
|
|
public static function autocompleteCittadinanza($string = '') { |
|
global $con; |
|
$return = array(); |
|
if (strlen($string) >= 3) { |
|
$string = "%" . strtolower($string) . "%"; |
|
$sql = "SELECT DESCRIZIONE , CODICE_ISTAT, CODICE_PROVINCIA,CAP FROM " . self::TABLE_NAME . " WHERE " |
|
. "LOWER(DESCRIZIONE) LIKE :term AND (CODICE_REGIONE='".UNIONE_EUROPEA."' OR CODICE_REGIONE IS " |
|
. "NULL) AND ATTIVO=1 ORDER BY DESCRIZIONE ASC"; |
|
$query = $con->prepare($sql); |
|
$query->bindParam(":term", $string); |
|
try { |
|
$query->execute(); |
|
while ($it = $query->fetch(PDO::FETCH_ASSOC)) { |
|
$descrizione = $it['DESCRIZIONE']; |
|
$row['id'] = $descrizione; |
|
$row['text'] = $descrizione; |
|
$row['label'] = $descrizione; |
|
$row['codice_istat'] = $it['CODICE_ISTAT']; |
|
$row['codice_provincia'] = $it['CODICE_PROVINCIA']; |
|
$row['cap'] = $it['CAP']; |
|
array_push($return, $row); |
|
} |
|
} catch (Exception $exc) { |
|
echo $exc->getMessage(); |
|
} |
|
} |
|
return $return; |
|
} |
|
|
|
public static function autocomplete($string = '', $regione = null, $campi_fix = false) { |
|
global $con; |
|
$return = array(); |
|
if (strlen($string) >= 3) { |
|
$filter = ''; |
|
$searchFix = ''; |
|
if (!empty($regione)) { |
|
$filter = " REGIONE = :regione AND "; |
|
} |
|
if (!$campi_fix) { |
|
$searchFix = ' AND SEARCH = 1 '; |
|
} |
|
$string = "%" . strtolower($string) . "%"; |
|
$sql = "SELECT DESCRIZIONE , CODICE_ISTAT, CODICE_PROVINCIA,CAP FROM " . self::TABLE_NAME . " WHERE " . $filter . " " |
|
. "LOWER(DESCRIZIONE) LIKE :term " . $searchFix . " AND ATTIVO=1 AND CODICE_ISTAT!=". ISTAT_ITALIA." ORDER BY DESCRIZIONE"; |
|
$query = $con->prepare($sql); |
|
if (!empty($regione)) { |
|
$query->bindParam(":regione", $regione); |
|
} |
|
$query->bindParam(":term", $string); |
|
try { |
|
$query->execute(); |
|
while ($it = $query->fetch(PDO::FETCH_ASSOC)) { |
|
$descrizione = $it['DESCRIZIONE']; |
|
$row['id'] = $descrizione; |
|
$row['text'] = $descrizione; |
|
$row['label'] = $descrizione; |
|
$row['codice_istat'] = $it['CODICE_ISTAT']; |
|
$row['codice_provincia'] = $it['CODICE_PROVINCIA']; |
|
$row['cap'] = $it['CAP']; |
|
array_push($return, $row); |
|
} |
|
} catch (Exception $exc) { |
|
echo $exc->getMessage(); |
|
} |
|
} |
|
return $return; |
|
} |
|
|
|
public static function autocompleteSigla($string = '') { |
|
global $con; |
|
$return = array(); |
|
$string = "%" . strtoupper($string) . "%"; |
|
$sql = "SELECT DISTINCT(CODICE_PROVINCIA) as label FROM " . self::TABLE_NAME . " WHERE CODICE_PROVINCIA LIKE :term ORDER BY label"; |
|
$query = $con->prepare($sql); |
|
$query->bindValue(":term", $string); |
|
try { |
|
$query->execute(); |
|
$return = $query->fetchAll(PDO::FETCH_ASSOC); |
|
} catch (Exception $exc) { |
|
echo $exc->getMessage(); |
|
} |
|
return $return; |
|
} |
|
|
|
public static function getComuneAndCAPFromCatasto($catasto = "") { |
|
global $con; |
|
$return = array(); |
|
$return['DESCRIZIONE'] = ""; |
|
$return['CAP'] = ""; |
|
$sel = $con->prepare("SELECT DESCRIZIONE, CAP, REGIONE FROM " . self::TABLE_NAME . " WHERE COD_CF=:cod_cf"); |
|
$sel->bindParam(":cod_cf", $catasto); |
|
try { |
|
$sel->execute(); |
|
$it = $sel->fetchAll(PDO::FETCH_ASSOC); |
|
$num = count($it); |
|
if ($num == 1) { |
|
$return['DESCRIZIONE'] = $it[0]['DESCRIZIONE']; |
|
$return['CAP'] = $it[0]['CAP']; |
|
$return['REGIONE'] = $it[0]['REGIONE']; |
|
} |
|
} catch (PDOException $exc) { |
|
|
|
} |
|
return $return; |
|
} |
|
|
|
public static function isSicilianoOrEuropeo($sigla = '') { |
|
global $con; |
|
$sicilianoOrEuropeo = -999; |
|
$string = $sigla; |
|
$sql = "SELECT DISTINCT(REGIONE) FROM " . self::TABLE_NAME . " WHERE UPPER(DESCRIZIONE) = UPPER(:term) " |
|
. "AND(REGIONE='" . CODICE_REGIONE_SICILIA . "' " |
|
. "OR CODICE_REGIONE IS NOT NULL) AND ATTIVO=1"; |
|
$query = $con->prepare($sql); |
|
$query->bindValue(":term", $string); |
|
try { |
|
$query->execute(); |
|
$return = $query->fetchAll(PDO::FETCH_ASSOC); |
|
if (!empty($return) && count($return) == 1) { |
|
$sicilianoOrEuropeo = $return[0]['REGIONE']; |
|
} |
|
} catch (Exception $exc) { |
|
// echo $exc->getMessage(); |
|
} |
|
return $sicilianoOrEuropeo; |
|
} |
|
|
|
public static function getCittadinanzaFromDescrizione($sigla = '') { |
|
global $con; |
|
$sicilianoOrEuropeo = -999; |
|
$string = $sigla; |
|
$sql = "SELECT CODICE_REGIONE FROM " . self::TABLE_NAME . " WHERE UPPER(DESCRIZIONE) = UPPER(:term) " |
|
. "AND ATTIVO=1"; |
|
$query = $con->prepare($sql); |
|
$query->bindValue(":term", $string); |
|
try { |
|
$query->execute(); |
|
$return = $query->fetchAll(PDO::FETCH_ASSOC); |
|
if (!empty($return) && count($return) == 1) { |
|
$sicilianoOrEuropeo = $return[0]['CODICE_REGIONE']; |
|
} |
|
} catch (Exception $exc) { |
|
// echo $exc->getMessage(); |
|
} |
|
return $sicilianoOrEuropeo; |
|
} |
|
|
|
/** |
|
* Funzione per la visualizzazione dei logs |
|
* @param type $record |
|
* @param type $campo |
|
*/ |
|
public function Parse(&$record, $campo = "") { |
|
array_push($record, array("Campo" => $campo, "Valore" => $this->$campo)); |
|
} |
|
}
|
|
|