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.
 
 
 

400 righe
16 KiB

<?php
require_once "IDataClass.php";
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of VisuraImpresa
*
* @author Anselmo
*/
class VisuraImpresa {
//put your code here
public $f_sede_intercamerale = "";
public $c_fonte = "";
public $fonte = "";
public $tipo_soggetto = "";
public $descrizione_tipo_soggetto = "";
public $tipo_impresa = "";
public $descrizione_tipo_impresa = "";
public $dt_iscrizione_ri = "";
public $dt_atto_costituzione = "";
public $dt_ultimo_protocollo = "";
public $dt_mod_ultimo_protocollo_evaso = "";
public $dt_caricamento_prot_iscrizione = "";
public $dt_caricamento = "";
public $dt_ultima_modifica = "";
public $denominazione = "";
public $c_fiscale = "";
public $partita_iva = "";
public $id_cciaa = "";
public $c_cciaa_competente = "";
public $cciaa_competente = "";
public $cciaa = "";
public $n_rea = "";
public $c_stato_attivita = "";
public $stato_attivita = "";
public $c_comune = "";
public $comune = "";
public $provincia = "";
public $c_toponimo = "";
public $toponimo = "";
public $via = "";
public $n_civico = "";
public $cap = "";
public $indirizzo = "";
public $indirizzo_posta_certificata = "";
public $dt_addetti = "";
public $anno = "";
public $n_dipendenti = "";
public $n_indipendenti = "";
public $n_addetti = "";
public $cl = "";
public $c_attivita = "";
public $dt_inizio_attivita_impresa = "";
public $attivita_esercitata = "";
public $forma_giuridica = "";
public $cluster_db = false; // campo per stabilire se il codice fiscale Azienda è idoneo a presentare la domanda
public $sedi_operative = array();
public function __construct($objDOM = null) {
global $con, $PROVINCE_SICILIA;
if ($objDOM == null)
return;
if (is_object($objDOM)) {
$nodeImpresa = $objDOM->getElementsByTagName("dati-identificativi");
foreach ($nodeImpresa as $searchNode) {
$this->f_sede_intercamerale = $searchNode->getAttribute('f-sede-intercamerale');
$this->c_fonte = $searchNode->getAttribute('c-fonte');
$this->fonte = $searchNode->getAttribute('fonte');
$this->tipo_soggetto = $searchNode->getAttribute('tipo-soggetto');
$this->descrizione_tipo_soggetto = $searchNode->getAttribute('descrizione-tipo-soggetto');
$this->tipo_impresa = $searchNode->getAttribute('tipo-impresa');
$this->descrizione_tipo_impresa = $searchNode->getAttribute('tipo-soggetto');
$this->dt_iscrizione_ri = $searchNode->getAttribute('dt-iscrizione-ri');
$this->dt_atto_costituzione = $searchNode->getAttribute('dt-atto-costituzione');
$this->dt_ultimo_protocollo = $searchNode->getAttribute('dt-ultimo-protocollo');
$this->dt_mod_ultimo_protocollo_evaso = $searchNode->getAttribute('dt-mod-ultimo-protocollo-evaso');
$this->dt_caricamento_prot_iscrizione = $searchNode->getAttribute('dt-caricamento-prot-iscrizione');
$this->dt_caricamento = $searchNode->getAttribute('dt-caricamento');
$this->dt_ultima_modifica = $searchNode->getAttribute('dt-ultima-modifica');
$this->denominazione = $searchNode->getAttribute('denominazione');
$this->c_fiscale = $searchNode->getAttribute('c-fiscale');
$this->partita_iva = $searchNode->getAttribute('partita-iva');
$this->id_cciaa = $searchNode->getAttribute('id-cciaa');
$this->c_cciaa_competente = $searchNode->getAttribute('c-cciaa-competente');
$this->cciaa_competente = $searchNode->getAttribute('cciaa-competente');
$this->cciaa = $searchNode->getAttribute('cciaa');
$this->n_rea = $searchNode->getAttribute('n-rea');
$nodeStatoAttivita = $searchNode->getElementsByTagName("stato-attivita");
foreach ($nodeStatoAttivita as $n) {
$this->c_stato_attivita = $n->getAttribute('c');
$this->stato_attivita = $n->nodeValue;
}
$nodeFormGiuridica = $searchNode->getElementsByTagName("forma-giuridica");
foreach ($nodeFormGiuridica as $f) {
$this->forma_giuridica = $f->nodeValue;
}
$nodeIndirizzo = $searchNode->getElementsByTagName("indirizzo-localizzazione");
foreach ($nodeIndirizzo as $n) {
$this->c_comune = $n->getAttribute('c-comune');
$this->comune = $n->getAttribute('comune');
$this->provincia = $n->getAttribute('provincia');
$this->c_toponimo = $n->getAttribute('c-toponimo');
$this->toponimo = $n->getAttribute('toponimo');
$this->via = $n->getAttribute('via');
$this->n_civico = $n->getAttribute('n-civico');
$this->cap = $n->getAttribute('cap');
$this->indirizzo = $n->getAttribute('toponimo') . ' ' . $n->getAttribute('via') . ($n->getAttribute('n-civico') != '' ? ' n. ' . $n->getAttribute('n-civico') : '') . ($n->getAttribute('cap') != '' ? ' cap. ' . $n->getAttribute('cap') : '');
}
$nodePec = $searchNode->getElementsByTagName("indirizzo-posta-certificata");
foreach ($nodePec as $pec) {
$this->indirizzo_posta_certificata = $pec->nodeValue;
}
// se l'impresa è in stato attiva si procede al controllo sulla presenza nel ClusterDB
$this->cluster_db = ($this->c_stato_attivita == STATO_ATTIVITA_IMPRESA_CUSTOM ? ClusterDb::Exists($searchNode->getAttribute('c-fiscale')) : false);
//$this->cluster_db = ClusterDb::Exists($searchNode->getAttribute('c-fiscale'));
}
$nodeAttivita = $objDOM->getElementsByTagName("sintesi-attivita");
foreach ($nodeAttivita as $at) {
$nodeClassificazioneAteco = $at->getElementsByTagName("classificazione-ateco");
foreach ($nodeClassificazioneAteco as $ateco) {
$this->c_attivita = $ateco->getAttribute('c-attivita');
}
}
$nodeAddetti = $objDOM->getElementsByTagName("addetti-r");
foreach ($nodeAddetti as $add) {
$this->dt_addetti = $add->getAttribute('dt-addetti');
$this->anno = $add->getAttribute('anno');
$this->n_dipendenti = $add->getAttribute('n-dipendenti');
$this->n_indipendenti = $add->getAttribute('n-indipendenti');
$this->n_addetti = $add->getAttribute('n-addetti');
$this->cl = $add->getAttribute('cl');
}
$nodeInfoAttivita = $objDOM->getElementsByTagName("info-attivita");
foreach ($nodeInfoAttivita as $info) {
$this->dt_inizio_attivita_impresa = $info->getAttribute('dt-inizio-attivita-impresa');
$nodeEsercizio = $info->getElementsByTagName("attivita-esercitata");
foreach ($nodeEsercizio as $p) {
$this->attivita_esercitata = $p->nodeValue;
}
}
$sedi_ope = array();
$nodeSediOperative = $objDOM->getElementsByTagName("localizzazioni");
if (intval($nodeSediOperative->length) > 0) {
foreach ($nodeSediOperative as $searchNode) {
$sedi_ope = VisuraImpresaSediOperative::List($searchNode);
//$this->sedi_operative = $sedi_operative;
}
}
// else {
// if(array_key_exists($this->provincia, $PROVINCE_SICILIA) || !ATTIVA_CONTROLO_PROVINCA){
// $sede_legale = array();
// $sedeL = new VisuraImpresaSediOperative();
// $sedeL->c_comune = $this->c_comune;
// $sedeL->comune = $this->comune;
// $sedeL->provincia = $this->provincia;
// $sedeL->c_toponimo = $this->c_toponimo;
// $sedeL->toponimo = $this->toponimo;
// $sedeL->via = $this->via;
// $sedeL->n_civico = $this->n_civico;
// $sedeL->cap = $this->cap;
// $sedeL->id_sedeoperativa = $sedeL->GetIdSedeOperativa();
// $sede_legale[] = $sedeL;
// $this->sedi_operative = $sede_legale;
// }
// }
$sede_legale = array();
if (array_key_exists($this->provincia, $PROVINCE_SICILIA) || !ATTIVA_CONTROLO_PROVINCA) {
$sedeL = new VisuraImpresaSediOperative();
$sedeL->c_comune = $this->c_comune;
$sedeL->dt_apertura = $this->dt_inizio_attivita_impresa;
$sedeL->comune = $this->comune;
$sedeL->provincia = $this->provincia;
$sedeL->c_toponimo = $this->c_toponimo;
$sedeL->toponimo = $this->toponimo;
$sedeL->via = $this->via;
$sedeL->n_civico = $this->n_civico;
$sedeL->cap = $this->cap;
$sedeL->id_sedeoperativa = $sedeL->GetIdSedeOperativa();
$k = $this->provincia . "-SEDELEGALE";
$sede_legale[$k] = $sedeL;
//$sedi_ope = $sede_legale;
}
$sedi_operative = array_merge_recursive($sede_legale, $sedi_ope);
$this->sedi_operative = $sedi_operative;
}
}
public static function Load($partitaIva = null) {
$return = array();
if ($partitaIva == null)
return $return;
$options = array(
'trace' => 1,
'exceptions' => false,
'cache_wsdl' => WSDL_CACHE_NONE,
'login' => IC_WSDL_USR,
'password' => IC_WSDL_PSW
);
$client = new MySoapClient(IC_WSDL_URL, $options);
$request = array('richiestaVisuraImpresaCustom' => array('tipoServizioStr' => 'VISURA_REGSIC', 'codiceFiscale' => $partitaIva));
try {
$client->__soapCall('visuraImpresaCustom', $request);
$response = $client->__getLastResponse();
//Utils::print_array($response);exit();
//$response = str_replace("&#x1A",'',$response); ///My Invalid Symbol
//$response = str_ireplace(array('SOAP-ENV:','SOAP:'),'',$response);
//$xml = new SimpleXMLElement($response);
//echo htmlentities($response);exit();
$objDOM = new DOMDocument();
$objDOM->loadXML($response);
$vi = new VisuraImpresa($objDOM);
$return = Utils::ObjectToArray($vi);
} catch (Exception $exc) {
echo $exc->getTraceAsString();
}
return $return;
}
}
class VisuraImpresaSediOperative {
public $progressivo = '';
public $id_sedeoperativa = '';
public $c_tipo = '';
public $tipo = '';
public $dt_apertura = '';
public $c_comune = '';
public $comune = '';
public $provincia = '';
public $c_toponimo = '';
public $toponimo = '';
public $via = '';
public $n_civico = '';
public $cap = '';
public function __construct($objDOM = null) {
global $con;
if ($objDOM == null)
return;
if (is_object($objDOM)) {
}
}
public function List($objDOM = null) {
global $PROVINCE_SICILIA;
$record = array();
if (is_object($objDOM)) {
$nodeSede = $objDOM->getElementsByTagName('localizzazione');
if (intval($nodeSede->length) > 0) {
foreach ($nodeSede as $s) {
$sede = new VisuraImpresaSediOperative();
$sede->progressivo = $s->getAttribute('progressivo');
$sede->c_tipo = $s->getAttribute('c-tipo');
$sede->tipo = $s->getAttribute('tipo');
$sede->dt_apertura = $s->getAttribute('dt-apertura');
$nodeLocalizzazione = $s->getElementsByTagName('indirizzo-localizzazione');
foreach ($nodeLocalizzazione as $d) {
$sede->c_comune = $d->getAttribute('c-comune');
$sede->comune = $d->getAttribute('comune');
$sede->provincia = $d->getAttribute('provincia');
$sede->c_toponimo = $d->getAttribute('c-toponimo');
$sede->toponimo = $d->getAttribute('toponimo');
$sede->via = $d->getAttribute('via');
$sede->n_civico = $d->getAttribute('c-civico');
$sede->cap = $d->getAttribute('cap');
}
$sede->id_sedeoperativa = $sede->GetIdSedeOperativa();
if (array_key_exists($sede->provincia, $PROVINCE_SICILIA) || !ATTIVA_CONTROLO_PROVINCA){
$record[$sede->id_sedeoperativa] = $sede;
}
}
} else {
}
}
return $record;
}
public function GetIdSedeOperativa() {
return $this->provincia . "-" . ($this->progressivo != '' ? $this->progressivo : 'SEDELEGALE');
}
}
class VisuraImpresaCustom extends DataClass {
const TABLE_NAME = 'VISURA_IMPRESA_CUSTOM';
const SP_ = 'SPVISURASAVE';
public $PIVA_IMPRESA = '';
public $VIMPRESA = '';
public function __construct($src = null) {
global $con;
if ($src == null)
return;
if (is_array($src)) {
if (isset($src['PIVA_IMPRESA']) && $src['PIVA_IMPRESA'] != "") {
$this->_loadAndFillObject($src['PIVA_IMPRESA'], self::TABLE_NAME, $src);
} else {
$this->_loadByRow($src, $stripSlashes);
}
} else {
$sql = "SELECT * FROM " . self::TABLE_NAME . " WHERE PIVA_IMPRESA = :id";
$query = $con->prepare($sql);
$query->bindParam(":id", $src);
try {
$query->execute();
$it = $query->fetchAll(PDO::FETCH_ASSOC);
$it[0]['VIMPRESA'] = stream_get_contents($it[0]['VIMPRESA']);
Utils::FillObjectFromRow($this, $it[0]);
//Utils::print_array($it);
} catch (Exception $exc) {
$exc->getMessage();
}
}
}
public function Load($piva_impresa = "") {
global $con;
$where = "";
if (trim($piva_impresa) == "") {
return array();
}
$where .= ($where == "" ? "" : " AND ") . "PIVA_IMPRESA = :piva_impresa";
$sql = "SELECT * FROM " . self::TABLE_NAME;
if ($where != "")
$sql .= " WHERE $where";
$query = $con->prepare($sql);
$query->bindParam(":piva_impresa", trim($piva_impresa));
try {
$query->execute();
$it = $query->fetchAll(PDO::FETCH_ASSOC);
$it[0]['VIMPRESA'] = stream_get_contents($it[0]['VIMPRESA']);
} catch (Exception $exc) {
$it['esito'] = -999;
$it['descrizioneErrore'] = $exc->getMessage();
}
return $it;
}
/**
* Restituisce il valore della kyave specificata nella stringa json salvato
* @param type $param
* @return string
*/
public function getJsonVerbaleDati($param = '') {
if ($param == "")
return '';
$arrayDati = json_decode($this->VIMPRESA);
//Utils::print_array($arrayDati);
return $arrayDati->{$param};
}
public function Save() {
global $con;
$vars = get_object_vars($this);
$sql = "CALL " . self::SP_ . " (?,?)";
$query = $con->prepare($sql);
$query->bindParam(1, $this->PIVA_IMPRESA);
$query->bindParam(2, $this->VIMPRESA, PDO::PARAM_STR, strlen($this->VIMPRESA));
try {
$it = $query->execute();
} catch (Exception $exc) {
$it['descrizioneErrore'] = $exc->getMessage();
}
return $it;
}
}