3178 lines
147 KiB
PHP
3178 lines
147 KiB
PHP
<?
|
||
global $tabEvenInsee;
|
||
$tabEvenInsee=array(
|
||
// Anciens évènements de la quotidienne Insee
|
||
'i00'=>'Modification de l\'établissement',
|
||
'iOA'=>'Activation économique de l\'établissement par adjonction de moyens de production',
|
||
'i0C'=>'Création de l\'établissement',
|
||
'iOD'=>'Désactivation économique de l\'établissement par suppression de moyens de production',
|
||
'i0F'=>'Fermeture de l\'établissement',
|
||
'iOR'=>'Modification simple ou modification de moyen de production de l\'établissement',
|
||
'iCC'=>'Création de l\' entreprise par création du premier établissement',
|
||
'iRC'=>'Réactivation de l\'entreprise par création de l\'établissement',
|
||
'iRR'=>'Réactivation de l\'entreprise par réactivation de l\'établissement',
|
||
'iFF'=>'Fermeture de l\'établissement entraînant la fermeture de l\'entreprise',
|
||
'iTC'=>'Création de l\'établissement dans le cadre d\'un transfert',
|
||
'iTR'=>'Réactivation de l\'établissement dans le cadre d\'un transfert',
|
||
'iTO'=>'Modification simple ou de moyens de production sur l\'établissement dans le cadre d\'un transfert',
|
||
'iTA'=>'Activation économique de l\'établissement par adjonction de moyens de production dans le cadre d\'un transfert',
|
||
'iTD'=>'Désactivation économique de l\'établissement par suppression de moyens de production dans le cadre d\'un transfert',
|
||
'iTF'=>'Fermeture de l\'établissement dans le cadre d\'un transfert',
|
||
'iER'=>'Modification ERR de l\'établissement',
|
||
// Evènements Crées par différentiel de la Mensuelle Insee par S&D
|
||
'iM0C'=>'Création de l\'établissement',
|
||
'iM0F'=>'Fermeture de l\'établissement',
|
||
'iM0R'=>'Réactivation de l\'établissement',
|
||
'iM00'=>'Modification de l\'établissement',
|
||
'iMAS'=>'Modification de la nature d\'activité et de la saisonalité',
|
||
'iMAC'=>'Modification de la nature d\'activité de l\'établissement',
|
||
'iMSA'=>'Modification de la saisonalité de l\'établissement',
|
||
// Evènements Crées par diff3+4
|
||
'iMPF'=>'Etablissement présumé fermé (PSA, NPAI, etc...)',
|
||
// Nouveaux évènements Sirene3 de la quotidienne Insee
|
||
'i110'=>'Création de l\'entreprise',
|
||
'i120'=>'Réactivation de l\'entreprise',
|
||
'i125'=>'Réactivation de l\'entreprise suite à une mise à jour du répertoire SIRENE',
|
||
'i130'=>'Création de l\'établissement',
|
||
'i145'=>'Reprise d\'activité de l\'établissement suite à une mise à jour du répertoire SIRENE',
|
||
'i400'=>'Suppression du doublon',
|
||
'i410'=>'Cessation juridique de l\'entreprise',
|
||
'i420'=>'Absence d\'activité de l\'entreprise (cessation économique de l\'entreprise)',
|
||
'i425'=>'Absence d\'activité d\'une entreprise suite à une mise à jour au répertoire SIRENE',
|
||
'i430'=>'Fermeture de l\'établissement',
|
||
'i435'=>'Fermeture de l\'établissement suite à une mise à jour au répertoire SIRENE',
|
||
'i510'=>'Création de l\'établissement d\'arrivée et cessation de l\'établissement de départ dans le cadre d\'un transfert',
|
||
'i520'=>'Création de l\'établissement d\'arrivée et modification de l\'établissement de départ dans le cadre d\'un transfert',
|
||
'i530'=>'Modification de l\'établissement d\'arrivée et cessation de l\'établissement de départ dans le cadre d\'un transfert',
|
||
'i540'=>'Modification de l\'établissement d\'arrivée et modification de l\'établissement de départ dans le cadre d\'un transfert',
|
||
'i610'=>'Modification d\'activité au niveau du SIREN associé à une activation économique par adjonction de moyens de production',
|
||
'i620'=>'Modification d\'activité au niveau du SIREN associé à une désactivation économique par suppression de moyens de production',
|
||
'i621'=>'Modification d\'activité du SIREN associé à une désactivation économique par suppression de moyens de production suite à une correction d\'erreur',
|
||
'i631'=>'Modification d\'activité du SIREN associé',
|
||
'i640'=>'Modification d\'activité au niveau de l\'établissement associée à une activation économique par adjonction de moyens de production',
|
||
'i650'=>'Modification d\'activité au niveau de l\'établissement associée à une désactivation économique par suppression de moyens de production',
|
||
'i661'=>'Modification d\'activité de l\'établissement',
|
||
'i710'=>'Modification de l\'identification du SIREN',
|
||
'i711'=>'Modification de l\'identification du SIREN suite à correction d\'erreur',
|
||
'i720'=>'Modification de l\'adresse ou de l\'identification de l\'établissement',
|
||
'i780'=>'Modification de l\'établissement',
|
||
'i781'=>'Modification de l\'établissement suite à correction d\'erreur',
|
||
'i795'=>'Personne radiée à sa demande de de la base SIRENE diffusion',
|
||
);
|
||
|
||
global $tabDestinat;
|
||
$tabDestinat=array( 'i3'=>'Etablissement vendu',
|
||
'i7'=>'Maintien d\'activité, l\'établissement devient siège',
|
||
'i8'=>'Maintien d\'activité, l\'établissement devient principal',
|
||
'iA'=>'Maintien d\'activité, l\'établissement devient secondaire',
|
||
'iB'=>'Etablissement fermé',
|
||
'iC'=>'Etablissement supprimé',
|
||
'iD'=>'Mise en location-gérance de la totalité du fonds',
|
||
'iE'=>'Mise en location-gérance d\'une partie du fonds',
|
||
'iF'=>'Cessation d\'activité (pour les liasses agricoles)',
|
||
'iG'=>'Mise en location-gérance de la totalité des terres et des bâtiments agricoles (pour les liasses agricoles)',
|
||
'iH'=>'Mise en location-gérance d\'une partie des terres et des bâtiments agricoles (pour les liasses agricoles)',
|
||
'iI'=>'Transmission au conjoint (pour les liasses agricoles)',
|
||
'iJ'=>'Cession (pour les liasses agricoles)',
|
||
'iVP'=>'Suppression partielle d\'activité par vente',
|
||
'iDP'=>'Suppression partielle d\'activité par disparition',
|
||
'iRP'=>'Suppression partielle d\'activité par reprise par le propriétaire',
|
||
);
|
||
global $tabTypEtab;
|
||
$tabTypEtab=array( 'i00'=>'Rappel des données de l’établissement du siège en cas de modification exclusive de l\'entreprise',
|
||
'i08'=>'Siège avant transfert non fermé',
|
||
'i09'=>'Siège après transfert non créé',
|
||
'i10'=>'Siège avant transfert fermé',
|
||
'i11'=>'Siège après transfert créé',
|
||
'i12'=>'Siège créé (hors transfert)',
|
||
'i13'=>'Siège fermé (hors transfert)',
|
||
'i14'=>'Siège modifié (hors transfert) : modification de l\'activité principale avec activation économique',
|
||
'i15'=>'Siège modifié (hors transfert) : modification de l\'activité principale avec désactivation économique',
|
||
'i16'=>'Siège modifié (hors transfert) : modification de l\'activité principale de l\'établissement',
|
||
'i17'=>'Siège modifié (hors transfert) : modification de l\'identification de l\'établissement',
|
||
'i19'=>'Siège modifié (hors transfert) : autre modification de l\'établissement',
|
||
'i20'=>'Établissement avant transfert fermé',
|
||
'i21'=>'Établissement après transfert créé',
|
||
'i22'=>'Établissement créé (hors transfert)',
|
||
'i23'=>'Établissement fermé (hors transfert)',
|
||
'i24'=>'Établissement modifié (hors transfert) : modification de l\'activité principale avec activation économique',
|
||
'i25'=>'Établissement modifié (hors transfert) : modification de l\'activité principale avec désactivation économique',
|
||
'i26'=>'Établissement modifié (hors transfert) : autre modification de l\'activité principale de l\'établissement',
|
||
'i27'=>'Établissement modifié (hors transfert) : modification de l\'identification de l\'établissement',
|
||
'i29'=>'Établissement modifié (hors transfert) : modification d’une autre variable de l\'établissement',
|
||
'i30'=>'Établissement avant transfert non fermé',
|
||
'i31'=>'Établissement après transfert non créé',
|
||
'i32'=>'Établissement supprimé',
|
||
);
|
||
|
||
include_once(FWK_PATH.'sphinx/recherche.php');
|
||
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
||
include_once(INCLUDE_PATH.'bodacc/classMBalo.php');
|
||
include_once(INCLUDE_PATH.'partenaires/classMTva.php');
|
||
include_once(INCLUDE_PATH.'partenaires/classMMap.php');
|
||
include_once(INCLUDE_PATH.'partenaires/classMAmabis.php');
|
||
|
||
class MInsee {
|
||
|
||
private static $tabFct=array( 'ADM'=>'Administrateur',
|
||
'ASS'=>'Associé',
|
||
'COG'=>'Co-gérant',
|
||
'CON'=>'Contrôleur de gestion',
|
||
'DID'=>'Directeur Général Délégué',
|
||
'DIR'=>'Directeur',
|
||
'GER'=>'Gérant',
|
||
'PCS'=>'Président du Conseil de Surveillance',
|
||
'PDG'=>'Président Directeur Général',
|
||
'PP'=>'Personne Physique',
|
||
'PRD'=>'Président du directoire',
|
||
'PRE'=>'Président du Conseil d\'Administration',
|
||
'VIC'=>'Vice président du CA ou Surv.',
|
||
);
|
||
|
||
private static $tabDep=array( '01'=>'Ain',
|
||
'1'=>'Ain',
|
||
'02'=>'Aisne',
|
||
'2'=>'Aisne',
|
||
'03'=>'Allier',
|
||
'3'=>'Allier',
|
||
'04'=>'Alpes-de-Haute-Provence',
|
||
'4'=>'Alpes-de-Haute-Provence',
|
||
'05'=>'Hautes-Alpes',
|
||
'5'=>'Hautes-Alpes',
|
||
'06'=>'Alpes-Maritimes',
|
||
'6'=>'Alpes-Maritimes',
|
||
'07'=>'Ardèche',
|
||
'7'=>'Ardèche',
|
||
'08'=>'Ardennes',
|
||
'8'=>'Ardennes',
|
||
'09'=>'Ariège',
|
||
'9'=>'Ariège',
|
||
'10'=>'Aube',
|
||
'11'=>'Aude',
|
||
'12'=>'Aveyron',
|
||
'13'=>'Bouches-du-Rhône',
|
||
'14'=>'Calvados',
|
||
'15'=>'Cantal',
|
||
'16'=>'Charente',
|
||
'17'=>'Charente-Maritime',
|
||
'18'=>'Cher',
|
||
'19'=>'Corrèze',
|
||
'20'=>'Corse',
|
||
'2A'=>'Corse-du-Sud',
|
||
'20A'=>'Corse-du-Sud',
|
||
'2B'=>'Haute-Corse',
|
||
'20B'=>'Haute-Corse',
|
||
'21'=>'Côte-d\'Or',
|
||
'22'=>'Côtes-d\'Armor',
|
||
'23'=>'Creuse',
|
||
'24'=>'Dordogne',
|
||
'25'=>'Doubs',
|
||
'26'=>'Drôme',
|
||
'27'=>'Eure',
|
||
'28'=>'Eure-et-Loir',
|
||
'29'=>'Finistère',
|
||
'30'=>'Gard',
|
||
'31'=>'Haute-Garonne',
|
||
'32'=>'Gers',
|
||
'33'=>'Gironde',
|
||
'34'=>'Hérault',
|
||
'35'=>'Ille-et-Vilaine',
|
||
'36'=>'Indre',
|
||
'37'=>'Indre-et-Loire',
|
||
'38'=>'Isère',
|
||
'39'=>'Jura',
|
||
'40'=>'Landes',
|
||
'41'=>'Loir-et-Cher',
|
||
'42'=>'Loire',
|
||
'43'=>'Haute-Loire',
|
||
'44'=>'Loire-Atlantique',
|
||
'45'=>'Loiret',
|
||
'46'=>'Lot',
|
||
'47'=>'Lot-et-Garonne',
|
||
'48'=>'Lozère',
|
||
'49'=>'Maine-et-Loire',
|
||
'50'=>'Manche',
|
||
'51'=>'Marne',
|
||
'52'=>'Haute-Marne',
|
||
'53'=>'Mayenne',
|
||
'54'=>'Meurthe-et-Moselle',
|
||
'55'=>'Meuse',
|
||
'56'=>'Morbihan',
|
||
'57'=>'Moselle',
|
||
'58'=>'Nièvre',
|
||
'59'=>'Nord',
|
||
'60'=>'Oise',
|
||
'61'=>'Orne',
|
||
'62'=>'Pas-de-Calais',
|
||
'63'=>'Puy-de-Dôme',
|
||
'64'=>'Pyrénées-Atlantiques',
|
||
'65'=>'Hautes-Pyrénées',
|
||
'66'=>'Pyrénées-Orientales',
|
||
'67'=>'Bas-Rhin',
|
||
'68'=>'Haut-Rhin',
|
||
'69'=>'Rhône',
|
||
'70'=>'Haute-Saône',
|
||
'71'=>'Saône-et-Loire',
|
||
'72'=>'Sarthe',
|
||
'73'=>'Savoie',
|
||
'74'=>'Haute-Savoie',
|
||
'75'=>'Paris',
|
||
'76'=>'Seine-Maritime',
|
||
'77'=>'Seine-et-Marne',
|
||
'78'=>'Yvelines',
|
||
'79'=>'Deux-Sèvres',
|
||
'80'=>'Somme',
|
||
'81'=>'Tarn',
|
||
'82'=>'Tarn-et-Garonne',
|
||
'83'=>'Var',
|
||
'84'=>'Vaucluse',
|
||
'85'=>'Vendée',
|
||
'86'=>'Vienne',
|
||
'87'=>'Haute-Vienne',
|
||
'88'=>'Vosges',
|
||
'89'=>'Yonne',
|
||
'90'=>'Territoire de Belfort',
|
||
'91'=>'Essonne',
|
||
'92'=>'Hauts-de-Seine',
|
||
'93'=>'Seine-Saint-Denis',
|
||
'94'=>'Val-de-Marne',
|
||
'95'=>'Val-d\'Oise',
|
||
'971'=>'Guadeloupe',
|
||
'972'=>'Martinique',
|
||
'973'=>'Guyane',
|
||
'974'=>'Réunion',
|
||
'975'=>'Saint-Pierre-et-Miquelon',
|
||
'976'=>'Mayotte',
|
||
'986'=>'Wallis-et-Futuna',
|
||
'987'=>'Polynésie-Française',
|
||
'988'=>'Nouvelle-Calédonie',
|
||
);
|
||
|
||
/**Nature d'établissements*/
|
||
private static $tabNature = array( '20'=>'Petit magasin (moins de 300m²)',
|
||
'21'=>'Magasin (de 300m² à 400m²)',
|
||
'22'=>'Grande surface (de 400 à 2500m²)',
|
||
'23'=>'Très grande surface (plus de 2500m²)',
|
||
'91'=>'Base d\'activité sur chantiers',
|
||
'92'=>'Base d\'activité sur marchés',
|
||
'93'=>'Base d\'activité en clientèle',
|
||
'99'=>'Autre');
|
||
|
||
/**Régions du code officiel géographique*/
|
||
private static $tabRegion = array( '1'=>'Guadeloupe',
|
||
'2'=>'Martinique',
|
||
'3'=>'Guyane',
|
||
'4'=>'Réunion',
|
||
'11'=>'Ile-de-France',
|
||
'21'=>'Champagne-Ardenne',
|
||
'22'=>'Picardie',
|
||
'23'=>'Haute-Normandie',
|
||
'24'=>'Centre',
|
||
'25'=>'Basse-Normandie',
|
||
'26'=>'Bourgogne',
|
||
'31'=>'Nord-Pas-de-Calais',
|
||
'41'=>'Lorraine',
|
||
'42'=>'Alsace',
|
||
'43'=>'Franche-Comté',
|
||
'52'=>'Pays de la Loire',
|
||
'53'=>'Bretagne',
|
||
'54'=>'Poitou-Charentes',
|
||
'72'=>'Aquitaine',
|
||
'73'=>'Midi-Pyrénées',
|
||
'74'=>'Limousin',
|
||
'82'=>'Rhône-Alpes',
|
||
'83'=>'Auvergne',
|
||
'91'=>'Languedoc-Roussillon',
|
||
'93'=>'Provence Alpes Côte d Azur',
|
||
'94'=>'Corse',
|
||
'98'=>'Territoire d outre-mer (TOM)',
|
||
'99'=>'Etranger');
|
||
|
||
/**Tranches de Chiffre d'Affaires INSEE
|
||
**/
|
||
private static $tabTCA = array( '0'=>'N/C',
|
||
'1'=>'de 500 000 à 1 M€',
|
||
'2'=>'de 1 à 2 M€',
|
||
'3'=>'de 2 à 5 M€',
|
||
'4'=>'de 5 à 10 M€',
|
||
'5'=>'de 10 à 20 M€',
|
||
'6'=>'de 20 à 50 M€',
|
||
'7'=>'de 50 à 100 M€',
|
||
'8'=>'de 100 à 200 M€',
|
||
'9'=>'plus de 200 M€'
|
||
);
|
||
|
||
/**Tranche d'habitants de commune détaillée*/
|
||
private static $tabTCD=array( '1'=>'Commune de moins de 50 habitants',
|
||
'2'=>'Commune de 50 à 99 habitants',
|
||
'3'=>'Commune de 100 à 149 habitants',
|
||
'4'=>'Commune de 150 à 199 habitants',
|
||
'5'=>'Commune de 200 à 249 habitants',
|
||
'6'=>'Commune de 250 à 299 habitants',
|
||
'7'=>'Commune de 300 à 399 habitants',
|
||
'8'=>'Commune de 400 à 499 habitants',
|
||
'11'=>'Commune de 500 à 699 habitants',
|
||
'12'=>'Commune de 700 à 999 habitants',
|
||
'13'=>'Commune de 1000 à 1499 habitants',
|
||
'14'=>'Commune de 1500 à 1999 habitants',
|
||
'15'=>'Commune de 2000 à 2499 habitants',
|
||
'16'=>'Commune de 2500 à 2999 habitants',
|
||
'17'=>'Commune de 3000 à 3999 habitants',
|
||
'18'=>'Commune de 4000 à 4999 habitants',
|
||
'21'=>'De 5 000 à 6 999 habitants',
|
||
'22'=>'De 7 000 à 9 999 habitants',
|
||
'31'=>'De 10 000 à 14 999 habitants',
|
||
'32'=>'De 15 000 à 19 999 habitants',
|
||
'41'=>'De 20 000 à 24 999 habitants',
|
||
'42'=>'De 25 000 à 29 999 habitants',
|
||
'43'=>'De 30 000 à 39 999 habitants',
|
||
'44'=>'De 40 000 à 49 999 habitants',
|
||
'51'=>'De 50 000 à 69 999 habitants',
|
||
'52'=>'De 70 000 à 99 999 habitants',
|
||
'61'=>'De 100 000 à 149 999 habitants',
|
||
'62'=>'De 150 000 à 199 999 habitants',
|
||
'71'=>'De 200 000 à 299 999 habitants',
|
||
'72'=>'De 300 000 à 499 999 habitants',
|
||
'73'=>'De 500 000 à 1 499 999 habitants',
|
||
'80'=>'Plus de 1 500 000 habitants');
|
||
|
||
/**Tranches d'effectifs INSEE*/
|
||
private static $tabEffectif=array( 0=>'N/C',
|
||
1=>'de 1 à 2 salarié(s)',
|
||
2=>'de 3 à 5 salariés',
|
||
3=>'de 6 à 9 salariés',
|
||
11=>'de 10 à 19 salariés',
|
||
12=>'de 20 à 49 salariés',
|
||
21=>'de 50 à 99 salariés',
|
||
22=>'de 100 à 199 salariés',
|
||
31=>'de 200 à 249 salariés',
|
||
32=>'de 250 à 499 salariés',
|
||
41=>'de 500 à 999 salariés',
|
||
42=>'de 1 000 à 1 999 salariés',
|
||
51=>'de 2 000 à 4 999 salariés',
|
||
52=>'de 5 000 à 9 999 salariés',
|
||
53=>'plus de 10 000 salariés');
|
||
|
||
/**Libellé des singularités INSEE*/
|
||
private static $tabSingularite=array('1'=>'Propiétaire Exploitant direct',
|
||
'2'=>'Locataire Gérant',
|
||
'10'=>'Loueur de fonds',
|
||
'30'=>'Unité singulière de première espèce: avocats assocés, stations services sous mandat..',
|
||
'31'=>'Associé d\'exploitation en commun; ce groupe comprend notamment: associé de société de fait, associé d\'indivision',
|
||
'33'=>'Employeur non exploitant: prestataire de personnel, gérant mandataire',
|
||
'34'=>'Membre d\'une société civile professionnelle',
|
||
'40'=>'Siège d\'une unité SIREN de droit privé sans activité',
|
||
'41'=>'Siège d\'un organisme public sans activité',
|
||
'42'=>'Siège d\'un établissement public local non doté de l\'autonomie comptable: une partie des centres communaux d\'action sociale, une partie des caisses des écoles',
|
||
'43'=>'Sièges de domiciliation',
|
||
'52'=>'Sans domicile fixe',
|
||
'60'=>'Activité occasionnelle ou accessoire: Expert auprès des tribunaux, médecin, infirmier, pharmacien remplçant, avocat stagiaire, sportif amateur',
|
||
'70'=>'Activité en location (autre que le fond de commerce): Exploitant de terrain de camping, location de garage ou parking, locations de meublés, location de terres agricoles',
|
||
'80'=>'Gestion immobilière de biens propres: syndicats de copropriétaires',
|
||
'90'=>'Unité singulière de seconde espèce: établissement d\'une entreprise installée à Monaco, siège à l\'etranger de sociétés, associé gérant de sociétés');
|
||
|
||
/**Libellé des origines de création INSEE*/
|
||
private static $tabOrigine=array('0'=>'non renseigné',
|
||
'1'=>'Création pure',
|
||
'2'=>'Réinstallation après transfert',
|
||
'3'=>'Achat',
|
||
'4'=>'Donation',
|
||
'5'=>'Reprise au conjoint ou apport reçu',
|
||
'6'=>'Reprise à un locataire gérant',
|
||
'7'=>'Prise en location-gérance',
|
||
'8'=>'Autre modalité d\'acquisition auprés d\'une autre unité SIREN');
|
||
|
||
private static $tabEven=array( 'i110'=>'Création d\'une entreprise',
|
||
'i120'=>'Réactivation d\'une entreprise',
|
||
'i125'=>'Réactivation d\'une entreprise suite à une mise à jour du répertoire',
|
||
'i130'=>'Création d\'un établissement',
|
||
'i145'=>'Reprise d\'activité dans un établissement suite à une mise à jour du répertoire',
|
||
'i400'=>'Suppression d\'un double',
|
||
'i410'=>'Cessation juridique de l\'entreprise',
|
||
'i420'=>'Absence d\'activité de l\'entreprise (cessation économique de l\'entreprise)',
|
||
'i425'=>'Absence d\'activité d\'une entreprise suite à une mise à jour au répertoire',
|
||
'i430'=>'Fermeture d\'un établissement',
|
||
'i435'=>'Fermeture d\'un établissement suite à une mise à jour au répertoire',
|
||
'i510'=>'Création de l\'établissement d\'arrivée et cessation de l\'établissement de départ dans le cadre d\'un transfert',
|
||
'i520'=>'Création de l\'établissement d\'arrivée et modification de l\'établissement de départ dans le cadre d\'un transfert',
|
||
'i530'=>'Modification de l\'établissement d\'arrivée et cessation de l\'établissement de départ dans le cadre d\'un transfert',
|
||
'i540'=>'Modification de l\'établissement d\'arrivée et modification de l\'établissement de départ dans le cadre d\'un transfert',
|
||
'i610'=>'Modification d\'activité au niveau du SIREN associé à une activation économique par adjonction de moyens de production',
|
||
'i620'=>'Modification d\'activité au niveau du SIREN associé à une désactivation économique par suppression de moyens de production',
|
||
'i621'=>'Modification d\'activité du SIREN associé à une désactivation économique par suppression de moyens de production suite à une correction d\'erreur',
|
||
'i631'=>'Autre modification d\'activité du SIREN associé',
|
||
'i640'=>'Modification d\'activité au niveau de l\'établissement associée à une activation économique par adjonction de moyens de production',
|
||
'i650'=>'Modification d\'activité au niveau de l\'établissement associée à une désactivation économique par suppression de moyens de production',
|
||
'i661'=>'Autre modification d\'activité au niveau de l\'établissement',
|
||
'i710'=>'Modification de l\'identification du SIREN',
|
||
'i711'=>'Modification de l\'identification du SIREN suite à correction d\'erreur',
|
||
'i720'=>'Modification de l\'adresse ou de l\'identification de l\'établissement',
|
||
'i780'=>'Autre modification entraînant la mise à jour d\'au moins une variable du répertoire',
|
||
'i781'=>'Autre modification entraînant la mise à jour d\'au moins une variable du répertoire suite à correction d\'erreur',
|
||
);
|
||
|
||
private $tabCodeVoie=array();
|
||
private $tabCodesNaf=array();
|
||
|
||
private $body='';
|
||
private $codeRetour=0;
|
||
private $header=array();
|
||
|
||
private $iDb;
|
||
private $iDbInsee;
|
||
private $iDbSD;
|
||
private $iBodacc;
|
||
|
||
public function __construct() {
|
||
$this->iDb=new WDB();
|
||
//$this->iDb->setCharSet('UTF-8');
|
||
$this->iDbInsee=new WDB('insee');
|
||
//$this->iDbInsee->setCharSet('UTF-8');
|
||
$this->iDbSD=new WDB('sdv1');
|
||
//$this->iDbSD->setCharSet('UTF-8');
|
||
$this->tabCodeVoie=$this->getTabCodeVoie();
|
||
$this->iBodacc=new MBodacc();
|
||
}
|
||
|
||
/** Test de la validité du siren demandé
|
||
* @param int SIREN à tester
|
||
* @param int NIC (facultatif)
|
||
* @param mixed Message textuel d'erreur à afficher en cas d'erreur ou false
|
||
* @return mixed true, false ou Message d'erreur passé en paramètre
|
||
*/
|
||
function valideSiren($siren, $nic='', $erreur=false) {
|
||
|
||
/** Si le siren est de taille < à 9, on ajoute des 0 significatifs **/
|
||
switch (strlen($siren)) {
|
||
case 1: $siren='00000000'.$siren; break;
|
||
case 2: $siren='0000000'.$siren; break;
|
||
case 3: $siren='000000'.$siren; break;
|
||
case 4: $siren='00000'.$siren; break;
|
||
case 5: $siren='0000'.$siren; break;
|
||
case 6: $siren='000'.$siren; break;
|
||
case 7: $siren='00'.$siren; break;
|
||
case 8: $siren='0'.$siren; break;
|
||
}
|
||
|
||
if (!valideData($siren, 9, 9,'N')) //Siren non précisé ou incorrect.
|
||
return $erreur;
|
||
elseif ($siren*1==0) // Siren vide
|
||
return $erreur;
|
||
else
|
||
{
|
||
if (!isset($nic) || trim($nic)=='')
|
||
{
|
||
$somme=0;
|
||
for ($i=0; $i<=8; $i+=2) // Traitement IMPAIR
|
||
$somme+=(integer)substr($siren,$i,1);
|
||
|
||
for ($i=1; $i<=7; $i+=2)
|
||
{ // Traitement PAIR
|
||
$var_tmp=(string)(2*((integer)substr($siren,$i,1)));
|
||
$som_tmp=0;
|
||
for($j=0;$j<strlen($var_tmp);$j++)
|
||
$som_tmp+=(integer)substr($var_tmp,$j,1);
|
||
$somme+=$som_tmp;
|
||
}
|
||
|
||
if ((integer)($somme/10)!=($somme/10))
|
||
{ // Le Siren est faux
|
||
if (substr($siren,0,3)!='200') // Les siren débutant par 200 sont toujours valides (sirens provisoires de la BDF?!)
|
||
return $erreur;
|
||
}
|
||
} else {
|
||
if (!valideData($nic,1,5,'N')) // Nic de format incorrect.
|
||
return $erreur;
|
||
|
||
$SIRET=$siren.$nic;
|
||
$somme=0;
|
||
for ($i=0; $i<=12; $i+=2)
|
||
{ // Traitement PAIR
|
||
$var_tmp=(string)(2*((integer)substr($SIRET,$i,1)));
|
||
$som_tmp=0;
|
||
for($j=0;$j<strlen($var_tmp);$j++)
|
||
$som_tmp+=(integer)substr($var_tmp,$j,1);
|
||
$somme+=$som_tmp;
|
||
}
|
||
for ($i=1; $i<=13; $i+=2) // Traitement IMPAIR
|
||
$somme+=(integer)substr($SIRET,$i,1);
|
||
|
||
if ((integer)($somme/10)!=($somme/10))// Le Siret est faux
|
||
return $erreur;
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
|
||
/** Test de la validité du siren demandé
|
||
**
|
||
** @param int $siren SIREN à tester
|
||
** @param int $numEtab N° d'établissement dont ont fdoit calculer le NIC
|
||
** @return int
|
||
**/
|
||
function getNic($siren, $numEtab=1) {
|
||
|
||
if (!$this->valideSiren($siren))
|
||
return -1;
|
||
elseif (!valideData($numEtab,1,4,'N')) // Nic de format incorrect.
|
||
return -1;
|
||
else {
|
||
for ($cle=0; $cle<10; $cle++) {
|
||
if ($this->valideSiren($siren, ''.$nic.''.$cle))
|
||
return $cle;
|
||
}
|
||
}
|
||
return -1;
|
||
}
|
||
|
||
/** Vérifie si le n° de département est un département français valide
|
||
** @param int Numéro de département Français
|
||
** @return bool
|
||
**/
|
||
public function isDepartement($dept) {
|
||
return array_key_exists($dept, self::$tabDep);
|
||
}
|
||
|
||
/** Retourne le libellé du département si département français valide
|
||
** @param int Numéro de département Français
|
||
** @return string Libellé département
|
||
**/
|
||
public function getDepartement($dept) {
|
||
return self::$tabDep[$dept];
|
||
}
|
||
|
||
public function getEffectifMoyen($trancheEffectif) {
|
||
$trancheEffectif=$trancheEffectif*1;
|
||
if ($trancheEffectif==0) return 0;
|
||
elseif ($trancheEffectif==53) return 10000;
|
||
else {
|
||
$libEffectif=self::$tabEffectif[$trancheEffectif];
|
||
$tabTmp=explode('à', $libEffectif);
|
||
$eff_min=trim(str_replace(' ','', $tabTmp[0]));
|
||
$tabTmp=explode('salari', $tabTmp[1]);
|
||
$eff_max=trim(str_replace(' ','', $tabTmp[0]));
|
||
return floor(($eff_min+$eff_max)/2);
|
||
}
|
||
}
|
||
|
||
/** Retourne le code forme juridique d'une entreprise.
|
||
** @param int Numéro de SIREN (9 chiffres) ou SIRET (14 chiffres)
|
||
** @return string Forme Juridique sur 4 caractères ou <b>false</b>en cas d'erreur ou si inexistant
|
||
**/
|
||
function getFJInsee($siren_siret) {
|
||
$len=strlen($siren_siret);
|
||
if ($len==9)
|
||
$siren=$siren_siret;
|
||
elseif ($len==14)
|
||
$siren=$siren_siret;
|
||
else
|
||
return false;
|
||
$rep=$this->iDb->select('identite', 'CJ', "SIREN='$siren'");
|
||
return $rep[0][0];
|
||
}
|
||
|
||
/**
|
||
* Enter description here...
|
||
*
|
||
* @param unknown_type $raisonSociale
|
||
* @param unknown_type $adresse
|
||
* @param unknown_type $codePostal
|
||
* @param unknown_type $ville
|
||
* @param unknown_type $siege
|
||
* @param unknown_type $nbRep
|
||
* @param unknown_type $pertinence
|
||
* @param bool $uniquementAvecSiren
|
||
* @return unknown
|
||
*/
|
||
public function rechercheEtab($raisonSociale, $adresse='', $codePostal='', $ville='', $siege='', $actif='', $deb=0, $nbRep=20, $maxRep=200, $pertinence=false, $uniquementAvecSiren='', $ape_etab='') {
|
||
debugLog('I',"rechercheEtab de $raisonSociale, $adresse, $codePostal $ville (Siège=$siege / Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||
// $raisonSociale=trim(strtoupper(trimAccent($raisonSociale))); //)("/^(scp |s c p |me )/i", '',
|
||
// $adresse=trim(/*strtr(*/strtoupper(trimAccent($adresse))/*, array('RUE '=>''))*/);
|
||
//$raisonSociale=$raisonSociale)); //)("/^(scp |s c p |me )/i", '',
|
||
//$raisonSociale=strtr(strtolower($raisonSociale), 'àáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ',
|
||
// 'aaaaaaaceeeeiiiionooooouuuuyy');
|
||
$raisonSociale=trim(strtoupper(trimAccent($raisonSociale)));
|
||
$tabAdr=$this->structureVoie(strtoupper($adresse));
|
||
/*
|
||
[num] => 6
|
||
[typeVoie] => R
|
||
[libVoie] => RONDELET
|
||
*/
|
||
$numAdresse=$tabAdr['num']*1;
|
||
$adresse=trimAccent($tabAdr['libVoie']);
|
||
|
||
$ville=trim(strtoupper(trimAccent($ville))); //)("/^(scp |s c p |me )/i", '',
|
||
$tabFiltres=$tabFiltresCP=array();
|
||
if (trim($codePostal)<>'' && ($codePostal*1)>0) {
|
||
$cp=$codePostal*1;
|
||
$dep=false;
|
||
if ($cp>0 && $cp<100) { $dep=$cp; $cp=false; } // Remettre à 96 quand cela fonctionnera
|
||
elseif ($cp>970 && $cp<977) { $dep=$cp; $cp=false; }
|
||
elseif ($cp>999 && $cp<10000) { $dep='0'.substr($cp,0,1); $cp='0'.$cp; }
|
||
elseif ($cp>=10000 && $cp<96000) $dep=substr($cp,0,2);
|
||
elseif ($cp>=99000) { $dep=substr($cp,0,2); $cp=false; }
|
||
elseif ($cp>=98000) { $dep=substr($cp,0,3); $cp=false; }
|
||
elseif ($cp>=97100 && $cp<97700) $dep=substr($cp,0,3);
|
||
else $cp=false;
|
||
|
||
if (isset($cp) && $cp) $tabFiltresCP=array('adr_cp'=>$cp);
|
||
elseif (isset($dep) && $dep) $tabFiltresCP=array('adr_dep'=>$dep);
|
||
}
|
||
|
||
if ($siege==true) $tabFiltresSiege=array('siege'=>1);
|
||
else $tabFiltresSiege=array();
|
||
|
||
if ($actif==true) $tabFiltresActif=array('actif'=>1);
|
||
else $tabFiltresActif=array();
|
||
|
||
if ($numAdresse>0) $tabFiltresNumAdr=array('adr_num'=>$numAdresse);
|
||
else { $tabFiltresNumAdr=array();
|
||
$numAdresse='';
|
||
}
|
||
|
||
if ($uniquementAvecSiren==true) $tabFiltresAvecSiren=array('sirenValide'=>1);
|
||
// elseif ($uniquementAvecSiren==false) $tabFiltresAvecSiren=array('sirenValide'=>0);
|
||
else $tabFiltresAvecSiren=array();
|
||
|
||
|
||
debugLog('I',"Je recherche avec tous les filtres $raisonSociale, $adresse, $codePostal $ville (Siège=$siege / Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||
|
||
$ret=search('etab', "@nom $raisonSociale @adresse $adresse @ville $ville @ape_etab $ape_etab", array_merge($tabFiltresCP, $tabFiltresSiege, $tabFiltresActif, $tabFiltresNumAdr, $tabFiltresAvecSiren), $deb, $nbRep, $maxRep, $pertinence);
|
||
$liste=$ret['results'];
|
||
$nbTot=$ret['nbTot'];
|
||
$duree=$ret['duration'];
|
||
//$liste=search('etab', $raisonSociale.' '.$adresse.' '.$ville, array_merge($tabFiltresCP, $tabFiltresSiege, $tabFiltresActif, $tabFiltresNumAdr), $deb, $nbRep, $maxRep, $pertinence);
|
||
if ($liste===false) die();
|
||
if (count($liste)==0) {
|
||
// echo "Je recherche dans le Département entier\n";
|
||
debugLog('I',"Je recherche dans le Département entier $raisonSociale, $adresse, $codePostal $ville (Siège=$siege / Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||
if (isset($dep) && $dep) $tabFiltresCP=array('adr_dep'=>$dep);
|
||
elseif (preg_match('/DEFENSE/i', $ville)) {
|
||
$tabFiltresCP=array('adr_dep'=>92);
|
||
$ville='';
|
||
}
|
||
$ret=search('etab', "@nom $raisonSociale @adresse $adresse @ville $ville @ape_etab $ape_etab", array_merge($tabFiltresCP, $tabFiltresSiege, $tabFiltresActif, $tabFiltresNumAdr, $tabFiltresAvecSiren), $deb, $nbRep, $maxRep, $pertinence);
|
||
$liste=$ret['results'];
|
||
$nbTot=$ret['nbTot'];
|
||
$duree=$ret['duration'];
|
||
}
|
||
if (count($liste)==0) {
|
||
debugLog('I',"Je recherche en soundex dans le CP $raisonSociale, $adresse, $codePostal $ville (Siège=$siege / Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||
// echo "Je recherche en soundex dans le CP\n";
|
||
if (isset($cp) && $cp) $tabFiltresCP=array('adr_cp'=>$cp);
|
||
$ret=search('etab_shx', "@nom $raisonSociale @adresse $adresse @ville $ville @ape_etab $ape_etab", array_merge($tabFiltresCP, $tabFiltresSiege, $tabFiltresActif, $tabFiltresNumAdr, $tabFiltresAvecSiren), $deb, $nbRep, $maxRep, $pertinence);
|
||
$liste=$ret['results'];
|
||
$nbTot=$ret['nbTot'];
|
||
$duree=$ret['duration'];
|
||
}
|
||
if (count($liste)==0) {
|
||
// echo "Je recherche en soundex dans le département entier\n";
|
||
debugLog('I',"Je recherche en soundex dans le département entier $raisonSociale, $adresse, $codePostal $ville (Siège=$siege / Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||
if (isset($dep) && $dep) $tabFiltresCP=array('adr_dep'=>$dep);
|
||
$ret=search('etab_shx', "@nom $raisonSociale @adresse $adresse @ville $ville @ape_etab $ape_etab", array_merge($tabFiltresCP, $tabFiltresSiege, $tabFiltresActif, $tabFiltresNumAdr, $tabFiltresAvecSiren), $deb, $nbRep, $maxRep, $pertinence);
|
||
$liste=$ret['results'];
|
||
$nbTot=$ret['nbTot'];
|
||
$duree=$ret['duration'];
|
||
|
||
}
|
||
$tabRet=array();
|
||
$tabMotsRsIn=explode(' ', $raisonSociale);
|
||
$tabMotsAdrIn=explode(' ', $adresse);
|
||
$tabMotsVilleIn=explode(' ', $ville);
|
||
$k=0;
|
||
$rsOK=$adrOK=$vilOK=true;
|
||
//$nbTot=count($liste);
|
||
foreach ($liste as $n=>$etab) {
|
||
$tabRet[]=array( 'id'=>$etab['id'],
|
||
'Pertinence'=>$etab['Pertinence'],
|
||
'Siret'=>$etab['Siret'],
|
||
'Siege'=>$etab['Siege'],
|
||
'Nom'=>$etab['Nom'],
|
||
'Nom2'=>$etab['Nom2'],
|
||
'Sigle'=>$etab['Sigle'],
|
||
'Enseigne'=>$etab['Enseigne'],
|
||
'Adresse'=>$etab['Adresse'],
|
||
'CP'=>$etab['CP'],
|
||
'Ville'=>$etab['Ville'],
|
||
'Tel'=>$etab['Tel'],
|
||
'Fax'=>$etab['Fax'],
|
||
'FJ'=>$etab['FJ'],
|
||
'FJLib'=>$this->getLibelleFJ($etab['FJ']),
|
||
'Siren'=>$etab['Siren'],
|
||
'Nic'=>$etab['Nic'],
|
||
'Actif'=>$etab['Actif'],
|
||
'NafEtab'=>$etab['NafEtab'], // Etablissement
|
||
'NafEtabLib'=>$this->getLibelleNaf($etab['NafEtab']), // Etablissement
|
||
'NafEnt'=>$etab['NafEnt'], // Entreprise
|
||
'NafEntLib'=>$this->getLibelleNaf($etab['NafEnt']),
|
||
);
|
||
$k++;
|
||
}
|
||
|
||
return array( 'criteres'=>array('rs'=>$raisonSociale, 'adresse'=>trim($numAdresse.' '.$adresse), 'cp'=>$codePostal, 'ville'=>$ville, 'naf'=>$ape_etab,),
|
||
'nbReponses'=>count($tabRet),
|
||
'nbReponsesTotal'=>$nbTot,
|
||
'duree'=>$duree,
|
||
'reponses'=>$tabRet);
|
||
}
|
||
|
||
public function rechercheDir($nom, $prenom='', $fonction='', $dateNaiss='', $villeNaiss='', $deb=0, $nbRep=20, $maxRep=200, $pertinence=false) {
|
||
debugLog('I',"rechercheDir de $nom, $prenom, $fonction, $dateNaiss, $villeNaiss (Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||
|
||
$nom=trim(strtoupper(trimAccent($nom)));
|
||
$prenom=trim(strtoupper(trimAccent($prenom)));
|
||
//$dirDateNaiss JJ/MM/AAAA
|
||
$tabFiltresMois=$tabFiltresAnnee=array();
|
||
|
||
if ($dateNaiss<>'' && $dateNaiss<>'//' && $dateNaiss<>'0/0/0') {
|
||
$tabDateNaiss=explode('/', $dateNaiss);
|
||
$mois =$tabDateNaiss[1]*1;
|
||
if ($mois>0 && $mois<12) $tabFiltresMois=array('naiss_mois'=>$mois);
|
||
|
||
$annee=$tabDateNaiss[2]*1;
|
||
if ($annee<100) $annee=('19'.$annee)*1;
|
||
if ($annee>=1900 && $annee<=date('Y')*1) $tabFiltresAnnee=array('naiss_annee'=>$annee);
|
||
}
|
||
$dateNaiss=preg_replace('/^00/','0', "0$mois/$annee");
|
||
$dateNaiss=preg_replace('/^0\//','', $dateNaiss);
|
||
/*
|
||
$dateNaiss=preg_replace('/\/0$/','', $dateNaiss);
|
||
*/
|
||
|
||
//$ret=search('dirigeants', $nom.' '.$prenom, array(), $deb, $nbRep, $maxRep, $pertinence);
|
||
$ret=search('dirigeants_rncs', "@nom $nom @prenom $prenom @naissance_lieu $villeNaiss", array_merge($tabFiltresMois, $tabFiltresAnnee), $deb, $nbRep, $maxRep, $pertinence);
|
||
//=search('etab', $raisonSociale.' '.$adresse.' '.$ville, array_merge($tabFiltresCP, $tabFiltresSiege, $tabFiltresActif, $tabFiltresNumAdr), $deb, $nbRep, $maxRep, $pertinence);
|
||
//print_r($ret);die();
|
||
$liste=$ret['results'];
|
||
$nbTot=$ret['nbTot'];
|
||
$duree=$ret['duration'];
|
||
|
||
if (count($liste)==0) {
|
||
debugLog('I',"rechercheDir en soundex de $nom, $prenom, $fonction, $dateNaiss, $villeNaiss (Max Rep=$nbRep)",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||
//$ret=search('dirigeants_shx', $nom.' '.$prenom, array(), $deb, $nbRep, $maxRep, $pertinence);
|
||
$ret=search('dirigeants_rncs_shx', "@nom $nom @prenom $prenom @naissance_lieu $villeNaiss", array_merge($tabFiltresMois, $tabFiltresAnnee), $deb, $nbRep, $maxRep, $pertinence);
|
||
$liste=$ret['results'];
|
||
$nbTot=$ret['nbTot'];
|
||
$duree=$ret['duration'];
|
||
}
|
||
$tabRet=array();
|
||
$tabMotsNomIn=explode(' ', $nom);
|
||
$tabMotsPrenomIn=explode(' ', $prenom);
|
||
$k=0;
|
||
// $nomOK=$prenomOK=true;
|
||
// $nbTot=count($liste);
|
||
foreach ($liste as $n=>$etab) {
|
||
/* if ($nom<>'') {
|
||
$tabMotsNomOut=explode(' ', $etab['nomD'].' '.$etab['nomUsage'].' '.$etab['rs']);
|
||
$nomOK=false;
|
||
foreach ($tabMotsNomOut as $motOut) {
|
||
foreach ($tabMotsNomIn as $motIn) {
|
||
if (strlen($motOut)>=3 && strlen($motIn)>=3) {
|
||
$levMin=levenshtein($motOut, $motIn);
|
||
if ($levMin<5) {
|
||
$nomOK=true;
|
||
break(2);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if ($prenom<>'') {
|
||
$tabMotsPrenomOut=explode(' ', $etab['prenom']);
|
||
$prenomOK=false;
|
||
foreach ($tabMotsPrenomOut as $motOut) {
|
||
foreach ($tabMotsPrenomIn as $motIn) {
|
||
if (strlen($motOut)>=3 && strlen($motIn)>=3) {
|
||
$levMin=levenshtein($motOut, $motIn);
|
||
if ($levMin<5) {
|
||
$prenomOK=true;
|
||
break(2);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
if ($nomOK && $prenomOK) {*/
|
||
$tabRet[]=array( 'id'=>$etab['id'],
|
||
'Pertinence'=>$etab['Pertinence'],
|
||
'Siret'=>$etab['Siret'],
|
||
'Siege'=>$etab['Siege'],
|
||
'Nom'=>$etab['Nom'],
|
||
'Nom2'=>$etab['Nom2'],
|
||
'Sigle'=>$etab['Sigle'],
|
||
'Enseigne'=>$etab['Enseigne'],
|
||
'Adresse'=>$etab['Adresse'],
|
||
'CP'=>$etab['CP'],
|
||
'Ville'=>$etab['Ville'],
|
||
'Tel'=>$etab['Tel'],
|
||
'Fax'=>$etab['Fax'],
|
||
'FJ'=>$etab['FJ'],
|
||
'FJLib'=>$this->getLibelleFJ($etab['FJ']),
|
||
'Siren'=>$etab['Siren'],
|
||
'Nic'=>$etab['Nic'],
|
||
'Actif'=>$etab['Actif'],
|
||
'NafEtab'=>$etab['NafEtab'], // Etablissement
|
||
'NafEtabLib'=>$this->getLibelleNaf($etab['NafEtab']), // Etablissement
|
||
'NafEnt'=>$etab['NafEnt'], // Entreprise
|
||
'NafEntLib'=>$this->getLibelleNaf($etab['NafEnt']),
|
||
|
||
// Dirigeant
|
||
'DirRs'=>$etab['rs'],
|
||
'DirNom'=>$etab['nomD'],
|
||
'DirPrenom'=>$etab['prenom'],
|
||
'DirNomUsage'=>$etab['nomUsage'],
|
||
'DirDateEffet'=>$etab['dateEffet'],
|
||
'DirFonction'=>$etab['fonction'],
|
||
'DirDepart'=>$etab['depart'],
|
||
);
|
||
$k++;
|
||
//if ($k==$nbRep) break;
|
||
//}
|
||
}
|
||
|
||
return array( 'criteres'=>array('nom'=>$nom, 'prenom'=>$prenom, 'dateNaissance'=>$dateNaiss, 'lieuNaissance'=>$villeNaiss),
|
||
'nbReponses'=>count($tabRet),
|
||
'nbReponsesTotal'=>$nbTot,
|
||
'duree'=>$duree,
|
||
'reponses'=>$tabRet);
|
||
}
|
||
|
||
|
||
private function getTabCodeVoie() {
|
||
$row = 1;
|
||
$handle = fopen('/var/www/includes/insee/voies.csv', 'r');
|
||
if (!$handle) die('Impossible d\'ouvrir le fichier de configuration des voies INSEE');
|
||
$tabTmp=array();
|
||
while (($data = fgetcsv($handle, 1000, ';')) !== FALSE)
|
||
if (substr($data[0],0,1)<>'#') // Ligne en commentaires CSV
|
||
$tabTmp[$data[0]]=$data[1];
|
||
fclose($handle);
|
||
return $tabTmp;
|
||
}
|
||
|
||
/** Vérifie si le code voie est une abréviation autorisée (selon la Norme AFNOR XP Z 10-011)
|
||
** @param string Code voie
|
||
** @return bool
|
||
**/
|
||
public function isCodeVoie($codeVoie) {
|
||
return array_key_exists($codeVoie, $this->tabCodeVoie);
|
||
}
|
||
|
||
/** Retourne le libellé du code voie selon les abréviations autorisées pour les types de voie (Norme AFNOR XP Z 10-011)
|
||
** @param string Code voie
|
||
** @return string Libellé de la voie
|
||
**/
|
||
public function getCodeVoie($codeVoie) {
|
||
return $this->tabCodeVoie[$codeVoie];
|
||
}
|
||
|
||
/** Initialise la table des codes NAF 4 et 5 positions
|
||
**/
|
||
private function setTabCodesNaf() {
|
||
if (count($this->tabCodesNaf)==0) {
|
||
$tabNafs=array();
|
||
$tabTmp=$this->iDb->select( 'tabNaf4', 'codNaf700 AS naf, libNaf700 AS LibNaf', 1, true, MYSQL_ASSOC);
|
||
foreach ($tabTmp as $i=>$tabNaf)
|
||
$tabNafs[$tabNaf['naf']]=$tabNaf['LibNaf'];
|
||
$tabTmp=$this->iDb->select( 'tabNaf5', 'codNaf5 AS naf, libNaf5 AS LibNaf', 1, true, MYSQL_ASSOC);
|
||
foreach ($tabTmp as $i=>$tabNaf)
|
||
$tabNafs[$tabNaf['naf']]=$tabNaf['LibNaf'];
|
||
$this->tabCodesNaf=$tabNafs;
|
||
}
|
||
}
|
||
|
||
public function getLibelleNaf($code_naf) {
|
||
$this->setTabCodesNaf();
|
||
return $this->tabCodesNaf[$code_naf];
|
||
}
|
||
|
||
public function getEvenements($siren) {
|
||
global $tabEvenInsee;
|
||
global $tabDestinat;
|
||
global $tabTypEtab;
|
||
$tabRet=array();
|
||
|
||
$insee=$this->iDbInsee->select('insee_even', 'id, insSIREN, siretValide, insNIC, insLIBCOM, insSIEGE, insAUXILT, insORIGINE, insTEFET, insAPET700, insAPRM, insMODET, insMARCHET, insSAISONAT, insACTIVNAT, insENSEIGNE, insL1_NOMEN, insL2_COMP, insL4_VOIE, insL3_CADR, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insL5_DISP, insL6_POST, insCODPOS, insL7_ETRG, insRPET, insDEPCOM, insCODEVOIE, insDREACTET, insEXPLET, insDAPET, insLIEUACT, insACTISURF, insDEFET, insTEL, insCJ, insCIVILITE, insTEFEN, insAPEN700, insMODEN, insMARCHEN, insNOMEN, insTYPCREH, insEVE, insDATEVE, insTRAN, insNICTRAN, insMNICSIEGE, insMNOMEN, insMCJ, insMAPEN, insFiller1, insFiller2, insMMARCHEN, insMORDIN, insEFENCENT, insSIGLE, insNBETEXPL, insNICSIEGE, insDEPCOMEN, insFiller3, insMENSEIGNE, insMAPET, insMNATURE, insMADRESSE, insMEFET, insMSINGT, insMTELT, insMMARCHET, insMAUXILT, insSINGT, insEFETCENT, insSIRETPS, insDESTINAT, insDATEMAJ, idFlux, dirNom, dirNomUsage, dirPrenom, insDCRET, insDCREN, insPRODPART, insSIRETASS, insDREACTEN, insEXPLEN, insFiller4, insDEFEN, insMONOREG, insREGIMP, insMONOACT, insMSIGLE, insMEXPLEN, insRPEN, insMEXPLET, insTYPETAB, insDAPEN', "insSIREN=$siren ORDER BY insDATEMAJ DESC LIMIT 0,4500",false, MYSQL_ASSOC);
|
||
foreach ($insee as $i=>$even) {
|
||
$libDet='';
|
||
if ($even['insMNOMEN']==1) $libDet.='Modification de la raison sociale : '.$even['insNOMEN'].', ';
|
||
if ($even['insMENSEIGNE']==1) $libDet.='Modification de l\'enseigne : '.$even['insENSEIGNE'].', ';
|
||
if ($even['insMSIGLE']==1) $libDet.='Modification du sigle : '.$even['insSIGLE'].', ';
|
||
if ($even['insMAPEN']==1) $libDet.='Modification de l\'activité de l\'entreprise : '.$even['insAPEN700'].', ';
|
||
if ($even['insMAPET']==1) $libDet.='Modification de l\'activité de l\'établissement : '.$even['insAPET700'].', ';
|
||
if ($even['insMNICSIEGE']==1) $libDet.='Modification du nic du siège : '.$even['insNICSIEGE'].', ';
|
||
if ($even['insMADRESSE']==1) $libDet.='Modification de l\'adresse : '.$even['insL2_COMP'].' '.$even['insL3_CADR'].' '.$even['insL4_VOIE'].' '.$even['insL5_DISP'].' '.$even['insL6_POST'].' '.$even['insL7_ETRG'].', ';
|
||
if ($even['insMEFET']==1) $libDet.='Modification de l\'effectif : '.$even['insEFENCENT'].' (Tranche '.$even['insTEFET'].'), ';
|
||
if ($even['insEXPLET']=='O') $strTmp='Exploitant';
|
||
elseif ($even['insEXPLET']=='N')$strTmp='Non exploitant participant au système productif';
|
||
elseif ($even['insEXPLET']=='X')$strTmp='Non exploitant ne participant pas au système productif';
|
||
if ($even['insMEXPLET']==1) $libDet.='Modification du caractère exploitant de l\'établissement : '.$strTmp.', ';
|
||
if ($even['insEXPLEN']=='O') $strTmp='Exploitant';
|
||
elseif ($even['insEXPLEN']=='N')$strTmp='Non exploitant participant au système productif';
|
||
elseif ($even['insEXPLEN']=='X')$strTmp='Non exploitant ne participant pas au système productif';
|
||
if ($even['insMEXPLEN']==1) $libDet.='Modification du caractère exploitant de l\'entreprise : '.$strTmp.', ';
|
||
if ($even['insMCJ']==1) $libDet.='Modification de la forme juridique : '.$even['insCJ'].', ';
|
||
if ($even['insAUXILT']==1) $strTmp='Auxiliaire';
|
||
else $strTmp='Non auxiliaire';
|
||
if ($even['insMAUXILT']==1) $libDet.='Modification du caractère auxiliaire de l\'établissement : '.$strTmp.', ';
|
||
|
||
if (trim($even['insDESTINAT'])<>'' && $even['insDESTINAT']<>'NR' && $even['insDESTINAT']*1<>9)
|
||
$libDet.=$tabDestinat['i'.trim($even['insDESTINAT'])].', ';
|
||
|
||
$libDet.=$tabTypEtab['i'.trim($even['insTYPETAB'])].', ';
|
||
|
||
$siretAss=$even['insSIRETPS'];
|
||
if ($siretAss*1==0) $siretAss=$even['insSIRETASS'];
|
||
|
||
$tabRet[]=array('codeEven' => 'I'.$even['insEVE'],
|
||
'nic' => $even['insNIC'],
|
||
'siretAssocie'=>''.$siretAss*1,
|
||
'siege' => $even['insSIEGE'],
|
||
'libEven' => $tabEvenInsee['i'.trim($even['insEVE'])],
|
||
'libEvenDet'=> substr($libDet,0,-3),
|
||
'dateMAJ' => $even['insDATEMAJ'],
|
||
'dateEven' => $even['insDATEVE'],
|
||
);
|
||
/*
|
||
id, siretValide, insLIBCOM, insAUXILT, insORIGINE, insTEFET, insAPET700, insAPRM, insMODET, insMARCHET, insSAISONAT, insACTIVNAT, insENSEIGNE, insL1_NOMEN, insL2_COMP, insL4_VOIE, insL3_CADR, insNUMVOIE, insINDREP, insTYPVOIE, insLIBVOIE, insL5_DISP, insL6_POST, insCODPOS, insL7_ETRG, insRPET, insDEPCOM, insCODEVOIE, insDREACTET, insEXPLET, insDAPET, insLIEUACT, insACTISURF, insDEFET, insTEL, insCJ, insCIVILITE, insTEFEN, insAPEN700, insMODEN, insMARCHEN, insNOMEN, insTYPCREH, insEVE, insDATEVE, insTRAN, insNICTRAN, insMNICSIEGE, insMNOMEN, insMCJ, insMAPEN, insFiller1, insFiller2, insMMARCHEN, insMORDIN, insEFENCENT, insSIGLE, insNBETEXPL, insNICSIEGE, insDEPCOMEN, insFiller3, insMENSEIGNE, insMAPET, insMNATURE, insMADRESSE, insMEFET, insMSINGT, insMTELT, insMMARCHET, insMAUXILT, insSINGT, insEFETCENT, insSIRETPS, insDESTINAT, , idFlux, dirNom, dirNomUsage, dirPrenom, insDCRET, insDCREN, insPRODPART, insSIRETASS, insDREACTEN, insEXPLEN, insFiller4, insDEFEN, insMONOREG, insREGIMP, insMONOACT, insMSIGLE, insMEXPLEN, insRPEN, insMEXPLET, insTYPETAB, insDAPEN
|
||
*/
|
||
}
|
||
return $tabRet;
|
||
}
|
||
|
||
public function getLibelleFJ($code_forme_juridique) {
|
||
$fj=$code_forme_juridique*1;
|
||
if ($fj>0 && $fj<10000) {
|
||
$tmp=$this->iDb->select( 'tabFJur', 'libelle AS LibFJ', "code=$fj");
|
||
return @$tmp[0][0];
|
||
} else
|
||
return 'En instance de chiffrement';
|
||
}
|
||
|
||
/** Découpe une ligne d'adresse textuelle en un tableau contenant les différentes composantes de l'adresse
|
||
** <pre>Array (
|
||
** [adrComp0] => Maison des associations
|
||
** [num] => 33
|
||
** [typeVoie] => R
|
||
** [libVoie] => Louis Blanc
|
||
** [cp] => ...
|
||
** [ville] => ... Si contenu dans l'adresse
|
||
** )</pre>
|
||
**
|
||
** @param string $strLigneDAdresse La ligne d'adresse textuelle (ex : Maison des associations, 33 rue Louis Blanc
|
||
** @return array tableau contenant l'adresse structurée ici
|
||
**/
|
||
public function structureVoie($strLigneDAdresse) {
|
||
$tabRet=$tabAdr=array();
|
||
$strLigneDAdresse=trim($strLigneDAdresse);
|
||
if ($strLigneDAdresse=='') return $tabRet;
|
||
$tabLignes=explode(',', preg_replace('/,$/', '', $strLigneDAdresse));
|
||
foreach ($tabLignes as $strLigneDAdresse) {
|
||
$strLigneDAdresse=trimAccent($strLigneDAdresse);
|
||
$strLigneDAdresse=preg_replace('/[^0-9a-zA-Z]/', ' ', $strLigneDAdresse);
|
||
$strLigneDAdresse=trim(preg_replace('/ +/', ' ', $strLigneDAdresse));
|
||
//echo "1. Adresse nettoyées = $strLigneDAdresse".EOL;
|
||
$adrAvecCP=preg_match("/(.*)([0-9]{5,5}|[0-9][0-9] [0-9]{3,3})([\D]*)/", $strLigneDAdresse, $tabAdrTmp);
|
||
if ($adrAvecCP) {
|
||
//echo "Adresse avec Code Postal\n";
|
||
//print_r($tabAdrTmp);
|
||
$strLigneDAdresse=trim($tabAdrTmp[1]);
|
||
$tabRet['cp']=$tabAdrTmp[2];
|
||
$tabRet['ville']=trim(strtoupper($tabAdrTmp[3]));
|
||
}// else echo "Adresse sans Code Postal\n";
|
||
$adrAvecNum=preg_match("/^([0-9]{1,4})(.*)/", $strLigneDAdresse, $tabAdrTmp);
|
||
if ($adrAvecNum) {
|
||
//echo "Adresse avec Numéro de voie\n";
|
||
//print_r($tabAdrTmp);
|
||
$tabRet['num']=$tabAdrTmp[1];
|
||
if (preg_match("/^( B | BIS | T | TER | Q | a | c | d | e | f | g | h | i | j | k | l | m | n | o | p | r | s )(.*)/i", $tabAdrTmp[2], $tabAdrTmp2))
|
||
{ //echo "Adresse avec Bis, Ter, Q...\n";
|
||
//print_r($tabAdrTmp2);
|
||
$tabRet['indRep']=trim($tabAdrTmp2[1]); $typeVoie=trim($tabAdrTmp2[2]);}
|
||
else $typeVoie=trim($tabAdrTmp[2]);
|
||
} else $typeVoie=trim($strLigneDAdresse);
|
||
// On récupère le type de voie si possible et le libellé de la voie
|
||
$voieTrouvee=false;
|
||
foreach ($this->tabCodeVoie as $code=>$voie) {
|
||
if (preg_match("/^($voie |$voie".'s '."|$code )(.*)/i", $typeVoie, $tabAdrTmp)) {
|
||
//echo "Adresse avec type de voie\n";
|
||
//print_r($tabAdrTmp);
|
||
$tabRet['typeVoie']=$code;
|
||
$tabRet['libVoie']=trim(strtoupper($tabAdrTmp[2]));
|
||
$voieTrouvee=true;
|
||
break;
|
||
}
|
||
}
|
||
if (!$voieTrouvee) $tabAdr[]=$typeVoie;
|
||
}
|
||
foreach ($tabAdr as $k=>$ligne)
|
||
$tabRet['adrComp'.$k]=trim(strtoupper($ligne));
|
||
if (!isset($tabRet['libVoie'])) { $tabRet['libVoie']=$ligne; unset($tabRet['adrComp'.$k]); }
|
||
return $tabRet;
|
||
}
|
||
|
||
public function getEtablissements($siren, $nic='', $deb=0, $nbRep=20, $maxRep=200, $dep=0) {
|
||
|
||
$this->setTabCodesNaf();
|
||
$deb=$deb*1;
|
||
$dep=$dep*1;
|
||
$nbRep=$nbRep*1;
|
||
$limit="LIMIT $deb, $nbRep";
|
||
|
||
if ($dep>0 && $dep<99999) {
|
||
if ($dep<96) $strDep='AND adr_cp BETWEEN '.$dep.'000 AND '.$dep.'999';
|
||
elseif ($dep>9999) $strDep="AND adr_cp BETWEEN $dep AND $dep";
|
||
else $strDep='AND adr_cp BETWEEN '.$dep.'00 AND '.$dep.'99';
|
||
$tabTmp=$this->iDb->select('etablissements', 'count(*)', "siren=$siren $strDep");
|
||
$nbTot=$tabTmp[0][0];
|
||
$listeEtab=$this->iDb->select('etablissements e',
|
||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep,".
|
||
"CONCAT(e.siren, e.nic) as siret, e.actif",
|
||
"siren=$siren $strDep ORDER BY e.siege , e.actif DESC $limit", true, MYSQL_ASSOC);
|
||
} elseif ($nic=='') {
|
||
$tabTmp=$this->iDb->select('etablissements', 'count(*)', "siren=$siren");
|
||
$nbTot=$tabTmp[0][0];
|
||
$listeEtab=$this->iDb->select('etablissements e',
|
||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep,".
|
||
"CONCAT(e.siren, e.nic) as siret, e.actif",
|
||
"e.siren=$siren ORDER BY e.siege DESC, e.actif DESC $limit", true, MYSQL_ASSOC);
|
||
} else {
|
||
$listeEtab=$this->iDb->select('etablissements e',
|
||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep,".
|
||
"CONCAT(e.siren, e.nic) as siret, e.actif",
|
||
"siren=$siren AND (nic=$nic OR siege=1) ORDER BY e.siege , e.actif DESC $limit", true, MYSQL_ASSOC);
|
||
$nbTot=count($listeEtab);
|
||
}
|
||
foreach ($listeEtab as $etab) {
|
||
$tel=sprintf('%010d', strtr($etab['tel'],array('-'=>'', '/'=>'','.'=>'',','=>'')));
|
||
if ($tel<>'0000000000') $tel=implode('.', str_split($tel,2));
|
||
else $tel='';
|
||
|
||
$fax=sprintf('%010d', strtr($etab['fax'],array('-'=>'', '/'=>'','.'=>'',','=>'')));
|
||
if ($fax<>'0000000000') $fax=implode('.', str_split($fax,2));
|
||
else $fax='';
|
||
|
||
$tabRet[]=array( 'Localisation'=>$etab['Loc'],
|
||
'id'=>$etab['id'],
|
||
'Pertinence'=>100,
|
||
'Siret'=>$etab['siret'],
|
||
'Siege'=>$etab['siege'],
|
||
'Nom'=>$etab['raisonSociale'],
|
||
'Sigle'=>$etab['sigle'],
|
||
'Enseigne'=>$etab['enseigne'],
|
||
'Adresse'=>trim(preg_replace('/ +/', ' ', trim( $etab['adr_num'] .' '. $etab['adr_btq'] .' '.
|
||
$etab['adr_typeVoie'] .' '. $etab['adr_libVoie']))),
|
||
'Adresse2'=>trim(preg_replace('/ +/', ' ', $etab['adr_comp'])),
|
||
'CP'=>$etab['adr_cp'],
|
||
'Ville'=>$etab['adr_ville'],
|
||
'Tel'=>$tel,
|
||
'Fax'=>$fax,
|
||
'FJ'=>$etab['cj'],
|
||
'FJLib'=>$this->getLibelleFJ($etab['cj']),
|
||
'Siren'=>$etab['siren'],
|
||
'Nic'=>$etab['nic'],
|
||
'Actif'=>$etab['actif'],
|
||
'NafEtab'=>$etab['ape_etab'], // Etablissement
|
||
'NafEnt'=>$etab['ape_entrep'], // Entreprise
|
||
'NafEtabLib'=>$this->getLibelleNaf($etab['ape_etab']),
|
||
'NafEntLib' =>$this->getLibelleNaf($etab['ape_entrep']),
|
||
);
|
||
}
|
||
|
||
if ($dep==0) $dep=''; // Evite l'affichage d'un 0 inutile sur l'Extranet
|
||
|
||
return array( 'criteres'=>array('siren'=>$siren, 'nic'=>$nic, 'dep'=>$dep),
|
||
'nbReponses'=>count($tabRet),
|
||
'nbReponsesTotal'=>$nbTot,
|
||
'reponses'=>$tabRet);
|
||
}
|
||
|
||
|
||
public function getEtablissementsParId($typeId, $id, $deb=0, $nbRep=20, $maxRep=200, $dep=0) {
|
||
|
||
$this->setTabCodesNaf();
|
||
$deb=$deb*1;
|
||
$dep=$dep*1;
|
||
|
||
$nbRep=$nbRep*1;
|
||
$limit="LIMIT $deb, $nbRep";
|
||
|
||
if ($typeId=='TEL') {
|
||
debugLog('I',"Recherche par TEL de $id avec un maximum de $nbRep réponses",__LINE__,__FILE__, __FUNCTION__, __CLASS__);
|
||
|
||
$tabTmp=$this->iDb->select('etablissements', 'count(*)', "TEL=$id OR FAX=$id");
|
||
$nbTot=$tabTmp[0][0];
|
||
$listeEtab=$this->iDb->select('etablissements e',
|
||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep,".
|
||
"CONCAT(e.siren, e.nic) as siret, e.actif",
|
||
"TEL=$id OR FAX=$id ORDER BY e.siege DESC, e.actif DESC $limit", false, MYSQL_ASSOC);
|
||
/*if (count($listeEtab)==0) {
|
||
$iAmabis=new MAmabis();
|
||
$repAmabis=$iAmabis->searchByTelFax($id);
|
||
}*/
|
||
|
||
} elseif ($typeId=='AUTRE') {
|
||
/** Formatage des numéros de RC **/
|
||
$tabId=array($id);
|
||
if (preg_match('/(\d*)(\D)(\d*)/', $id,$matches)) {
|
||
if (strlen($matches[1])<=2) {
|
||
// Années du type 54 ou 07
|
||
if ($matches[1]>date('y')) $deb='19'.$matches[1];
|
||
else $deb='20'.$matches[1];
|
||
} else // Années du type 1900 ou 2000
|
||
$deb=substr($matches[1],2,2);
|
||
$numero =$matches[3]*1;
|
||
for ($i=strlen($numero); $i<=7; $i++) {
|
||
$tabId[]=$matches[1].$matches[2].sprintf('%0'.$i.'s',$numero);
|
||
$tabId[]=$deb.$matches[2].sprintf('%0'.$i.'s',$numero);
|
||
}
|
||
}
|
||
$strId=implode("','", $tabId);
|
||
|
||
/** Gestion du numéro de département ou CP **/
|
||
$strDep='';
|
||
if ($dep>0 && $dep<99999) {
|
||
if ($dep<96) $strDep='AND adr_cp BETWEEN '.$dep.'000 AND '.$dep.'999';
|
||
elseif ($dep>9999) $strDep="AND adr_cp BETWEEN $dep AND $dep";
|
||
else $strDep='AND adr_cp BETWEEN '.$dep.'00 AND '.$dep.'99';
|
||
}
|
||
$tabTmp=$this->iDb->select('etablissements', 'count(*)', "autre_id IN ('$strId') $strDep");
|
||
$nbTot=$tabTmp[0][0];
|
||
$listeEtab=$this->iDb->select('etablissements e',
|
||
"'Etab' as Loc, e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, ".
|
||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep,".
|
||
"CONCAT(e.siren, e.nic) as siret, e.actif",
|
||
"autre_id IN ('$strId') $strDep ORDER BY siege DESC $limit", false, MYSQL_ASSOC);
|
||
}
|
||
foreach ($listeEtab as $etab) {
|
||
$tabRet[]=array( 'Localisation'=>$etab['Loc'],
|
||
'id'=>$etab['id'],
|
||
'Pertinence'=>100,
|
||
'Siret'=>$etab['siret'],
|
||
'Siege'=>$etab['siege'],
|
||
'Nom'=>$etab['raisonSociale'],
|
||
'Sigle'=>$etab['sigle'],
|
||
'Enseigne'=>$etab['enseigne'],
|
||
'Adresse'=>trim(preg_replace('/ +/', ' ', trim( $etab['adr_num'] .' '. $etab['adr_btq'] .' '.
|
||
$etab['adr_typeVoie'] .' '. $etab['adr_libVoie']))),
|
||
'Adresse2'=>trim(preg_replace('/ +/', ' ', $etab['adr_comp'])),
|
||
'CP'=>$etab['adr_cp'],
|
||
'Ville'=>$etab['adr_ville'],
|
||
'Tel'=>$etab['tel'],
|
||
'Fax'=>$etab['fax'],
|
||
'FJ'=>$etab['cj'],
|
||
'FJLib'=>$this->getLibelleFJ($etab['cj']),
|
||
'Siren'=>$etab['siren'],
|
||
'Nic'=>$etab['nic'],
|
||
'Actif'=>$etab['actif'],
|
||
'NafEtab'=>$etab['ape_etab'], // Etablissement
|
||
'NafEnt'=>$etab['ape_entrep'], // Entreprise
|
||
'NafEtabLib'=>$this->getLibelleNaf($etab['ape_etab']),
|
||
'NafEntLib' =>$this->getLibelleNaf($etab['ape_entrep']),
|
||
);
|
||
}
|
||
|
||
if ($dep==0) $dep=''; // Evite l'affichage d'un 0 inutile sur l'Extranet
|
||
|
||
return array( 'criteres'=>array('autreId'=>$id, 'dep'=>$dep),
|
||
'nbReponses'=>count($tabRet),
|
||
'nbReponsesTotal'=>$nbTot,
|
||
'reponses'=>$tabRet);
|
||
}
|
||
|
||
/** Retourne juste si un siren existe
|
||
**
|
||
** @param integer $siren
|
||
** @return bool
|
||
**/
|
||
function sirenExiste($siren) {
|
||
$siren=$siren*1;
|
||
$listeEtab=$this->iDb->select('etablissements', 'id', "siren=$siren LIMIT 0,1", false, MYSQL_ASSOC);
|
||
if (@count($etabs)>0)
|
||
return true;
|
||
return false;
|
||
}
|
||
|
||
/** Retourne l'identité issue de la table établissements
|
||
**
|
||
** @param integer $siren
|
||
** @return bool
|
||
**/
|
||
function getIdentiteLight($siren, $nic=0, $id=0) {
|
||
$siren=$siren*1;
|
||
$nic=$nic*1;
|
||
$id=$id*1;
|
||
$limit=''; //LIMIT O,1' ;
|
||
if ($id>0 && $siren<100) $where=" id=$id ";
|
||
elseif ($nic<>0) $where=" siren=$siren AND nic=$nic ";
|
||
else $where=" siren=$siren AND siege=1 ";
|
||
$listeEtab=$this->iDb->select('etablissements e',
|
||
"e.id, e.source, e.source_id, e.autre_id, e.siren, e.nic, e.siege, e.autre_id, ".
|
||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, ".
|
||
"CONCAT(e.siren, e.nic) as siret, e.actif",
|
||
"$where ORDER BY siege DESC, actif DESC, nic DESC $limit", false, MYSQL_ASSOC);
|
||
$etab=@$listeEtab[0];
|
||
|
||
$tabRet=array( 'id'=>$etab['id'],
|
||
'Siret'=>$etab['siret'],
|
||
'Siege'=>$etab['siege'],
|
||
'Nom'=>$etab['raisonSociale'],
|
||
'Sigle'=>$etab['sigle'],
|
||
'Enseigne'=>$etab['enseigne'],
|
||
'Adresse'=>trim(preg_replace('/ +/', ' ', trim( $etab['adr_num'] .' '. $etab['adr_btq'] .' '.
|
||
$etab['adr_typeVoie'] .' '. $etab['adr_libVoie']))),
|
||
'Adresse2'=>trim(preg_replace('/ +/', ' ', $etab['adr_comp'])),
|
||
'AdresseNum'=>$etab['adr_num'],
|
||
'AdresseBtq'=>$etab['adr_btq'],
|
||
'AdresseVoie'=>$etab['adr_typeVoie'],
|
||
'AdresseRue'=>$etab['adr_libVoie'],
|
||
'CP'=>$etab['adr_cp'],
|
||
'Ville'=>$etab['adr_ville'],
|
||
'Tel'=>$etab['tel'],
|
||
'Fax'=>$etab['fax'],
|
||
'FJ'=>$etab['cj'],
|
||
'FJ_lib'=>$this->getLibelleFJ($etab['cj']),
|
||
'Siren'=>$etab['siren'],
|
||
'Nic'=>$etab['nic'],
|
||
'Actif'=>$etab['actif'],
|
||
'NafEtab'=>$etab['ape_etab'],
|
||
'NafEnt'=>$etab['ape_entrep'],
|
||
'NafEntLib' =>$this->getLibelleNaf($etab['ape_entrep']),
|
||
'NafEtabLib'=>$this->getLibelleNaf($etab['ape_etab']),
|
||
'AutreId'=>$etab['autre_id'],
|
||
'Source'=>$etab['source'],
|
||
'SourceId'=>$etab['source_id'],
|
||
);
|
||
|
||
return $tabRet;
|
||
}
|
||
|
||
/** Retourne la liste des devise
|
||
**
|
||
** @param string $codeDevise Code ISO devise
|
||
** @return Devise ou liste des devises (si pas de code ISO en entrée)
|
||
**/
|
||
function getDevises($codeIso='') {
|
||
if (trim($codeIso)<>'') $strWhere="devIso='$codeIso'";
|
||
else $strWhere='1';
|
||
$liste=$this->iDb->select('tabDevises', 'devIso, devNom', $strWhere, false, MYSQL_ASSOC);
|
||
$tabRet=array();
|
||
foreach ($liste as $ligne)
|
||
$tabRet[$ligne['devIso']]=$ligne['devNom'];
|
||
return $tabRet;
|
||
}
|
||
|
||
/** Retourne la liste des mandataires/administrateurs/oppositions d'une ou plusieurs cours d'appel
|
||
**
|
||
** @param array $arrIdCA Id S&D de la cour d'appel
|
||
** @param bool $condense Par défaut retourne un tableau concatenant Nom, prenom, adresse complète
|
||
** @param array $type Type d'opposition. Ex array('A','M') pour Admin/Mandataires. Autres: a'V'ocat,'H'uissier,'N'otaire
|
||
** @return Liste des Mandataires/Administrateurs de la cours d'appel
|
||
**/
|
||
function getMandataires($arrIdCA=array(), $condense=true, $type=array()) {
|
||
if (count($arrIdCA)>0) $strIdCA='AND ( coursAppel in ('.implode(',', $arrIdCA).') OR coursAppel2 in ('.implode(',', $arrIdCA).') )';
|
||
else $strIdCA='';
|
||
|
||
if (count($type)>0) $strType="AND type in ('".implode("','", $type)."') ";
|
||
else $strType='';
|
||
|
||
|
||
if (!$condense)
|
||
$fields='id,sirenGrp,sirenMand,Nom,Prenom,type,tribunal,Statut,adresse,adresseComp,cp,ville,tel,fax,email,web,contact';
|
||
else
|
||
$fields="id, CONCAT(Nom,' ',Prenom,' ',adresse,' ',adresseComp,' ',cp,' ',ville) as Mand";
|
||
|
||
$liste=$this->iDb->select('tabMandataires', $fields, "1 $strIdCA $strType ORDER BY sirenGrp", true, MYSQL_ASSOC);
|
||
$tabRet=array();
|
||
if (!$condense) foreach ($liste as $ligne) $tabRet[]=$ligne;
|
||
else foreach ($liste as $ligne) $tabRet[$ligne['id']]=preg_replace('/ +/',' ',$ligne['Mand']);
|
||
|
||
return $tabRet;
|
||
}
|
||
|
||
/** Retourne la liste des mandataires/administrateurs/oppositions correspondant à un nom
|
||
**
|
||
** @param string $nom Nom du mandataire
|
||
** @param bool $condense Par défaut retourne un tableau concatenant Nom, prenom, adresse complète
|
||
** @param array $type Type d'opposition. Ex array('A','M') pour Admin/Mandataires. Autres: a'V'ocat,'H'uissier,'N'otaire
|
||
** @return Liste des Mandataires/Administrateurs de la cours d'appel
|
||
**/
|
||
function searchMandataires($nom, $condense=true, $type=array()) {
|
||
|
||
$strIdCA="AND (Nom LIKE '%$nom%' OR Prenom LIKE '%$nom%') ";
|
||
|
||
if (count($type)>0) $strType="AND type in ('".implode("','", $type)."') ";
|
||
else $strType='';
|
||
|
||
if (!$condense)
|
||
$fields='id,sirenGrp,sirenMand,Nom,Prenom,type,tribunal,Statut,adresse,adresseComp,cp,ville,tel,fax,email,web,contact';
|
||
else
|
||
$fields="id, CONCAT(Nom,' ',Prenom,' ',adresse,' ',adresseComp,' ',cp,' ',ville) as Mand";
|
||
|
||
$liste=$this->iDb->select('tabMandataires', $fields, "1 $strIdCA $strType ORDER BY sirenGrp", true, MYSQL_ASSOC);
|
||
$tabRet=array();
|
||
if (!$condense) foreach ($liste as $ligne) $tabRet[]=$ligne;
|
||
else foreach ($liste as $ligne) $tabRet[$ligne['id']]=preg_replace('/ +/',' ',$ligne['Mand']);
|
||
|
||
return $tabRet;
|
||
}
|
||
|
||
/** Récupère les informations du mandataire
|
||
**
|
||
** @param integer $idMand Identifiant SD du mandataire
|
||
** @return array
|
||
**/
|
||
function getMandataire($idMand) {
|
||
$fields='id,sirenGrp,sirenMand,Nom,Prenom,type,coursAppel,coursAppel2,tribunal,Statut,stagiaire,adresse,adresseComp,cp,ville,tel,fax,email,web,contact';
|
||
$liste=$this->iDb->select('tabMandataires', $fields, "id=$idMand", true, MYSQL_ASSOC);
|
||
return @$liste[0];
|
||
}
|
||
|
||
|
||
function getHuissiers($arrIdCA=array(), $condense=true) {
|
||
if (count($arrIdCA)>0)
|
||
$strIdCA="AND tribunal in ('".implode("','", $arrIdCA)."')";
|
||
|
||
else $strIdCA='';
|
||
if (!$condense)
|
||
$fields='id,sirenGrp,sirenMand,Nom,Prenom,type,tribunal,Statut,adresse,adresseComp,cp,ville,tel,fax,email,web,contact';
|
||
else
|
||
$fields="id, CONCAT(Nom,' ',Prenom,' ',adresse,' ',adresseComp,' ',cp,' ',ville) as Mand";
|
||
|
||
$liste=$this->iDb->select('tabMandataires', $fields, "1 AND type='H' $strIdCA ORDER BY sirenGrp", true, MYSQL_ASSOC);
|
||
$tabRet=array();
|
||
if (!$condense) foreach ($liste as $ligne) $tabRet[]=$ligne;
|
||
else foreach ($liste as $ligne) $tabRet[$ligne['id']]=preg_replace('/ +/',' ',$ligne['Mand']);
|
||
//@wsLog('HUISSIERS',$strIdCA,count($liste));
|
||
return $tabRet;
|
||
}
|
||
|
||
/** Retourne l'identite Textuelle d'un mandataires/administrateurs
|
||
**
|
||
** @param integer $idMand Id S&d du mandataire
|
||
** @return string Mandataire
|
||
**/
|
||
function getMandatairesParId($idMand) {
|
||
$liste=$this->iDb->select('tabMandataires', "CONCAT(Nom,' ',Prenom,' ',adresse,' ',adresseComp,' ',cp,' ',ville) as Mand", "id=$idMand", false);
|
||
return $liste[0][0];
|
||
}
|
||
|
||
function getNaf4($siren, $nic=0, $id=0) {
|
||
$tabRet=array();
|
||
$siren=$siren*1;
|
||
if ($siren==0) return false;
|
||
$nic=$nic*1;
|
||
$id=$id*1;
|
||
/*if ($id>0 && $siren==0) $where=" id=$id ";
|
||
else*/if ($nic<>0) $where=" siren=$siren AND nic=$nic ";
|
||
else $where=" siren=$siren AND siege=1 ";
|
||
|
||
$insee=$this->iDbInsee->select('bascule', 'siren, nic, apen5, apen4, apet5, apet4', $where, false, MYSQL_ASSOC);
|
||
$tabRet=$insee[0];
|
||
$tabRet['apen4_lib']=$this->getLibelleNaf($tabRet['apen4']);
|
||
$tabRet['apet4_lib']=$this->getLibelleNaf($tabRet['apet4']);
|
||
return $tabRet;
|
||
}
|
||
|
||
function getIdentiteEntreprise($siren, $nic=0, $id=0, $forceVerif=false, $accesDist=true) {
|
||
//$accesDist=false;
|
||
/* $fp=fopen('/var/www/log/infoVat.log', 'a');
|
||
fwrite($fp, "MInsee->getIdentiteEntreprise pour $siren $nic id=$id, Vérif=$forceVerif, Accès=$accesDist\n");
|
||
fclose($fp);
|
||
*/
|
||
|
||
$siren=$siren*1;
|
||
$nic=$nic*1;
|
||
$id=$id*1;
|
||
$limit=''; //LIMIT O,1' ;
|
||
if ($id>0 && $siren<100) $where=" id=$id ";
|
||
elseif ($nic<>0) $where=" siren=$siren AND nic=$nic ";
|
||
else $where=" siren=$siren AND siege=1 ";
|
||
$listeEtab=$this->iDb->select('etablissements e',
|
||
"e.id, e.source, e.source_id, e.triCode, e.autre_id, e.siren, e.nic, e.siege, e.autre_id, ".
|
||
"e.raisonSociale, e.enseigne, e.sigle, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, ".
|
||
"e.adr_comp, e.adr_cp, e.adr_ville, e.tel, e.fax, e.cj, e.ape_etab, e.ape_entrep, ".
|
||
"e.capital, e.capitalDev, e.capitalSrc, CONCAT(e.siren, e.nic) as siret, e.actif",
|
||
"$where ORDER BY siege DESC, actif DESC, nic DESC $limit", false, MYSQL_ASSOC);
|
||
$etab=@$listeEtab[0];
|
||
|
||
/** Si le siren est valide, on part chez Infogreffe **/
|
||
if (count($listeEtab)==0 && $this->valideSiren($siren)) {
|
||
$iGeffes=new MGreffes();
|
||
$etabG=$iGeffes->getIdentite($siren);
|
||
if ($etabG) {
|
||
$adr=$this->structureVoie($etabG['Adresse']);
|
||
/*, e.source, e.source_id, e.triCode,".
|
||
*/
|
||
$etab=array( 'id' => $etabG['id'],
|
||
'siret' => $etabG['Siret'],
|
||
'siege' => $etabG['Siege'],
|
||
'raisonSociale' => $etabG['Nom'],
|
||
'sigle' => $etabG['Sigle'],
|
||
'enseigne' => $etabG['Enseigne'],
|
||
'Adresse' => $etabG['Adresse'],
|
||
'adr_comp' => $etabG['Adresse2'],
|
||
'adr_num' => $adr['num'],
|
||
'adr_btq' => $adr['adr_btq'],
|
||
'adr_typeVoie' => $adr['typeVoie'],
|
||
'adr_libVoie' => $adr['libVoie'],
|
||
'adr_dep' => substr($etabG['CP'],0,2),
|
||
'adr_cp' => $etabG['CP'],
|
||
'adr_ville' => $etabG['Ville'],
|
||
'tel' => $etabG['Tel'],
|
||
'fax' => $etabG['Fax'],
|
||
'cj' => $etabG['FJ'],
|
||
// 'FJLib' => prepareString($etab['FJLib']),
|
||
'siren' => $etabG['Siren'],
|
||
'nic' => $etabG['Nic'],
|
||
'actif' => $etabG['Actif'],
|
||
'ape_etab' => $etabG['NafEtab'],
|
||
//'NafEtabLib'=> prepareString($etab['NafEtabLib']),
|
||
'ape_entrep' => $etabG['NafEnt'],
|
||
//'NafEntLib' => prepareString($etab['NafEntLib']),
|
||
'autre_id' => $etabG['NumRC'],
|
||
//'source' => $etab['source'],
|
||
//'sourceId'=>$etab['source_id'],
|
||
//'triCode'=>$etab['source_id'],
|
||
);
|
||
}
|
||
}
|
||
unset($listeEtab);
|
||
|
||
if ($siren>100) {
|
||
$info=$this->iDb->select('infos_entrep', 'raisonSociale, isin, nscrl, tel, fax, web, mail, latitude, longitude, precis, dateCreation, dateFermeture, naf, naf_lib, ca, effectif, nbEtab, activite', "siren=$siren", false, MYSQL_ASSOC);
|
||
$tab=$info[0];
|
||
$insee=$this->iDbInsee->select('identite', 'CONCAT(SIREN,NIC)', "SIREN=$siren AND SIEGE=1 ORDER BY ACTIF%10 DESC, NIC DESC",false);
|
||
$siretSiege=$insee[0][0];
|
||
}
|
||
|
||
if ($nic>0) $strNic="AND NIC=$nic";
|
||
else $strNic='AND SIEGE=1';
|
||
|
||
$moisNonDiff=0;
|
||
|
||
if ($siren>100) {
|
||
$insee=$this->iDbInsee->select('identite', 'ACTIF%10 AS ACTIF, NOM, NOM2, SIGLE, ENSEIGNE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, PAYS, DCREN, SIEGE, AUXILT, SAISONAT, CJ, CIVILITE, NBETAB, APE_ENT, APE_ETAB, PROCOL, PROCOL_TYPE, PROCOL_DATE, CAPITAL, EFF_ENT, NUMRC, TEL, FAX, DIR_FCT, DIR_IDEN, DIR_DATEN, DIR_LIEUN, CAPITAL_DATE, CAPITAL_DEV, DCRET, TEFF_ENT, ADR_DEP, ADR_COM, TCA, TCAEXP, EFF_ET, TEFF_ET, CODEVOIE, DATE_MAJ, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, MONOREG, REGIMP, MONOACT',
|
||
"SIREN=$siren $strNic ORDER BY SIEGE DESC, ACTIF DESC",false,MYSQL_ASSOC);
|
||
$tabInsee=$insee[0];
|
||
|
||
$tabTmp=$this->iDb->select('etablissements', 'count(*)', "siren=$siren AND actif<>0");
|
||
$nbEtab=$tabTmp[0][0];
|
||
$inseeND=$this->iDbInsee->select('insee_nondiff', 'siren, mois, dateInsert',"siren=$siren",false,MYSQL_ASSOC);
|
||
$moisNonDiff=@$tabTmp[0]['mois'];
|
||
}
|
||
else {
|
||
$tabInsee=array(
|
||
'CIVILITE'=>0,
|
||
'NBETAB'=>1,
|
||
'TEL'=>$etab['tel'], /** @todo Prendre sur les pages jaunes **/
|
||
'FAX'=>$etab['fax'], /** @todo idem **/
|
||
'Web'=>'', /** @todo Prendre sur les pages jaunes et/ou google **/
|
||
'Mail'=>'', /** @todo idem **/
|
||
'CJ'=>$etab['cj'],
|
||
'CJ_lib'=>$this->getLibelleFJ($etab['cj']),
|
||
'ACTIF'=>$etab['actif'],
|
||
'APE_ETAB'=>$etab['ape_etab']?$etab['ape_etab']:$etab['ape_entrep'],
|
||
'APE_ENT'=>$etab['ape_entrep']?$etab['ape_entrep']:$etab['ape_etab'],
|
||
'CAPITAL'=>'',
|
||
'CAPITAL_DEV'=>'',
|
||
'ADR_DEP'=>$etab['adr_dep'],
|
||
);
|
||
$nbEtab='N/C';
|
||
}
|
||
//$accesDist=false;
|
||
if (count($info)==0 && $accesDist) {
|
||
$ligne=date('YmdHis').";$siren;getIdentitePart AVANT";
|
||
$fp=fopen('/var/www/log/accesDistant.log', 'a');
|
||
fwrite($fp,$ligne.EOL);
|
||
fclose($fp);
|
||
$idComp=$this->getIdentitePart($siren, $etab['raisonSociale'], $etab['enseigne'], $etab['sigle']);
|
||
$ligne=date('YmdHis').";$siren;getIdentitePart APRES";
|
||
$fp=fopen('/var/www/log/accesDistant.log', 'a');
|
||
fwrite($fp,$ligne.EOL);
|
||
fclose($fp);
|
||
if ($idComp['web']<>'http://') $web=$idComp['web'];
|
||
else $web='';
|
||
$tabUpdate=array( 'raisonSociale'=>$idComp['raisonSociale'],
|
||
'isin'=>$idComp['bourseIsin'],
|
||
'nscrl'=>$idComp['nscrl'],
|
||
'tel'=>$idComp['tel'],
|
||
'fax'=>$idComp['fax'],
|
||
'web'=>$web,
|
||
'mail'=>$idComp['mail'],
|
||
'dateCreation'=>$idComp['dateCreation'],
|
||
'dateFermeture'=>$idComp['dateFermeture'],
|
||
'naf'=>$idComp['naf'],
|
||
'naf_lib'=>$this->getLibelleNaf($idComp['naf']),
|
||
'ca'=>str_replace('€','€', $idComp['ca']),
|
||
'nbEtab'=>$idComp['nbEtab'],
|
||
'effectif'=>$idComp['effectif'],
|
||
);
|
||
$tabInsert=array_merge($tabUpdate,array('siren'=>$siren));
|
||
if (!$this->iDb->insert('infos_entrep', $tabInsert))
|
||
$this->iDb->update('infos_entrep', $tabUpdate, "siren=$siren");
|
||
|
||
$tab=$tabUpdate;
|
||
}
|
||
|
||
if ($tab['precis']==0 && $accesDist) {
|
||
$ligne=date('YmdHis').";$siren;MMap AVANT";
|
||
$fp=fopen('/var/www/log/accesDistant.log', 'a');
|
||
fwrite($fp,$ligne.EOL);
|
||
fclose($fp);
|
||
$mMap=new MMap($etab['adr_num'].' '.$this->getCodeVoie($etab['adr_typeVoie']).' '.$etab['adr_libVoie'], $etab['adr_cp'], $etab['adr_ville']);
|
||
$ligne=date('YmdHis').";$siren;MMap APRES";
|
||
$fp=fopen('/var/www/log/accesDistant.log', 'a');
|
||
fwrite($fp,$ligne.EOL);
|
||
fclose($fp);
|
||
$tabUpdate=array( 'latitude'=>$mMap->latitudeDec,
|
||
'longitude'=>$mMap->longitudeDec,
|
||
'precis'=>$mMap->precision,
|
||
);
|
||
$this->iDb->update('infos_entrep', $tabUpdate, "siren=$siren");
|
||
$tab=array_merge($tab,$tabUpdate);
|
||
}
|
||
|
||
/** Accès provisoire à AMABIS **/
|
||
if ($accesDist) {
|
||
$ligne=date('YmdHis').";$siren;MAmabis AVANT";
|
||
$fp=fopen('/var/www/log/accesDistant.log', 'a');
|
||
fwrite($fp,$ligne.EOL);
|
||
fclose($fp);
|
||
$iAmabis=new MAmabis();
|
||
$repAmabis=$iAmabis->getZonage($etab['adr_num'],$etab['adr_btq'],$etab['adr_typeVoie'],$etab['adr_libVoie'], $etab['adr_cp'], $etab['adr_ville'], trim($tabInsee['ADR_DEP'].$tabInsee['ADR_COM'].$tabInsee['CODEVOIE']), false, 'TEST', false);
|
||
$ligne=date('YmdHis').";$siren;MAmabis APRES";
|
||
$fp=fopen('/var/www/log/accesDistant.log', 'a');
|
||
fwrite($fp,$ligne.EOL);
|
||
fclose($fp);
|
||
} else
|
||
$repAmabis=array();
|
||
|
||
//$accesDist=true;
|
||
if ($siren*1>100) {
|
||
$ligne=date('YmdHis').";$siren;MTva AVANT";
|
||
$fp=fopen('/var/www/log/accesDistant.log', 'a');
|
||
fwrite($fp,$ligne.EOL);
|
||
fclose($fp);
|
||
$iTva=new MTva($siren, $accesDist);
|
||
$vatNumber=$iTva->vatNumber;
|
||
$vatDefined=$iTva->vatDefined;
|
||
$ligne=date('YmdHis').";$siren;MTva APRES";
|
||
$fp=fopen('/var/www/log/accesDistant.log', 'a');
|
||
fwrite($fp,$ligne.EOL);
|
||
fclose($fp);
|
||
} else {
|
||
$vatNumber='FR00000000000';
|
||
$vatDefined=false;
|
||
}
|
||
//$accesDist=false;
|
||
|
||
//if (strlen($etab['raisonSociale'])>40)
|
||
$nom =trim($etab['raisonSociale']);
|
||
$nom2=trim($tabInsee['NOM2']);
|
||
$tel=$fax='';
|
||
|
||
if (trim($tab['tel'])<>'') $tel=trim($tab['tel']);
|
||
elseif ($tabInsee['TEL']<>'') $tel=implode('.', str_split($tabInsee['TEL'],2));
|
||
|
||
if (trim($tab['fax'])<>'') $fax=trim($tab['fax']);
|
||
elseif ($tabInsee['FAX']<>'') $fax=implode('.', str_split($tabInsee['FAX'],2));
|
||
|
||
if ($etab['triCode']=='Déclar') $triCode='';
|
||
else $triCode=$etab['triCode'];
|
||
|
||
$tabRet=array( 'id'=>$etab['id'],
|
||
'Siret'=>$etab['siret'],
|
||
'SiretSiege'=>$siretSiege,
|
||
'Siege'=>$etab['siege'],
|
||
'Tribunal'=>$triCode,
|
||
'Nom'=>$nom,
|
||
'Nom2'=>$nom2,
|
||
'Sigle'=>$etab['sigle'],
|
||
'Enseigne'=>$etab['enseigne'],
|
||
'Adresse'=>trim(preg_replace('/ +/', ' ', trim( $etab['adr_num'] .' '. $etab['adr_btq'] .' '.
|
||
$etab['adr_typeVoie'] .' '. $etab['adr_libVoie']))),
|
||
'Adresse2'=>trim(preg_replace('/ +/', ' ', $etab['adr_comp'])),
|
||
'AdresseNum'=>$etab['adr_num'],
|
||
'AdresseBtq'=>$etab['adr_btq'],
|
||
'AdresseVoie'=>$etab['adr_typeVoie'],
|
||
'AdresseRue'=>$etab['adr_libVoie'],
|
||
'CP'=>$etab['adr_cp'],
|
||
'Ville'=>$etab['adr_ville'],
|
||
'Pays'=>$tabInsee['PAYS'],
|
||
|
||
'Civilite'=>$tabInsee['CIVILITE'], // Prendre sur score3
|
||
'NbEtab'=>$nbEtab,//$tab['nbEtab']*1, // Prendre sur score3
|
||
'Tel'=>$tel,
|
||
'Fax'=>$fax,
|
||
'Web'=>$tab['web'], // CofaceRating
|
||
'Mail'=>$tab['mail'], // CofaceRating
|
||
|
||
'GeoLat'=>$tab['latitude'],
|
||
'GeoLon'=>$tab['longitude'],
|
||
'GeoPrecis'=>$tab['precis'],
|
||
|
||
'TvaNumero'=>$vatNumber,
|
||
'TvaAttribue'=>$vatDefined,
|
||
|
||
'FJ'=>$tabInsee['CJ'],
|
||
'FJ_lib'=>$this->getLibelleFJ($tabInsee['CJ']),
|
||
'Siren'=>$etab['siren'],
|
||
'Nic'=>$etab['nic'],
|
||
'Actif'=>$tabInsee['ACTIF'],
|
||
'NafEtab'=>$tabInsee['APE_ETAB'],
|
||
'NafEnt'=>$tabInsee['APE_ENT'],
|
||
'NafEntLib' =>$this->getLibelleNaf($tabInsee['APE_ENT']),
|
||
'NafEtabLib'=>$this->getLibelleNaf($tabInsee['APE_ETAB']),
|
||
'AutreId'=>$etab['autre_id'],
|
||
'Source'=>$etab['source'],
|
||
'SourceId'=>$etab['source_id'],
|
||
'Isin'=>$tab['isin'],
|
||
'Capital'=>$etab['capital'],
|
||
'CapitalDev'=>$etab['capitalDev'],
|
||
'CapitalSrc'=>$etab['capitalSrc'],
|
||
// 'Singularite'=>'',
|
||
'DateCreaEt'=>$tabInsee['DCRET'],
|
||
'DateCreaEn'=>$tabInsee['DCREN'],
|
||
// 'DateClotEn'=>$tabInsee[''],
|
||
// 'DateClotEt'=>$tabInsee[''],
|
||
'SitJur_lib'=>$tabInsee['PROCOL_TYPE'],
|
||
'SitJur_date'=>$tabInsee['PROCOL_DATE'],
|
||
'EffEnTr'=>$tabInsee['TEFF_ENT'],
|
||
'EffEnTrLib'=>self::$tabEffectif[$tabInsee['TEFF_ENT']],
|
||
'Effectif'=>$tabInsee['EFF_ENT'],
|
||
'Dept'=>$tabInsee['ADR_DEP'],
|
||
'codeCommune'=>$tabInsee['ADR_COM'],
|
||
'TrancheCA'=>$tabInsee['TCA'],
|
||
'TrancheCALib'=>self::$tabTCA[$tabInsee['TCA']],
|
||
'dir1Titre'=>self::$tabFct[$tabInsee['DIR_FCT']],
|
||
'dir1NomPrenom'=>$tabInsee['DIR_IDEN'],
|
||
'Rivoli'=>substr($tabInsee['CODEVOIE'],0,4).' '.substr($tabInsee['CODEVOIE'],-1),
|
||
'NatureActivite'=>$tabInsee['ACTIVNAT'], // Nature de l'activité
|
||
'OrigineCreation'=>$tabInsee['ORIGINE'], // Origine de la création
|
||
'Auxiliaire'=>$tabInsee['AUXILT'], // 1=Auxiliaire / 0=Non auxiliaire
|
||
'Saisonnalite'=>$tabInsee['SAISONAT'], // P=Activité permanente / S=Activité saisonnière
|
||
'ACTISURF'=>$tabInsee['ACTISURF'],
|
||
'EXPLEN'=>$tabInsee['EXPLEN'],
|
||
'EXPLET'=>$tabInsee['EXPLET'],
|
||
'LIEUACT'=>$tabInsee['LIEUACT'],
|
||
'MODEN'=>$tabInsee['MODEN'],
|
||
'MONOACT'=>$tabInsee['MONOACT'],
|
||
'MONOREG'=>$tabInsee['MONOREG'],
|
||
'REGIMP'=>$tabInsee['MONOREG'],
|
||
'PRODPART'=>$tabInsee['PRODPART'],
|
||
'GeoInfos'=>$repAmabis,
|
||
'NonDiffusible'=>$moisNonDiff,
|
||
//EXPLET, EXPLEN, LIEUACT, ACTISURF, MODEN, MODET, PRODPART,
|
||
// APRM, MONOREG, REGIMP, MONOACT
|
||
);
|
||
|
||
if ($siren>100) {
|
||
if (count($this->getAnnoncesLegales($siren, 0, 'P', false))>0)
|
||
$tabRet['SituationJuridique']='P';
|
||
elseif (count($this->getAnnoncesLegales($siren, 0, 'A'))>0)
|
||
$tabRet['SituationJuridique']='A';
|
||
elseif (count($this->getAnnoncesLegales($siren, 0, 'D'))>0)
|
||
$tabRet['SituationJuridique']='D';
|
||
/*elseif (count($this->getAnnoncesLegales($siren, 0, 'R'))>0)
|
||
$tabRet['SituationJuridique']='R';
|
||
*/
|
||
}
|
||
if (($tabInsee['CJ']>0 && $tabInsee['CJ']<20 ||
|
||
$tabInsee['CJ']>999 && $tabInsee['CJ']<2000) && $tabInsee['DIR_FCT']=='')
|
||
$tabRet['dir1Titre']=self::$tabFct['PP'];
|
||
|
||
if ($tabInsee['CIVILITE']>0 && $tabRet['dir1NomPrenom']=='') {
|
||
if ($tabInsee['CIVILITE']==1) $tabRet['dir1NomPrenom']='M. ';
|
||
elseif ($tabInsee['CIVILITE']==2) $tabRet['dir1NomPrenom']='Mme ';
|
||
$tabRet['dir1NomPrenom'].=$tabInsee['NOM'];
|
||
}
|
||
|
||
if ($tabInsee['ACTIF']==0 && $siren>100) {
|
||
if ($etab['nic']*1>0) $strNic='AND insNIC='.$etab['nic'];
|
||
else $strNic='';
|
||
$tmp=$this->iDbInsee->select( 'insee_even', 'insDATEVE', "insSIREN=$siren $strNic AND ( insEVE LIKE '%F' OR insEVE LIKE '4%' OR insDESTINAT<>'') ORDER BY insDATEVE DESC LIMIT 0,1", true);
|
||
unset($tmp);
|
||
$tabRet['DateClotEn']=@$tmp[0][0];
|
||
}
|
||
|
||
if ($tabRet['TrancheCALib']=='') $tabRet['TrancheCALib']='N/C';
|
||
if ($tabRet['EffEnTrLib']=='') $tabRet['EffEnTrLib']='N/C';
|
||
|
||
$tabRet['CapitalLib']='';
|
||
$strEvenVtLg=" AND Rubrique<>'ventes' AND typeEven NOT LIKE '%2700%' AND typeEven NOT LIKE '%2701%' AND typeEven NOT LIKE '%2702%' AND typeEven NOT LIKE '%2703%' AND typeEven NOT LIKE '%2710%' AND typeEven NOT LIKE '%2720%' AND typeEven NOT LIKE '%2721%' AND typeEven NOT LIKE '%2725%' AND typeEven NOT LIKE '%2730%' AND typeEven NOT LIKE '%2740%' AND typeEven NOT LIKE '%2750%' AND typeEven NOT LIKE '%2800%' AND typeEven NOT LIKE '%2840%' AND typeEven NOT LIKE '%2850%' AND typeEven NOT LIKE '%2851%' AND typeEven NOT LIKE '%2860%' AND typeEven NOT LIKE '%2870%' AND typeEven NOT LIKE '%2875%' AND typeEven NOT LIKE '%2880%' AND typeEven NOT LIKE '%2881%' AND typeEven NOT LIKE '%2885%' AND typeEven NOT LIKE '%2890%' AND typeEven NOT LIKE '%2891%' AND typeEven NOT LIKE '%2892%' ";
|
||
if ($siren>100) {
|
||
if ($tabRet['CapitalSrc']<>5) {
|
||
/** Recherche du n° RC, de la Forme Juridique et du Capital au Bodacc **/
|
||
$bodacc=$this->iDb->select( 'bodacc_detail', 'Capital, CapitalDev',
|
||
"siren=$siren AND capital<>0 $strEvenVtLg ORDER BY Bodacc_Date_Parution DESC LIMIT 0,1", true, MYSQL_ASSOC);
|
||
$annCap=@$bodacc[0];
|
||
if ($tabRet['Capital']==0 || $tabRet['CapitalDev']=='' || $tabRet['Capital']<>$annCap['Capital']*1) {
|
||
$tabRet['Capital']=$annCap['Capital']*1;
|
||
$tabRet['CapitalDev']=$annCap['CapitalDev'];
|
||
$tabRet['CapitalSrc']=10;
|
||
}
|
||
|
||
if ($tabRet['Capital']==0 || $tabRet['CapitalDev']=='') {
|
||
$iDbHisto=new WDB('historiques');
|
||
$bodaccHisto=$iDbHisto->select(
|
||
'entrep e, texte x',//.codEven Code évènement du mouvement Bodacc libEven ',
|
||
'e.ANBASE, e.NOBOD, e.CODTRI, e.JAL, e.DATE, e.CODEVE, e.SSCODE, e.DEPT, e.NOANN, e.ROLE, e.SIREN, e.E1GSIR, e.E1GNIC, x.annonceNum, x.annonceTxt',
|
||
"e.E1GSIR=$siren AND e.ANBASE=x.annonceNum AND e.DATE BETWEEN 19960101 AND 20041231 AND x.annonceTxt LIKE '%capital%' /*AND (e.CODEVE BETWEEN 10 AND 19 OR e.CODEVE BETWEEN 30 AND 41 OR e.CODEVE BETWEEN 51 AND 79 ) */ GROUP BY e.ANBASE ORDER BY e.DATE DESC", true, MYSQL_ASSOC);
|
||
if (count($bodaccHisto)>0) {
|
||
foreach ($bodaccHisto as $ann) {
|
||
$tabCodeTri=$ann['CODTRI'];
|
||
if ( ($ann['CODEVE']>=10 && $ann['CODEVE']<20) ||
|
||
($ann['CODEVE']>=30 && $ann['CODEVE']<42) ||
|
||
($ann['CODEVE']>=51 && $ann['CODEVE']<80) ) {
|
||
if (preg_match('/Capital(?:.|)\:(.*)(eur.|f|livre)/Uis', $ann['annonceTxt'], $matches))
|
||
$tabRet['Capital']=trim(strtr($matches[1],array(' '=>'', ',00 '=>'', '.00 '=>'')))*1;
|
||
if (substr(strtoupper($matches[2]),0,3)=='EUR')
|
||
$tabRet['CapitalDev']='EUR';
|
||
elseif (substr(strtoupper($matches[2]),0,3)=='LIV')
|
||
$tabRet['CapitalDev']='GBP';
|
||
else
|
||
$tabRet['CapitalDev']='FRF';
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if ($tabRet['CapitalDev']<>'' && $tabRet['CapitalDev']<>'EUR') {
|
||
$dev=$tabRet['CapitalDev'];
|
||
$devise=$this->iDbSD->select( 'devise_liste l, devise_cours c', 'c.devise, c.valeur, c.date, l.devNom, l.devNomPays, l.devPaysIso', "c.devise='$dev' and l.devIso='$dev' ORDER BY c.date DESC LIMIT 0,1", true, MYSQL_ASSOC);
|
||
$dev=@$devise[0];
|
||
//die(print_r($dev));
|
||
$devise=$tabRet['Capital']*$dev['valeur']*1;
|
||
$tabRet['CapitalLib']=''.$dev['devNom'].' soit '.number_format(round($devise),null,null,' ').' EUR';
|
||
}
|
||
|
||
/** Recherche du code Tribunal du siège **/
|
||
if ($tabRet['CapitalSrc']<>5) {
|
||
$bodacc=$this->iDb->select( 'bodacc_detail', 'RC, FJ, Tribunal_Code',
|
||
"siren=$siren AND RC<>'' $strEvenVtLg ORDER BY Bodacc_Date_Parution DESC LIMIT 0,1", true, MYSQL_ASSOC);
|
||
// $tabCodeTri1=$ann['CODTRI'];
|
||
if ($tabRet['AutreId']=='') $tabRet['AutreId']=@$bodacc[0]['RC'];
|
||
if ($tabRet['Tribunal']=='') $tabRet['Tribunal']=@$bodacc[0]['Tribunal_Code'];
|
||
}
|
||
|
||
if ($tabRet['FJ_lib']=='') {
|
||
$bodacc=$this->iDb->select( 'bodacc_detail', 'FJ',
|
||
"siren=$siren AND FJ<>'' $strEvenVtLg ORDER BY Bodacc_Date_Parution DESC LIMIT 0,1", true, MYSQL_ASSOC);
|
||
$tabRet['FJ_lib']=@$bodacc[0]['FJ'];
|
||
}
|
||
/** Recherche de l'activité réelle **/
|
||
$bodacc=$this->iDb->select( 'bodacc_detail', 'Activite', "siren=$siren AND Activite<>'' AND Activite NOT LIKE 'non precis%' $strEvenVtLg ORDER BY Bodacc_Date_Parution DESC LIMIT 0,1", true, MYSQL_ASSOC);
|
||
$annCap=@$bodacc[0];
|
||
if ($tabInsee['CJ']<7000 || $tabInsee['CJ']>7999)
|
||
$tabRet['Activite']=trim(/*preg_replace("/Adjonction.{1,7}activit(?:e|é)(?:.|)\:", '', */$annCap['Activite']);//);
|
||
|
||
if ($tabRet['Activite']=='' && trim($tab['activite'])<>'')
|
||
$tabRet['Activite']=trim($tab['activite']);
|
||
elseif ($tabRet['Activite']=='' && ($tabInsee['CJ']>90 && $tabInsee['CJ']<94 ||
|
||
$tabInsee['CJ']>9000 && $tabInsee['CJ']<9400) ) {
|
||
$siretMin=(''.$siren.'00000')*1;
|
||
$siretMax=(''.$siren.'99999')*1;
|
||
//$bodacc=$this->iDb->select( 'asso', 'Assoc_Web, Assoc_Mail, Assoc_Objet, Assoc_NObjet', "Siret BETWEEN $siretMin AND $siretMax AND (Assoc_Objet<>'' OR Assoc_NObjet<>'') ORDER BY Date_Parution DESC LIMIT 0,1", true, MYSQL_ASSOC);
|
||
$bodacc=$this->iDb->select( 'asso', 'Assoc_Web, Assoc_Mail, Assoc_Objet, Assoc_NObjet', "siren=$siren AND (Assoc_Objet<>'' OR Assoc_NObjet<>'') ORDER BY Date_Parution DESC LIMIT 0,1", true, MYSQL_ASSOC);
|
||
$annCap=@$bodacc[0];
|
||
$tabRet['Activite']=trim($annCap['Assoc_NObjet']);
|
||
if ($tabRet['Activite']=='') $tabRet['Activite']=trim($annCap['Assoc_Objet']);
|
||
if ($tabRet['Web']=='') $tabRet['Web']=trim($annCap['Assoc_Web']);
|
||
if ($tabRet['Mail']=='') $tabRet['Mail']=trim($annCap['Assoc_Mail']);
|
||
} elseif ($tabRet['Activite']=='' && ($tabInsee['CJ']<7000 || $tabInsee['CJ']>7999)) {
|
||
$iDbHisto=new WDB('historiques');
|
||
//10 à 19// Création d'entreprise
|
||
//30 à 41
|
||
//51 à 79=>'1503', // Cloture insuf.Actif
|
||
$bodaccHisto=$iDbHisto->select(
|
||
'entrep e, texte x',//.codEven Code évènement du mouvement Bodacc libEven ',
|
||
'e.ANBASE, e.NOBOD, e.CODTRI, e.JAL, e.DATE, e.CODEVE, e.SSCODE, e.DEPT, e.NOANN, e.ROLE, e.SIREN, e.E1GSIR, e.E1GNIC, x.annonceNum, x.annonceTxt',
|
||
"e.E1GSIR=$siren AND e.ANBASE=x.annonceNum AND e.DATE BETWEEN 19960101 AND 20041231 AND x.annonceTxt LIKE '%ctivit%' GROUP BY e.ANBASE ORDER BY e.DATE DESC", true, MYSQL_ASSOC);
|
||
if (count($bodaccHisto)>0) {
|
||
foreach ($bodaccHisto as $idx=>$ann) {
|
||
if ($tabCodeTri<>'' && $tabCodeTri<>@$ann['CODTRI']) $tabCodeTri=@$ann['CODTRI'];
|
||
//if ($siren==403119431) $tabRet['Activite'].="$idx(".$ann['CODEVE'].'):'.$ann['annonceTxt'].' / ';
|
||
if ( ($ann['CODEVE']<20) ||
|
||
($ann['CODEVE']>=30 && $ann['CODEVE']<42) ||
|
||
($ann['CODEVE']>=51 && $ann['CODEVE']<80) ) {
|
||
//Activite: r
|
||
if (preg_match('/(.*)Activit(?:e|é)(?:.|)\:(.*)(?:Adresse(?:.*|)|Commentaires?|Administration|Etablissement principal|Date d\'effet|Date.de.d.but d.activit.|Capital|Nom commercial)(?:.|)\:/Uis', $ann['annonceTxt'], $matches))
|
||
if (strpos(substr($matches[1],-20),'cess') === false &&
|
||
strpos(substr($matches[1],-20),'date') === false) {
|
||
$tabRet['Activite']=$matches[2];
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
$bodacc=$this->iDb->select('rncs_dirigeants',
|
||
"nom, prenom, fonction_lib as libelle, naissance_date, naissance_lieu, '' as rs, '' as dateEffet",
|
||
"siren=$siren AND fonction_lib NOT LIKE '%Administrateur%' ORDER BY actif DESC, fonction_lib DESC", true, MYSQL_ASSOC);
|
||
if (count($bodacc)>0) {
|
||
$k=1;
|
||
foreach ($bodacc as $ann) {
|
||
if ($tabInsee['CJ']>=7000 && $tabInsee['CJ']<=7999 &&
|
||
$ann['libelle']<>'Maire' &&
|
||
//$ann['libelle']<>'Premier Adjoint' &&
|
||
$ann['libelle']<>'Président' &&
|
||
$ann['libelle']<>'Directeur général') continue;
|
||
|
||
$tabRet['dir'.$k.'Titre']=$ann['libelle'];
|
||
$tabRet['dir'.$k.'NomPrenom']=$ann['rs'].' '.$ann['nom'].' '.$ann['prenom'];
|
||
$tabRet['dir'.$k.'DateFct']=$ann['dateEffet'];
|
||
$tabRet['dir'.$k.'DateNaiss']=$ann['dateNaiss'];
|
||
$tabRet['dir'.$k.'LieuNaiss']=$ann['lieuNaiss'];
|
||
if ($k==2) break;
|
||
$k++;
|
||
}
|
||
}
|
||
else {
|
||
$bodacc=$this->iDb->select('bodacc_dirigeants d, bodacc_detail b, bodacc_fonctions f',
|
||
'd.num, d.dateEffet, d.Rubrique, d.fonction, d.rs, d.nom, d.prenom, d.nomUsage, d.depart, d.dateInsert, f.libelle',
|
||
"b.SIREN=$siren AND b.id=d.id AND b.typeEven NOT BETWEEN 5000 AND 5700 AND b.typeEven NOT BETWEEN 2700 AND 2900 AND d.fonction=f.codeFct AND d.depart<>1 AND f.triCode IN ('ASS','COG','DID','DIR','GER','PCS','PDG','PRD','PRE','PRT','VIC') GROUP BY d.fonction, d.rs, d.nom, d.prenom ORDER BY d.dateEffet DESC", true, MYSQL_ASSOC);
|
||
//$annCap=@$bodacc[0];
|
||
if (count($bodacc)>0) {
|
||
$k=1;
|
||
foreach ($bodacc as $ann) {
|
||
$tabRet['dir'.$k.'Titre']=$ann['libelle'];
|
||
$tabRet['dir'.$k.'NomPrenom']=$ann['rs'].' '.$ann['nom'].' '.$ann['prenom'];
|
||
$tabRet['dir'.$k.'DateFct']=$ann['dateEffet'];
|
||
if ($k==2) break;
|
||
$k++;
|
||
}
|
||
}
|
||
}
|
||
/** Recherche du site Web ou Email dans le JO ASSO
|
||
**/
|
||
if ( ($tabRet['Web']=='' || $tabRet['Mail']=='') &&
|
||
($tabInsee['CJ']>90 && $tabInsee['CJ']<94 ||
|
||
$tabInsee['CJ']>9000 && $tabInsee['CJ']<9400) ) {
|
||
$siretMin=(''.$siren.'00000')*1;
|
||
$siretMax=(''.$siren.'99999')*1;
|
||
//$bodacc=$this->iDb->select( 'asso', 'Assoc_Web, Assoc_Mail', "Siret BETWEEN $siretMin AND $siretMax AND (Assoc_Web<>'' OR Assoc_Mail<>'') ORDER BY Date_Parution DESC LIMIT 0,1", true, MYSQL_ASSOC);
|
||
$bodacc=$this->iDb->select( 'asso', 'Assoc_Web, Assoc_Mail', "siren=$siren AND (Assoc_Web<>'' OR Assoc_Mail<>'') ORDER BY Date_Parution DESC LIMIT 0,1", true, MYSQL_ASSOC);
|
||
$annCap=@$bodacc[0];
|
||
if ($tabRet['Web']=='') $tabRet['Web']=trim($annCap['Assoc_Web']);
|
||
if ($tabRet['Mail']=='') $tabRet['Mail']=trim($annCap['Assoc_Mail']);
|
||
|
||
}
|
||
} else {
|
||
if ($etab['source']==3) {
|
||
$id=$etab['source_id'];
|
||
$bodacc=$this->iDb->select( 'asso', 'Activite, Sous_Prefecture, Assoc_Web, Assoc_Mail, Assoc_Objet, Assoc_Fusion, Assoc_Date_Declaration2', "id=$id", true, MYSQL_ASSOC);
|
||
$annCap=@$bodacc[0];
|
||
$tabRet['Activite'] = $annCap['Assoc_Objet'];
|
||
$tabRet['Web'] = $annCap['Assoc_Web'];
|
||
$tabRet['Mail'] = $annCap['Assoc_Mail'];
|
||
$tabRet['VilleDecl'] = $annCap['Sous_Prefecture'];
|
||
if ($tabRet['Actif']==0) {
|
||
$tabRet['DateClotEn'] = $annCap['Assoc_Date_Declaration2'];
|
||
$tabRet['DateClotEt'] = $annCap['Assoc_Date_Declaration2'];
|
||
} else {
|
||
$tabRet['DateCreaEt'] = $annCap['Assoc_Date_Declaration2'];
|
||
$tabRet['DateCreaEn'] = $annCap['Assoc_Date_Declaration2'];
|
||
}
|
||
}
|
||
}
|
||
|
||
if (@count($etabG)>0) {
|
||
// On initialise les dernères variables en prov. d'Infogreffes
|
||
$tabRet['DateClotEn'] = $etabG['DateRadiation'];
|
||
$tabRet['DateClotEt'] = $etabG['DateRadiation'];
|
||
$tabRet['DateCreaEt'] = $etabG['DateCreation'];
|
||
$tabRet['DateCreaEn'] = $etabG['DateCreation'];
|
||
$tabRet['FJ'] = $etabG['FJ'];
|
||
if ($etabG['FJ']==1900) {
|
||
$tabRet['dir1Titre']='PP';
|
||
$tabNom=explode(' ', $etabG['Nom']);
|
||
$tabNom[0]=strtoupper($tabNom[0]);
|
||
for($i=1; isset($tabNom[$i]); $i++)
|
||
if ($tabNom[$i]=='EPOUSE')
|
||
$tabNom[$i]='epouse';
|
||
elseif ($tabNom[$i-1]<>'epouse')
|
||
$tabNom[$i]=ucwords(strtolower($tabNom[$i]));
|
||
$tabRet['dir1NomPrenom']=implode(' ', $tabNom);
|
||
}
|
||
$tabRet['FJ_lib'] = $etabG['FJLib']; // prepareString($etab['FJLib']),
|
||
$tabRet['AutreId'] = $etabG['NumRC'];
|
||
/* 'Source'=>$etab['source'],
|
||
'SourceId'=>$etab['source_id'],*/
|
||
$tabRet['NafEtab'] = $etabG['NafEtab'];
|
||
$tabRet['NafEnt'] = $etabG['NafEnt'];
|
||
$tabRet['NafEntLib'] = $etabG['NafEntLib'];
|
||
$tabRet['NafEtabLib'] = $etabG['NafEtabLib'];
|
||
$tabRet['SiretSiege'] = $etabG['Siret'];
|
||
|
||
/*
|
||
'Dept'=>$tabInsee['ADR_DEP'],
|
||
'codeCommune'=>$tabInsee['ADR_COM'],
|
||
|
||
|
||
*/
|
||
}
|
||
if ($tabRet['Siege']==1 && $tabRet['Actif']) {
|
||
if ($tabRet['Tribunal']=='') $tabRet['Tribunal']=$tabCodeTri;
|
||
$tabRet['TribunalLib']=$this->iBodacc->getTribunalNom($tabRet['Tribunal']);
|
||
} else
|
||
$tabRet['Tribunal']='';
|
||
//if ($siren==447841354) $tabRet['Activite']='';
|
||
|
||
$rep=$this->iDb->select('rncs_entrep', 'siren, sirenValide, actif, numGreffe, triCode, triId, numRC, numRC2, raisonSociale, nom, prenom, nomUsage, sigle, dateNaiss, lieuNaiss, sexe, nationalite, pays, naf, cj, capitalMontant, capitalDevise, capitalDevIso, dateImma, dateRad, capitalType, capitalCent, provisoires, flux', "siren=$siren", false, MYSQL_ASSOC);
|
||
$entrep=$rep[0];
|
||
if (isset($entrep[0]['numGreffe'])) {
|
||
$tabRet['numGreffe'] = $entrep['numGreffe'];
|
||
$tabRet['numRC'] = $entrep['numRC2'];
|
||
$tabRet['nomLong'] = strtoupper($entrep['raisonSociale']);
|
||
$tabRet['sigleLong'] = strtoupper($entrep['sigle']);
|
||
$tabRet['dateImmat'] = $entrep['dateImma'];
|
||
$tabRet['dateRad'] = $entrep['dateRad'];
|
||
$tabRet['Capital'] = $entrep['capitalMontant']+($entrep['capitalCent']/100);
|
||
$tabRet['CapitalDev'] = $entrep['capitalDevIso'];
|
||
$tabRet['CapitalType'] = $entrep['capitalType'];
|
||
$fjInpi=$entrep['cj']*1;
|
||
if ($tabRet['FJ']*1<>$fjInpi) {
|
||
$tabRet['FJ2'] = $entrep['cj'];
|
||
$tabRet['FJ2_Lib'] = $this->getLibelleFJ($entrep['cj']);
|
||
}
|
||
if ($fjInpi>=1000 && $fjInpi<2000) {
|
||
$tabRet['dir1Titre']='PP';
|
||
$tabRet['dir1NomPrenom']=strtoupper($entrep['nom']).' '.ucwords(strtolower($entrep['prenom']));
|
||
$tabRet['dir1DateNaiss']=$entrep['dateNaiss'];
|
||
$tabRet['dir1LieuNaiss']=$entrep['lieuNaiss'];
|
||
}
|
||
$tabRet['DateMajRCS'] = $entrep['flux'];
|
||
}
|
||
|
||
$rep=$this->iDb->select('bilans', 'siren, dateExercice, dureeExercice, monnaie, typeBilan, unite, postes', "siren=$siren AND typeBilan='N' ORDER BY dateExercice DESC", false, MYSQL_ASSOC);
|
||
$entrep=$rep[0];
|
||
if (isset($entrep[0]['dateExercice'])) {
|
||
$tabRet['bilanDate'] = $entrep['dateExercice'];
|
||
$tabRet['bilanMois'] = $entrep['dureeExercice'];
|
||
$tabRet['bilanDevise'] = $entrep['monnaie'];
|
||
switch (strtoupper(trim($entrep['unite']))) {
|
||
case 'M': $coef=1000000; break;
|
||
case 'K': $coef=1000; break;
|
||
default: $coef=1; break;
|
||
}
|
||
$tabTmp=explode(';', $entrep['postes']);
|
||
$tabRet['bilanDA'] = $tabTmp['DA']*coef;
|
||
$tabRet['bilanFL'] = $tabTmp['FL']*coef;
|
||
$tabRet['bilanHN'] = $tabTmp['HN']*coef;
|
||
$tabRet['bilanYP'] = $tabTmp['YP'];
|
||
}
|
||
|
||
return $tabRet;
|
||
}
|
||
|
||
function getDirigeants($siren, $histo=true) {
|
||
$siren=$siren*1;
|
||
$tabRet=array();
|
||
|
||
if ($histo) {
|
||
$bodacc=$this->iDb->select(
|
||
'bodacc_dirigeants d, bodacc_detail b, bodacc_fonctions f',
|
||
'd.num, d.dateEffet, d.Rubrique, d.fonction, d.rs, d.nom, d.prenom, d.nomUsage, d.depart, d.dateInsert, f.libelle',
|
||
"b.SIREN=$siren AND b.id=d.id AND b.typeEven NOT BETWEEN 5000 AND 5700 AND b.typeEven NOT BETWEEN 2700 AND 2900 AND d.fonction=f.codeFct GROUP BY d.fonction, d.rs, d.nom, d.prenom ORDER BY d.dateEffet DESC, d.fonction DESC", true, MYSQL_ASSOC);
|
||
if (count($bodacc)>0) {
|
||
foreach ($bodacc as $k=>$ann) {
|
||
$tabRet[]=array( 'Titre'=>$ann['libelle'],
|
||
'Societe'=>$ann['rs'],
|
||
'Nom'=>trim(strtr($ann['nom'], array( "Modification d'"=>'',
|
||
"Modification de"=>'',
|
||
"Nomination d'un"=>'',
|
||
))),
|
||
'Prenom'=>$ann['prenom'],
|
||
'Ancien'=>$ann['depart'],
|
||
'DateFct'=>$ann['dateEffet'],
|
||
);
|
||
}
|
||
}
|
||
$iDbHisto=new WDB('historiques');
|
||
$iBodacc=new MBodacc();
|
||
$bodaccHisto=$iDbHisto->select(
|
||
'entrep e, texte x',
|
||
'e.ANBASE, e.NOBOD, e.CODTRI, e.JAL, e.DATE, e.CODEVE, e.SSCODE, e.DEPT, e.NOANN, e.ROLE, e.SIREN, e.E1GSIR, e.E1GNIC, x.annonceNum, x.annonceTxt',
|
||
"e.E1GSIR=$siren AND e.ANBASE=x.annonceNum AND e.DATE BETWEEN 19960101 AND 20050101 AND x.annonceTxt LIKE '%Administration%' GROUP BY e.ANBASE ORDER BY e.DATE DESC", true, MYSQL_ASSOC);
|
||
if (count($bodaccHisto)>0) {
|
||
foreach ($bodaccHisto as $ann) {
|
||
if ( ($ann['CODEVE']<20) ||
|
||
($ann['CODEVE']>=30 && $ann['CODEVE']<42) ||
|
||
($ann['CODEVE']>=51 && $ann['CODEVE']<80) ) {
|
||
if (preg_match('/Administration(?:.|)\:(.*)(?:Adresse.*|Commentaires?|Activit(?:e|é)|Etablissement principal|Date d\'effet|Date.de.d.but d.activit.)(?:.|)\:/Uis', $ann['annonceTxt'], $matches)) {
|
||
$tabAdministration=$iBodacc->getDirigeants($matches[1]);
|
||
foreach ($tabAdministration as $tabDir) {
|
||
/* $tabDir['num']=$numDir;
|
||
$tabDir['dateEffet']=$dateEffet;
|
||
$tabDir['id']=$idAnnRet;
|
||
$tabDir['Rubrique']='mmd';
|
||
$tabDir['dateInsert']=$dateInsert;
|
||
//'fonction'=>$numFonction, 'rs'=>trim(str_replace(',','',$raisonSociale)), 'nom'=>$nom, 'prenom'=>$prenom, 'nomUsage'=>$usage, 'depart'=>$oldFonction);
|
||
|
||
*/
|
||
$nom=trim(strtr(preg_replace('/ +/',' ', $tabDir['nom']),
|
||
array( "Modification d'"=>'',
|
||
"Modification"=>'',
|
||
"Modification de"=>'',
|
||
"Nomination d'un"=>'',
|
||
"Nomination en qualité d'"=>'',
|
||
"Nomination en qualité de"=>'',
|
||
"dont le est"=>'',
|
||
"nouvel"=>'',
|
||
"partant"=>'',
|
||
"ancien d'honneur"=>'',
|
||
"nouveaux"=>'',
|
||
"nouveau"=>'',
|
||
"ancien"=>'',
|
||
"Nouveau"=>'',
|
||
"Cette société se constitue Date de début d'"=>'',
|
||
)));
|
||
if ($nom<>'')
|
||
$tabRet[]=array( 'Titre'=>$iBodacc->getFctDir($tabDir['fonction']),//.' ('.$tabDir['fonction'].')',
|
||
'Societe'=>$tabDir['rs'],
|
||
'Nom'=>$nom,
|
||
'Prenom'=>$tabDir['prenom'],
|
||
'Ancien'=>$tabDir['depart'],
|
||
'DateFct'=>Wdate::dateT('Ymd','Y-m-d', $ann['DATE']),
|
||
);
|
||
}
|
||
//break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!$histo || ($histo && count($tabRet)==0) ) {
|
||
$dirs=$this->iDb->select(
|
||
'rncs_dirigeants/* d, bodacc_fonctions f*/',
|
||
'siren, raisonSociale, civilite, nom, prenom, naissance_nom, naissance_date, naissance_lieu, fonction_code, fonction_lib, cinf /*f.libelle*/',
|
||
"siren=$siren /*AND d.fonction_code=f.codeFct*/ AND actif%10=1", true, MYSQL_ASSOC);
|
||
|
||
foreach ($dirs as $k=>$dir) {
|
||
if ($dir['naissance_date']<>'0000-00-00')
|
||
$dateNaiss=Wdate::dateT('Y-m-d','d/m/Y', $dir['naissance_date']);
|
||
else
|
||
$dateNaiss='';
|
||
$tabRet[]=array( 'Titre' =>$dir['fonction_lib'],
|
||
'Societe' =>'',//utf8_encode($dir['Societe']),
|
||
'Civilite' =>$dir['civilite'],
|
||
'Nom' =>trim($dir['nom']),
|
||
'Prenom' =>$dir['prenom'],
|
||
'NaissDate' =>$dateNaiss,
|
||
'NaissVille' =>$dir['naissance_lieu'],
|
||
'NaissDepPays' =>'', // 25
|
||
'Ancien' =>0,
|
||
'DateFct' =>'',
|
||
'Cinf' =>$dir['cinf'],
|
||
);
|
||
}
|
||
}
|
||
|
||
if (count($tabRet)==0) {
|
||
$dirs=$this->iDb->select(
|
||
'rncs_dirigeants/* d, bodacc_fonctions f*/',
|
||
'siren, raisonSociale, civilite, nom, prenom, naissance_nom, naissance_date, naissance_lieu, fonction_code, fonction_lib, cinf, /*f.libelle*/ date(dateUpdate)*1 as dateUpdate',
|
||
"siren=$siren /*AND d.fonction_code=f.codeFct*/ AND actif%10=0 ORDER BY dateUpdate DESC", true, MYSQL_ASSOC);
|
||
$dateUpdatePre=$dirs[0]['dateUpdate'];
|
||
foreach ($dirs as $k=>$dir) {
|
||
if ($dir['naissance_date']<>'0000-00-00')
|
||
$dateNaiss=Wdate::dateT('Y-m-d','d/m/Y', $dir['naissance_date']);
|
||
else
|
||
$dateNaiss='';
|
||
if ($dir['dateUpdate']<>$dateUpdatePre) break;
|
||
$tabRet[]=array( 'Titre' =>$dir['fonction_lib'],
|
||
'Societe' =>'',//utf8_encode($dir['Societe']),
|
||
'Civilite' =>$dir['civilite'],
|
||
'Nom' =>trim($dir['nom']),
|
||
'Prenom' =>$dir['prenom'],
|
||
'NaissDate' =>$dateNaiss,
|
||
'NaissVille' =>$dir['naissance_lieu'],
|
||
'NaissDepPays' =>'', // 25
|
||
'Ancien' =>1,
|
||
'DateFct' =>'',
|
||
'Cinf' =>$dir['cinf'],
|
||
);
|
||
$dateUpdatePre=$dir['dateUpdate'];
|
||
}
|
||
}
|
||
|
||
if (count($tabRet)==0) { // ACCES DIRECT A EURIDILE
|
||
if ($siren<001000000) $siren='000'.$siren;
|
||
elseif ($siren<010000000) $siren='00'.$siren;
|
||
elseif ($siren<100000000) $siren='0'.$siren;
|
||
|
||
include_once(INCLUDE_PATH.'partenaires/classMRncsFlux.php');
|
||
|
||
$rncs=new MRncsFlux();
|
||
$tabIdentite=$rncs->getIdentite($siren);
|
||
$etab=$this->getIdentiteEntreprise($siren);
|
||
|
||
foreach ($tabIdentite['Dirigeants'] as $nb=>$dir) {
|
||
if ($dir['ReprNom']<>'') {
|
||
$dirType='PM';
|
||
$dirRS=$dir['Nom'];
|
||
$dirNom=$dir['ReprNom'];
|
||
$dirPrenom=trim($dir['ReprPrenom'].' '.$dir['ReprPrenom2']);
|
||
} else {
|
||
$dirType='PP';
|
||
$dirNom=$dir['Nom'];
|
||
$dirPrenom=trim($dir['Prenom'].' '.$dir['Prenom2']);
|
||
}
|
||
$tabRet[]=array( 'Titre' =>$dir['FoncLib'],//utf8
|
||
'Societe' =>$dirRS,
|
||
'Civilite' =>$dir['Sexe'],
|
||
'Nom' =>$dirNom,
|
||
'Prenom' =>$dirPrenom,
|
||
'NaissDate' =>$dir['NaissDate'],// 07/09/1961
|
||
'NaissVille' =>$dir['NaissLieu'], // LE RUSSEY
|
||
'NaissDepPays' =>$dir['NaissDept'],
|
||
'Ancien' =>0,
|
||
'DateFct' =>'',
|
||
);/*dirSiren*/
|
||
$this->iDb->insert('rncs_dirigeants', array('siren' => $siren,
|
||
'raisonSociale' => $etab['Nom'],
|
||
'civilite' => $dir['Sexe'],//enum('M', 'MME', 'MLLE')
|
||
'typeDir' => $dirType,
|
||
'dirRS' => $dirRS,
|
||
'nom' => $dirNom,
|
||
'prenom' => $dirPrenom,
|
||
'naissance_nom' => $dir['NomJF'],
|
||
'naissance_date'=> Wdate::dateT('d/m/Y', 'Y-m-d', $dir['NaissDate']),// 07/09/1961
|
||
'naissance_lieu'=> $dir['NaissLieu'],
|
||
'nat' => $dir['NaissNati'],
|
||
'fonction_code' => $dir['FoncSD'], //OK
|
||
'fonction_lib' => $dir['FoncLib'], //OK
|
||
'actif' => 1, //OK
|
||
'dateInsert' => date('YmdHis'), //OK
|
||
'source' => 'rcs', //OK
|
||
), true);
|
||
} /* 'Fonc' => $dir[1][$i],
|
||
'FoncLib' => $this->tabFctDir[$dir[1][$i]],
|
||
'Sexe' => $dir[2][$i],
|
||
'Nom' => $dir[3][$i],
|
||
'Prenom' => $dir[4][$i],
|
||
'Prenom2' => $dir[5][$i],
|
||
'NomJF' => $dir[6][$i],
|
||
'NaissDept' => $dir[7][$i],
|
||
'NaissLieu' => $dir[8][$i],
|
||
'NaissNati' => $dir[9][$i],
|
||
'NaissDate' => $dir[11][$i],
|
||
'ReprNom' => $dir[12][$i],
|
||
'ReprPrenom' => $dir[13][$i],
|
||
'ReprPrenom2' => $dir[14][$i],
|
||
*/
|
||
}
|
||
|
||
if (count($tabRet)==0) {
|
||
|
||
if ($tabIdentite['FJ']*1>1000 && $tabIdentite['FJ']*1<2000) {
|
||
$tabTmp=explode(' ', $tabIdentite['Nom']);
|
||
$nom=$prenom='';
|
||
foreach ($tabTmp as $mot)
|
||
if (strtoupper($mot)==$mot)
|
||
$nom.=' '.$mot;
|
||
else
|
||
$prenom.=' '.$mot;
|
||
if ($etab['Civilite']*1==1) { $genre='Monsieur '; $civilite='M'; }
|
||
elseif ($etab['Civilite']*1==2) { $genre='Madame '; $civilite='MME'; }
|
||
else { $genre=''; $civilite=''; }
|
||
|
||
$tabTmp=$this->iDbInsee->select('identite', 'SIREN, CJ, CIVILITE, DIR_DATEN, DIR_LIEUN',
|
||
"SIREN=$siren AND (DIR_DATEN>0 OR DIR_LIEUN<>'') ORDER BY DIR_DATEN DESC, DIR_LIEUN DESC",
|
||
false, MYSQL_ASSOC);
|
||
$tabTmp=@$tabTmp[0];
|
||
|
||
$tabRet[]=array( 'Titre' =>'Personne physique',
|
||
'Societe' =>'',//utf8_encode($dir['Societe']),
|
||
'Civilite' =>$civilite,
|
||
'Nom' =>trim($nom),
|
||
'Prenom' =>trim($prenom),
|
||
'NaissDate' =>Wdate::dateT('Ymd', 'd/m/Y', $tabTmp['DIR_DATEN']),// 07/09/1961
|
||
'NaissVille' =>$tabTmp['DIR_LIEUN'], // LE RUSSEY//,
|
||
'NaissDepPays' =>'', // 25
|
||
'Ancien' =>0,
|
||
'DateFct' =>$tabIdentite['DateCrea'],//$tabIdentite['DateImma'],
|
||
);
|
||
$this->iDb->insert('rncs_dirigeants', array('siren' => $siren,
|
||
'raisonSociale' => $etab['Nom'],
|
||
'civilite' => $civilite,
|
||
'nom' => trim($nom),
|
||
'prenom' => trim($prenom),
|
||
'naissance_nom' => '',
|
||
'naissance_date'=> $tabTmp['DIR_DATEN'],
|
||
'naissance_lieu'=> $tabTmp['DIR_LIEUN'],
|
||
'fonction_code' => 1050,
|
||
'fonction_lib' => 'Personne physique',
|
||
'actif' => 1,
|
||
'dateInsert' => date('YmdHis'),
|
||
'source' => 'inp',
|
||
), true);
|
||
} /*elseif ($tabIdentite['FJ']*1>1999) {
|
||
return false;
|
||
}*/
|
||
}
|
||
|
||
/* ///ICI///
|
||
if (count($tabRet)==0) { // ACCES DIRECT A EURIDILE
|
||
if ($siren<001000000) $siren='000'.$siren;
|
||
elseif ($siren<010000000) $siren='00'.$siren;
|
||
elseif ($siren<100000000) $siren='0'.$siren;
|
||
|
||
$rncs=new MEuridile();
|
||
$tab=$rncs->getInfosDisponbiles($siren);
|
||
if ($tab['erreur']=='') {
|
||
$tabTmp=$rncs->getIdentite($siren);
|
||
$etab=$this->getIdentiteEntreprise($siren);
|
||
if ($tabTmp['sexe']<>'') {
|
||
$civilite='';
|
||
if ($tabTmp['sexe']=='Masculin') { $genre='Monsieur '; $civilite='M'; }
|
||
elseif ($tabTmp['sexe']=='Féminin') { $genre='Madame '; $civilite='MME'; }
|
||
else $genre=$tabTmp['sexe'];//, 'MLLE'
|
||
$tabRet[]=array( 'Titre' =>'Personne physique',
|
||
'Societe' =>'',//utf8_encode($dir['Societe']),
|
||
'Nom' =>$genre . $tabTmp['nom'],
|
||
'Prenom' =>'',
|
||
'NaissDate' =>$tabTmp['naiss_date'],// 07/09/1961
|
||
'NaissVille' =>$tabTmp['naiss_ville'], // LE RUSSEY
|
||
'NaissDepPays' =>'', // 25
|
||
'Ancien' =>0,
|
||
'DateFct' =>$tabTmp['date_imma'],
|
||
);
|
||
$this->iDb->insert('rncs_dirigeants', array('siren' => $siren,
|
||
'raisonSociale' => $etab['Nom'],
|
||
'civilite' => $civilite,
|
||
'nom' => $tabTmp['nom'],
|
||
'prenom' => '',
|
||
'naissance_nom' => '',
|
||
'naissance_date'=> Wdate::dateT('d/m/Y', 'Y-m-d', $tabTmp['naiss_date']),// 07/09/1961
|
||
'naissance_lieu'=> $tabTmp['naiss_ville'],
|
||
'fonction_code' => 1050,
|
||
'fonction_lib' => 'Personne physique',
|
||
'actif' => 1,
|
||
'dateInsert' => date('YmdHis'),
|
||
'source' => 'eur',
|
||
), true);
|
||
}
|
||
else {
|
||
foreach ($tabTmp['dirigeants'] as $nb=>$dir) {/*
|
||
[] => Associ?-g?rant*slash
|
||
//debugLog('I', "Siren/Siret $siren trouvé : ".$etab['Siren'].' '.$etab['Nic'].', '.$etab['Nom'] .', '.$etab['CP'].', '.$etab['Ville'], __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||
$tabRet[]=array( 'Titre' =>$dir['fonction'],//utf8
|
||
'Societe' =>'',//utf8_encode($dir['Societe']),
|
||
'Nom' =>trim(strtr($dir['nom'],
|
||
array("Modification d'"=>'', "Modification de"=>'', '.'=>''))),
|
||
'Prenom' =>$dir['prenom'],
|
||
'NaissDate' =>$dir['naiss_date'],// 07/09/1961
|
||
'NaissVille' =>$dir['naiss_ville'], // LE RUSSEY
|
||
'NaissDepPays' =>'',//$dir['naiss_depPays'], // 25
|
||
'Ancien' =>0,
|
||
'DateFct' =>'',
|
||
);
|
||
$this->iDb->insert('rncs_dirigeants', array('siren' => $siren,
|
||
'raisonSociale' => $etab['Nom'],
|
||
'civilite' => '',
|
||
'nom' => $dir['nom'],
|
||
'prenom' => $dir['prenom'],
|
||
'naissance_nom' => $dir['naiss_nom'],
|
||
'naissance_date'=> Wdate::dateT('d/m/Y', 'Y-m-d', $dir['naiss_date']),// 07/09/1961
|
||
'naissance_lieu'=> $dir['naiss_ville'],
|
||
'fonction_code' => 0,
|
||
'fonction_lib' => $dir['fonction'],
|
||
'actif' => 1,
|
||
'dateInsert' => date('YmdHis'),
|
||
'source' => 'eur',
|
||
), true);
|
||
}
|
||
}
|
||
}
|
||
}*/
|
||
|
||
return $tabRet;
|
||
}
|
||
|
||
function getAnnoncesLegales($siren, $idAnnonce=0, $rubrique='', $forceVerif=false) {// rubrique = P R A (Procol Rad ou Absorbée / A venir Vendue)
|
||
$siren=$siren*1;
|
||
$strIdAnn='';
|
||
$tabRet=array();
|
||
$procol=false; // Par défaut, on ne trouve pas de procédure collective !
|
||
|
||
if ($idAnnonce>0) $strIdAnn=" AND d.id=$idAnnonce ";
|
||
elseif ($idAnnonce==0 && $siren<100) return $tabRet;
|
||
|
||
if ($rubrique=='P') // Procédure collective
|
||
$strIdAnn=" AND d.Rubrique='procol' AND d.typeEven NOT LIKE '%1550%' ";
|
||
elseif ($rubrique=='D') // Dissolution de la société
|
||
$strIdAnn=" AND (d.typeEven LIKE '%2202%' OR d.typeEven LIKE '%2203%' OR d.typeEven LIKE '%2204%' OR
|
||
d.typeEven LIKE '%2211%' OR d.typeEven LIKE '%2212%') ";
|
||
elseif ($rubrique=='A') // Absorption
|
||
$strIdAnn=" AND (d.typeEven LIKE '%2720%' OR d.typeEven LIKE '%2721%') ";
|
||
elseif ($rubrique=='C') // Dépôt des comptes
|
||
$strIdAnn=" AND (d.Rubrique='comptes' OR d.typeEven LIKE '%3100%' OR d.typeEven LIKE '%3200%'
|
||
OR d.typeEven LIKE '%3300%' OR d.typeEven LIKE '%3999%') ";
|
||
//elseif ($rubrique=='R') $strIdAnn=" AND d.Rubrique='radiations' ";
|
||
//elseif ($rubrique=='V') $strIdAnn=" AND d.Rubrique='ventes' ";
|
||
|
||
if ($rubrique<>'' && $rubrique<>'P' && $rubrique<>'D' && $rubrique<>'A' && $rubrique<>'C')// && $rubrique<>'R'
|
||
return false;
|
||
|
||
if ($idAnnonce==0 || $idAnnonce>=1) { /** On recherche dans les annonces récentes **/
|
||
$groupBy=' ';
|
||
$strCle='1 ';
|
||
if ($siren<>0) $strCle ="d.siren=$siren ";
|
||
else $groupBy=' GROUP BY d.id ';
|
||
$bodacc=$this->iDb->select(
|
||
'bodacc_detail d, bodacc b, tribunaux t',//.codEven Code évènement du mouvement Bodacc libEven ',
|
||
'b.id, b.Bodacc_Code, b.Bodacc_Annee_Parution, b.Bodacc_Num, b.Num_Annonce, b.Bodacc_Date_Parution, b.Tribunal_Dept, b.Tribunal_Code, d.Rubrique, b.typeAnnonce, b.corrNum_Annonce, b.corrBodacc_Date_Parution, b.corrPage, b.corrNumParution, b.corrTexteRectificatif, b.annonce, b.dateInsert, t.triCode, t.triNom, t.triSiret, d.typeEven, d.dateEffet, d.dateDebutActivite, d.dateCessationActivite, d.dateJugement',
|
||
"$strCle AND d.id=b.id AND b.Tribunal_Code=t.triCode $strIdAnn $groupBy ORDER BY b.Bodacc_Date_Parution DESC", true, MYSQL_ASSOC);
|
||
$k=0;
|
||
if (count($bodacc)>0) {
|
||
foreach ($bodacc as $k=>$ann) {
|
||
$tabEven=explode(';', $ann['typeEven']);
|
||
$tabRetEven=array();
|
||
if ($ann['typeAnnonce']<>'Insertion')//BODACC n°002 A du 04/01/2006.
|
||
$tabRetEven[]=array('CodeEven'=>'0000',
|
||
'LibEven'=> $ann['typeAnnonce'].' de l\'annonce './*n°'.
|
||
$ann['corrNum_Annonce'].' BODACC n°'.
|
||
$ann['corrNumParution'].*/' du '.
|
||
WDate::dateT('Y-m-d','d/m/Y',$ann['corrBodacc_Date_Parution'])/*.' (page '.
|
||
$ann['corrPage'].')'*/);
|
||
else {
|
||
if (trim($ann['typeEven'])<>'') {
|
||
foreach ($tabEven as $even)
|
||
$tabRetEven[]=array('CodeEven'=>$even,'LibEven'=>$this->iBodacc->getEvenement($even));
|
||
}
|
||
else {
|
||
switch ($ann['Rubrique']) {
|
||
case 'mmd': $codeEven='2313'; $libEven='Modification(s) diverse(s)'; break;
|
||
case 'comptes': $codeEven='3999'; $libEven='Dépôt des comptes'; break;
|
||
case 'creations': $codeEven='4999'; $libEven='Création d\'entreprise'; break;
|
||
case 'procol': $codeEven='1999'; $libEven='Procédure collective'; break;
|
||
case 'radiations': $codeEven='6700'; $libEven='Radiation'; break;
|
||
case 'ventes': $codeEven='5999'; $libEven='Vente/Cession'; break;
|
||
default: $codeEven='0000'; $libEven=$ann['Rubrique']; break;
|
||
}
|
||
$tabRetEven[]=array('CodeEven'=>$codeEven,'LibEven'=>$libEven);
|
||
}
|
||
}
|
||
|
||
if ($ann['Rubrique']=='procol') $procol=true;
|
||
|
||
$tabRet[$k]=array( 'id'=>$ann['id'],
|
||
'BodaccCode'=>'BOD'.$ann['Bodacc_Code'],
|
||
'BodaccNum'=>$ann['Bodacc_Num'],
|
||
'NumAnnonce'=>$ann['Num_Annonce'],
|
||
'DateParution'=>$ann['Bodacc_Date_Parution'],
|
||
'Departement'=>$ann['Tribunal_Dept'],
|
||
'Tribunal'=>$ann['triNom'],
|
||
'TribunalSiret'=>$ann['triSiret'],
|
||
'Rubrique'=>$ann['Rubrique'],
|
||
'typeAnnonce'=>$ann['typeAnnonce'],
|
||
'texteRectificatif'=>$ann['corrTexteRectificatif'],
|
||
// 'texteAnnonce'=>$ann['annonce'],
|
||
'dateEffet'=>$ann['dateEffet'],
|
||
'dateJugement'=>$ann['dateJugement'],
|
||
/// d.dateDebutActivite, d.dateCessationActivite, d.dateJugement',
|
||
'dateInsertionSD'=>$ann['dateInsert'],
|
||
'evenements'=>$tabRetEven,
|
||
);
|
||
if ($idAnnonce<>0) $tabRet[$k]['texteAnnonce']=$ann['annonce'];
|
||
}
|
||
}
|
||
}
|
||
|
||
if ($idAnnonce==0 || $idAnnonce<0) { /** On recherche dans les annonces passées **/
|
||
$iDbHisto=new WDB('historiques');
|
||
$tabTmp=array( 10=>'4000', // Création d'entreprise
|
||
11=>'4000',
|
||
13=>'4000',
|
||
14=>'4000',
|
||
15=>'4000',
|
||
16=>'4000',
|
||
17=>'4200', // Création d'établissement
|
||
18=>'4200',
|
||
19=>'4200',
|
||
20=>'5999', // ou 5700 en fonction du code xxx
|
||
21=>'5999',
|
||
22=>'5999',
|
||
24=>'5999',
|
||
25=>'5999',
|
||
30=>'2500', // Confirmation Ets
|
||
31=>'2318',
|
||
32=>'2318',
|
||
33=>'2318',
|
||
34=>'2318',
|
||
35=>'2318',
|
||
36=>'2318',
|
||
37=>'2800', // Loc. Gérance recue
|
||
38=>'2860', // Loc. Gérance donnée
|
||
39=>'2318',
|
||
40=>'6700', // Radiation
|
||
41=>'2202', // Dissolution
|
||
42=>'2885', // Fin location gérance
|
||
51=>'1209', // Règlement Judiciaire
|
||
52=>'1200', // Redressement Judiciaire
|
||
53=>'1207', // Règlemement amiable
|
||
//53=> Conciliation ????????????????????????????????????????
|
||
56=>'1310', // Procédure d'Insolvabilité Européenne
|
||
57=>'1100', // Jugement de sauvegarde
|
||
58=>'1101', // Plan de sauvegarde
|
||
59=>'1506', // Rectif ou Annulation RJ
|
||
60=>'1305', // Redr.& liq.Judiciaire
|
||
61=>'1603', // Liquidation de Biens
|
||
62=>'1305',
|
||
63=>'1600', // Faillite personnelle
|
||
64=>'1601', // Interdiction de gérer
|
||
65=>'1305',
|
||
66=>'1306', // Liquidation Judiciaire Simplifiée
|
||
69=>'1506',//Rectif ou Annul.LJ
|
||
70=>'1550', // Suites de jugements
|
||
71=>'1550', // Suite reglement/L
|
||
72=>'1550', // Suite redressement/L
|
||
73=>'1550', // Susp.Provis.pours. ?????????????????????????????????????????
|
||
74=>'1505', // Appel de jugement
|
||
75=>'1407', // Modif. de Plan
|
||
76=>'1502', // Extinction Passif
|
||
77=>'1210', // Production
|
||
78=>'1204', // Dépôt des créances
|
||
79=>'1503', // Cloture insuf.Actif
|
||
92=>'1450', //Cessation paiement ??
|
||
);
|
||
|
||
if ($idAnnonce<0) {
|
||
$idAnnonce=abs($idAnnonce);
|
||
$strIdAnn=" AND e.ANBASE=$idAnnonce ";
|
||
}
|
||
if ($rubrique=='P') $strIdAnn=" AND e.CODEVE BETWEEN 50 AND 79 AND e.DATE>=".((date('Y')*1)-12).''.date('md');
|
||
//elseif ($rubrique=='R') $strIdAnn=" AND e.CODEVE BETWEEN 40 AND 42 ";
|
||
elseif ($rubrique=='D' || $rubrique=='A')
|
||
return $tabRet;
|
||
$bodaccHisto=$iDbHisto->select(
|
||
'entrep e, texte x, tribunaux t',//.codEven Code évènement du mouvement Bodacc libEven ',
|
||
'e.ANBASE, e.NOBOD, e.CODTRI, e.JAL, e.DATE, e.CODEVE, e.SSCODE, e.DEPT, e.NOANN, e.ROLE, e.SIREN, e.E1GSIR, e.E1GNIC, x.annonceNum, x.annonceTxt, t.triNom, t.triSiret',
|
||
"e.E1GSIR=$siren AND e.ANBASE=x.annonceNum AND e.CODTRI=t.triCode $strIdAnn AND e.DATE BETWEEN 19960101 AND 20041231 GROUP BY e.ANBASE ORDER BY e.DATE DESC", true, MYSQL_ASSOC);
|
||
if (count($bodaccHisto)>0) {
|
||
foreach ($bodaccHisto as $ann) {
|
||
$k++;
|
||
//if ($ann['DATE']<19920101) break;
|
||
//if ($ann['DATE']>20051231) continue;
|
||
if ($ann['JAL']==1) $Bodacc_Code='BODA';
|
||
elseif ($ann['JAL']==200) $Bodacc_Code='BODB';
|
||
|
||
if ($ann['CODEVE']>49 && $ann['CODEVE']<80) $procol=true;
|
||
|
||
if ($ann['CODEVE']<20) $rub='creations'; // 4xxx
|
||
elseif ($ann['CODEVE']<=25) $rub='ventes'; // 5xxx
|
||
elseif ($ann['CODEVE']<40) $rub='mmd'; // 2xxx
|
||
elseif ($ann['CODEVE']<42) $rub='radiations'; // 6xxx
|
||
elseif ($ann['CODEVE']<50) $rub='mmd'; // 2xxx
|
||
elseif ($ann['CODEVE']<80) $rub='procol'; // 1xxx
|
||
|
||
$tabRet[$k]=array( 'id'=>-$ann['ANBASE'],
|
||
'BodaccCode'=>$Bodacc_Code,
|
||
'BodaccNum'=>$ann['NOBOD'],
|
||
'NumAnnonce'=>$ann['NOANN'],
|
||
'DateParution'=>substr($ann['DATE'],0,4).'-'.substr($ann['DATE'],4,2).'-'.substr($ann['DATE'],6,2),
|
||
'Departement'=>$ann['DEPT'],
|
||
'Tribunal'=>$ann['triNom'],
|
||
'TribunalSiret'=>$ann['triSiret'],
|
||
'Rubrique'=>$rub,
|
||
'typeAnnonce'=>'Insertion',/** @todo à GERER $ann['SSCODE'],**/
|
||
//'texteRectificatif'=>$ann['corrTexteRectificatif'],
|
||
// 'texteAnnonce'=>$ann['annonceTxt'],
|
||
'dateEffet'=>$ann['DATE'],
|
||
'dateJugement'=>$ann['DATE'],
|
||
'dateInsertionSD'=>'',
|
||
'evenements'=>array(array('CodeEven'=>$tabTmp[$ann['CODEVE']],'LibEven'=>$this->iBodacc->getEvenement($tabTmp[$ann['CODEVE']]))),
|
||
);
|
||
if ($idAnnonce<>0) $tabRet[$k]['texteAnnonce']=$ann['NOANN'].' - '.$ann['annonceTxt'];
|
||
}
|
||
}
|
||
}
|
||
// On ne cherche pas de PROCOL + récente si on est en visualisation d'annonce Bodacc Classique
|
||
if ($idAnnonce>=1 || $idAnnonce<0) return $tabRet;
|
||
|
||
// Si je n'ai pas d'annonce Bodacc de procol on vérifie dans la table de collecte
|
||
// Si annonce Bodacc de Procol et pas de Vérif Forcée chez un partenaire alors on affiche la collecte
|
||
/* if (!$procol || ($procol && !$forceVerif)) {*/
|
||
$tabTmp=$this->getProColPart($siren, $rubrique, $forceVerif, $idAnnonce);
|
||
$tabRet=array_merge($tabTmp, $tabRet);
|
||
// }
|
||
|
||
return $tabRet;
|
||
}
|
||
|
||
function getAnnoncesBalo($siren, $idAnnonce=0) {
|
||
$siren=$siren*1;
|
||
|
||
if ($siren<001000000) $siren='000'.$siren;
|
||
elseif ($siren<010000000) $siren='00'.$siren;
|
||
elseif ($siren<100000000) $siren='0'.$siren;
|
||
|
||
$strIdAnn='';
|
||
$tabRet=array();
|
||
|
||
if ($idAnnonce>0) {
|
||
//$idBalo=//.$tabBalo['Num_Affaire'].','.$tabBalo['Num_Parution'];
|
||
$tmp=explode('.', $idAnnonce);
|
||
//if (strlen($tmp[0])==9 && is_numeric($tmp[0])) $rcs=$tmp[0];
|
||
if (is_numeric($tmp[0])) $num=$tmp[0];
|
||
if (is_numeric($tmp[1])) $par=$tmp[1];
|
||
//$idBaloPdf=basename($tabBalo['Url_Annonce_Pdf']);
|
||
$strIdAnn=" AND Num_Affaire='$num' AND Num_Parution='$par' ";
|
||
//$idAnnonce
|
||
}
|
||
|
||
$mBalo=new MBalo();
|
||
|
||
$bodacc=$this->iDb->select('balo', "Societe_Rcs, Categorie, Num_Affaire, Date_Parution, Num_Parution, Url_Annonce_Html, Url_Annonce_Pdf, Annonce_Html, dateInsert", "Societe_Rcs='$siren' AND Date_Parution>='2004-01-01' $strIdAnn ORDER BY Date_Parution DESC, Num_Affaire", true, MYSQL_ASSOC);
|
||
// $RP=mysql_select('balo', " ", "Societe_Rcs='$rcs' ");
|
||
$k=0;
|
||
if (count($bodacc)>0) {
|
||
foreach ($bodacc as $k=>$ann) {
|
||
$tabRetEven=array();
|
||
$tabRetEven[]=array('CodeEven'=>$mBalo->getLibEven($ann['Categorie']),
|
||
'LibEven'=> $ann['Categorie']);
|
||
|
||
$tabRet[$k]=array( 'id'=>$ann['Num_Affaire'].'.'.$ann['Num_Parution'],
|
||
'BodaccCode'=>'BALO',
|
||
'BodaccNum'=>$ann['Num_Parution'],
|
||
'NumAnnonce'=>$ann['Num_Affaire'],
|
||
'DateParution'=>$ann['Date_Parution'],
|
||
//'Departement'=>'',$ann['Tribunal_Dept'],
|
||
//'Tribunal'=>$ann['triNom'],
|
||
//'TribunalSiret'=>$ann['triSiret'],
|
||
//'Rubrique'=>$ann['Rubrique'],
|
||
'typeAnnonce'=>'Insertion',
|
||
'dateInsertionSD'=>$ann['dateInsert'],
|
||
'evenements'=>$tabRetEven,
|
||
'Lien_Annonce_Pdf'=>basename($ann['Url_Annonce_Pdf']),
|
||
);
|
||
if ($idAnnonce<>0) $tabRet[$k]['texteAnnonce']=strtr( preg_replace('/<html.*<body.*>/Uis', '',
|
||
preg_replace('/( class=".*")/ie', ' ', $ann['Annonce_Html'])), array(' '=>' ', '</html>'=>'', '</body>'=>''));
|
||
}
|
||
}
|
||
return $tabRet;
|
||
}
|
||
|
||
function getAnnoncesAsso($siren, $idAnnonce=0) {
|
||
$siretMin=$siren.'00000';
|
||
$siretMax=$siren.'99999';
|
||
$strIdAnn='';
|
||
$tabRet=array();
|
||
|
||
if ($idAnnonce>0){
|
||
$strIdAnn=" AND id=$idAnnonce ";
|
||
//$mAsso=new MAsso();
|
||
if ($siren==0) {
|
||
//$bodacc=$this->iDb->select('asso', "Waldec", "Siret BETWEEN $siretMin AND $siretMax $strIdAnn AND Waldec<>''");
|
||
$bodacc=$this->iDb->select('asso', "Waldec", "siren=$siren $strIdAnn AND Waldec<>''");
|
||
if (@$bodacc[0][0]<>'') $strIdAnn=" AND Waldec='".$bodacc[0][0]."' ";
|
||
}
|
||
}
|
||
//$bodacc=$this->iDb->select('asso', "id, Assoc_Nom, Siret, Waldec, Activite, Num_Annonce, Date_Parution, Num_Parution, Departement, Sous_Prefecture, Type_Annonce, Annonce_Html, Assoc_Objet, Assoc_Adresse, Assoc_NObjet, Assoc_AObjet, Assoc_NAdresse, Assoc_Fusion, Assoc_Annulation, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration, Assoc_Date_Declaration2, dateInsert", "Siret BETWEEN $siretMin AND $siretMax $strIdAnn ORDER BY Date_Parution DESC", true, MYSQL_ASSOC);
|
||
$bodacc=$this->iDb->select('asso', "id, Assoc_Nom, siren, nic, Waldec, Activite, Num_Annonce, Date_Parution, Num_Parution, Departement, Sous_Prefecture, Type_Annonce, Annonce_Html, Assoc_Objet, Assoc_Adresse, Assoc_NObjet, Assoc_AObjet, Assoc_NAdresse, Assoc_Fusion, Assoc_Annulation, Assoc_ANom, Assoc_NNom, Assoc_Date_Declaration, Assoc_Date_Declaration2, dateInsert", "siren=$siren $strIdAnn ORDER BY Date_Parution DESC", true, MYSQL_ASSOC);
|
||
// $RP=mysql_select('balo', " ", "Societe_Rcs='$rcs' ");
|
||
$k=0;
|
||
if (count($bodacc)>0) {
|
||
foreach ($bodacc as $k=>$ann) {
|
||
$tabRetEven=array();
|
||
$tabRetEven[]=array('CodeEven'=>0000,//$mAsso->getLibEven($ann['Categorie']),
|
||
'LibEven'=> $ann['Type_Annonce']);
|
||
// Rubrique
|
||
if (preg_match('/cr(é|e)ation/i', $ann['Type_Annonce']))
|
||
$rub='creations';
|
||
elseif (preg_match('/Dissolution/i', $ann['Type_Annonce']))
|
||
$rub='radiations';
|
||
else
|
||
$rub='mmd';
|
||
// typeAnnonce
|
||
if (preg_match('/Annulation/i', $ann['Type_Annonce']))
|
||
$type='Suppression';
|
||
elseif (preg_match('/Rectif/i', $ann['Type_Annonce']))
|
||
$type='Rectificatif';
|
||
else
|
||
$type='Insertion';
|
||
if (str_replace('-','',$ann['Date_Parution'])*1>=20070401) $dateInsert=$ann['Date_Parution'];
|
||
else $dateInsert='';
|
||
|
||
$tabRet[$k]=array( 'id'=>$ann['id'],
|
||
'BodaccCode'=>'ASSO',
|
||
'BodaccNum'=>$ann['Num_Parution'],
|
||
'NumAnnonce'=>$ann['Num_Annonce'],
|
||
'DateParution'=>$ann['Date_Parution'],
|
||
'Departement'=>$ann['Departement'],
|
||
'Tribunal'=>$ann['Sous_Prefecture'],
|
||
//'TribunalSiret'=>$ann['triSiret'],
|
||
'Rubrique'=>$rub,
|
||
'typeAnnonce'=>$type,
|
||
'dateInsertionSD'=>$dateInsert,
|
||
'evenements'=>$tabRetEven,
|
||
//'Lien_Annonce_Pdf'=>basename($ann['Url_Annonce_Pdf']),
|
||
);
|
||
if ($idAnnonce<>0)
|
||
/*if ( preg_match( "~(\x00[\x80-\xff]|[\x00-\x07][\x00-\xff]~", $ann['Annonce_Html'] ) )
|
||
$tabRet[$k]['texteAnnonce']='utf8 : '.$ann['Annonce_Html'];
|
||
else */
|
||
$tabRet[$k]['texteAnnonce']=strip_tags(strtr(htmlentities($ann['Annonce_Html']),array('>'=>'>','&'=>'&','<'=>'<')));
|
||
}
|
||
}
|
||
return $tabRet;
|
||
}
|
||
|
||
function getIdentitePart($siren, $rs, $enseigne, $sigle) {
|
||
$referer='';
|
||
$url='http://www.cofacerating.fr/portail/entreprise_identite/identite.asp?ip=pagespro&lg=fr&nsiren='.$siren;
|
||
$page=getUrl($url, '', '', $referer, false, 'www.cofacerating.fr', '', 5);
|
||
$this->body=$page['body'];
|
||
$this->codeRetour=$page['code'];
|
||
$this->header=$page['header'];
|
||
$tabRet=array();
|
||
|
||
$tabRet['nscrl']=@getTextInHtml($this->body, '&nscrl=', '=','&');
|
||
$strTmp=trim(str_replace(chr(160), ' ', html_entity_decode(utf8_encode(@getTextInHtml($this->body, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne"> <b> Raison sociale<br>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval"><b>','</tr>')))));
|
||
$tmp=explode('<br>', $strTmp);
|
||
$tabRet['raisonSociale']=trim($tmp[0]);
|
||
unset($tmp[0]);
|
||
$tabRet['adresse']=trim(strip_tags(implode(',', $tmp)));
|
||
$tabRet['tel']=trim(@getTextInHtml($this->body, '<td bgcolor="#F3E5CC" class="tabligne"><b>Téléphone<br>', '<td bgcolor="#FFF3DE" class="tabval" valign="top">', '<br>'));
|
||
$tabRet['fax']=trim(@getTextInHtml($this->body, 'Télécopie</b></td>', '<br>', '</td>'));
|
||
$tabRet['web']=trim(@getTextInHtml($this->body, '><b>Adresse internet <br>', '<a class="tabval" HREF="', '" target="_new">'));
|
||
$tabRet['mail']=trim(@getTextInHtml($this->body, '<a class="tabval" href="mailto:', ':', '">'));
|
||
|
||
$bourse=trim(@getTextInHtml($this->body, 'Ville Bourse</b></td>', 'class="tabval">', '</td>'));
|
||
$tmp=explode('<br>', $bourse);
|
||
$tabRet['bourseIsin']=trim($tmp[0]);
|
||
$tabRet['bourseMarche']=trim($tmp[1]);
|
||
$tabRet['bourseVille']=trim($tmp[2]);
|
||
/*
|
||
$infosDispo=trim(@getTextInHtml($this->body, '<b>Liste Produits</b><br></td>', '<br></td><td class="menu3"><img src="../images/vide.gif" border="0"><br></td><td colspan="2" class="menu3">', 'Un secteur ou une région en France</a><br></td>'));
|
||
$tabTmp=explode('<a href="', $infosDispo);
|
||
foreach ($tabTmp as $k=>$lien) {
|
||
preg_match('/^(.*)">(.*)<\/a>/i', $lien, $matches);
|
||
if ($matches[2]<>'') $this->tabInfos[$matches[2]]=$matches[1];
|
||
if (substr($matches[2], 0, 12)=='rapport éco.') $this->infoEco='http://www.cofacerating.fr/portail/entreprise_identite/'.$matches[1];
|
||
elseif (substr($matches[2], 0, 6)=='bilan ') $this->tabBilans[]=substr($matches[2], 6,strlen($matches[2])-6);
|
||
}*
|
||
$tabRet['activite']=trim(str_replace(chr(160), ' ', html_entity_decode(utf8_encode(@getTextInHtml($this->body, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne" valign="top"><b>Libellé code activité </b></td>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval">', '</td>')))));
|
||
$tabRet['naf']=trim(@getTextInHtml($this->body, '<a href="../chaineeco_dynaeco/DynaEco.asp?cnaf=', 'cnaf=', '&'));
|
||
//$tabRet=array();
|
||
*/
|
||
if ($tabRet['web']=='' || $tabRet['web']=='http://') {
|
||
$tabRet['web']=trim($this->findSiteWeb($rs));
|
||
}
|
||
if ($tabRet['web']=='' && $enseigne<>'') {
|
||
$tabRet['web']=trim($this->findSiteWeb($enseigne));
|
||
}
|
||
if ($tabRet['web']=='' && $sigle<>'') {
|
||
$tabRet['web']=trim($this->findSiteWeb($sigle));
|
||
}
|
||
|
||
return $tabRet;
|
||
}
|
||
|
||
function getProColPart($siren, $rubrique='', $forceVerif=false, $idAnnonce=0) {
|
||
$forceVerif=false;
|
||
$tabRet=array();
|
||
$strIdAnn='';
|
||
$tabInter=array('A'=>'Administrateur',
|
||
'M'=>'Mandataire',
|
||
'H'=>'Huissier',
|
||
'L'=>'Liquidateur',
|
||
'R'=>'Représentant des Créanciers',
|
||
'O'=>'Opposition',
|
||
);
|
||
|
||
/** Date la plus ancienne acceptée pour les jugements collectés **/
|
||
$debutForclusion=date('Ymd',mktime(0,0,0,date('m')-24,date('d'),date('Y')));
|
||
|
||
if ($rubrique=='P') $strIdAnn=" AND a.typeEven BETWEEN 1000 AND 1999 AND a.typeEven NOT IN(1010, 1050, 1055, 1550) ";
|
||
if ($idAnnonce<>0) $strIdAnn.= " AND a.id=".preg_replace('/^0\./','', $idAnnonce);
|
||
|
||
/** Recherche des jugements enregistrés en base S&D **/
|
||
$collecte=$this->iDb->select( 'annonces a, tribunaux t, etablissements e',
|
||
'a.id, a.siren, a.typeEven, a.strEven, a.dateJugement, a.dateCessationPaiement, a.dateEffetFinP, a.inter1type, a.inter1id, a.inter1nom, a.inter2type, a.inter2id, a.inter2nom, a.inter3type, a.inter3id, a.inter3nom, a.tribunal, a.montant, a.actionsNb, a.complement, a.nouvActivite, a.nouvDir, a.nouvAdr, a.nouvFJ, a.source, a.parutionIdJal, a.parutionNum, a.dateSource, a.annonce, a.dateInsert, t.triNom, t.triSiret, t.triCP, a.raisonSociale, a.adresse, a.codePostal, a.ville',
|
||
//e.raisonSociale, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, e.adr_comp, e.adr_cp, e.adr_ville',
|
||
"a.siren=$siren AND a.tribunal=t.triCode AND a.siren=e.siren $strIdAnn GROUP BY e.siren, a.dateJugement, typeEven ORDER BY e.siege DESC, e.actif DESC, a.dateJugement DESC", true, MYSQL_ASSOC);
|
||
if (count($collecte)>0) {
|
||
foreach ($collecte as $ann) {
|
||
$dept=substr($ann['triCP'],0,2)*1;
|
||
|
||
if ($dept==97) $dept=substr($ann['triCP'],0,3)*1;
|
||
$adresse='';
|
||
//if ($ann['adr_num']*1<>0) $adresse.=($ann['adr_num']*1).' '.strtolower($ann['adr_btq']);
|
||
//$adresse.=strtolower($ann['adr_typeVoie']).' '.ucfirst(strtolower($ann['adr_libVoie']));
|
||
//if (trim($ann['adr_comp'])<>'') $adresse.=', '.$ann['adr_comp'].', ';
|
||
$adresse.=ucfirst(strtolower($ann['adresse'])).', ';
|
||
|
||
$adresse=preg_replace('/ +/',' ', $adresse);
|
||
$texteAnnonce= 'Date : '.strtolower(WDate::dateT('Y-m-d','d M Y',$ann['dateJugement'])) .'. '. $this->iBodacc->getEvenement($ann['typeEven']).'. '.
|
||
$ann['siren'] . ' RCS '. ucfirst(strtolower(strtr($ann['triNom'], array('TGIcc '=>'','TGI '=>'','TC '=>'','TI '=>'',)))).'. '.
|
||
// trim($ann['raisonSociale']). '. Adresse : '. $adresse.' '.$ann['adr_cp'].' '.$ann['adr_ville'].'. ';
|
||
trim($ann['raisonSociale']). '. Adresse : '. $adresse.' '.$ann['codePostal'].' '.$ann['ville'].'. ';
|
||
// Nom
|
||
// Activité, Adresse
|
||
if ($ann['dateCessationPaiement']*1<>0) $texteAnnonce.='Cessation des paiements le '.strtolower(WDate::dateT('Y-m-d','d M Y',$ann['dateCessationPaiement'])).'. ';
|
||
if (trim($ann['inter1type'])<>'' && ($ann['inter1id']>0 || trim($ann['inter1nom'])<>'') ) {
|
||
$texteAnnonce.=$tabInter[$ann['inter1type']].' : '.$ann['inter1nom'];
|
||
if ($ann['inter1id']<>0) {
|
||
$tabTmp=$this->iDb->select( 'tabMandataires', 'sirenGrp, sirenMand, tel, fax, email', 'id='.$ann['inter1id'], true, MYSQL_ASSOC);
|
||
$mand=$tabTmp[0];
|
||
if ($mand['sirenGrp']<>0) $texteAnnonce.=', Siren SCP '.$mand['sirenGrp'];
|
||
if ($mand['sirenMand']<>0) $texteAnnonce.=', Siren '.$mand['sirenMand'];
|
||
if ($mand['tel']<>'') $texteAnnonce.=', Telephone '.$mand['tel'];
|
||
if ($mand['fax']<>'') $texteAnnonce.=', Telecopie '.$mand['fax'];
|
||
if ($mand['email']<>'') $texteAnnonce.=', E-mail : '.$mand['email'];
|
||
}
|
||
$texteAnnonce.='. ';
|
||
}
|
||
if (trim($ann['inter2type'])<>'' && ($ann['inter2id']>0 || trim($ann['inter2nom'])<>'') ) {
|
||
$texteAnnonce.=$tabInter[$ann['inter2type']].' : '.$ann['inter2nom'];
|
||
if ($ann['inter2id']<>0) {
|
||
$tabTmp=$this->iDb->select( 'tabMandataires', 'sirenGrp, sirenMand, tel, fax, email', 'id='.$ann['inter2id'], true, MYSQL_ASSOC);
|
||
$mand=$tabTmp[0];
|
||
if ($mand['sirenGrp']<>0) $texteAnnonce.=', Siren SCP '.$mand['sirenGrp'];
|
||
if ($mand['sirenMand']<>0) $texteAnnonce.=', Siren '.$mand['sirenMand'];
|
||
if ($mand['tel']<>'') $texteAnnonce.=', Telephone '.$mand['tel'];
|
||
if ($mand['fax']<>'') $texteAnnonce.=', Telecopie '.$mand['fax'];
|
||
if ($mand['email']<>'') $texteAnnonce.=', E-mail : '.$mand['email'];
|
||
}
|
||
$texteAnnonce.='. ';
|
||
}
|
||
if (trim($ann['inter3type'])<>'' && ($ann['inter3id']>0 || trim($ann['inter3nom'])<>'') ) {
|
||
$texteAnnonce.=$tabInter[$ann['inter3type']].' : '.$ann['inter3nom'];
|
||
if ($ann['inter3id']<>0) {
|
||
$tabTmp=$this->iDb->select( 'tabMandataires', 'sirenGrp, sirenMand, tel, fax, email', 'id='.$ann['inter3id'], true, MYSQL_ASSOC);
|
||
$mand=$tabTmp[0];
|
||
if ($mand['sirenGrp']<>0) $texteAnnonce.=', Siren SCP '.$mand['sirenGrp'];
|
||
if ($mand['sirenMand']<>0) $texteAnnonce.=', Siren '.$mand['sirenMand'];
|
||
if ($mand['tel']<>'') $texteAnnonce.=', Telephone '.$mand['tel'];
|
||
if ($mand['fax']<>'') $texteAnnonce.=', Telecopie '.$mand['fax'];
|
||
if ($mand['email']<>'') $texteAnnonce.=', E-mail : '.$mand['email'];
|
||
}
|
||
$texteAnnonce.='. ';
|
||
}
|
||
|
||
|
||
if (trim($ann['nouvActivite'])<>'') $texteAnnonce.=' Activité : '.trim($ann['nouvActivite']).'. ';
|
||
if (trim($ann['nouvDir'])<>'') $texteAnnonce.=' Administration : '.trim($ann['nouvDir']).'. ';
|
||
if (trim($ann['nouvAdr'])<>'') $texteAnnonce.=' Nouvelle adresse : '.trim($ann['nouvAdr']).'. ';
|
||
if ($ann['nouvFJ']*1>0) $texteAnnonce.=' Transformation de la société en '.$this->getLibelleFJ($ann['nouvFJ']).'. ';
|
||
|
||
if ($ann['dateEffetFinP']*1<>'') $texteAnnonce.=' Date d\'effet : '.strtolower(WDate::dateT('Y-m-d','d M Y',$ann['dateEffetFinP'])).'. ';
|
||
|
||
if (trim($ann['complement'])<>'') $texteAnnonce.=' Observations : '.trim($ann['complement']).'.';
|
||
|
||
/** Si la procédure à moins de 4 mois on l'affiche **/
|
||
$tabEven=explode(';', $ann['strEven']);
|
||
//ICI//
|
||
|
||
$tabRetEven=array();
|
||
$tabRetEven[]=array('CodeEven'=>$ann['typeEven'],'LibEven'=>$this->iBodacc->getEvenement($ann['typeEven']));
|
||
if ($ann['typeEven']==2102 || $ann['typeEven']==2100) $capital=true;
|
||
else $capital=false;
|
||
|
||
if (trim($ann['strEven'])<>'') {
|
||
foreach ($tabEven as $even) {
|
||
$tabRetEven[]=array('CodeEven'=>$even,'LibEven'=>$this->iBodacc->getEvenement($even));
|
||
if ($even==2102 || $even==2100) $capital=true;
|
||
}
|
||
}
|
||
|
||
if ($ann['montant']>0) {
|
||
if ($capital) {
|
||
$texteAnnonce.=' Nouveau capital : '.trim($ann['montant']). ' euros';
|
||
if ($ann['actionsNb']>0)
|
||
$texteAnnonce.=' divisé en '.$ann['actionsNb'].' actions de '. round($ann['montant']/$ann['actionsNb']). ' euros';
|
||
} elseif (!preg_match('/ pour un montant de /Uis', $ann['complement']))
|
||
$texteAnnonce.=' Montant : '.trim($ann['montant']). ' euros';
|
||
|
||
$texteAnnonce.='. ';
|
||
}
|
||
if (trim($ann['annonce'])<>'')
|
||
$texteAnnonce=trim($ann['annonce']);
|
||
|
||
$texteAnnonce=preg_replace('/ +/', ' ', strtr($texteAnnonce, array('*'=>' ', '/'=>' ', '..'=>'.')));
|
||
|
||
if (str_replace('-','',$ann['dateSource'])*1<>0) $dateParution=$ann['dateSource'];
|
||
else $dateParution=$ann['dateInsert'];
|
||
/** Si la procédure à moins de 4 mois on l'affiche **/
|
||
if ((str_replace('-','',$ann['dateJugement'])*1)>=$debutForclusion)
|
||
$tabRet[]=array('id'=>'0.'.$ann['id'],
|
||
'BodaccCode'=>$ann['source'].'-'.$ann['parutionIdJal'],
|
||
'BodaccNum'=>$ann['parutionNum'],
|
||
'NumAnnonce'=>0,
|
||
'DateParution'=>$dateParution,
|
||
'Departement'=>$dept,
|
||
'Tribunal'=>$ann['triNom'],
|
||
'TribunalSiret'=>$ann['triSiret'],
|
||
'Rubrique'=>'procol',
|
||
'typeAnnonce'=>'insertion',
|
||
'dateEffet'=>$ann['dateCessationPaiement'],
|
||
'dateJugement'=>$ann['dateJugement'],
|
||
'dateInsertionSD'=>$ann['dateInsert'],
|
||
'evenements'=>$tabRetEven,
|
||
'texteAnnonce'=>$texteAnnonce,
|
||
);
|
||
}
|
||
} elseif ($forceVerif) {
|
||
|
||
/** INTEROGATION DIRECTE DES PARTENAIRES RNCS
|
||
**
|
||
** Si la demande à déjà été faite ce jour auprès du partenaire, on ne la refait pas !!!
|
||
**/
|
||
$deja=$this->iDb->select( 'rncs_procol', 'count(siren)', "siren=$siren AND dateDemande=CURDATE()");
|
||
if ($deja[0][0]!=0) return $tabRet;
|
||
|
||
$refererP='http://www.score3.fr/';
|
||
$urlP='http://www.score3.fr/entreprise.shtml?siren='.$siren;
|
||
$page=getUrl($urlP, '', '', $refererP, false, 'www.score3.fr', '', 20);
|
||
$pou=$page['body'];
|
||
$strTmp=trim(@getTextInHtml($pou, 'Procédures collectives</td>', '<tr><td class="ligne1_2">', '</td></tr></table>'));
|
||
/*Procédures collectives</td>
|
||
|
||
<tr><td class="ligne1_2">23/10/2008</td><td class="ligne2_2">Liquidation Judiciaire</td></tr></table>
|
||
*/
|
||
if (preg_match('/Aucune proc.dure collective n.est enregistr/i',$strTmp)) {
|
||
$ligne=date('YmdHis').";$siren;".$page['code'].';NO;';
|
||
$fp=fopen('/var/www/log/pouey.log', 'a');
|
||
fwrite($fp,$ligne.EOL);
|
||
fclose($fp);
|
||
return $tabRet;
|
||
}
|
||
$tabTmp=explode('</tr><tr>', $strTmp);
|
||
foreach ($tabTmp AS $strTmp) {
|
||
$tabTmp2=explode('</td><td class="ligne2_2">', $strTmp);
|
||
$dateJ =strip_tags($tabTmp2[0]);
|
||
$libEven=strip_tags($tabTmp2[1]);
|
||
if ($libEven=='Plan De Sauvegarde') $typeEven='1101';
|
||
elseif ($libEven=='Procedure De Sauvegarde') $typeEven='1100';
|
||
elseif ($libEven=='Liquidation Judiciaire') $typeEven='1305';
|
||
elseif ($libEven=='Liquid.juduciaire Simplifiee') $typeEven='1306';
|
||
elseif ($libEven=='Liquid.judiciaire Simplifiee') $typeEven='1306';
|
||
elseif ($libEven=='Plan De Cession') $typeEven='1411';
|
||
elseif ($libEven=='Redressement Judiciaire') $typeEven='1200';
|
||
elseif ($libEven=='Plan De Redressement') $typeEven='1414';
|
||
elseif ($libEven=='Conciliation') $typeEven='1150';
|
||
elseif ($libEven=='Infirmat Liquid Judiciaire') $typeEven='1506';
|
||
elseif ($libEven=="Poursuite D'Activite") $typeEven='1999';
|
||
else $typeEven='1999';
|
||
|
||
/* */
|
||
|
||
$refererP='http://www.societe.com/cgi-bin/recherche?rncs='.$siren;
|
||
$urlP='http://www.societe.com/cgi-bin/recherche?rncs='.$siren.'&vu=4';
|
||
$page=getUrl($urlP, '', '', $refererP, false, 'www.societe.com', '', 10);
|
||
$soc=$page['body'];
|
||
$tribunal='INCONU';
|
||
if (preg_match('/<strong class="soustitre">RCS (.*) B (\d\d\d) (\d\d\d) (\d\d\d)<\/strong>/Ui', $soc, $matches)) {
|
||
$sirenT=$matches[2].$matches[3].$matches[4];
|
||
if ($sirenT<>$siren) return array();
|
||
$tribunal=strtoupper(trim(substr($matches[1],0,5))).'C'; // Creteil
|
||
if (!$this->iBodacc->isTribunal($tribunal)) {
|
||
$libTri=strtoupper($matches[1]); // Creteil
|
||
$tribunal=$this->iBodacc->getTribunalCode("TC $libTri");
|
||
if (!$this->iBodacc->isTribunal($tribunal)) {
|
||
$tribunal='INCONU';
|
||
}
|
||
}
|
||
if (preg_match('/<td width="150" height="20" align="right" valign="top">(.*) <\/td>(?:.*)<td width="250" align="left" valign="top" class="medium">(.*)<\/td>/Uis', $soc, $matches)) {
|
||
if ($matches[1]=='Liquidateur') $inter1type='L';
|
||
else $inter1type='';
|
||
$inter1nom=str_replace('<br>',', ',$matches[2]);
|
||
}
|
||
}
|
||
$raisonSociale=trim(@getTextInHtml($pou, '<td rowspan="3" class="titre7" width="46%">', '"46%">', '</td>'));
|
||
$adresse=trim(@getTextInHtml($pou, '<td class="ligne1_2" width="40%">Adresse</td>', '<td class="ligne2_2">', '</td></tr>'));
|
||
$tabAdresse=explode('<br>', $adresse);
|
||
$adresse=$tabAdresse[0];
|
||
$cp=substr(end($tabAdresse),0,5);
|
||
$ville=substr(end($tabAdresse),6);
|
||
$tabInsert=array( 'siren'=>$siren,
|
||
'typeEven'=>$typeEven,
|
||
'raisonSociale'=>$raisonSociale,
|
||
'adresse'=>$adresse,
|
||
'codePostal'=>$cp,
|
||
'ville'=>$ville,
|
||
'dateJugement'=>WDate::dateT('d/m/Y','Y-m-d',$dateJ),
|
||
'dateCessationPaiement'=>0,
|
||
'inter1type'=>$inter1type,
|
||
'inter1id'=>'',
|
||
'inter1nom'=>$inter1nom,
|
||
'inter2type'=>'',
|
||
'inter2id'=>'',
|
||
'inter2nom'=>'',
|
||
'inter3type'=>'',
|
||
'inter3id'=>'',
|
||
'inter3nom'=>'',
|
||
'tribunal'=>$tribunal,
|
||
//'pagePou'=>$pou,
|
||
//'pageSoc'=>$soc,
|
||
'dateInsert'=>date('YmdHis'),
|
||
);
|
||
$this->iDb->insert('annonces', $tabInsert);
|
||
|
||
$ligne=date('YmdHis').";$siren;".$page['code'].";YES;$dateJ;$typeEven;$libEven";
|
||
$fp=fopen('/var/www/log/pouey.log', 'a');
|
||
fwrite($fp,$ligne.EOL);
|
||
fclose($fp);
|
||
}
|
||
if (trim($tabRet[0]['dateJugement'])=='' && $typeEven=='1999') return array();
|
||
|
||
/** Insertion de la notification de demande pour la journée **/
|
||
$this->iDb->insert('rncs_procol', array('siren'=>$siren, 'dateDemande'=>date('Ymd')));
|
||
|
||
/** Récupération du jugement enregistré en base S&D **/
|
||
$collecte=$this->iDb->select( 'annonces a, tribunaux t, etablissements e',
|
||
'a.id, a.siren, a.typeEven, a.strEven, a.dateJugement, a.dateCessationPaiement, a.inter1type, a.inter1id, a.inter1nom, a.inter2type, a.inter2id, a.inter2nom, a.inter3type, a.inter3id, a.inter3nom, a.tribunal, a.montant, a.actionsNb, a.complement, a.nouvActivite, a.nouvDir, a.nouvAdr, a.nouvFJ, a.source, a.parutionIdJal, a.parutionNum, a.dateSource, a.dateInsert, t.triNom, t.triSiret, t.triCP, e.raisonSociale, e.adr_num, e.adr_btq, e.adr_typeVoie, e.adr_libVoie, e.adr_comp, e.adr_cp, e.adr_ville',
|
||
"a.siren=$siren AND a.tribunal=t.triCode AND a.siren=e.siren GROUP BY e.siren ORDER BY e.siege DESC, e.actif DESC, a.dateJugement DESC", true, MYSQL_ASSOC);
|
||
if (count($collecte)>0) {
|
||
foreach ($collecte as $ann) {
|
||
$dept=substr($ann['triCP'],0,2)*1;
|
||
if ($dept==97) $dept=substr($ann['triCP'],0,3)*1;
|
||
$adresse='';
|
||
if ($ann['adr_num']*1<>0) $adresse.=($ann['adr_num']*1).' '.strtolower($ann['adr_btq']);
|
||
$adresse.=strtolower($ann['adr_typeVoie']).' '.ucfirst(strtolower($ann['adr_libVoie']));
|
||
if (trim($ann['adr_comp'])<>'') $adresse.=', '.$ann['adr_comp'].', ';
|
||
$adresse=preg_replace('/ +/',' ', $adresse);
|
||
$texteAnnonce= 'Date : '.strtolower(WDate::dateT('Y-m-d','d M Y',$ann['dateJugement'])) .'. '. $this->iBodacc->getEvenement($ann['typeEven']).'. '.
|
||
$ann['siren'] . ' RCS '. ucfirst(strtolower(strtr($ann['triNom'], array('TGIcc '=>'','TGI '=>'','TC '=>'','TI '=>'',)))).'. '.
|
||
trim($ann['raisonSociale']). '. Adresse : '. $adresse.' '.$ann['adr_cp'].' '.$ann['adr_ville'].'. ';
|
||
// Nom
|
||
// Activité, Adresse
|
||
if ($ann['dateCessationPaiement']*1<>0) $texteAnnonce.='Cessation des paiements le '.strtolower(WDate::dateT('Y-m-d','d M Y',$ann['dateCessationPaiement'])).'. ';
|
||
if (trim($ann['inter1type'])<>'' && ($ann['inter1id']>0 || trim($ann['inter1nom'])<>'') ) {
|
||
$texteAnnonce.=$tabInter[$ann['inter1type']].' : '.$ann['inter1nom'];
|
||
if ($ann['inter1id']<>0) {
|
||
$tabTmp=$this->iDb->select( 'tabMandataires', 'sirenGrp, sirenMand, tel, fax, email', 'id='.$ann['inter1id'], true, MYSQL_ASSOC);
|
||
$mand=$tabTmp[0];
|
||
if ($mand['sirenGrp']<>0) $texteAnnonce.=', Siren SCP '.$mand['sirenGrp'];
|
||
if ($mand['sirenMand']<>0) $texteAnnonce.=', Siren '.$mand['sirenMand'];
|
||
if ($mand['tel']<>'') $texteAnnonce.=', Telephone '.$mand['tel'];
|
||
if ($mand['fax']<>'') $texteAnnonce.=', Telecopie '.$mand['fax'];
|
||
if ($mand['email']<>'') $texteAnnonce.=', E-mail : '.$mand['email'];
|
||
}
|
||
$texteAnnonce.='. ';
|
||
}
|
||
if (trim($ann['inter2type'])<>'' && ($ann['inter2id']>0 || trim($ann['inter2nom'])<>'') ) {
|
||
$texteAnnonce.=$tabInter[$ann['inter2type']].' : '.$ann['inter2nom'];
|
||
if ($ann['inter2id']<>0) {
|
||
$tabTmp=$this->iDb->select( 'tabMandataires', 'sirenGrp, sirenMand, tel, fax, email', 'id='.$ann['inter2id'], true, MYSQL_ASSOC);
|
||
$mand=$tabTmp[0];
|
||
if ($mand['sirenGrp']<>0) $texteAnnonce.=', Siren SCP '.$mand['sirenGrp'];
|
||
if ($mand['sirenMand']<>0) $texteAnnonce.=', Siren '.$mand['sirenMand'];
|
||
if ($mand['tel']<>'') $texteAnnonce.=', Telephone '.$mand['tel'];
|
||
if ($mand['fax']<>'') $texteAnnonce.=', Telecopie '.$mand['fax'];
|
||
if ($mand['email']<>'') $texteAnnonce.=', E-mail : '.$mand['email'];
|
||
}
|
||
$texteAnnonce.='. ';
|
||
}
|
||
if (trim($ann['inter3type'])<>'' && ($ann['inter3id']>0 || trim($ann['inter3nom'])<>'') ) {
|
||
$texteAnnonce.=$tabInter[$ann['inter3type']].' : '.$ann['inter3nom'];
|
||
if ($ann['inter3id']<>0) {
|
||
$tabTmp=$this->iDb->select( 'tabMandataires', 'sirenGrp, sirenMand, tel, fax, email', 'id='.$ann['inter3id'], true, MYSQL_ASSOC);
|
||
$mand=$tabTmp[0];
|
||
if ($mand['sirenGrp']<>0) $texteAnnonce.=', Siren SCP '.$mand['sirenGrp'];
|
||
if ($mand['sirenMand']<>0) $texteAnnonce.=', Siren '.$mand['sirenMand'];
|
||
if ($mand['tel']<>'') $texteAnnonce.=', Telephone '.$mand['tel'];
|
||
if ($mand['fax']<>'') $texteAnnonce.=', Telecopie '.$mand['fax'];
|
||
if ($mand['email']<>'') $texteAnnonce.=', E-mail : '.$mand['email'];
|
||
}
|
||
$texteAnnonce.='. ';
|
||
}
|
||
|
||
|
||
if (trim($ann['nouvActivite'])<>'') $texteAnnonce.=' Activité : '.trim($ann['nouvActivite']).'. ';
|
||
if (trim($ann['nouvDir'])<>'') $texteAnnonce.=' Administration : '.trim($ann['nouvDir']).'. ';
|
||
if (trim($ann['nouvAdr'])<>'') $texteAnnonce.=' Nouvelle adresse : '.trim($ann['nouvAdr']).'. ';
|
||
if ($ann['nouvFJ']*1>0) $texteAnnonce.=' Transformation de la société en '.$this->getLibelleFJ($ann['nouvFJ']).'. ';
|
||
|
||
if (trim($ann['complement'])<>'') $texteAnnonce.=' Observations : '.trim($ann['complement']).'.';
|
||
|
||
/** Si la procédure à moins de 4 mois on l'affiche **/
|
||
$tabEven=explode(';', $ann['strEven']);
|
||
//ICI//
|
||
|
||
$tabRetEven=array();
|
||
$tabRetEven[]=array('CodeEven'=>$ann['typeEven'],'LibEven'=>$this->iBodacc->getEvenement($ann['typeEven']));
|
||
if ($ann['typeEven']==2102 || $ann['typeEven']==2100) $capital=true;
|
||
else $capital=false;
|
||
|
||
if (trim($ann['strEven'])<>'') {
|
||
foreach ($tabEven as $even) {
|
||
$tabRetEven[]=array('CodeEven'=>$even,'LibEven'=>$this->iBodacc->getEvenement($even));
|
||
if ($even==2102 || $even==2100) $capital=true;
|
||
}
|
||
}
|
||
|
||
if ($ann['montant']>0) {
|
||
if ($capital) {
|
||
$texteAnnonce.=' Nouveau capital : '.trim($ann['montant']). ' euros';
|
||
if ($ann['actionsNb']>0)
|
||
$texteAnnonce.=' divisé en '.$ann['actionsNb'].' actions de '. round($ann['montant']/$ann['actionsNb']). ' euros';
|
||
} else
|
||
$texteAnnonce.=' Montant : '.trim($ann['montant']). ' euros';
|
||
$texteAnnonce.='. ';
|
||
}
|
||
|
||
if (str_replace('-','',$ann['dateSource'])*1<>0) $dateParution=$ann['dateSource'];
|
||
else $dateParution=$ann['dateInsert'];
|
||
/** Si la procédure à moins de 4 mois on l'affiche **/
|
||
if ((str_replace('-','',$ann['dateJugement'])*1)>=$debutForclusion)
|
||
$tabRet[]=array('id'=>'0.'.$ann['id'],
|
||
'BodaccCode'=>$ann['source'].'-'.$ann['parutionIdJal'],
|
||
'BodaccNum'=>$ann['parutionNum'],
|
||
'NumAnnonce'=>0,
|
||
'DateParution'=>$dateParution,
|
||
'Departement'=>$dept,
|
||
'Tribunal'=>$ann['triNom'],
|
||
'TribunalSiret'=>$ann['triSiret'],
|
||
'Rubrique'=>'procol',
|
||
'typeAnnonce'=>'insertion',
|
||
'dateEffet'=>$ann['dateCessationPaiement'],
|
||
'dateJugement'=>$ann['dateJugement'],
|
||
'dateInsertionSD'=>$ann['dateInsert'],
|
||
'evenements'=>$tabRetEven,
|
||
'texteAnnonce'=>$texteAnnonce,
|
||
);
|
||
}
|
||
}
|
||
}
|
||
return $tabRet;
|
||
}
|
||
|
||
function listeConventions($naf4, $dep=0) {
|
||
$dep=$dep*1;
|
||
if ($dep>0) {
|
||
if ($dep<10) $dep='Dep0'.$dep;
|
||
else $dep='Dep'.$dep;
|
||
$strDep="AND (n.territoire='' OR n.territoire LIKE '%$dep%')";
|
||
}
|
||
$listeCC=$this->iDb->select('conv_naf n, conventions c',
|
||
'n.`id CC`, n.`nom CC`, n.`editeur CC`, n.`nb page CC`, n.`isbn CC`, n.`date edition CC`, c.infoCC, joCCmaj',
|
||
"n.naf='$naf4' AND substring(n.`id CC`,1,4)=c.numBrochure $strDep GROUP BY n.`id CC`", false, MYSQL_ASSOC);
|
||
return $listeCC;
|
||
}
|
||
/* $tabRet['nbEtab']=trim(strip_tags(str_replace('afficher la liste...', '', @getTextInHtml($pou, '<tr><td class="ligne1_2">Etablissements', '<td class="ligne2_2">', '</td></tr>'))));
|
||
/*$urlPEtab='http://www.score3.fr/etablissements.shtml?page=1&siren='.$siren;
|
||
$refererPEtab=$urlP;
|
||
}
|
||
|
||
$tabRet['effectif']=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Effectifs</td>', '<td class="ligne2_2">', '</td></tr>'));
|
||
|
||
$strTmp=trim(str_replace('/','',@getTextInHtml($pou, '<tr><td class="ligne1_2">Date d\'immatriculation</td>', '<td class="ligne2_2">', '</td></tr>')));
|
||
if (strlen($strTmp)==4)
|
||
$strTmp='0101'.$strTmp;
|
||
elseif (strlen($strTmp)==6)
|
||
$strTmp='01'.$strTmp;
|
||
$tabRet['dateCreation']=WDate::dateT('dmY','Y-m-d',$strTmp);
|
||
|
||
$strTmp=trim(str_replace('/','',@getTextInHtml($pou, '<tr><td class="ligne1_2">Date de fin d\'exploitation</td>', '<td class="ligne2_2">', '</td></tr>')));
|
||
if (strlen($strTmp)==4)
|
||
$strTmp='0101'.$strTmp;
|
||
elseif (strlen($strTmp)==6)
|
||
$strTmp='01'.$strTmp;
|
||
$tabRet['dateFermeture']=WDate::dateT('dmY','Y-m-d',$strTmp);
|
||
|
||
if($tabRet['tel']=='' || $tabRet['tel']=='0')
|
||
$tabRet['tel']=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Téléphone</td>', '<td class="ligne2_2">', '</td></tr>'));
|
||
|
||
if($tabRet['fax']=='' || $tabRet['fax']=='0')
|
||
$tabRet['fax']=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Fax</td>', '<td class="ligne2_2">', '</td></tr>'));
|
||
|
||
$strTmp=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Activité principale</td>', '<td class="ligne2_2">', '</td></tr>'));
|
||
$tabRet['naf_lib']=trim(strtr(substr($strTmp,0,strlen($strTmp)-6),'()',' '));
|
||
|
||
if ($tabRet['naf']=='')
|
||
$tabRet['naf']=trim(strtr(substr($strTmp,-6),'()',' '));
|
||
|
||
$strTmp=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Chiffre d\'affaires</td>', '<td class="ligne2_2">', '</td></tr>'));
|
||
$tabRet['ca']=$strTmp;
|
||
|
||
$tabRet['score_pouey']=trim(@getTextInHtml($pou, '<param name="movie" value="cadran.swf?rotation=', '&type=pouey&valeur=', '">'));
|
||
$tabRet['score_conan']=trim(@getTextInHtml($pou, '<param name="movie" value="cadran.swf?rotation=', '&type=ch&valeur=', '">'));
|
||
$tabRet['score_afdcc']=trim(@getTextInHtml($pou, '<param name="movie" value="cadran.swf?rotation=', '&type=afdcc&valeur=', '">'));
|
||
$tabRet['vigilance'] =trim(@getTextInHtml($pou, '<param name="movie" value="vigilance.swf', 'degre=', '">'));
|
||
|
||
return $tabRet;
|
||
}
|
||
*/
|
||
|
||
private function findSiteWeb($rs)
|
||
{
|
||
/** @TODO Provisoirement tant qu'on ne vérifie pas le .fr ou .com auprès d'un registrar **/
|
||
return false;
|
||
|
||
$referer='http://www.google.fr/';
|
||
$url='http://www.google.fr/search?hl=fr&q='.urlencode($rs).'&btnG=Rechercher&meta=cr%3DcountryFR';
|
||
$page=getUrl($url, '', '', $referer, false, 'www.google.fr','', 5);
|
||
$fp=fopen('./findSiteWeb.log', 'a+');
|
||
if ($page['code']==200) {
|
||
$levMin=100;
|
||
$pctMin=0;
|
||
$urlLev=$urlPct='';
|
||
$body=$page['body'];
|
||
preg_match_all('/<a href="(.*)"/iU', $body, $matches);
|
||
$urlapprox="http://$rs.";
|
||
|
||
foreach ($matches[1] as $i=>$url)
|
||
{
|
||
$lev=@levenshtein ($urlapprox,$url);
|
||
if ($lev>0 && $lev<$levMin) {
|
||
$levMin=$lev;
|
||
$urlLev=$url;
|
||
}
|
||
$sim=similar_text($urlapprox,$url,$pct);
|
||
if ($pct>$pctMin && strpos($url, 'zonebourse')===false) {
|
||
$pctMin=$pct;
|
||
$urlPct=$url;
|
||
}
|
||
fwrite($fp, date('Y-m-d H:i:s') .' - '. $page['code'] . " - $rs - $i - $lev (Min=$levMin) - $pct (Min=$pctMin) - $urlLev - $urlPct - $url\n");
|
||
//2008-05-20 20:01:08 - 200- ARKEMA FRANCE - 53 - 20 - 10 - http://www.arkema.fr/ - http://www.zonebourse.com/ARKEMA-17031/ - /intl/fr/about.html
|
||
|
||
}
|
||
|
||
fclose($fp);
|
||
|
||
if ($levMin<15 && $pctMin>44 && $urlLev==$urlPct) {
|
||
fwrite($fp, date('Y-m-d H:i:s') .' - '. $page['code'] . " - $rs - $i - $lev (Min=$levMin) - $pct (Min=$pctMin) - $urlLev - $urlPct - $url !!! RETURNED !!!\n");
|
||
return $urlLev;
|
||
}
|
||
return false;
|
||
}
|
||
fclose($fp);
|
||
return false;
|
||
}
|
||
|
||
function getImportExport($siren, $type='', $annee='') {
|
||
if ($type=='') $strimportExport=" AND importExport IN ('I','E') ";
|
||
elseif ($type=='I') $strimportExport=" AND importExport='I' ";
|
||
elseif ($type=='E') $strimportExport=" AND importExport='E' ";
|
||
if ($annee*1>0) $strAnnees=" AND annee=$annee ";
|
||
else {
|
||
$tabAnnees=array();
|
||
$strAnnees=' AND annee IN (';
|
||
for ($an=date('Y')-6; $an<date('Y'); $an++)
|
||
$tabAnnees[]=$an;
|
||
$strAnnees.=implode(',', $tabAnnees).')';
|
||
}
|
||
$tabImportExport=$this->iDb->select('importExport', 'importExport, annee, /*siren, raisonSociale, naf, categorie, adresse,*/ rangNational, deptSiege', "1 $strImportExport $strAnnees AND siren=$siren ORDER BY annee DESC, importExport ASC",true, MYSQL_ASSOC);
|
||
return $tabImportExport;
|
||
}
|
||
|
||
}
|
||
?>
|