diff --git a/application/configs/WsEntreprise.ini b/application/configs/WsEntreprise.ini index c8b90c42..1565d192 100644 --- a/application/configs/WsEntreprise.ini +++ b/application/configs/WsEntreprise.ini @@ -19,4 +19,8 @@ Type.17 = "Dirigeant" Type.18 = "AnnoncesReturn" Type.19 = "AnnoncesResult" Type.20 = "Annonce" -Type.21 = "AnnonceEvenement" \ No newline at end of file +Type.21 = "AnnonceEvenement" +Type.22 = "LiensReturn" +Type.23 = "LiensResult" +Type.24 = "Actionnaire" +Type.25 = "Participations" \ No newline at end of file diff --git a/library/WsScore/Types/LiensTypes.php b/library/WsScore/Types/LiensTypes.php new file mode 100644 index 00000000..60546a95 --- /dev/null +++ b/library/WsScore/Types/LiensTypes.php @@ -0,0 +1,62 @@ +checkAuth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'], $_SERVER['REMOTE_ADDR'])) { throw new SoapFault('900','Identifiant ou mot de passe incorrect !'); exit; } + //Initialisation + if (!empty($id)) { $id = 0; } + if (!empty($forceVerif)) { $forceVerif = false; } + $outputParams = new IdentiteReturn(); $error = new ErrorType(); $result = new IdentiteResult(); @@ -70,214 +75,684 @@ class WsEntreprise $tabRet = array(); $siret = trim($siret); $len = strlen($siret); - $id = trim($id)*1; - if ($len==14) $nic=substr(''.$siret,9,5)*1; - elseif ($len== 9) $nic=0; - elseif ($len== 0) { $siren=0; $nic=0; } - else { - debugLog('W', "Siren/Siret $siren incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__); - $error->errnum = 102; - $error->errmsg = 'Siren Siret inexistant'; - $outputParams->error = $error; - $outputParams->result = $result; - return $outputParams; - exit; + $siren = substr($siret,0,9); + if ($len == 14) + { + $nic = substr($siret,9,5)*1; } - $siren = substr(''.$siret,0,9)*1; - if ($siren==0 && $id==0) { + elseif ($len == 9) + { + $nic = 0; + } + elseif ($siren*1==0 && $id==0) + { debugLog('W', "Siren $siren inexistant", __LINE__, __FILE__, __FUNCTION__, __CLASS__); $error->errnum = 102; $error->errmsg = 'Siren inexistant'; - $outputParams->error = $error; - $outputParams->result = $result; - return $outputParams; - exit; } - debugLog('I', "Avant getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); - $entrep = $this->iInsee->getIdentiteEntreprise($siren, $nic, $id, $forceVerif); - debugLog('I', "Après getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); - $duree = round(microtime(1)-$tdeb,3); - $ligne = date('YmdHis').";$siret;Ws->getIdentite juste apres iInsee->... ($duree s)"; - $fp = fopen(LOG_PATH.'/accesDistant.log', 'a'); - fwrite($fp,$ligne.EOL); - fclose($fp); - if (empty($entrep)) { - debugLog('W', "Siren $siren non présent en base", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + elseif ($len!=14 || $len!=9) + { + debugLog('W', "Siren/Siret $siren incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__); $error->errnum = 102; - $error->errmsg = 'Siren inexistant'; - $outputParams->error = $error; - $outputParams->result = $result; - return $outputParams; - exit; + $error->errmsg = 'Siren Siret inexistant'; } - $iBourse = new MBourse($siren); - $bourse = $iBourse->getInfosBourse($siren); + else + { + debugLog('I', "Avant getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $entrep = $this->iInsee->getIdentiteEntreprise($siren, $nic, $id, $forceVerif); + debugLog('I', "Après getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $duree = round(microtime(1)-$tdeb,3); + $ligne = date('YmdHis').";$siret;Ws->getIdentite juste apres iInsee->... ($duree s)"; + $fp = fopen(LOG_PATH.'/accesDistant.log', 'a'); + fwrite($fp,$ligne.EOL); + fclose($fp); + if (empty($entrep)) { + debugLog('W', "Siren $siren non présent en base", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $error->errnum = 102; + $error->errmsg = 'Siren inexistant'; + } + else + { + $iBourse = new MBourse($siren); + $bourse = $iBourse->getInfosBourse($siren); - $tabRet = array( - 'id' =>$entrep['id'], - 'Siret' =>$entrep['Siret'], - 'SiretSiege' =>$entrep['SiretSiege'], - 'Siege' =>$entrep['Siege'], - 'TribunalCode' =>$entrep['Tribunal'], - 'TribunalLib' =>$entrep['TribunalLib'], - //'NumGreffe' =>$entrep['numGreffe'], // Ajouté le 4 08 2009 - 'NumRC' =>$entrep['numRC'], // Ajouté le 4 08 2009 - 'Actif' =>$entrep['Actif'], - 'EntActiveRCS' =>$entrep['EntActiveRCS'], - 'AutreId' =>$entrep['AutreId'], - 'Source' =>$entrep['Source'], - 'SourceId' =>$entrep['SourceId'], - 'Isin' =>$entrep['Isin'], - 'Nom' =>strtr($entrep['Nom'],'/*',' '), - 'Nom2' =>$entrep['Nom2'], - 'NomLong' =>$entrep['nomLong'], // Ajouté le 4 08 2009 - 'Siret' =>$entrep['Siret'], - 'Sigle' =>$entrep['Sigle'], - 'SigleLong' =>$entrep['sigleLong'], // Ajouté le 4 08 2009 - 'Enseigne' =>$entrep['Enseigne'], - 'Adresse' =>$entrep['Adresse'], - 'Adresse2' =>$entrep['Adresse2'], - 'AdresseNum' =>$entrep['AdresseNum'], - 'AdresseBtq' =>$entrep['AdresseBtq'], - 'AdresseVoie' =>$entrep['AdresseVoie'], - 'AdresseRue' =>$entrep['AdresseRue'], - 'CP' =>$entrep['CP'], - 'Ville' =>$entrep['Ville'], - 'Pays' =>$entrep['Pays'], // Ajouté le 18 02 2008 - 'PaysIso2' =>$entrep['PaysIso2'], + $tabRet = array( + 'id' =>$entrep['id'], + 'Siret' =>$entrep['Siret'], + 'SiretSiege' =>$entrep['SiretSiege'], + 'Siege' =>$entrep['Siege'], + 'TribunalCode' =>$entrep['Tribunal'], + 'TribunalLib' =>$entrep['TribunalLib'], + //'NumGreffe' =>$entrep['numGreffe'], // Ajouté le 4 08 2009 + 'NumRC' =>$entrep['numRC'], // Ajouté le 4 08 2009 + 'Actif' =>$entrep['Actif'], + 'EntActiveRCS' =>$entrep['EntActiveRCS'], + 'AutreId' =>$entrep['AutreId'], + 'Source' =>$entrep['Source'], + 'SourceId' =>$entrep['SourceId'], + 'Isin' =>$entrep['Isin'], + 'Nom' =>strtr($entrep['Nom'],'/*',' '), + 'Nom2' =>$entrep['Nom2'], + 'NomLong' =>$entrep['nomLong'], // Ajouté le 4 08 2009 + 'Siret' =>$entrep['Siret'], + 'Sigle' =>$entrep['Sigle'], + 'SigleLong' =>$entrep['sigleLong'], // Ajouté le 4 08 2009 + 'Enseigne' =>$entrep['Enseigne'], + 'Adresse' =>$entrep['Adresse'], + 'Adresse2' =>$entrep['Adresse2'], + 'AdresseNum' =>$entrep['AdresseNum'], + 'AdresseBtq' =>$entrep['AdresseBtq'], + 'AdresseVoie' =>$entrep['AdresseVoie'], + 'AdresseRue' =>$entrep['AdresseRue'], + 'CP' =>$entrep['CP'], + 'Ville' =>$entrep['Ville'], + 'Pays' =>$entrep['Pays'], // Ajouté le 18 02 2008 + 'PaysIso2' =>$entrep['PaysIso2'], - 'AdresseDom' =>$entrep['AdresseDom'], - 'AdresseDomEnt' =>$entrep['AdresseDomEnt'], - 'AdresseDomNb' =>$entrep['AdresseDomNb'], + 'AdresseDom' =>$entrep['AdresseDom'], + 'AdresseDomEnt' =>$entrep['AdresseDomEnt'], + 'AdresseDomNb' =>$entrep['AdresseDomNb'], - 'Civilite' =>$entrep['Civilite'], - 'NbEtab' =>$entrep['NbEtab'], - 'Tel' =>$entrep['Tel'], - 'Fax' =>$entrep['Fax'], - 'Web' =>$entrep['Web'], - 'Mail' =>$entrep['Mail'], - 'GeoLat' =>$entrep['GeoLat'], - 'GeoLon' =>$entrep['GeoLon'], - 'GeoPrecis' =>$entrep['GeoPrecis'], - 'GeoInfos' =>$entrep['GeoInfos'], - 'TvaNumero' =>$entrep['TvaNumero'], - 'TvaAttribue' =>$entrep['TvaAttribue'], - 'FJ' =>$entrep['FJ'], - 'FJ_lib' =>$entrep['FJ_lib'], - 'FJ2' =>$entrep['FJ2'], // Ajouté le 4 08 2009 - 'FJ2_Lib' =>$entrep['FJ2_Lib'], // Ajouté le 4 08 2009 - 'Siren' =>$entrep['Siren'], - 'Nic' =>$entrep['Nic'], - 'NafEnt' =>$entrep['NafEnt'], - 'NafEntLib' =>$entrep['NafEntLib'], - 'NafEtab' =>$entrep['NafEtab'], - 'NafEtabLib' =>$entrep['NafEtabLib'], - 'NaceEtab' =>$entrep['NaceEtab'], - 'NaceEnt' =>$entrep['NaceEnt'], - 'Nafa' =>$entrep['APRM'], - 'NafaLib' =>$entrep['APRM_Lib'], - 'NumRM' =>$entrep['NumRM'], - 'Activite' =>$entrep['Activite'], - 'Capital' =>$entrep['Capital'], - 'CapitalDev' =>$entrep['CapitalDev'], - 'CapitalLib' =>$entrep['CapitalLib'], // Ajouté le 18 02 2008 - 'CapitalType' =>$entrep['CapitalType'],// Ajouté le 4 08 2009 - 'DateCreaEt' =>$entrep['DateCreaEt'], - 'DateCreaEn' =>$entrep['DateCreaEn'], - 'DateClotEt' =>$entrep['DateClotEt'], - 'DateImmat' =>$entrep['dateImmat'], // Ajouté le 4 08 2009 - 'DateRadiation' =>$entrep['dateRad'], // Ajouté le 4 08 2009 - // 'DateMajRCS' =>$entrep['DateMajRCS'], // Ajouté le 4 08 2009 - 'EffEnTr' =>$entrep['EffEnTr'], - 'EffEnTrLib' =>$entrep['EffEnTrLib'], - 'Effectif' =>$entrep['Effectif'], + 'Civilite' =>$entrep['Civilite'], + 'NbEtab' =>$entrep['NbEtab'], + 'Tel' =>$entrep['Tel'], + 'Fax' =>$entrep['Fax'], + 'Web' =>$entrep['Web'], + 'Mail' =>$entrep['Mail'], + 'GeoLat' =>$entrep['GeoLat'], + 'GeoLon' =>$entrep['GeoLon'], + 'GeoPrecis' =>$entrep['GeoPrecis'], + 'GeoInfos' =>$entrep['GeoInfos'], + 'TvaNumero' =>$entrep['TvaNumero'], + 'TvaAttribue' =>$entrep['TvaAttribue'], + 'FJ' =>$entrep['FJ'], + 'FJ_lib' =>$entrep['FJ_lib'], + 'FJ2' =>$entrep['FJ2'], // Ajouté le 4 08 2009 + 'FJ2_Lib' =>$entrep['FJ2_Lib'], // Ajouté le 4 08 2009 + 'Siren' =>$entrep['Siren'], + 'Nic' =>$entrep['Nic'], + 'NafEnt' =>$entrep['NafEnt'], + 'NafEntLib' =>$entrep['NafEntLib'], + 'NafEtab' =>$entrep['NafEtab'], + 'NafEtabLib' =>$entrep['NafEtabLib'], + 'NaceEtab' =>$entrep['NaceEtab'], + 'NaceEnt' =>$entrep['NaceEnt'], + 'Nafa' =>$entrep['APRM'], + 'NafaLib' =>$entrep['APRM_Lib'], + 'NumRM' =>$entrep['NumRM'], + 'Activite' =>$entrep['Activite'], + 'Capital' =>$entrep['Capital'], + 'CapitalDev' =>$entrep['CapitalDev'], + 'CapitalLib' =>$entrep['CapitalLib'], // Ajouté le 18 02 2008 + 'CapitalType' =>$entrep['CapitalType'],// Ajouté le 4 08 2009 + 'DateCreaEt' =>$entrep['DateCreaEt'], + 'DateCreaEn' =>$entrep['DateCreaEn'], + 'DateClotEt' =>$entrep['DateClotEt'], + 'DateImmat' =>$entrep['dateImmat'], // Ajouté le 4 08 2009 + 'DateRadiation' =>$entrep['dateRad'], // Ajouté le 4 08 2009 + // 'DateMajRCS' =>$entrep['DateMajRCS'], // Ajouté le 4 08 2009 + 'EffEnTr' =>$entrep['EffEnTr'], + 'EffEnTrLib' =>$entrep['EffEnTrLib'], + 'Effectif' =>$entrep['Effectif'], - 'EffEtTr' =>$entrep['EffEtTr'], // Ajout le 11 08 2010 - 'EffEtTrLib' =>$entrep['EffEtTrLib'], // Ajout le 11 08 2010 - 'EffectifEtab' =>$entrep['EffectifEtab'],// Ajout le 11 08 2010 + 'EffEtTr' =>$entrep['EffEtTr'], // Ajout le 11 08 2010 + 'EffEtTrLib' =>$entrep['EffEtTrLib'], // Ajout le 11 08 2010 + 'EffectifEtab' =>$entrep['EffectifEtab'],// Ajout le 11 08 2010 - 'Dept' =>$entrep['Dept'], - 'codeCommune' =>$entrep['codeCommune'], + 'Dept' =>$entrep['Dept'], + 'codeCommune' =>$entrep['codeCommune'], - 'AnneeEffEn' =>$entrep['AnneeEffEn'], - 'AnneeEffEt' =>$entrep['AnneeEffEt'], - 'AnneeTCA' =>$entrep['AnneeTCA'], + 'AnneeEffEn' =>$entrep['AnneeEffEn'], + 'AnneeEffEt' =>$entrep['AnneeEffEt'], + 'AnneeTCA' =>$entrep['AnneeTCA'], - 'TrancheCA' =>$entrep['TrancheCA'], - 'TrancheCALib' =>$entrep['TrancheCALib'], - 'dir1Code' =>$entrep['dir1Code'], - 'dir1Titre' =>$entrep['dir1Titre'],//utf8 - 'dir1NomPrenom' =>$entrep['dir1NomPrenom'], - 'dir1DateFct' =>$entrep['dir1DateFct'], - 'dir1DateNaiss' =>$entrep['dir1DateNaiss'],// Ajouté le 4 08 2009 - 'dir1LieuNaiss' =>$entrep['dir1LieuNaiss'],// Ajouté le 4 08 2009 - 'dir2Code' =>$entrep['dir2Code'], - 'dir2Titre' =>$entrep['dir2Titre'],//utf8 - 'dir2NomPrenom' =>$entrep['dir2NomPrenom'], - 'dir2DateFct' =>$entrep['dir2DateFct'], - 'dir2DateNaiss' =>$entrep['dir2DateNaiss'],// Ajouté le 4 08 2009 - 'dir2LieuNaiss' =>$entrep['dir2LieuNaiss'],// Ajouté le 4 08 2009 - 'Rivoli' =>$entrep['Rivoli'], - 'NatureActivite' =>$entrep['NatureActivite'], // Nature de l'activité - 'OrigineCreation' =>$entrep['OrigineCreation'], // Origine de la création - 'TypeExploitation' =>$entrep['TypeExploitation'], - 'Auxiliaire' =>$entrep['Auxiliaire'], // 1=Auxiliaire / 0=Non auxiliaire - 'Saisonnalite' =>$entrep['Saisonnalite'], // P=Activité permanente / S=Activité saisonnière - 'SituationJuridique'=>$entrep['SituationJuridique'], - 'Bilan' =>array('Cloture' => $entrep['bilanDate'], - 'Duree' => $entrep['bilanMois'], - 'Devise' => $entrep['bilanDevise'], - 'Capital' => $entrep['bilanDA'], - 'CA' => $entrep['bilanFL'], - 'Resultat' => $entrep['bilanHN'], - 'Effectif' => $entrep['bilanYP'], - ), - 'Bourse' =>array('placeCotation'=>$bourse['placeCotation'], - 'nombreTitres'=>$bourse['nombreTitres'], - 'capitalisation'=>$bourse['close']*$bourse['nombreTitres'], - 'derCoursDate'=>$bourse['date'], - 'derCoursCloture'=>$bourse['close']), - 'AutreSiren' =>$entrep['AutreSiren'], - 'DateMajINSEE' =>$entrep['DateMajINSEE'], - 'DateMajRCS' =>$entrep['DateMajRCS'], - 'DateMajBILAN' =>$entrep['bilanDateMaj'], - 'DateMajANN' =>$entrep['dateMajANN'], - 'DateMajID' =>$entrep['dateMajIdentite'], - //'importExport' =>$entrep['importExport'], - ); + 'TrancheCA' =>$entrep['TrancheCA'], + 'TrancheCALib' =>$entrep['TrancheCALib'], + 'dir1Code' =>$entrep['dir1Code'], + 'dir1Titre' =>$entrep['dir1Titre'],//utf8 + 'dir1NomPrenom' =>$entrep['dir1NomPrenom'], + 'dir1DateFct' =>$entrep['dir1DateFct'], + 'dir1DateNaiss' =>$entrep['dir1DateNaiss'],// Ajouté le 4 08 2009 + 'dir1LieuNaiss' =>$entrep['dir1LieuNaiss'],// Ajouté le 4 08 2009 + 'dir2Code' =>$entrep['dir2Code'], + 'dir2Titre' =>$entrep['dir2Titre'],//utf8 + 'dir2NomPrenom' =>$entrep['dir2NomPrenom'], + 'dir2DateFct' =>$entrep['dir2DateFct'], + 'dir2DateNaiss' =>$entrep['dir2DateNaiss'],// Ajouté le 4 08 2009 + 'dir2LieuNaiss' =>$entrep['dir2LieuNaiss'],// Ajouté le 4 08 2009 + 'Rivoli' =>$entrep['Rivoli'], + 'NatureActivite' =>$entrep['NatureActivite'], // Nature de l'activité + 'OrigineCreation' =>$entrep['OrigineCreation'], // Origine de la création + 'TypeExploitation' =>$entrep['TypeExploitation'], + 'Auxiliaire' =>$entrep['Auxiliaire'], // 1=Auxiliaire / 0=Non auxiliaire + 'Saisonnalite' =>$entrep['Saisonnalite'], // P=Activité permanente / S=Activité saisonnière + 'SituationJuridique'=>$entrep['SituationJuridique'], + 'Bilan' =>array( + 'Cloture' => $entrep['bilanDate'], + 'Duree' => $entrep['bilanMois'], + 'Devise' => $entrep['bilanDevise'], + 'Capital' => $entrep['bilanDA'], + 'CA' => $entrep['bilanFL'], + 'Resultat' => $entrep['bilanHN'], + 'Effectif' => $entrep['bilanYP'], + ), + 'Bourse' =>array( + 'placeCotation'=>$bourse['placeCotation'], + 'nombreTitres'=>$bourse['nombreTitres'], + 'capitalisation'=>$bourse['close']*$bourse['nombreTitres'], + 'derCoursDate'=>$bourse['date'], + 'derCoursCloture'=>$bourse['close'] + ), + 'AutreSiren' =>$entrep['AutreSiren'], + 'DateMajINSEE' =>$entrep['DateMajINSEE'], + 'DateMajRCS' =>$entrep['DateMajRCS'], + 'DateMajBILAN' =>$entrep['bilanDateMaj'], + 'DateMajANN' =>$entrep['dateMajANN'], + 'DateMajID' =>$entrep['dateMajIdentite'], + //'importExport' =>$entrep['importExport'], + ); + if (preg_match('/NAF4/i', $this->tabInfoUser['pref'])) + { + $entrep2=$this->iInsee->getNaf4($siren, $nic, $id); + $tabRet['Naf4Ent'] = $entrep2['apen4']; + $tabRet['Naf4Etab'] = $entrep2['apet4']; + $tabRet['Naf4EntLib'] = $entrep2['apen4_lib']; + $tabRet['Naf4EtabLib'] = $entrep2['apet4_lib']; + } - if (preg_match('/NAF4/i', $this->tabInfoUser['pref'])) { - $entrep2=$this->iInsee->getNaf4($siren, $nic, $id); - $tabRet['Naf4Ent'] = $entrep2['apen4']; - $tabRet['Naf4Etab'] = $entrep2['apet4']; - $tabRet['Naf4EntLib'] = prepareString($entrep2['apen4_lib']); - $tabRet['Naf4EtabLib'] = prepareString($entrep2['apet4_lib']); + debugLog('I', 'Etablissement retourné = '. $entrep['Nom'], __LINE__, __FILE__, __FUNCTION__, __CLASS__); + wsLog('identite',$siret,$id); + $duree=round(microtime(1)-$tdeb,3); + $ligne=date('YmdHis').";$siret;Ws->getIdentite APRES ($duree s) !!!"; + $fp=fopen(LOG_PATH.'/accesDistant.log', 'a'); + fwrite($fp,$ligne.EOL); + fclose($fp); + + $result = arrayToClass($tabRet, 'IdentiteResult'); + $error->errnum = 0; + $error->errmsg = ''; + } } - /*$tabRet=$entrep; - $tabRet['Bourse']=array('placeCotation'=>$bourse['placeCotation'], - 'nombreTitres'=>$bourse['nombreTitres'], - 'capitalisation'=>$bourse['close']*$bourse['nombreTitres'], - 'derCoursDate'=>$bourse['date'], - 'derCoursCloture'=>$bourse['close']);*/ - //$tabRet=$entrep; - debugLog('I', 'Etablissement retourné = '. $entrep['Nom'], __LINE__, __FILE__, __FUNCTION__, __CLASS__); - wsLog('identite',$siret,$id); - $duree=round(microtime(1)-$tdeb,3); - $ligne=date('YmdHis').";$siret;Ws->getIdentite APRES ($duree s) !!!"; - $fp=fopen(LOG_PATH.'/accesDistant.log', 'a'); - fwrite($fp,$ligne.EOL); - fclose($fp); - - $result = arrayToClass($tabRet, 'IdentiteResult'); - $error->errnum = 0; - $error->errmsg = ''; $outputParams->error = $error; $outputParams->result = $result; return $outputParams; - } + /** + * Retourne les informations identitaires de l'entreprise ou de l'établissement demandé + * + * @param string $siret Siren de l'entreprise ou siret de l'établissement + * @param integer $id Identifiant S&D de l'établissement + * @return IdentiteAGSReturn + */ + protected function getIdentiteAGS( $siret, $id = 0, $forceVerif = false ) + { + //Authentification + if (!$this->checkAuth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'], $_SERVER['REMOTE_ADDR'])) + { + throw new SoapFault('900','Identifiant ou mot de passe incorrect !'); + exit; + } + //Initialisation + if (!empty($id)) { $id = 0; } + if (!empty($forceVerif)) { $forceVerif = false; } + $error = new ErrorType(); + + debugLog('I',"Identité AGS demandée pour siret $siret (id=$id)",__LINE__,__FILE__, __FUNCTION__, __CLASS__); + $tabRet = array(); + $siret = trim($siret); + $len = strlen($siret); + $siren = substr($siret,0,9); + if ($len==14) + { + $nic=substr($siret,9,5)*1; + } + elseif ($len== 9) + { + $nic=0; + } + elseif ($siren*1==0 && $id==0) + { + debugLog('W', "Siren $siren inexistant", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $error->errnum = 102; + $error->errmsg = 'Siren inexistant'; + } + elseif ($len!=14 || $len!=9) + { + debugLog('W', "Siren/Siret $siren incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $error->errnum = 102; + $error->errmsg = 'Siren Siret inexistant'; + } + else + { + debugLog('I', "Avant getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $entrep = $this->iInsee->getIdentiteEntreprise($siren, $nic, $id, $forceVerif); + debugLog('I', "Après getIdentiteEntreprise($siren, $nic, $id)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $duree = round(microtime(1)-$tdeb,3); + $ligne = date('YmdHis').";$siret;Ws->getIdentite juste apres iInsee->... ($duree s)"; + $fp = fopen(PATH_LOG.'/accesDistant.log', 'a'); + fwrite($fp,$ligne.EOL); + fclose($fp); + if (empty($entrep)) + { + debugLog('W', "Siren $siren non présent en base", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $error->errnum = 102; + $error->errmsg = 'Siren inexistant'; + } + else + { + $tabRet = array( + 'id' =>$entrep['id'], + 'Siret' =>$entrep['Siret'], + 'SiretSiege' =>$entrep['SiretSiege'], + 'Siege' =>$entrep['Siege'], + 'TribunalCode' =>$entrep['Tribunal'], + 'TribunalLib' =>$entrep['TribunalLib'], + //'NumGreffe' =>$entrep['numGreffe'], // Ajouté le 4 08 2009 + 'NumRC' =>$entrep['numRC'], // Ajouté le 4 08 2009 + 'Actif' =>$entrep['Actif'], + 'EntActiveRCS' =>$entrep['EntActiveRCS'], + 'AutreId' =>$entrep['AutreId'], + 'Source' =>$entrep['Source'], + 'SourceId' =>$entrep['SourceId'], + 'Isin' =>$entrep['Isin'], + 'Nom' =>strtr($entrep['Nom'],'/*',' '), + 'Nom2' =>$entrep['Nom2'], + 'NomLong' =>$entrep['nomLong'], // Ajouté le 4 08 2009 + 'Siret' =>$entrep['Siret'], + 'Sigle' =>$entrep['Sigle'], + 'SigleLong' =>$entrep['sigleLong'], // Ajouté le 4 08 2009 + 'Enseigne' =>$entrep['Enseigne'], + 'Adresse' =>$entrep['Adresse'], + 'Adresse2' =>$entrep['Adresse2'], + 'AdresseNum' =>$entrep['AdresseNum'], + 'AdresseBtq' =>$entrep['AdresseBtq'], + 'AdresseVoie' =>$entrep['AdresseVoie'], + 'AdresseRue' =>$entrep['AdresseRue'], + 'CP' =>$entrep['CP'], + 'Ville' =>$entrep['Ville'], + 'Pays' =>$entrep['Pays'], // Ajouté le 18 02 2008 + 'PaysIso2' =>$entrep['PaysIso2'], + + 'AdresseDom' =>$entrep['AdresseDom'], + 'AdresseDomEnt' =>$entrep['AdresseDomEnt'], + 'AdresseDomNb' =>$entrep['AdresseDomNb'], + + 'Civilite' =>$entrep['Civilite'], + 'NbEtab' =>$entrep['NbEtab'], + 'Tel' =>$entrep['Tel'], + 'Fax' =>$entrep['Fax'], + 'Web' =>$entrep['Web'], + 'Mail' =>$entrep['Mail'], + 'GeoLat' =>$entrep['GeoLat'], + 'GeoLon' =>$entrep['GeoLon'], + 'GeoPrecis' =>$entrep['GeoPrecis'], + 'GeoInfos' =>$entrep['GeoInfos'], + 'TvaNumero' =>$entrep['TvaNumero'], + 'TvaAttribue' =>$entrep['TvaAttribue'], + 'FJ' =>$entrep['FJ'], + 'FJ_lib' =>$entrep['FJ_lib'], + 'FJ2' =>$entrep['FJ2'], // Ajouté le 4 08 2009 + 'FJ2_Lib' =>$entrep['FJ2_Lib'], // Ajouté le 4 08 2009 + 'Siren' =>$entrep['Siren'], + 'Nic' =>$entrep['Nic'], + 'NafEnt' =>$entrep['NafEnt'], + 'NafEntLib' =>$entrep['NafEntLib'], + 'NafEtab' =>$entrep['NafEtab'], + 'NafEtabLib' =>$entrep['NafEtabLib'], + 'NaceEtab' =>$entrep['NaceEtab'], + 'NaceEnt' =>$entrep['NaceEnt'], + 'Nafa' =>$entrep['APRM'], + 'NafaLib' =>$entrep['APRM_Lib'], + 'NumRM' =>$entrep['NumRM'], + 'Activite' =>$entrep['Activite'], + 'Capital' =>$entrep['Capital'], + 'CapitalDev' =>$entrep['CapitalDev'], + 'CapitalLib' =>$entrep['CapitalLib'], // Ajouté le 18 02 2008 + 'CapitalType' =>$entrep['CapitalType'],// Ajouté le 4 08 2009 + 'DateCreaEt' =>$entrep['DateCreaEt'], + 'DateCreaEn' =>$entrep['DateCreaEn'], + 'DateClotEt' =>$entrep['DateClotEt'], + 'DateImmat' =>$entrep['dateImmat'], // Ajouté le 4 08 2009 + 'DateRadiation' =>$entrep['dateRad'], // Ajouté le 4 08 2009 + // 'DateMajRCS' =>$entrep['DateMajRCS'], // Ajouté le 4 08 2009 + 'EffEnTr' =>$entrep['EffEnTr'], + 'EffEnTrLib' =>$entrep['EffEnTrLib'], + 'Effectif' =>$entrep['Effectif'], + + 'EffEtTr' =>$entrep['EffEtTr'], // Ajout le 11 08 2010 + 'EffEtTrLib' =>$entrep['EffEtTrLib'], // Ajout le 11 08 2010 + 'EffectifEtab' =>$entrep['EffectifEtab'],// Ajout le 11 08 2010 + + 'Dept' =>$entrep['Dept'], + 'codeCommune' =>$entrep['codeCommune'], + + 'AnneeEffEn' =>$entrep['AnneeEffEn'], + 'AnneeEffEt' =>$entrep['AnneeEffEt'], + 'AnneeTCA' =>$entrep['AnneeTCA'], + + 'TrancheCA' =>$entrep['TrancheCA'], + 'TrancheCALib' =>$entrep['TrancheCALib'], + 'dir1Code' =>$entrep['dir1Code'], + 'dir1Titre' =>$entrep['dir1Titre'],//utf8 + 'dir1NomPrenom' =>$entrep['dir1NomPrenom'], + 'dir1DateFct' =>$entrep['dir1DateFct'], + 'dir1DateNaiss' =>$entrep['dir1DateNaiss'],// Ajouté le 4 08 2009 + 'dir1LieuNaiss' =>$entrep['dir1LieuNaiss'],// Ajouté le 4 08 2009 + 'dir2Code' =>$entrep['dir2Code'], + 'dir2Titre' =>$entrep['dir2Titre'],//utf8 + 'dir2NomPrenom' =>$entrep['dir2NomPrenom'], + 'dir2DateFct' =>$entrep['dir2DateFct'], + 'dir2DateNaiss' =>$entrep['dir2DateNaiss'],// Ajouté le 4 08 2009 + 'dir2LieuNaiss' =>$entrep['dir2LieuNaiss'],// Ajouté le 4 08 2009 + 'Rivoli' =>$entrep['Rivoli'], + 'NatureActivite' =>$entrep['NatureActivite'], // Nature de l'activité + 'OrigineCreation' =>$entrep['OrigineCreation'], // Origine de la création + 'TypeExploitation' =>$entrep['TypeExploitation'], + 'Auxiliaire' =>$entrep['Auxiliaire'], // 1=Auxiliaire / 0=Non auxiliaire + 'Saisonnalite' =>$entrep['Saisonnalite'], // P=Activité permanente / S=Activité saisonnière + 'SituationJuridique'=>$entrep['SituationJuridique'], + 'Bilan' =>array( + 'Cloture' => $entrep['bilanDate'], + 'Duree' => $entrep['bilanMois'], + 'Devise' => $entrep['bilanDevise'], + 'Capital' => $entrep['bilanDA'], + 'CA' => $entrep['bilanFL'], + 'Resultat' => $entrep['bilanHN'], + 'Effectif' => $entrep['bilanYP'], + ), + 'Bourse' =>$entrep['Bourse'], + 'AutreSiren' =>$entrep['AutreSiren'], + 'DateMajINSEE' =>$entrep['DateMajINSEE'], + 'DateMajRCS' =>$entrep['DateMajRCS'], + 'DateMajBILAN' =>$entrep['bilanDateMaj'], + 'DateMajANN' =>$entrep['dateMajANN'], + 'DateMajID' =>$entrep['dateMajIdentite'], + //'importExport' =>$entrep['importExport'], + ); + + //Annonces + $reponses = $this->getAnnonces($siren, 1, 0, 0, 200); + $anns = $reponses->result->liste; + $tabRetAnn = $tabLastEven = array(); + $tribunalProcol = false; + foreach ($anns as $nb => $ann) + { + $tabRetEven=array(); + + foreach ($ann->evenements as $even) + { + // On ignore les éléments suivants + if ($even->CodeEven>=7000){ + continue; + } + if ($even->CodeEven>=4000 && + $even->CodeEven<=4999){ + continue; + } + // Par défaut, on force le tribunal à celui présent dans la dernière annonce de Procol + if ($tribunalProcol==false && + $even->CodeEven>=1000 && + $even->CodeEven<2000 && + $ann->BodaccCode=='BODA') + { + $tabRet['TribunalCode'] = $ann->TribunalCode; + $tabRet['TribunalLib'] = $ann->Tribunal; + $tribunalProcol=true; + } + // On ne prend que le dernier élément de chaque type + if (in_array($even->CodeEven, $tabLastEven)) + { + continue; + } + + $tabLastEven[] = $even->CodeEven; + + $tabRetEven[] = array( + 'CodeEven'=>$even->CodeEven, + 'LibEven' =>$even->LibEven + ); + } + if (count($tabRetEven)>0) + { + $tabRetAnn[] = array( + 'id' => $ann->id, + 'BodaccCode' => $ann->BodaccCode, + 'BodaccNum' => $ann->BodaccNum, + 'NumAnnonce' => $ann->NumAnnonce, + 'DateParution' => $ann->DateParution, + 'Departement' => $ann->Departement, + 'Tribunal' => $ann->Tribunal, + 'TribunalSiret' => $ann->TribunalSiret, + 'Rubrique' => $ann->Rubrique, + 'typeAnnonce' => $ann->typeAnnonce, + 'texteRectificatif' => $ann->texteRectificatif, + 'texteAnnonce' => $ann->texteAnnonce, + 'dateEffet' => $ann->dateEffet, + 'dateJugement' => $ann->dateJugement, + 'dateInsertionSD' => $ann->dateInsertionSD, + 'evenements' => $tabRetEven, + 'Lien_Annonce_Pdf' => $ann->Lien_Annonce_Pdf + ); + } + } + $tabRet['Annonces'] = $tabRetAnn; + + + //Identite Etab + $iRncs=new MRncs(); + if ($entrep['Siege']==1 || $entrep['Siege']==11) + { + $tabRet['LibTypeEtab']='Etablissement Siege'; + } + else + { + $tabEtabRncs = $iRncs->getIdentiteEtab($siren, $entrep['Nic']); + if ($tabEtabRncs['Siege']==2) + { + $tabRet['LibTypeEtab']='Etablissement Principal'; + } + elseif ($tabEtabRncs['Siege']==1) + { + $tabRet['LibTypeEtab']='Etablissement Complementaire'; + } + elseif ($tabEtabRncs['Siege']==0) + { + $tabRet['LibTypeEtab']='Etablissement Secondaire'; + } + } + + //Intervenants + $tabJuge=$iRncs->getIntervenants($siren); + $tabDepots=array(); + foreach ($tabJuge as $iDepot=>$depot) + { + $tabDepots[]=array( + 'codEven' => $depot['codEven'], + 'libEven' => $depot['libEven'], + 'dateEffet' => $depot['dateEffet'], + 'admcode' => $depot['admcode'], + 'admfonction' => $depot['admfonction'], + 'admnom' => $depot['admnom'], + 'admadrNum' => $depot['admadrNum'], + 'admadrInd' => $depot['admadrInd'], + 'admadrVoie' => $depot['admadrVoie'], // @todo : adm1adr1, adm1adr2, adm1adr3, + 'admadrCP' => $depot['admadrCP'], + 'admadrVille' => $depot['admadrVille'], + ); + } + $tabRet['Organes'] = $tabDepots; + + //Liens + $mLiens = new MLiens($siren); + $tabA = $mLiens->getActionnaires($siren, 1); + $nbA = count($tabA); + $tabAct = array(); + foreach ($tabA as $i=>$lien) + { + $tabAct[] = array( + 'Pmin' => $lien['Pmin'], + 'MajMin' => $lien['MajMin'], + 'RaisonSociale' => $lien['RaisonSociale'], + 'Pays' => $lien['Pays'], + 'Siren' => $lien['Siren'], + 'Actif' => $lien['Actif'], + ); + } + $tabRet['Actionnaires'] = $tabAct; + + //Greffes + $iGreffes = new MGreffes(); + $tabActes = $iGreffes->getListeActes($siren); + $tabRet['StatutsModifDepot'] = $tabRet['StatutsModif'] = '0000-00-00'; + foreach ($tabActes as $i=>$acte) + { + if ('_'.$acte['acte_type']=='_04') + { // STATUTS CONSTITUTIFS + $tabRet['StatutsConstDepot'] = $acte['depot_date'];// => 1997-12-18 + $tabRet['StatutsConst'] = $acte['acte_date']; // => 1997-11-13 + break; + } + elseif (in_array('_'.$acte['acte_type'], + array( //'_04', // STATUTS CONSTITUTIFS + '_06', // STATUTS A JOUR 9 0000-00-00 2009-09-02 17:05:55 + '_07', // STATUTS A JOUR 9 0000-00-00 2009-09-02 17:05:55 + '_08', // STATUTS A JOUR ET DECLARATION DE CONFORMITE 9 0000-00-00 2009-09-02 17:05:55 + '_09', // STATUTS APRES TRANSFERT DE SIEGE 9 0000-00-00 2009-09-02 17:05:55 + '_A1', // STATUTS 9 0000-00-00 2009-09-02 17:05:55 + '_AH', // AVENANT AUX STATUTS + ))) { + // On ne prend que la dernière modif + if ($tabRet['StatutsModifDepot']=='0000-00-00' && + $tabRet['StatutsModif']=='0000-00-00') + { + $tabRet['StatutsModifDepot'] = $acte['depot_date'];// => 1997-12-18 + $tabRet['StatutsModif'] = $acte['acte_date']; // => 1997-11-13 + } + } + } + + /** Y a t il eu des informations relatives à une cession ? **/ + $tabCes = $iGreffes->getInfosCessions($siren); + if ($tabCes) + { + $tabRet['CessionJugeLib'] = $tabCes['cessJuge']; + $tabRet['CessionJugeDate'] = $tabCes['cessDateJuge']; + $tabRet['CessionAvisBodac'] = $tabCes['cessDateBod']; + $tabRet['CessionInvenDate'] = $tabCes['cessDateInv']; + $tabRet['CessionCAdeclare'] = $tabCes['cessCAdec']; + $tabRet['CessionEffectif'] = $tabCes['cessEffectif']; + $tabRet['CessionDesc'] = $tabCes['cessDesc']; + $tabRet['CessionDescDate'] = $tabCes['cessDateDesc']; + $tabRet['CessionOffreDate'] = $tabCes['cessDateLim']; + $tabRet['CessionMandataire'] = $tabCes['cessMand']; + } + + if (preg_match('/NAF4/i', $this->tabInfoUser['pref'])) + { + $entrep2 = $this->iInsee->getNaf4($siren, $nic, $id); + $tabRet['Naf4Ent'] = $entrep2['apen4']; + $tabRet['Naf4Etab'] = $entrep2['apet4']; + $tabRet['Naf4EntLib'] = $entrep2['apen4_lib']; + $tabRet['Naf4EtabLib'] = $entrep2['apet4_lib']; + } + + debugLog('I', 'Etablissement retourné = '. $entrep['Nom'], __LINE__, __FILE__, __FUNCTION__, __CLASS__); + wsLog('identite',$siret,$id); + } + } + return array('error'=>array('errnum'=>0, 'errmsg'=>''), 'result'=>$tabRet); + } + + /** + * Retourne les liens financiers pour une entreprise. + * + * @param integer $siren Siren de l'entreprise + * @param boolean $actifsUniquement Uniquement les liens Actifs + * @return LiensReturn + */ + protected function getLiens($siren, $actifsUniquement = true) + { + //Authentification + if (!$this->checkAuth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'], $_SERVER['REMOTE_ADDR'])) + { + throw new SoapFault('900','Identifiant ou mot de passe incorrect !'); + exit; + } + //Initialisation + if (!empty($actifsUniquement)) { $actifsUniquement = true; } + $error = new ErrorType(); + $tabAct = $tabPar = array(); + + debugLog('I',"Liens entreprises demandés pour $siren",__LINE__,__FILE__, __FUNCTION__, __CLASS__); + if (strlen($siren)<>9) + { + debugLog('W', "Siren $siren incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $error->errnum = 102; + $error->errmsg = 'Siren inexistant'; + } + elseif ($siren*1==0) + { + debugLog('W', "Siren $siren inexistant", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $error->errnum = 102; + $error->errmsg = 'Siren inexistant'; + } + else + { + $mLiens = new MLiens($siren); + $tabA = $mLiens->getActionnaires($siren, $actifsUniquement); + $nbA = count($tabA); + if ($nbA > 0) + { + foreach ($tabA as $i => $lien) + { + $actionnaire = new Actionnaire(); + $actionnaire->Pmin = $lien['Pmin']; + $actionnaire->MajMin = $lien['MajMin']; + $actionnaire->RaisonSociale = $lien['RaisonSociale']; + $actionnaire->Pays = $lien['Pays']; + $actionnaire->Siren = $lien['Siren']; + $actionnaire->Actif = $lien['Actif']; + $actionnaire->Source = $lien['Source']; + $actionnaire->DateLien = $lien['DateLien']; + $actionnaire->DateMaj = $lien['DateMaj']; + $tabAct[] = $actionnaire; + } + } + debugLog('W', "$nbA actionnaires pour le siren $siren", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $tabP = $mLiens->getParticipations($siren, $actifsUniquement); + $nbP = count($tabP); + if ($nbP > 0) + { + foreach ($tabP as $i => $lien) + { + $participation = new Participation(); + $participation->Pmin = $lien['Pmin']; + $participation->MajMin = $lien['MajMin']; + $participation->RaisonSociale = $lien['RaisonSociale']; + $participation->Pays = $lien['Pays']; + $participation->Siren = $lien['Siren']; + $participation->Actif = $lien['Actif']; + $participation->Source = $lien['Source']; + $participation->DateLien = $lien['DateLien']; + $participation->DateMaj = $lien['DateMaj']; + $tabPar[] = $participation; + } + } + debugLog('W', "$nbP participations pour le siren $siren", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + wsLog('liens',$siren); + } + $result = new LiensResult(); + $result->actionnaires = $tabAct; + $result->participations = $tabPar; + $output = new LiensReturn(); + $output->error = $error; + $output->result = $result; + return $output; + } + + /** * Liste des établissements d'une entreprise * @param string $siren Siren de l'entreprise @@ -290,6 +765,7 @@ class WsEntreprise */ public function getListeEtablissements( $siren, $dep = 0, $actif = -1, $position = 0, $nbRep = 20) { + //Authentification if (!$this->checkAuth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'], $_SERVER['REMOTE_ADDR'])) { throw new SoapFault('900','Identifiant ou mot de passe incorrect !'); @@ -297,10 +773,10 @@ class WsEntreprise } //Initialisation - if (!isset($dep)) { $dep = 0; } - if (!isset($actif)) { $actif = -1; } - if (!isset($position)) { $position = 0; } - if (!isset($nbRep)) { $nbRep = 20; } + if (!empty($dep)) { $dep = 0; } + if (!empty($actif)) { $actif = -1; } + if (!empty($position)) { $position = 0; } + if (!empty($nbRep)) { $nbRep = 20; } //Valeur max if($nbRep > 200) { $nbRep = 200; } @@ -371,11 +847,14 @@ class WsEntreprise */ public function getDirigeants( $siren , $histo = false) { + //Authentification if (!$this->checkAuth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'], $_SERVER['REMOTE_ADDR'])) { throw new SoapFault('900','Identifiant ou mot de passe incorrect !'); exit; } + //Initialisation + if (!empty($histo)) { $histo = false; } debugLog('I',"Dirigeants demandée pour $siren",__LINE__,__FILE__, __FUNCTION__, __CLASS__); $tabRet = array(); @@ -427,7 +906,265 @@ class WsEntreprise return $output; } + /** + * Retourne la liste des annonces légales relative à une entreprise + * + * @todo Revoir cette fonction pour la faire marcher avec les associations + * + * @param string $siren Siren de l'entreprise + * @param integer $filtre 0=Pas de Filtre, 1=BODACC, 2=B.A.L.O, 3=JO Association, 4=Boamp + * @param integer $idAnn Identifiant de l'annonce + * @param integer $position + * @param integer $nbRep + * @return AnnoncesReturn + */ + public function getAnnonces( $siren, $filtre = 0, $idAnn = 0, $position = 0, $nbRep = 20) + { + //Authentification + if (!$this->checkAuth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'], $_SERVER['REMOTE_ADDR'])) + { + throw new SoapFault('900','Identifiant ou mot de passe incorrect !'); + exit; + } + //Initialisation + if (!empty($filtre)) { $filtre = 0; } + if (!empty($idAnn)) { $idAnn = 0; } + if (!empty($position)) { $position = 0; } + if (!empty($nbRep)) { $nbRep = 20; } + + //Valeur max + if($nbRep > 200) { $nbRep = 200; } + + debugLog('I',"Annonces demandées pour $siren ($filtre, $idAnn)",__LINE__,__FILE__, __FUNCTION__, __CLASS__); + + $liste = array(); + + if (strlen($siren)<>9) + { + debugLog('W', "Siren/Siret $siren incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $error->errnum = 102; + $error->errmsg = 'Siren Siret inexistant'; + } + elseif ($siren*1==0 && $idAnn==0) + { + debugLog('W', "Siren $siren ou annonce $idAnn inexistant", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $error->errnum = 102; + $error->errmsg = 'Siren inexistant A'; + } + else + { + /* + if ($siren>100 && $filtre==3) $asso=true; + else { + $asso=false; + $tabIdentite=$this->iInsee->getIdentiteLight($siren); + if ($tabIdentite['FJ']>90 && $tabIdentite['FJ']<94 || + $tabIdentite['FJ']>9000 && $tabIdentite['FJ']<9400) $asso=true; + }*/ + if ($idAnn==0) { + $anns=$this->iInsee->getAnnoncesLegales($siren); + $annsB=$this->iInsee->getAnnoncesBalo($siren); + $annsA=$this->iInsee->getAnnoncesAsso($siren); + $annsM=$this->iInsee->getAnnoncesBoamp($siren, $idAnn); + } elseif ($filtre==1) + $anns=$this->iInsee->getAnnoncesLegales($siren, $idAnn); + elseif ($filtre==2) + $annsB=$this->iInsee->getAnnoncesBalo($siren, $idAnn); + elseif ($filtre==3) + $annsA=$this->iInsee->getAnnoncesAsso($siren, $idAnn); + elseif ($filtre==4) + $annsM=$this->iInsee->getAnnoncesBoamp($siren, $idAnn); + + //debugLog('W', print_r($entrep, true), __LINE__, __FILE__, __FUNCTION__, __CLASS__); + if (empty($anns) && empty($annsB) && empty($annsA) && empty($annsM)) + { + debugLog('W', "Aucune annonce pour le siren $siren (source=$filtre, id=$idAnn)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $error->errnum = 102; + $error->errmsg = 'Siren inexistant B '.$siren.' '.$idAnn; + } + else + { + foreach ($anns as $nb=>$ann) + { + //debugLog('I', "Siren/Siret $siren trouvé : ".$etab['Siren'].' '.$etab['Nic'].', '.$etab['Nom'] .', '.$etab['CP'].', '.$etab['Ville'], __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $evens = array(); + foreach ($ann['evenements'] as $tabEven) + { + $even = new AnnonceEvenement(); + $even->CodeEven = $tabEven['CodeEven']; + $even->LibEven = $tabEven['LibEven']; + $evens[] = $even; + } + $annonce = new Annonce(); + $annonce->id = $ann['id']; + $annonce->BodaccCode = $ann['BodaccCode']; + $annonce->BodaccNum = $ann['BodaccNum']; + $annonce->NumAnnonce = $ann['NumAnnonce']; + $annonce->DateParution = $ann['DateParution']; + $annonce->Departement = $ann['Departement']; + $annonce->Tribunal = $ann['Tribunal']; + $annonce->TribunalCode = $ann['TribunalCode']; + $annonce->TribunalSiret = $ann['TribunalSiret']; + $annonce->Rubrique = $ann['Rubrique']; + $annonce->typeAnnonce = $ann['typeAnnonce']; + $annonce->texteRectificatif = $ann['texteRectificatif']; + $annonce->texteAnnonce = $ann['texteAnnonce']; + $annonce->libFJ = $ann['libFJ']; + $annonce->codFJ = $ann['codFJ']; + $annonce->capital = $ann['capital']; + $annonce->capitalDev = $ann['capitalDev']; + $annonce->dateEffet = $ann['dateEffet']; + $annonce->dateJugement = $ann['dateJugement']; + $annonce->dateInsertionSD = $ann['dateInsertionSD']; + $annonce->evenements = $evens; + $annonce->Lien_Annonce_Pdf = $ann['Lien_Annonce_Pdf']; + + $liste[] = $annonce; + } + + if (is_array($annsB)) + { + foreach ($annsB as $nb=>$ann) + { + //debugLog('I', "Siren/Siret $siren trouvé : ".$etab['Siren'].' '.$etab['Nic'].', '.$etab['Nom'] .', '.$etab['CP'].', '.$etab['Ville'], __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $evens = array(); + foreach ($ann['evenements'] as $tabEven) + { + $even = new AnnonceEvenement(); + $even->CodeEven = $tabEven['CodeEven']; + $even->LibEven = $tabEven['LibEven']; + $evens[] = $even; + } + $annonce = new Annonce(); + $annonce->id = $ann['id']; + $annonce->BodaccCode = $ann['BodaccCode']; + $annonce->BodaccNum = $ann['BodaccNum']; + $annonce->NumAnnonce = $ann['NumAnnonce']; + $annonce->DateParution = $ann['DateParution']; + $annonce->Departement = $ann['Departement']; + $annonce->Tribunal = $ann['Tribunal']; + //$annonce->TribunalCode = $ann['TribunalCode']; + $annonce->TribunalSiret = $ann['TribunalSiret']; + $annonce->Rubrique = $ann['Rubrique']; + $annonce->typeAnnonce = $ann['typeAnnonce']; + $annonce->texteRectificatif = $ann['texteRectificatif']; + $annonce->texteAnnonce = $ann['texteAnnonce']; + //$annonce->libFJ = $ann['libFJ']; + //$annonce->codFJ = $ann['codFJ']; + //$annonce->capital = $ann['capital']; + //$annonce->capitalDev = $ann['capitalDev']; + $annonce->dateEffet = $ann['dateEffet']; + $annonce->dateJugement = $ann['dateJugement']; + $annonce->dateInsertionSD = $ann['dateInsertionSD']; + $annonce->evenements = $evens; + $annonce->Lien_Annonce_Pdf = $ann['Lien_Annonce_Pdf']; + + $liste[] = $annonce; + } + } + + if (is_array($annsA)) + { + foreach ($annsA as $nb=>$ann) + { + //debugLog('I', "Siren/Siret $siren trouvé : ".$etab['Siren'].' '.$etab['Nic'].', '.$etab['Nom'] .', '.$etab['CP'].', '.$etab['Ville'], __LINE__, __FILE__, __FUNCTION__, __CLASS__); + $evens = array(); + foreach ($ann['evenements'] as $tabEven) + { + $even = new AnnonceEvenement(); + $even->CodeEven = $tabEven['CodeEven']; + $even->LibEven = $tabEven['LibEven']; + $evens[] = $even; + } + + $annonce = new Annonce(); + $annonce->id = $ann['id']; + $annonce->BodaccCode = $ann['BodaccCode']; + $annonce->BodaccNum = $ann['BodaccNum']; + $annonce->NumAnnonce = $ann['NumAnnonce']; + $annonce->DateParution = $ann['DateParution']; + $annonce->Departement = $ann['Departement']; + $annonce->Tribunal = $ann['Tribunal']; + //$annonce->TribunalCode = $ann['TribunalCode']; + $annonce->TribunalSiret = $ann['TribunalSiret']; + $annonce->Rubrique = $ann['Rubrique']; + $annonce->typeAnnonce = $ann['typeAnnonce']; + $annonce->texteRectificatif = $ann['texteRectificatif']; + $annonce->texteAnnonce = $ann['texteAnnonce']; + //$annonce->libFJ = $ann['libFJ']; + //$annonce->codFJ = $ann['codFJ']; + //$annonce->capital = $ann['capital']; + //$annonce->capitalDev = $ann['capitalDev']; + $annonce->dateEffet = $ann['dateEffet']; + $annonce->dateJugement = $ann['dateJugement']; + $annonce->dateInsertionSD = $ann['dateInsertionSD']; + $annonce->evenements = $evens; + $annonce->Lien_Annonce_Pdf = $ann['Lien_Annonce_Pdf']; + + $liste[] = $annonce; + } + } + + if (is_array($annsM)) + { + foreach ($annsM as $nb=>$ann) + { + $evens = array(); + foreach ($ann['evenements'] as $tabEven) + { + $even = new AnnonceEvenement(); + $even->CodeEven = $tabEven['CodeEven']; + $even->LibEven = $tabEven['LibEven']; + $evens[] = $even; + } + + $annonce = new Annonce(); + $annonce->id = $ann['id']; + $annonce->BodaccCode = $ann['BodaccCode']; + $annonce->BodaccNum = $ann['BodaccNum']; + $annonce->NumAnnonce = $ann['NumAnnonce']; + $annonce->DateParution = $ann['DateParution']; + $annonce->Departement = $ann['Departement']; + $annonce->Tribunal = $ann['Tribunal']; + //$annonce->TribunalCode = $ann['TribunalCode']; + $annonce->TribunalSiret = $ann['TribunalSiret']; + $annonce->Rubrique = $ann['Rubrique']; + $annonce->typeAnnonce = $ann['typeAnnonce']; + $annonce->texteRectificatif = $ann['texteRectificatif']; + $annonce->texteAnnonce = $ann['texteAnnonce']; + //$annonce->libFJ = $ann['libFJ']; + //$annonce->codFJ = $ann['codFJ']; + //$annonce->capital = $ann['capital']; + //$annonce->capitalDev = $ann['capitalDev']; + $annonce->dateEffet = $ann['dateEffet']; + $annonce->dateJugement = $ann['dateJugement']; + $annonce->dateInsertionSD = $ann['dateInsertionSD']; + $annonce->evenements = $evens; + $annonce->Lien_Annonce_Pdf = $ann['Lien_Annonce_Pdf']; + + $liste[] = $annonce; + } + } + } + } + + $nbReponses = count($liste); + if ($nbReponses>0){ + $liste = array_slice($liste, $position, $nbRep); + } + debugLog('I', "Nb Annonces $filtre retournées pour $siren (source=$filtre, id=$idAnn) = ". count($liste), __LINE__, __FILE__, __FUNCTION__, __CLASS__); + wsLog('annonces',$siren,$filtre.'/'.$idAnn); + file_put_contents(PATH_LOG.'/annonces.log', print_r($liste,1)); + + $output = new AnnoncesReturn(); + $output->error = $error; + $result = new AnnoncesResult(); + $result->nbReponses = $nbReponses; + $result->liste = $liste; + $output->result = $result; + return $output; + } /**