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

<?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));
}
}