5642 lines
261 KiB
PHP
5642 lines
261 KiB
PHP
|
<?
|
|||
|
global $tabEvenInsee;
|
|||
|
global $timer;
|
|||
|
$tabEvenInsee=array(
|
|||
|
// Anciens <20>v<EFBFBD>nements de la quotidienne Insee
|
|||
|
'i00'=>'Modification de l\'<27>tablissement',
|
|||
|
'iOA'=>'Activation <20>conomique de l\'<27>tablissement par adjonction de moyens de production',
|
|||
|
'i0C'=>'Cr<43>ation de l\'<27>tablissement',
|
|||
|
'iOD'=>'D<>sactivation <20>conomique de l\'<27>tablissement par suppression de moyens de production',
|
|||
|
'i0F'=>'Fermeture de l\'<27>tablissement',
|
|||
|
'iOR'=>'Modification simple ou modification de moyen de production de l\'<27>tablissement',
|
|||
|
'iCC'=>'Cr<43>ation de l\' entreprise par cr<63>ation du premier <20>tablissement',
|
|||
|
'iRC'=>'R<>activation de l\'entreprise par cr<63>ation de l\'<27>tablissement',
|
|||
|
'iRR'=>'R<>activation de l\'entreprise par r<>activation de l\'<27>tablissement',
|
|||
|
'iFF'=>'Fermeture de l\'<27>tablissement entra<72>nant la fermeture de l\'entreprise',
|
|||
|
'iTC'=>'Cr<43>ation de l\'<27>tablissement dans le cadre d\'un transfert',
|
|||
|
'iTR'=>'R<>activation de l\'<27>tablissement dans le cadre d\'un transfert',
|
|||
|
'iTO'=>'Modification simple ou de moyens de production sur l\'<27>tablissement dans le cadre d\'un transfert',
|
|||
|
'iTA'=>'Activation <20>conomique de l\'<27>tablissement par adjonction de moyens de production dans le cadre d\'un transfert',
|
|||
|
'iTD'=>'D<>sactivation <20>conomique de l\'<27>tablissement par suppression de moyens de production dans le cadre d\'un transfert',
|
|||
|
'iTF'=>'Fermeture de l\'<27>tablissement dans le cadre d\'un transfert',
|
|||
|
'iER'=>'Modification ERR de l\'<27>tablissement',
|
|||
|
// Ev<45>nements Cr<43>es par diff<66>rentiel de la Mensuelle Insee par S&D
|
|||
|
'iM0C'=>'Cr<43>ation de l\'<27>tablissement',
|
|||
|
'iM0F'=>'Fermeture de l\'<27>tablissement',
|
|||
|
'iM0R'=>'R<>activation de l\'<27>tablissement',
|
|||
|
'iM00'=>'Modification de l\'<27>tablissement',
|
|||
|
'iMAS'=>'Modification de la nature d\'activit<69> et de la saisonalit<69>',
|
|||
|
'iMAC'=>'Modification de la nature d\'activit<69> de l\'<27>tablissement',
|
|||
|
'iMSA'=>'Modification de la saisonalit<69> de l\'<27>tablissement',
|
|||
|
// Ev<45>nements Cr<43>es par diff3+4
|
|||
|
'iMPF'=>'Etablissement pr<70>sum<75> ferm<72> (formalit<69>s de cr<63>ation faites par le repreneur)',
|
|||
|
'iMNP'=>'Etablissement pr<70>sum<75> ferm<72> (retour de courrier en NPAI)',
|
|||
|
// D<>cret n<>2010-1042 du 01/09/2010 relatif <20> l'inscription au registre du commerce et des soci<63>t<EFBFBD>s et au r<>pertoire national mentionn<6E> <20> l'article R. 123-220 du code de commerce
|
|||
|
// Codification provisoire <20> changer dans l'attente de l'INSEE
|
|||
|
'iRCS'=>'Suppression du SIREN suite au refus d\'inscription au Registre du Commerce et des Soci<63>t<EFBFBD>s',
|
|||
|
// Nouveaux <20>v<EFBFBD>nements Sirene3 de la quotidienne Insee
|
|||
|
'i110'=>'Cr<43>ation de l\'entreprise',
|
|||
|
'i120'=>'R<>activation de l\'entreprise',
|
|||
|
'i125'=>'R<>activation de l\'entreprise suite <20> une mise <20> jour du r<>pertoire SIRENE',
|
|||
|
'i130'=>'Cr<43>ation de l\'<27>tablissement',
|
|||
|
'i145'=>'Reprise d\'activit<69> de l\'<27>tablissement suite <20> une mise <20> jour du r<>pertoire SIRENE',
|
|||
|
'i400'=>'Suppression du doublon',
|
|||
|
'i410'=>'Cessation juridique de l\'entreprise',
|
|||
|
'i420'=>'Absence d\'activit<69> de l\'entreprise (cessation <20>conomique de l\'entreprise)',
|
|||
|
'i425'=>'Absence d\'activit<69> d\'une entreprise suite <20> une mise <20> jour au r<>pertoire SIRENE',
|
|||
|
'i430'=>'Fermeture de l\'<27>tablissement',
|
|||
|
'i435'=>'Fermeture de l\'<27>tablissement suite <20> une mise <20> jour au r<>pertoire SIRENE',
|
|||
|
'i510'=>'Cr<43>ation de l\'<27>tablissement d\'arriv<69>e et cessation de l\'<27>tablissement de d<>part dans le cadre d\'un transfert',
|
|||
|
'i520'=>'Cr<43>ation de l\'<27>tablissement d\'arriv<69>e et modification de l\'<27>tablissement de d<>part dans le cadre d\'un transfert',
|
|||
|
'i530'=>'Modification de l\'<27>tablissement d\'arriv<69>e et cessation de l\'<27>tablissement de d<>part dans le cadre d\'un transfert',
|
|||
|
'i540'=>'Modification de l\'<27>tablissement d\'arriv<69>e et modification de l\'<27>tablissement de d<>part dans le cadre d\'un transfert',
|
|||
|
'i610'=>'Modification d\'activit<69> au niveau du SIREN associ<63> <20> une activation <20>conomique par adjonction de moyens de production',
|
|||
|
'i620'=>'Modification d\'activit<69> au niveau du SIREN associ<63> <20> une d<>sactivation <20>conomique par suppression de moyens de production',
|
|||
|
'i621'=>'Modification d\'activit<69> du SIREN associ<63> <20> une d<>sactivation <20>conomique par suppression de moyens de production suite <20> une correction d\'erreur',
|
|||
|
'i631'=>'Modification d\'activit<69> du SIREN associ<63>',
|
|||
|
'i640'=>'Modification d\'activit<69> au niveau de l\'<27>tablissement associ<63>e <20> une activation <20>conomique par adjonction de moyens de production',
|
|||
|
'i650'=>'Modification d\'activit<69> au niveau de l\'<27>tablissement associ<63>e <20> une d<>sactivation <20>conomique par suppression de moyens de production',
|
|||
|
'i661'=>'Modification d\'activit<69> de l\'<27>tablissement',
|
|||
|
'i710'=>'Modification de l\'identification du SIREN',
|
|||
|
'i711'=>'Modification de l\'identification du SIREN suite <20> correction d\'erreur',
|
|||
|
'i720'=>'Modification de l\'adresse ou de l\'identification de l\'<27>tablissement',
|
|||
|
'i780'=>'Modification de l\'<27>tablissement',
|
|||
|
'i781'=>'Modification de l\'<27>tablissement suite <20> correction d\'erreur',
|
|||
|
'i795'=>'Personne radi<64>e <20> sa demande de de la base SIRENE diffusion',
|
|||
|
);
|
|||
|
|
|||
|
global $tabDestinat;
|
|||
|
$tabDestinat=array( 'i3'=>'Etablissement vendu',
|
|||
|
'i7'=>'Maintien d\'activit<69>, l\'<27>tablissement devient si<73>ge',
|
|||
|
'i8'=>'Maintien d\'activit<69>, l\'<27>tablissement devient principal',
|
|||
|
'iA'=>'Maintien d\'activit<69>, l\'<27>tablissement devient secondaire',
|
|||
|
'iB'=>'Etablissement ferm<72>',
|
|||
|
'iC'=>'Etablissement supprim<69>',
|
|||
|
'iD'=>'Mise en location-g<>rance de la totalit<69> du fonds',
|
|||
|
'iE'=>'Mise en location-g<>rance d\'une partie du fonds',
|
|||
|
'iF'=>'Cessation d\'activit<69> (pour les liasses agricoles)',
|
|||
|
'iG'=>'Mise en location-g<>rance de la totalit<69> 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<69> par vente',
|
|||
|
'iDP'=>'Suppression partielle d\'activit<69> par disparition',
|
|||
|
'iRP'=>'Suppression partielle d\'activit<69> par reprise par le propri<72>taire',
|
|||
|
);
|
|||
|
global $tabTypEtab;
|
|||
|
$tabTypEtab=array( 'i00'=>'Rappel des donn<6E>es de l\'<27>tablissement du si<73>ge en cas de modification exclusive de l\'entreprise',
|
|||
|
'i08'=>'Si<53>ge avant transfert non ferm<72>',
|
|||
|
'i09'=>'Si<53>ge apr<70>s transfert non cr<63><72>',
|
|||
|
'i10'=>'Si<53>ge avant transfert ferm<72>',
|
|||
|
'i11'=>'Si<53>ge apr<70>s transfert cr<63><72>',
|
|||
|
'i12'=>'Si<53>ge cr<63><72> (hors transfert)',
|
|||
|
'i13'=>'Si<53>ge ferm<72> (hors transfert)',
|
|||
|
'i14'=>'Si<53>ge modifi<66> (hors transfert) : modification de l\'activit<69> principale avec activation <20>conomique',
|
|||
|
'i15'=>'Si<53>ge modifi<66> (hors transfert) : modification de l\'activit<69> principale avec d<>sactivation <20>conomique',
|
|||
|
'i16'=>'Si<53>ge modifi<66> (hors transfert) : modification de l\'activit<69> principale de l\'<27>tablissement',
|
|||
|
'i17'=>'Si<53>ge modifi<66> (hors transfert) : modification de l\'identification de l\'<27>tablissement',
|
|||
|
'i19'=>'Si<53>ge modifi<66> (hors transfert) : autre modification de l\'<27>tablissement',
|
|||
|
'i20'=>'<27>tablissement avant transfert ferm<72>',
|
|||
|
'i21'=>'<27>tablissement apr<70>s transfert cr<63><72>',
|
|||
|
'i22'=>'<27>tablissement cr<63><72> (hors transfert)',
|
|||
|
'i23'=>'<27>tablissement ferm<72> (hors transfert)',
|
|||
|
'i24'=>'<27>tablissement modifi<66> (hors transfert) : modification de l\'activit<69> principale avec activation <20>conomique',
|
|||
|
'i25'=>'<27>tablissement modifi<66> (hors transfert) : modification de l\'activit<69> principale avec d<>sactivation <20>conomique',
|
|||
|
'i26'=>'<27>tablissement modifi<66> (hors transfert) : autre modification de l\'activit<69> principale de l\'<27>tablissement',
|
|||
|
'i27'=>'<27>tablissement modifi<66> (hors transfert) : modification de l\'identification de l\'<27>tablissement',
|
|||
|
'i29'=>'<27>tablissement modifi<66> (hors transfert) : modification d?une autre variable de l\'<27>tablissement',
|
|||
|
'i30'=>'<27>tablissement avant transfert non ferm<72>',
|
|||
|
'i31'=>'<27>tablissement apr<70>s transfert non cr<63><72>',
|
|||
|
'i32'=>'<27>tablissement supprim<69>',
|
|||
|
);
|
|||
|
|
|||
|
//include_once(FWK_PATH.'sphinx/recherche.php');
|
|||
|
include_once(INCLUDE_PATH.'sphinx/rechercheFonc.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');
|
|||
|
include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
|
|||
|
include_once(INCLUDE_PATH.'partenaires/classMTel.php');
|
|||
|
include_once(INCLUDE_PATH.'partenaires/classMBourse.php');
|
|||
|
include_once(INCLUDE_PATH.'partenaires/classMBilans.php');
|
|||
|
//include_once(INCLUDE_PATH.'scores/classMScores.php');
|
|||
|
|
|||
|
class MInsee {
|
|||
|
|
|||
|
private static $tabFct=array( 'ADM'=>'Administrateur',
|
|||
|
'ASS'=>'Associ<63>',
|
|||
|
'COG'=>'Co-g<>rant',
|
|||
|
'CON'=>'Contr<74>leur de gestion',
|
|||
|
'DID'=>'Directeur G<>n<EFBFBD>ral D<>l<EFBFBD>gu<67>',
|
|||
|
'DIR'=>'Directeur',
|
|||
|
'GER'=>'G<>rant',
|
|||
|
'PCS'=>'Pr<50>sident du Conseil de Surveillance',
|
|||
|
'PDG'=>'Pr<50>sident Directeur G<>n<EFBFBD>ral',
|
|||
|
'PP'=>'Personne Physique',
|
|||
|
'PRD'=>'Pr<50>sident du directoire',
|
|||
|
'PRE'=>'Pr<50>sident du Conseil d\'Administration',
|
|||
|
'VIC'=>'Vice pr<70>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<72>che',
|
|||
|
'7'=>'Ard<72>che',
|
|||
|
'08'=>'Ardennes',
|
|||
|
'8'=>'Ardennes',
|
|||
|
'09'=>'Ari<72>ge',
|
|||
|
'9'=>'Ari<72>ge',
|
|||
|
'10'=>'Aube',
|
|||
|
'11'=>'Aude',
|
|||
|
'12'=>'Aveyron',
|
|||
|
'13'=>'Bouches-du-Rh<52>ne',
|
|||
|
'14'=>'Calvados',
|
|||
|
'15'=>'Cantal',
|
|||
|
'16'=>'Charente',
|
|||
|
'17'=>'Charente-Maritime',
|
|||
|
'18'=>'Cher',
|
|||
|
'19'=>'Corr<72>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<44>me',
|
|||
|
'27'=>'Eure',
|
|||
|
'28'=>'Eure-et-Loir',
|
|||
|
'29'=>'Finist<73>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<49>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<6F>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<4E>vre',
|
|||
|
'59'=>'Nord',
|
|||
|
'60'=>'Oise',
|
|||
|
'61'=>'Orne',
|
|||
|
'62'=>'Pas-de-Calais',
|
|||
|
'63'=>'Puy-de-D<>me',
|
|||
|
'64'=>'Pyr<79>n<EFBFBD>es-Atlantiques',
|
|||
|
'65'=>'Hautes-Pyr<79>n<EFBFBD>es',
|
|||
|
'66'=>'Pyr<79>n<EFBFBD>es-Orientales',
|
|||
|
'67'=>'Bas-Rhin',
|
|||
|
'68'=>'Haut-Rhin',
|
|||
|
'69'=>'Rh<52>ne',
|
|||
|
'70'=>'Haute-Sa<53>ne',
|
|||
|
'71'=>'Sa<53>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<6E>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',
|
|||
|
'985'=>'Mayotte', // Codification au Bodacc
|
|||
|
'986'=>'Wallis-et-Futuna',
|
|||
|
'987'=>'Polyn<79>sie-Fran<61>aise',
|
|||
|
'988'=>'Nouvelle-Cal<61>donie',
|
|||
|
);
|
|||
|
|
|||
|
/**Nature d'<27>tablissements*/
|
|||
|
private static $tabNature = array( '20'=>'Petit magasin (moins de 300m<30>)',
|
|||
|
'21'=>'Magasin (de 300m<30> <20> 400m<30>)',
|
|||
|
'22'=>'Grande surface (de 400 <20> 2500m<30>)',
|
|||
|
'23'=>'Tr<54>s grande surface (plus de 2500m<30>)',
|
|||
|
'91'=>'Base d\'activit<69> sur chantiers',
|
|||
|
'92'=>'Base d\'activit<69> sur march<63>s',
|
|||
|
'93'=>'Base d\'activit<69> en client<6E>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<6D>',
|
|||
|
'52'=>'Pays de la Loire',
|
|||
|
'53'=>'Bretagne',
|
|||
|
'54'=>'Poitou-Charentes',
|
|||
|
'72'=>'Aquitaine',
|
|||
|
'73'=>'Midi-Pyr<79>n<EFBFBD>es',
|
|||
|
'74'=>'Limousin',
|
|||
|
'82'=>'Rh<52>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 <20> 1 ME',
|
|||
|
'2'=>'de 1 <20> 2 ME',
|
|||
|
'3'=>'de 2 <20> 5 ME',
|
|||
|
'4'=>'de 5 <20> 10 ME',
|
|||
|
'5'=>'de 10 <20> 20 ME',
|
|||
|
'6'=>'de 20 <20> 50 ME',
|
|||
|
'7'=>'de 50 <20> 100 ME',
|
|||
|
'8'=>'de 100 <20> 200 ME',
|
|||
|
'9'=>'plus de 200 ME'
|
|||
|
);
|
|||
|
|
|||
|
/** Tranche de CA Export **/
|
|||
|
private static $tabTCAexp = array( '0'=>'0%',
|
|||
|
'1'=>'moins de 5%',
|
|||
|
'2'=>'de 5 <20> 25%',
|
|||
|
'3'=>'de 25 <20> 50%',
|
|||
|
'4'=>'plus de 50%',
|
|||
|
);
|
|||
|
|
|||
|
/**Tranche d'habitants de commune d<>taill<6C>e*/
|
|||
|
private static $tabTCD=array( '1'=>'Commune de moins de 50 habitants',
|
|||
|
'2'=>'Commune de 50 <20> 99 habitants',
|
|||
|
'3'=>'Commune de 100 <20> 149 habitants',
|
|||
|
'4'=>'Commune de 150 <20> 199 habitants',
|
|||
|
'5'=>'Commune de 200 <20> 249 habitants',
|
|||
|
'6'=>'Commune de 250 <20> 299 habitants',
|
|||
|
'7'=>'Commune de 300 <20> 399 habitants',
|
|||
|
'8'=>'Commune de 400 <20> 499 habitants',
|
|||
|
'11'=>'Commune de 500 <20> 699 habitants',
|
|||
|
'12'=>'Commune de 700 <20> 999 habitants',
|
|||
|
'13'=>'Commune de 1000 <20> 1499 habitants',
|
|||
|
'14'=>'Commune de 1500 <20> 1999 habitants',
|
|||
|
'15'=>'Commune de 2000 <20> 2499 habitants',
|
|||
|
'16'=>'Commune de 2500 <20> 2999 habitants',
|
|||
|
'17'=>'Commune de 3000 <20> 3999 habitants',
|
|||
|
'18'=>'Commune de 4000 <20> 4999 habitants',
|
|||
|
'21'=>'De 5 000 <20> 6 999 habitants',
|
|||
|
'22'=>'De 7 000 <20> 9 999 habitants',
|
|||
|
'31'=>'De 10 000 <20> 14 999 habitants',
|
|||
|
'32'=>'De 15 000 <20> 19 999 habitants',
|
|||
|
'41'=>'De 20 000 <20> 24 999 habitants',
|
|||
|
'42'=>'De 25 000 <20> 29 999 habitants',
|
|||
|
'43'=>'De 30 000 <20> 39 999 habitants',
|
|||
|
'44'=>'De 40 000 <20> 49 999 habitants',
|
|||
|
'51'=>'De 50 000 <20> 69 999 habitants',
|
|||
|
'52'=>'De 70 000 <20> 99 999 habitants',
|
|||
|
'61'=>'De 100 000 <20> 149 999 habitants',
|
|||
|
'62'=>'De 150 000 <20> 199 999 habitants',
|
|||
|
'71'=>'De 200 000 <20> 299 999 habitants',
|
|||
|
'72'=>'De 300 000 <20> 499 999 habitants',
|
|||
|
'73'=>'De 500 000 <20> 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 <20> 2 salari<72>(s)',
|
|||
|
2=>'de 3 <20> 5 salari<72>s',
|
|||
|
3=>'de 6 <20> 9 salari<72>s',
|
|||
|
11=>'de 10 <20> 19 salari<72>s',
|
|||
|
12=>'de 20 <20> 49 salari<72>s',
|
|||
|
21=>'de 50 <20> 99 salari<72>s',
|
|||
|
22=>'de 100 <20> 199 salari<72>s',
|
|||
|
31=>'de 200 <20> 249 salari<72>s',
|
|||
|
32=>'de 250 <20> 499 salari<72>s',
|
|||
|
41=>'de 500 <20> 999 salari<72>s',
|
|||
|
42=>'de 1 000 <20> 1 999 salari<72>s',
|
|||
|
51=>'de 2 000 <20> 4 999 salari<72>s',
|
|||
|
52=>'de 5 000 <20> 9 999 salari<72>s',
|
|||
|
53=>'plus de 10 000 salari<72>s');
|
|||
|
|
|||
|
/**Libell<6C> des singularit<69>s INSEE*/
|
|||
|
private static $tabSingularite=array('1'=>'Propi<70>taire Exploitant direct',
|
|||
|
'2'=>'Locataire G<>rant',
|
|||
|
'10'=>'Loueur de fonds',
|
|||
|
'30'=>'Unit<69> singuli<6C>re de premi<6D>re esp<73>ce: avocats assoc<6F>s, stations services sous mandat..',
|
|||
|
'31'=>'Associ<63> d\'exploitation en commun; ce groupe comprend notamment: associ<63> de soci<63>t<EFBFBD> de fait, associ<63> d\'indivision',
|
|||
|
'33'=>'Employeur non exploitant: prestataire de personnel, g<>rant mandataire',
|
|||
|
'34'=>'Membre d\'une soci<63>t<EFBFBD> civile professionnelle',
|
|||
|
'40'=>'Si<53>ge d\'une unit<69> SIREN de droit priv<69> sans activit<69>',
|
|||
|
'41'=>'Si<53>ge d\'un organisme public sans activit<69>',
|
|||
|
'42'=>'Si<53>ge d\'un <20>tablissement public local non dot<6F> de l\'autonomie comptable: une partie des centres communaux d\'action sociale, une partie des caisses des <20>coles',
|
|||
|
'43'=>'Si<53>ges de domiciliation',
|
|||
|
'52'=>'Sans domicile fixe',
|
|||
|
'60'=>'Activit<69> occasionnelle ou accessoire: Expert aupr<70>s des tribunaux, m<>decin, infirmier, pharmacien rempl<70>ant, avocat stagiaire, sportif amateur',
|
|||
|
'70'=>'Activit<69> en location (autre que le fond de commerce): Exploitant de terrain de camping, location de garage ou parking, locations de meubl<62>s, location de terres agricoles',
|
|||
|
'80'=>'Gestion immobili<6C>re de biens propres: syndicats de copropri<72>taires',
|
|||
|
'90'=>'Unit<69> singuli<6C>re de seconde esp<73>ce: <20>tablissement d\'une entreprise install<6C>e <20> Monaco, si<73>ge <20> l\'etranger de soci<63>t<EFBFBD>s, associ<63> g<>rant de soci<63>t<EFBFBD>s');
|
|||
|
|
|||
|
/**Libell<6C> des origines de cr<63>ation INSEE*/
|
|||
|
private static $tabOrigine=array(
|
|||
|
'0'=>'Non renseign<67>',
|
|||
|
'1'=>'Cr<43>ation pure',
|
|||
|
'2'=>'Cr<43>ation suite <20> d<>m<EFBFBD>nagement', // Cr<43>ation S&D du 20/04/2011 ancien 'R<>installation apr<70>s transfert'
|
|||
|
'3'=>'Achat',
|
|||
|
'4'=>'Apport',
|
|||
|
'5'=>'Reprise au conjoint ou apport re<72>u',
|
|||
|
'6'=>'Prise en location-g<>rance',
|
|||
|
'7'=>'Partage',
|
|||
|
'8'=>'Reprise',
|
|||
|
'9'=>'Autre modalit<69> d\'acquisition',
|
|||
|
'A'=>'Reprise globale d\'une exploitation agricole',
|
|||
|
'B'=>'Poursuite de l\'exploitation agricole par le conjoint',
|
|||
|
'C'=>'Transfert de propri<72>t<EFBFBD> d\'une exploitation agricole',
|
|||
|
'D'=>'Apport d\'exploitation(s) agricole(s) individuelle(s)',
|
|||
|
'E'=>'Reprise totale ou partielle d\'exploitation individuelle',
|
|||
|
);
|
|||
|
|
|||
|
private static $tabEven=array( 'i110'=>'Cr<43>ation d\'une entreprise',
|
|||
|
'i120'=>'R<>activation d\'une entreprise',
|
|||
|
'i125'=>'R<>activation d\'une entreprise suite <20> une mise <20> jour du r<>pertoire',
|
|||
|
'i130'=>'Cr<43>ation d\'un <20>tablissement',
|
|||
|
'i145'=>'Reprise d\'activit<69> dans un <20>tablissement suite <20> une mise <20> jour du r<>pertoire',
|
|||
|
'i400'=>'Suppression d\'un double',
|
|||
|
'i410'=>'Cessation juridique de l\'entreprise',
|
|||
|
'i420'=>'Absence d\'activit<69> de l\'entreprise (cessation <20>conomique de l\'entreprise)',
|
|||
|
'i425'=>'Absence d\'activit<69> d\'une entreprise suite <20> une mise <20> jour au r<>pertoire',
|
|||
|
'i430'=>'Fermeture d\'un <20>tablissement',
|
|||
|
'i435'=>'Fermeture d\'un <20>tablissement suite <20> une mise <20> jour au r<>pertoire',
|
|||
|
'i510'=>'Cr<43>ation de l\'<27>tablissement d\'arriv<69>e et cessation de l\'<27>tablissement de d<>part dans le cadre d\'un transfert',
|
|||
|
'i520'=>'Cr<43>ation de l\'<27>tablissement d\'arriv<69>e et modification de l\'<27>tablissement de d<>part dans le cadre d\'un transfert',
|
|||
|
'i530'=>'Modification de l\'<27>tablissement d\'arriv<69>e et cessation de l\'<27>tablissement de d<>part dans le cadre d\'un transfert',
|
|||
|
'i540'=>'Modification de l\'<27>tablissement d\'arriv<69>e et modification de l\'<27>tablissement de d<>part dans le cadre d\'un transfert',
|
|||
|
'i610'=>'Modification d\'activit<69> au niveau du SIREN associ<63> <20> une activation <20>conomique par adjonction de moyens de production',
|
|||
|
'i620'=>'Modification d\'activit<69> au niveau du SIREN associ<63> <20> une d<>sactivation <20>conomique par suppression de moyens de production',
|
|||
|
'i621'=>'Modification d\'activit<69> du SIREN associ<63> <20> une d<>sactivation <20>conomique par suppression de moyens de production suite <20> une correction d\'erreur',
|
|||
|
'i631'=>'Autre modification d\'activit<69> du SIREN associ<63>',
|
|||
|
'i640'=>'Modification d\'activit<69> au niveau de l\'<27>tablissement associ<63>e <20> une activation <20>conomique par adjonction de moyens de production',
|
|||
|
'i650'=>'Modification d\'activit<69> au niveau de l\'<27>tablissement associ<63>e <20> une d<>sactivation <20>conomique par suppression de moyens de production',
|
|||
|
'i661'=>'Autre modification d\'activit<69> au niveau de l\'<27>tablissement',
|
|||
|
'i710'=>'Modification de l\'identification du SIREN',
|
|||
|
'i711'=>'Modification de l\'identification du SIREN suite <20> correction d\'erreur',
|
|||
|
'i720'=>'Modification de l\'adresse ou de l\'identification de l\'<27>tablissement',
|
|||
|
'i780'=>'Autre modification entra<72>nant la mise <20> jour d\'au moins une variable du r<>pertoire',
|
|||
|
'i781'=>'Autre modification entra<72>nant la mise <20> jour d\'au moins une variable du r<>pertoire suite <20> correction d\'erreur',
|
|||
|
);
|
|||
|
|
|||
|
private $tabCodeVoie=array();
|
|||
|
private $tabCodesNaf=array();
|
|||
|
private $tabCodesNafa=array();
|
|||
|
private $tabCodesNace=array();
|
|||
|
|
|||
|
private $body='';
|
|||
|
private $codeRetour=0;
|
|||
|
private $header=array();
|
|||
|
|
|||
|
private $iDb;
|
|||
|
private $iDbInsee;
|
|||
|
private $iDbSD;
|
|||
|
private $iBodacc;
|
|||
|
|
|||
|
// Plan de redressement ou de continuation
|
|||
|
private $debutPlan; // Date de d<>but/jugement/publication du plan SSAAMMJJ
|
|||
|
private $dureePlan; // Dur<75>e du plan en mois
|
|||
|
private $finPlan; // Date de fin du plan SSAAMMJJ
|
|||
|
|
|||
|
// Appel de jugement
|
|||
|
private $appelJugement=false; // Pr<50>sence d'un appel de jugement
|
|||
|
|
|||
|
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<EFBFBD> du siren demand<EFBFBD>
|
|||
|
* @param int SIREN <EFBFBD> tester
|
|||
|
* @param int NIC (facultatif)
|
|||
|
* @param mixed Message textuel d'erreur <20> afficher en cas d'erreur ou false
|
|||
|
* @return mixed true, false ou Message d'erreur pass<EFBFBD> en param<EFBFBD>tre
|
|||
|
*/
|
|||
|
function valideSiren($siren, $nic='', $erreur=false) {
|
|||
|
|
|||
|
/** Si le siren est de taille < <20> 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 (strlen($nic)>0) {
|
|||
|
switch (strlen($nic)) {
|
|||
|
case 1: $nic='0000'.$nic; break;
|
|||
|
case 2: $nic='000'.$nic; break;
|
|||
|
case 3: $nic='00'.$nic; break;
|
|||
|
case 4: $nic='0'.$nic; break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
if (!valideData($siren, 9, 9,'N')) //Siren non pr<70>cis<69> 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<EFBFBD> du siren demand<EFBFBD>
|
|||
|
**
|
|||
|
** @param int $siren SIREN <EFBFBD> tester
|
|||
|
** @param int $numEtab N<EFBFBD> d'<EFBFBD>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<EFBFBD>rifie si le n<EFBFBD> de d<EFBFBD>partement est un d<EFBFBD>partement fran<EFBFBD>ais valide
|
|||
|
** @param int Num<EFBFBD>ro de d<EFBFBD>partement Fran<EFBFBD>ais
|
|||
|
** @return bool
|
|||
|
**/
|
|||
|
public function isDepartement($dept) {
|
|||
|
return array_key_exists($dept, self::$tabDep);
|
|||
|
}
|
|||
|
|
|||
|
/** Retourne le libell<EFBFBD> du d<EFBFBD>partement si d<EFBFBD>partement fran<EFBFBD>ais valide
|
|||
|
** @param int Num<EFBFBD>ro de d<EFBFBD>partement Fran<EFBFBD>ais
|
|||
|
** @return string Libell<EFBFBD> d<EFBFBD>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('<27>', $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<EFBFBD>ro de SIREN (9 chiffres) ou SIRET (14 chiffres)
|
|||
|
** @return string Forme Juridique sur 4 caract<EFBFBD>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='') {
|
|||
|
$tabAdr=$this->structureVoie(strtoupper($adresse));
|
|||
|
$numAdresse=preg_replace('/^0+/','',''.$tabAdr['num']*1);
|
|||
|
$adresse=trimAccent($tabAdr['libVoie']);
|
|||
|
$formR=array('type'=>'ent',
|
|||
|
'siret'=>'',
|
|||
|
'raisonSociale'=>$raisonSociale,
|
|||
|
'numVoie'=>$numAdresse,
|
|||
|
'voie'=>$adresse,
|
|||
|
'cpVille'=>$codePostal.' '.$ville,
|
|||
|
);
|
|||
|
if ($ape_etab<>'') $formR['naf']=$ape_etab;
|
|||
|
if ($uniquementAvecSiren=='')
|
|||
|
return rechercheEnt($formR, $deb, $nbRep, $maxRep);
|
|||
|
else
|
|||
|
return rechercheEnt($formR, $deb, $nbRep, $maxRep, $uniquementAvecSiren);
|
|||
|
}
|
|||
|
|
|||
|
public function rechercheEtabOld($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<53>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), '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
|||
|
// '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 <20> 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<53>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<53>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<53>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<53>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__);
|
|||
|
$jour=$mois=$annee='';
|
|||
|
if ($dateNaiss<>'' && $dateNaiss<>'//' && $dateNaiss<>'0/0/0') {
|
|||
|
$tabDateNaiss=explode('/', $dateNaiss);
|
|||
|
|
|||
|
$jour=$tabDateNaiss[0]*1;
|
|||
|
if ($jour<1 || $$jour>31) $jour='';
|
|||
|
|
|||
|
$mois =$tabDateNaiss[1]*1;
|
|||
|
if ($mois<1 || $mois>12) $mois='';
|
|||
|
|
|||
|
$annee=$tabDateNaiss[2]*1;
|
|||
|
if ($annee>0 && $annee<100) $annee=('19'.$annee)*1;
|
|||
|
if ($annee<1800 || $annee>date('Y')*1) $annee='';
|
|||
|
}
|
|||
|
$formR=array('type' => 'dir',
|
|||
|
'nom' => $nom,
|
|||
|
'prenom' => $prenom,
|
|||
|
'dirDateNaissAAAA' => $annee,
|
|||
|
'dirDateNaissMM' => $mois,
|
|||
|
'dirDateNaissJJ' => $jour,
|
|||
|
// 'departement' => 'D',
|
|||
|
'cpVille' => $villeNaiss,
|
|||
|
);
|
|||
|
return rechercheDir($formR, $deb, $nbRep, $maxRep);
|
|||
|
}
|
|||
|
|
|||
|
public function rechercheDirOld($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(DOC_WEB_LOCAL.'tables/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<EFBFBD>rifie si le code voie est une abr<EFBFBD>viation autoris<EFBFBD>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<EFBFBD> du code voie selon les abr<EFBFBD>viations autoris<EFBFBD>es pour les types de voie (Norme AFNOR XP Z 10-011)
|
|||
|
** @param string Code voie
|
|||
|
** @return string Libell<EFBFBD> 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=$tabNace=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, codNaf1', 1, true, MYSQL_ASSOC);
|
|||
|
foreach ($tabTmp as $i=>$tabNaf) {
|
|||
|
$tabNafs[$tabNaf['naf']]=$tabNaf['LibNaf'];
|
|||
|
$tabNace[$tabNaf['naf']]=$tabNaf['codNaf1'].preg_replace('/^0/','',substr($tabNaf['naf'],0,4));
|
|||
|
}
|
|||
|
$this->tabCodesNaf=$tabNafs;
|
|||
|
$this->tabCodesNace=$tabNace;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public function getLibelleNaf($code_naf) {
|
|||
|
if ($code_naf<>'') {
|
|||
|
$this->setTabCodesNaf();
|
|||
|
return $this->tabCodesNaf[$code_naf];
|
|||
|
}
|
|||
|
else
|
|||
|
return '';
|
|||
|
}
|
|||
|
|
|||
|
/** Initialise la table des codes NAFA rev 2
|
|||
|
**/
|
|||
|
private function setTabCodesNafa() {
|
|||
|
if (count($this->tabCodesNafa)==0) {
|
|||
|
$tabNafs=array();
|
|||
|
$tabTmp=$this->iDb->select( 'tabNafa', 'codNafa AS nafa, libNafa', 1, true, MYSQL_ASSOC);
|
|||
|
foreach ($tabTmp as $i=>$tabNaf)
|
|||
|
$tabNafs[$tabNaf['nafa']]=$tabNaf['libNafa'];
|
|||
|
$this->tabCodesNafa=$tabNafs;
|
|||
|
}
|
|||
|
}
|
|||
|
public function getLibelleNafa($code_nafa) {
|
|||
|
if ($code_nafa<>'') {
|
|||
|
$this->setTabCodesNafa();
|
|||
|
return $this->tabCodesNafa[$code_nafa];
|
|||
|
}
|
|||
|
else
|
|||
|
return '';
|
|||
|
}
|
|||
|
|
|||
|
public function getEvenements($siren, $nic=0, $iDeb=0, $iMax=1000) {
|
|||
|
global $tabEvenInsee;
|
|||
|
global $tabDestinat;
|
|||
|
global $tabTypEtab;
|
|||
|
$tabRet=$tabId=array();
|
|||
|
|
|||
|
$strNic='';
|
|||
|
if ($nic*1>0) $strNic=" AND insNIC=$nic ";
|
|||
|
|
|||
|
$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 $strNic ORDER BY insDATEMAJ DESC LIMIT $iDeb, $iMax",false, MYSQL_ASSOC);
|
|||
|
foreach ($insee as $i=>$even) {
|
|||
|
$tabSiren[$even['insDATEVE']]=array('rs'=>$even['insNOMEN'],
|
|||
|
'sigle'=>$even['insSIGLE'],
|
|||
|
'ape'=>$even['insAPEN700'],
|
|||
|
'nic'=>$even['insNICSIEGE'],
|
|||
|
'cj'=>$even['insCJ'],
|
|||
|
);
|
|||
|
$tabSiret[$even['insNIC']][$even['insDATEVE']]
|
|||
|
= array('ens'=>$even['insENSEIGNE'],
|
|||
|
'ape'=>$even['insAPET700'],
|
|||
|
'adresse'=>$even['insL2_COMP'].' '.$even['insL3_CADR'].' '.$even['insL4_VOIE'].' '.$even['insL5_DISP'].' '.$even['insL6_POST'].' '.$even['insL7_ETRG'],
|
|||
|
'effectif'=>$even['insEFENCENT'].' (Tranche '.$even['insTEFET'].')',
|
|||
|
);
|
|||
|
}
|
|||
|
foreach ($insee as $i=>$even) {
|
|||
|
$tabId[]=$even['id'];
|
|||
|
$libDet='';
|
|||
|
if ($even['insMNOMEN']==1) {
|
|||
|
$libDet.='Modification de la raison sociale : '.$even['insNOMEN'];
|
|||
|
$strPre=getInfoPrecedente($tabSiren, $even['insDATEVE'], 'rs');
|
|||
|
if ($strPre<>'' && $strPre<>$even['insNOMEN']) $libDet.=" (Pr<50>c<EFBFBD>dent : $strPre)";
|
|||
|
$libDet.=', ';
|
|||
|
}
|
|||
|
if ($even['insMENSEIGNE']==1) {
|
|||
|
$libDet.='Modification de l\'enseigne : '.$even['insENSEIGNE'];
|
|||
|
$strPre=getInfoPrecedente($tabSiret[$even['insNIC']], $even['insDATEVE'], 'ens');
|
|||
|
if ($strPre<>'' && $strPre<>$even['insENSEIGNE']) $libDet.=" (Pr<50>c<EFBFBD>dent : $strPre)";
|
|||
|
$libDet.=', ';
|
|||
|
}
|
|||
|
if ($even['insMSIGLE']==1) {
|
|||
|
$libDet.='Modification du sigle : '.$even['insSIGLE'];
|
|||
|
$strPre=getInfoPrecedente($tabSiren, $even['insDATEVE'], 'sigle');
|
|||
|
if ($strPre<>'' && $strPre<>$even['insSIGLE']) $libDet.=" (Pr<50>c<EFBFBD>dent : $strPre)";
|
|||
|
$libDet.=', ';
|
|||
|
}
|
|||
|
if ($even['insMAPEN']==1) {
|
|||
|
$libDet.='Modification de l\'activit<69> de l\'entreprise : '.$even['insAPEN700'].' - '.$this->getLibelleNaf($even['insAPEN700']);
|
|||
|
$strPre=getInfoPrecedente($tabSiren, $even['insDATEVE'], 'ape');
|
|||
|
if ($strPre<>'' && $strPre<>$even['insAPEN700']) $libDet.=" (Pr<50>c<EFBFBD>dent : $strPre - ".$this->getLibelleNaf($strPre).')';
|
|||
|
$libDet.=', ';
|
|||
|
}
|
|||
|
if ($even['insMAPET']==1) {
|
|||
|
$libDet.='Modification de l\'activit<69> de l\'<27>tablissement : '.$even['insAPET700'].' - '.$this->getLibelleNaf($even['insAPET700']);
|
|||
|
$strPre=getInfoPrecedente($tabSiret[$even['insNIC']], $even['insDATEVE'], 'ape');
|
|||
|
if ($strPre<>'' && $strPre<>$even['insAPET700']) $libDet.=" (Pr<50>c<EFBFBD>dent : $strPre - ".$this->getLibelleNaf($strPre).')';
|
|||
|
$libDet.=', ';
|
|||
|
}
|
|||
|
if ($even['insMNICSIEGE']==1) {
|
|||
|
$libDet.='Modification du nic du si<73>ge : '.$even['insNICSIEGE'];
|
|||
|
$strPre=getInfoPrecedente($tabSiren, $even['insDATEVE'], 'nic');
|
|||
|
if ($strPre<>'' && $strPre<>$even['insNICSIEGE']) $libDet.=" (Pr<50>c<EFBFBD>dent : $strPre)";
|
|||
|
$libDet.=', ';
|
|||
|
}
|
|||
|
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'];
|
|||
|
$strPre=getInfoPrecedente($tabSiret[$even['insNIC']], $even['insDATEVE'], 'adresse');
|
|||
|
if ($strPre<>'' && $strPre<>$even['insL2_COMP'].' '.$even['insL3_CADR'].' '.$even['insL4_VOIE'].' '.$even['insL5_DISP'].' '.$even['insL6_POST'].' '.$even['insL7_ETRG']) $libDet.=" (Pr<50>c<EFBFBD>dent : $strPre)";
|
|||
|
$libDet.=', ';
|
|||
|
}
|
|||
|
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<73>me productif';
|
|||
|
elseif ($even['insEXPLET']=='X')$strTmp='Non exploitant ne participant pas au syst<73>me productif';
|
|||
|
if ($even['insMEXPLET']==1) $libDet.='Modification du caract<63>re exploitant de l\'<27>tablissement : '.$strTmp.', ';
|
|||
|
if ($even['insEXPLEN']=='O') $strTmp='Exploitant';
|
|||
|
elseif ($even['insEXPLEN']=='N')$strTmp='Non exploitant participant au syst<73>me productif';
|
|||
|
elseif ($even['insEXPLEN']=='X')$strTmp='Non exploitant ne participant pas au syst<73>me productif';
|
|||
|
if ($even['insMEXPLEN']==1) $libDet.='Modification du caract<63>re exploitant de l\'entreprise : '.$strTmp.', ';
|
|||
|
if ($even['insMCJ']==1) {
|
|||
|
$libDet.='Modification de la forme juridique : '.$even['insCJ'].' - '.$this->getLibelleFJ($even['insCJ']);
|
|||
|
$strPre=getInfoPrecedente($tabSiret[$even['insNIC']], $even['insDATEVE'], 'cj');
|
|||
|
if ($strPre<>'' && $strPre<>$even['insCJ']) $libDet.=" (Pr<50>c<EFBFBD>dent : $strPre - ".$this->getLibelleFJ($even['insCJ']).')';
|
|||
|
$libDet.=', ';
|
|||
|
}
|
|||
|
if ($even['insAUXILT']==1) $strTmp='Auxiliaire';
|
|||
|
else $strTmp='Non auxiliaire';
|
|||
|
if ($even['insMAUXILT']==1) $libDet.='Modification du caract<63>re auxiliaire de l\'<27>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'])].', ';
|
|||
|
|
|||
|
$typeSiretAss='';
|
|||
|
$siretAss=$even['insSIRETASS'];
|
|||
|
switch ($even['insPRODPART']*1) {
|
|||
|
case 1: $typeSiretAss='Loueur de fond'; break;
|
|||
|
case 2: $typeSiretAss='Locataire du fond'; break;
|
|||
|
case 3: $typeSiretAss='Prestataire de personnel'; break;
|
|||
|
}
|
|||
|
if ($siretAss*1==0) {
|
|||
|
$tabPS=array();
|
|||
|
$siretAss=$even['insSIRETPS'];
|
|||
|
if ($siretAss*1>0)
|
|||
|
$tabPS=$this->getIdentiteLight(substr($siretAss,0,9));
|
|||
|
$tabEt=$this->getIdentiteLight($siren);
|
|||
|
// 'Nom'=>$etab['raisonSociale'],
|
|||
|
if ($tabPS['actif']==1 && $tabEt['actif']==0) $typeSiretAss='Successeur';
|
|||
|
elseif ($tabPS['actif']==0 && $tabEt['actif']==1) $typeSiretAss='Pr<50>d<EFBFBD>cesseur';
|
|||
|
else $typeSiretAss='Pr<50>d<EFBFBD>cesseur ou Successeur';
|
|||
|
}
|
|||
|
|
|||
|
$dateEve=$even['insDATEVE'];
|
|||
|
$dateMaj=$even['insDATEMAJ'];
|
|||
|
if (str_replace('-','',$dateEve*1)==0) $dateEve=$dateMaj;
|
|||
|
|
|||
|
$tabRet[]=array('codeEven' => 'I'.$even['insEVE'],
|
|||
|
'nic' => $even['insNIC'],
|
|||
|
'siretAssocie'=>$siretAss,
|
|||
|
'typeSiretAss'=>$typeSiretAss,
|
|||
|
'siege' => $even['insSIEGE'],
|
|||
|
'libEven' => $tabEvenInsee['i'.trim($even['insEVE'])],
|
|||
|
'libEvenDet'=> substr($libDet,0,-2),
|
|||
|
'dateMAJ' => $dateMaj,
|
|||
|
'dateEven' => $dateEve,
|
|||
|
);
|
|||
|
}
|
|||
|
|
|||
|
/** Recherche d'<27>v<EFBFBD>nement pour lesquels le SIREN est ASSOCIE **/
|
|||
|
$siretDeb=$siren.'00000';
|
|||
|
$siretFin=$siren.'99999';
|
|||
|
$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, ROUND(insSIRETASS/100000) AS sirenAss', "insSIRETASS BETWEEN $siretDeb AND $siretFin GROUP BY insSIREN, sirenAss ORDER BY insDATEMAJ DESC LIMIT 0,4500",false, MYSQL_ASSOC);
|
|||
|
foreach ($insee as $i=>$even) {
|
|||
|
if (in_array($even['id'], $tabId))
|
|||
|
continue;
|
|||
|
else
|
|||
|
$tabId[]=$even['id'];
|
|||
|
$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<69> de l\'entreprise : '.$even['insAPEN700'].', ';
|
|||
|
if ($even['insMAPET']==1) $libDet.='Modification de l\'activit<69> de l\'<27>tablissement : '.$even['insAPET700'].', ';
|
|||
|
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 (trim($even['insDESTINAT'])<>'' && $even['insDESTINAT']<>'NR' && $even['insDESTINAT']*1<>9)
|
|||
|
$libDet.=$tabDestinat['i'.trim($even['insDESTINAT'])].', ';
|
|||
|
|
|||
|
$libDet.=$tabTypEtab['i'.trim($even['insTYPETAB'])].', ';
|
|||
|
*/
|
|||
|
$typeSiretAss='';
|
|||
|
switch ($even['insPRODPART']*1) {
|
|||
|
case 2: $typeSiretAss='Loueur de fond'; break;
|
|||
|
case 1: $typeSiretAss='Locataire du fond'; break;
|
|||
|
case 3: $typeSiretAss='Client en delegation de personnel'; break;
|
|||
|
}
|
|||
|
/*if ($siretAss*1==0) {
|
|||
|
$tabPS=array();
|
|||
|
$siretAss=$even['insSIRETPS'];
|
|||
|
if ($siretAss*1>0)
|
|||
|
$tabPS=$this->getIdentiteLight(substr($siretAss,0,9));
|
|||
|
$tabEt=$this->getIdentiteLight($siren);
|
|||
|
// 'Nom'=>$etab['raisonSociale'],
|
|||
|
if ($tabPS['actif']==1 && $tabEt['actif']==0) $typeSiretAss='Successeur';
|
|||
|
elseif ($tabPS['actif']==0 && $tabEt['actif']==1) $typeSiretAss='Pr<50>d<EFBFBD>cesseur';
|
|||
|
else $typeSiretAss='Pr<50>d<EFBFBD>cesseur ou Successeur';
|
|||
|
}*/
|
|||
|
|
|||
|
$dateEve=$even['insDATEVE'];
|
|||
|
$dateMaj=$even['insDATEMAJ'];
|
|||
|
if (str_replace('-','',$dateEve*1)==0) $dateEve=$dateMaj;
|
|||
|
|
|||
|
$tabRet[]=array('codeEven' => 'I'.$even['insEVE'],
|
|||
|
'nic' => substr($even['insSIRETASS'],9,5),
|
|||
|
'siretAssocie'=>''.$even['insSIREN'].$even['insNIC'],
|
|||
|
'typeSiretAss'=>$typeSiretAss,
|
|||
|
'siege' => $even['insSIEGE'],
|
|||
|
'libEven' => "Modification d'une entreprise/<2F>tablissement li<6C>",//$tabEvenInsee['i'.trim($even['insEVE'])],
|
|||
|
'libEvenDet'=> '',//substr($libDet,0,-3),
|
|||
|
'dateMAJ' => $dateMaj,
|
|||
|
'dateEven' => $dateEve,
|
|||
|
);
|
|||
|
}
|
|||
|
|
|||
|
/** Recherche d'<27>v<EFBFBD>nement pour lesquels le SIREN est Pr<50>d<EFBFBD>cesseur ou Successeur **/
|
|||
|
$siretDeb=$siren.'00000';
|
|||
|
$siretFin=$siren.'99999';
|
|||
|
$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, ROUND(insSIRETPS/100000) AS sirenAss', "insSIRETPS BETWEEN $siretDeb AND $siretFin GROUP BY insSIREN, sirenAss ORDER BY insDATEMAJ DESC LIMIT 0,4500",false, MYSQL_ASSOC);
|
|||
|
foreach ($insee as $i=>$even) {
|
|||
|
if (in_array($even['id'], $tabId))
|
|||
|
continue;
|
|||
|
else
|
|||
|
$tabId[]=$even['id'];
|
|||
|
$libDet='';
|
|||
|
|
|||
|
$typeSiretAss='Pr<50>d<EFBFBD>cesseur ou Successeur';
|
|||
|
$dateEve=$even['insDATEVE'];
|
|||
|
$dateMaj=$even['insDATEMAJ'];
|
|||
|
if (str_replace('-','',$dateEve*1)==0) $dateEve=$dateMaj;
|
|||
|
|
|||
|
$tabRet[]=array('codeEven' => 'I'.$even['insEVE'],
|
|||
|
'nic' => substr($even['insSIRETPS'],9,5),
|
|||
|
'siretAssocie'=>''.$even['insSIREN'].$even['insNIC'],
|
|||
|
'typeSiretAss'=>$typeSiretAss,
|
|||
|
'siege' => $even['insSIEGE'],
|
|||
|
'libEven' => "Modification d'une entreprise/<2F>tablissement li<6C>",//$tabEvenInsee['i'.trim($even['insEVE'])],
|
|||
|
'libEvenDet'=> '',//substr($libDet,0,-3),
|
|||
|
'dateMAJ' => $dateMaj,
|
|||
|
'dateEven' => $dateEve,
|
|||
|
);
|
|||
|
}
|
|||
|
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<EFBFBD>coupe une ligne d'adresse textuelle en un tableau contenant les diff<66>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<EFBFBD>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<6F>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<75>ro de voie\n";
|
|||
|
//print_r($tabAdrTmp);
|
|||
|
$tabRet['num']=$tabAdrTmp[1];
|
|||
|
if (preg_match("/^\b(B|BIS|T|TER|Q|a|c|d|e|f|g|h|i|j|k|l|m|n|o|p|r|s)\b(.*)/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<75>re le type de voie si possible et le libell<6C> 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]); }
|
|||
|
|
|||
|
if (isset($tabRet['adrComp0'])) {
|
|||
|
if ($tabRet['adrComp0']=='BIS' || $tabRet['adrComp0']=='B') {
|
|||
|
$tabRet['indRep']='B';
|
|||
|
$tabRet['adrComp0']='';
|
|||
|
} elseif ($tabRet['adrComp0']=='TER' || $tabRet['adrComp0']=='T') {
|
|||
|
$tabRet['indRep']='T';
|
|||
|
$tabRet['adrComp0']='';
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return $tabRet;
|
|||
|
}
|
|||
|
|
|||
|
public function getEtablissements($siren, $nic='', $deb=0, $nbRep=20, $maxRep=200, $dep=0, $actif=-1) {
|
|||
|
|
|||
|
$this->setTabCodesNaf();
|
|||
|
$deb=$deb*1;
|
|||
|
$dep=$dep*1;
|
|||
|
$nbRep=$nbRep*1;
|
|||
|
$limit="LIMIT $deb, $nbRep";
|
|||
|
$strInfo='';
|
|||
|
if ($actif*1==1) $strActif=' AND e.actif=1 ';
|
|||
|
elseif ($actif*1==-1) $strActif='';
|
|||
|
else $strActif=' AND e.actif=0 ';
|
|||
|
/* "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];
|
|||
|
|
|||
|
$nom=trim($etab['raisonSociale']);
|
|||
|
// Cas des noms vides <20> l'INSEE (une centaine)
|
|||
|
if ($nom=='') $nom=@preg_replace('/,.*$/','',$etab['identite_pre']);
|
|||
|
*/
|
|||
|
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, e.teff_etab, ".
|
|||
|
"CONCAT(e.siren, e.nic) as siret, e.actif, e.identite_pre",
|
|||
|
"siren=$siren $strDep $strActif 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, e.teff_etab, ".
|
|||
|
"CONCAT(e.siren, e.nic) as siret, e.actif, e.identite_pre",
|
|||
|
"e.siren=$siren $strActif 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, e.teff_etab, ".
|
|||
|
"CONCAT(e.siren, e.nic) as siret, e.actif, e.identite_pre",
|
|||
|
"siren=$siren AND (nic=$nic OR siege=1) $strActif ORDER BY e.siege , e.actif DESC $limit", true, MYSQL_ASSOC);
|
|||
|
$nbTot=count($listeEtab);
|
|||
|
}
|
|||
|
if ($nbTot==0 && $actif=='') {
|
|||
|
$liste = verificationDuSiret($siren);
|
|||
|
if ($liste != false) {
|
|||
|
//print 'Essayez :<br/>';
|
|||
|
$listeSiren=array();
|
|||
|
foreach ($liste as $s) {
|
|||
|
if (sommeDeControle($s) != 0) {
|
|||
|
print 'erreur somme de controle sur '.$s.
|
|||
|
' ('.sommeDeControle($s).')<br/>';
|
|||
|
} else {
|
|||
|
$listeSiren[]=$s;
|
|||
|
}
|
|||
|
}
|
|||
|
$strSiren=implode(',',$listeSiren);
|
|||
|
$tabTmp=$this->iDb->select('etablissements', 'count(*)', "siren IN ($strSiren) AND siege=1");
|
|||
|
$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, e.teff_etab, ".
|
|||
|
"CONCAT(e.siren, e.nic) as siret, e.actif, e.identite_pre",
|
|||
|
"siren IN ($strSiren) AND siege=1 ORDER BY e.rang DESC, e.actif DESC, e.nic ASC $limit", true, MYSQL_ASSOC);
|
|||
|
$strInfo='Siren saisit invalide';
|
|||
|
}
|
|||
|
}
|
|||
|
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='';
|
|||
|
|
|||
|
$nom=trim($etab['raisonSociale']);
|
|||
|
// Cas des noms vides <20> l'INSEE (une centaine)
|
|||
|
if ($nom=='') $nom=@preg_replace('/,.*$/','',$etab['identite_pre']);
|
|||
|
|
|||
|
$tabRet[]=array( 'Localisation'=>$etab['Loc'],
|
|||
|
'id'=>$etab['id'],
|
|||
|
'Pertinence'=>100,
|
|||
|
'Siret'=>$etab['siret'],
|
|||
|
'Siege'=>$etab['siege'],
|
|||
|
'Nom'=>$nom,
|
|||
|
'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']),
|
|||
|
'EffEtTr'=>$etab['teff_etab'],
|
|||
|
'EffEtTrLib'=>self::$tabEffectif[$etab['teff_etab']],
|
|||
|
);
|
|||
|
}
|
|||
|
|
|||
|
if ($dep==0) $dep=''; // Evite l'affichage d'un 0 inutile sur l'Extranet
|
|||
|
|
|||
|
return array( 'criteres'=>array('siren'=>$siren, 'nic'=>$nic, 'dep'=>$dep),
|
|||
|
'info'=>$strInfo,
|
|||
|
'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<75>ros de RC **/
|
|||
|
$tabId=array($id);
|
|||
|
if (preg_match('/(\d*)(\D)(\d*)/', $id,$matches)) {
|
|||
|
if (strlen($matches[1])<=2) {
|
|||
|
// Ann<6E>es du type 54 ou 07
|
|||
|
if ($matches[1]>date('y')) $deb='19'.$matches[1];
|
|||
|
else $deb='20'.$matches[1];
|
|||
|
} else // Ann<6E>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<75>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, e.teff_etab, ".
|
|||
|
"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($listeEtab)>0)
|
|||
|
return true;
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
/** Retourne l'identit<EFBFBD> issue de la table <EFBFBD>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<1000) $where=" id=$id ";
|
|||
|
elseif ($nic<>0) $where=" siren=$siren AND nic=$nic ";
|
|||
|
elseif ($siren<>0) $where=" siren=$siren ";
|
|||
|
else return array();
|
|||
|
|
|||
|
$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.triCode, ".
|
|||
|
"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.adr_dep, e.adr_com, e.capital, e.capitalDev, e.capitalSrc, e.tca, e.teff_entrep, e.teff_etab, ".
|
|||
|
"CONCAT(e.siren, e.nic) as siret, e.actif, e.identite_pre",
|
|||
|
"$where ORDER BY siege DESC, actif DESC, nic DESC $limit", false, MYSQL_ASSOC);
|
|||
|
$etab=@$listeEtab[0];
|
|||
|
|
|||
|
$nom=trim($etab['raisonSociale']);
|
|||
|
// Cas des noms vides <20> l'INSEE (une centaine)
|
|||
|
if ($nom=='') $nom=@preg_replace('/,.*$/','',$etab['identite_pre']);
|
|||
|
|
|||
|
$tabRet=array( 'id'=>$etab['id'],
|
|||
|
'Siret'=>$etab['siret'],
|
|||
|
'Siege'=>$etab['siege'],
|
|||
|
'Nom'=>$nom,
|
|||
|
'Tribunal'=>$etab['triCode'],
|
|||
|
'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'],
|
|||
|
// Ajout du 25 mars 2010
|
|||
|
'Dept'=>$etab['adr_dep'],
|
|||
|
'codeCommune'=>$etab['adr_com'],
|
|||
|
'Capital'=>$etab['capital'],
|
|||
|
'CapitalDev'=>$etab['capitalDev'],
|
|||
|
'TrancheCA'=>$etab['tca'],
|
|||
|
'TrancheCALib'=>self::$tabTCA[$etab['tca']],
|
|||
|
'EffEnTr'=>$etab['teff_entrep'],
|
|||
|
'EffEnTrLib'=>self::$tabEffectif[$etab['teff_entrep']],
|
|||
|
'EffEtTr'=>$etab['teff_etab'],
|
|||
|
'EffEtTrLib'=>self::$tabEffectif[$etab['teff_etab']],
|
|||
|
);
|
|||
|
|
|||
|
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<EFBFBD>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<EFBFBD>faut retourne un tableau concatenant Nom, prenom, adresse compl<EFBFBD>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 <EFBFBD> un nom
|
|||
|
**
|
|||
|
** @param string $nom Nom du mandataire
|
|||
|
** @param bool $condense Par d<EFBFBD>faut retourne un tableau concatenant Nom, prenom, adresse compl<EFBFBD>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(), $cpDep=0) {
|
|||
|
|
|||
|
$strIdCA="AND (Nom LIKE '%$nom%' OR Prenom LIKE '%$nom%') ";
|
|||
|
|
|||
|
if (count($type)>0) $strType="AND type in ('".implode("','", $type)."') ";
|
|||
|
else $strType='';
|
|||
|
|
|||
|
if ($cpDep>0 && $cpDep<100) $strCp="AND cp BETWEEN $cpDep"."000 AND $cpDep"."999 ";
|
|||
|
elseif ($cpDep>99 && $cpDep<1000) $strCp="AND cp BETWEEN $cpDep"."00 AND $cpDep"."99 ";
|
|||
|
elseif ($cpDep>999) $strCp="AND cp=$cpDep ";
|
|||
|
else $strCp='';
|
|||
|
|
|||
|
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 $strCp 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<EFBFBD>cup<EFBFBD>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) {
|
|||
|
if ($idMand>0) {
|
|||
|
$liste=$this->iDb->select('tabMandataires', "CONCAT(Nom,' ',Prenom,' ',adresse,' ',adresseComp,' ',cp,' ',ville) as Mand", "id=$idMand", false);
|
|||
|
return $liste[0][0];
|
|||
|
}
|
|||
|
return '';
|
|||
|
}
|
|||
|
|
|||
|
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) {
|
|||
|
global $timer;
|
|||
|
$timer=array('debutIdentite'=>microtime(true));
|
|||
|
//$accesDist=false;
|
|||
|
$tdebIni=microtime(1);
|
|||
|
$ligne=date('YmdHis').";$siren;getIdentiteEntreprise D<>but ---";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
|
|||
|
$siren=$siren*1;
|
|||
|
$nic=$nic*1;
|
|||
|
$id=$id*1;
|
|||
|
$limit=''; //LIMIT O,1' ;
|
|||
|
if ($id>0 && $siren<1000) $where=" id=$id ";
|
|||
|
elseif ($nic<>0) $where=" siren=$siren AND nic=$nic ";
|
|||
|
elseif ($siren<>0) $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, ".
|
|||
|
"e.age_entrep, e.age_etab, e.tca, e.tcaexp, e.teff_entrep, e.teff_etab",
|
|||
|
"$where ORDER BY siege DESC, actif DESC, nic DESC $limit", false, MYSQL_ASSOC);
|
|||
|
|
|||
|
$etab=@$listeEtab[0];
|
|||
|
$nic=@$etab['nic'];
|
|||
|
$timer['tableEtablissements']=microtime(true);
|
|||
|
|
|||
|
/** Si le siren est valide, on part chez Infogreffe **/
|
|||
|
if (count($listeEtab)==0 && $this->valideSiren($siren) && $accesDist) {
|
|||
|
$iGeffes=new MGreffes();
|
|||
|
$etabG=$iGeffes->getIdentite($siren);
|
|||
|
if ($etabG) {
|
|||
|
$adr=$this->structureVoie($etabG['Adresse']);
|
|||
|
// Date de derni<6E>re MAJ
|
|||
|
$lastMaj=str_replace('-','',$etabG['DateRadiation'])*1;
|
|||
|
if (str_replace('-','',$etabG['DateCreation'])*1>$lastMaj)
|
|||
|
$lastMaj=str_replace('-','',$etabG['DateCreation'])*1;
|
|||
|
if (str_replace('-','',$etabG['DateUpdate'])*1>$lastMaj)
|
|||
|
$lastMaj=str_replace('-','',$etabG['DateUpdate'])*1;
|
|||
|
|
|||
|
$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'],
|
|||
|
'siren' => $etabG['Siren'],
|
|||
|
'nic' => $etabG['Nic'],
|
|||
|
'actif' => $etabG['Actif'],
|
|||
|
'ape_etab' => $etabG['NafEtab'],
|
|||
|
'ape_entrep' => $etabG['NafEnt'],
|
|||
|
'autre_id' => $etabG['NumRC'],
|
|||
|
'dateMAJ' => WDate::DateT('Ymd','Y-m-d',$lastMaj),
|
|||
|
);
|
|||
|
}
|
|||
|
$timer['accesInfogreffeCarInconnu']=microtime(true);
|
|||
|
}
|
|||
|
unset($listeEtab);
|
|||
|
|
|||
|
/** Informations locales issues de la table infos_entrep
|
|||
|
**/
|
|||
|
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, sirenDoublon, waldec', "siren=$siren", false, MYSQL_ASSOC);
|
|||
|
$tab=$info[0];
|
|||
|
$waldec=$tab['waldec'];
|
|||
|
if ($tab['sirenDoublon']==0) {
|
|||
|
$info=$this->iDb->select('infos_entrep', 'siren AS sirenDoublon', "sirenDoublon=$siren", false, MYSQL_ASSOC);
|
|||
|
$tab['sirenDoublon']=$info[0]['sirenDoublon'];
|
|||
|
}
|
|||
|
|
|||
|
$insee=$this->iDb->select('etablissements', 'CONCAT(SIREN,NIC) AS siret', "SIREN=$siren AND SIEGE=1 ORDER BY ACTIF%10 DESC, NIC DESC",false,MYSQL_ASSOC);
|
|||
|
$siretSiege=$insee[0]['siret'];
|
|||
|
$timer['infosEntrep']=microtime(true);
|
|||
|
}
|
|||
|
|
|||
|
if ($nic>0) $strNic="AND NIC=$nic";
|
|||
|
else $strNic='AND SIEGE=1';
|
|||
|
|
|||
|
$moisNonDiff=0;
|
|||
|
|
|||
|
/** Informations INSEE
|
|||
|
**/
|
|||
|
if ($siren>100) {
|
|||
|
$insee=$this->iDbInsee->select('identite', 'ACTIF%10 AS ACTIF, actifEco%10 AS actifEco, 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, DEFEN, DEFET, IDENTITE_PRE',
|
|||
|
"SIREN=$siren $strNic ORDER BY SIEGE DESC, ACTIF DESC LIMIT 0,1",false,MYSQL_ASSOC);
|
|||
|
if (count($insee)>0) {
|
|||
|
$tabInsee=$insee[0];
|
|||
|
$tabNotice=$this->getInfosNotice($siren, $nic);
|
|||
|
$tabInsee['TCA_AN']=$tabNotice['insEAEANT'];
|
|||
|
$tabInsee['RECME']=$tabNotice['insRECME'];
|
|||
|
// On force l'indicateur "actifEco" <20> 0 si l'<27>tablissement est juridiquement inactif
|
|||
|
if ($tabInsee['ACTIF']*1==0) $tabInsee['actifEco']=0;
|
|||
|
} else {
|
|||
|
// Siren absent de l'Insee
|
|||
|
$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'=>$etab['capital'],
|
|||
|
'CAPITAL_DEV'=>$etab['capitalDev'],
|
|||
|
'ADR_DEP'=>$etab['adr_dep'],
|
|||
|
'TEFF_ENT'=>$etab['teff_entrep'],
|
|||
|
'DEFEN'=>'',
|
|||
|
'TEFF_ET'=>$etab['teff_etab'],
|
|||
|
'DEFET'=>'',
|
|||
|
'TCA'=>$etab['tca'],
|
|||
|
'TCA_AN'=>'',
|
|||
|
'TCAEXP'=>$etab['tcaexp'],
|
|||
|
);
|
|||
|
}
|
|||
|
|
|||
|
$tabTmp=$this->iDb->select('etablissements', 'count(*) AS nbEtabs', "siren=$siren AND ACTIF%10=1",false,MYSQL_ASSOC);
|
|||
|
$nbEtab=$tabTmp[0]['nbEtabs'];
|
|||
|
$inseeND=$this->iDbInsee->select('insee_nondiff', 'siren, mois, dateInsert',"siren=$siren",false,MYSQL_ASSOC);
|
|||
|
$moisNonDiff=@$tabTmp[0]['mois'];
|
|||
|
$timer['tableIdentite']=microtime(true);
|
|||
|
}
|
|||
|
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';
|
|||
|
}
|
|||
|
|
|||
|
if (count($info)==0) {
|
|||
|
$idComp=$this->getIdentitePart($siren, $etab['raisonSociale'], $etab['enseigne'], $etab['sigle'], 0, $accesDist);
|
|||
|
$tab=$idComp;
|
|||
|
$timer['getIdentitePart']=microtime(true);
|
|||
|
}
|
|||
|
|
|||
|
/** G<EFBFBD>ocodage de l'adresse
|
|||
|
**/
|
|||
|
$ligne=date('YmdHis').";$siren;MMap AVANT";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
$mMap=new MMap(true);//$etab['adr_num'].' '.$this->getCodeVoie($etab['adr_typeVoie']).' '.$etab['adr_libVoie'], $etab['adr_cp'], $etab['adr_ville']);
|
|||
|
$mMap->geoCodeAdresse($etab['adr_num'],'',$etab['adr_typeVoie'],$this->getCodeVoie($etab['adr_typeVoie']), $etab['adr_libVoie'], $etab['adr_cp'], $etab['adr_ville'], 'France', trim($tabInsee['ADR_DEP'].$tabInsee['ADR_COM'].$tabInsee['CODEVOIE']));
|
|||
|
$ligne=date('YmdHis').";$siren;MMap APRES ($duree s)";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
$tab['latitude']=$mMap->latitudeDec;
|
|||
|
$tab['longitude']=$mMap->longitudeDec;
|
|||
|
$tab['precis']=$mMap->precision;
|
|||
|
$timer['geoCodage']=microtime(true);
|
|||
|
|
|||
|
/** Acc<EFBFBD>s provisoire <EFBFBD> AMABIS
|
|||
|
**/
|
|||
|
if ($accesDist) {
|
|||
|
$ligne=date('YmdHis').";$siren;MAmabis Avant";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
$tdeb=microtime(1);
|
|||
|
$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);
|
|||
|
$duree=round(microtime(1)-$tdeb,3);
|
|||
|
$ligne=date('YmdHis').";$siren;MAmabis APRES ($duree s)";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
$timer['zonesPrioritaires']=microtime(true);
|
|||
|
} else
|
|||
|
$repAmabis=array();
|
|||
|
|
|||
|
|
|||
|
/** N<EFBFBD> de TVA Intracommunautaire
|
|||
|
**/
|
|||
|
if ($siren*1>100) {
|
|||
|
$ligne=date('YmdHis').";$siren;MTva Avant";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
$tdeb=microtime(1);
|
|||
|
$iTva=new MTva($siren, $accesDist);
|
|||
|
$vatNumber=$iTva->vatNumber;
|
|||
|
$vatDefined=$iTva->vatDefined;
|
|||
|
$duree=round(microtime(1)-$tdeb,3);
|
|||
|
$ligne=date('YmdHis').";$siren;MTva APRES ($duree s)";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
$timer['tvaIntra']=microtime(true);
|
|||
|
} else {
|
|||
|
$vatNumber='FR00000000000';
|
|||
|
$vatDefined=false;
|
|||
|
}
|
|||
|
|
|||
|
$nom =trim($etab['raisonSociale']);
|
|||
|
if ($nom=='') $nom=@preg_replace('/,.*$/','',$tabInsee['IDENTITE_PRE']);
|
|||
|
$nom2=$tel=$fax='';
|
|||
|
if (strtoupper(trim($tabInsee['NOM2']))<>strtoupper(trim($etab['sigle'])))
|
|||
|
$nom2=trim($tabInsee['NOM2']);
|
|||
|
|
|||
|
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 ( $accesDist && $etab['actif']==1 ) {/*&&
|
|||
|
($tel=='' || /*$fax=='' ||* // Pas de t<>l ou Fax
|
|||
|
($etab['siege']==1 && ($tab['web']=='' || $tab['web']=='http://'))
|
|||
|
//$tab['web']=='' || $tab['mail']=='' || // Pas de Web/Mail
|
|||
|
)
|
|||
|
) */
|
|||
|
$ligne=date('YmdHis').";$siren;MTel Avant";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
$tdeb=microtime(1);
|
|||
|
$iTel=new MTel(false);//$accesDist);
|
|||
|
$iTel->getTel($siren);
|
|||
|
$tmp=$iTel->getTel($siren, $nic);
|
|||
|
$duree=round(microtime(1)-$tdeb,3);
|
|||
|
$ligne=date('YmdHis').";$siren;MTel APRES ($duree s)";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
$activitePJ_An8='';
|
|||
|
foreach ($tmp as $tmp2) {
|
|||
|
if ($tmp2['typeTel']=='tel' && ($tel==''||$tel==trim($tab['tel'])) )
|
|||
|
$tel=implode('.', str_split($tmp2['telephone'],2));
|
|||
|
if ($tmp2['typeTel']=='fax' && ($fax==''||$fax==trim($tab['fax'])) )
|
|||
|
$fax=implode('.', str_split($tmp2['telephone'],2));
|
|||
|
if ($tmp2['typeTel']=='web' && $tab['web']=='') $tab['web']=$tmp2['infoTel'];
|
|||
|
if ($tmp2['typeTel']=='mail' && $tab['mail']=='') $tab['mail']=$tmp2['infoTel'];
|
|||
|
if ($tmp2['typeTel']=='an8') $activitePJ_An8=$tmp2['infoTel'];
|
|||
|
}
|
|||
|
$timer['telFax']=microtime(true);
|
|||
|
//}
|
|||
|
|
|||
|
/** Type d'exploitation
|
|||
|
** 0 : N/C
|
|||
|
** 1 : Locataire d'un fond de commerce
|
|||
|
** 2 : Loueur d'un fond de commerce
|
|||
|
** 3 : Prestataire de personnel
|
|||
|
** 10: Exploitation directe
|
|||
|
** 11: Sans activit<EFBFBD> ???
|
|||
|
**/
|
|||
|
$typeExploitation=0;
|
|||
|
if (strtoupper($tabInsee['EXPLET'])=='O') {
|
|||
|
switch ($tabInsee['PRODPART']*1) {
|
|||
|
case 1: // Locataire d'un fond de commerce
|
|||
|
$tabAnn2=$this->getAnnoncesLegales($siren, 0, array(5700));
|
|||
|
if (count($tabAnn2)>0) $typeExploitation=0;
|
|||
|
else $typeExploitation=1;
|
|||
|
break;
|
|||
|
case 2: // Loueur d'un fond de commerce
|
|||
|
case 3: // Prestataire de personnel
|
|||
|
$typeExploitation=$tabInsee['PRODPART']*1;
|
|||
|
break;
|
|||
|
default:
|
|||
|
if (!($tabInsee['CJ']>=7000 && $tabInsee['CJ']<8000) &&
|
|||
|
!($tabInsee['CJ']>=9000 && $tabInsee['CJ']<10000) ) {
|
|||
|
if ($tabInsee['ORIGINE']*1==6) // Prise en location-g<>rance
|
|||
|
$typeExploitation=1; // Locataire d'un fond de commerce
|
|||
|
elseif ($tabInsee['ORIGINE']*1==1 || // Cr<43>ation pure
|
|||
|
$tabInsee['ORIGINE']*1==3 || // Achat
|
|||
|
$tabInsee['ORIGINE']*1==4) // Apport
|
|||
|
/*
|
|||
|
'2'=>'R<>installation apr<70>s transfert',
|
|||
|
'5'=>'Reprise au conjoint ou apport re<72>u',
|
|||
|
|
|||
|
'7'=>'Partage',
|
|||
|
'8'=>'Reprise',
|
|||
|
'9'=>'Autre modalit<69> d\'acquisition',
|
|||
|
'A'=>'Reprise globale d\'une exploitation agricole',
|
|||
|
'B'=>'Poursuite de l\'exploitation agricole par le conjoint',
|
|||
|
'C'=>'Transfert de propri<72>t<EFBFBD> d\'une exploitation agricole',
|
|||
|
'D'=>'Apport d\'exploitation(s) agricole(s) individuelle(s)',
|
|||
|
'E'=>'Reprise totale ou partielle d\'exploitation individuelle',
|
|||
|
*/
|
|||
|
$typeExploitation=10;
|
|||
|
elseif ($nbEtab<2) {
|
|||
|
$tabAnn=$this->getAnnoncesLegales($siren, 0, 'L');
|
|||
|
if (count($tabAnn)>0) {
|
|||
|
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getAnnonces... sur $siren", print_r($this->getAnnoncesLegales($siren, 0, 'L'), true));
|
|||
|
//ICI
|
|||
|
if ($tabAnn[0]['DateParution']>$tabInsee['DCRET'] && ($tabAnn[0]['Departement']==$tabInsee['ADR_DEP'] || $tabAnn[0]['Departement']==substr(''.$tabInsee['ADR_DEP'].''.$tabInsee['ADR_COM'],O,3)*1))
|
|||
|
$typeExploitation=1; // Locataire d'un fond de commerce
|
|||
|
} elseif (count($this->getAnnoncesLegales($siren, 0, 'G'))>0) {
|
|||
|
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getAnnonces... sur $siren", print_r($this->getAnnoncesLegales($siren, 0, 'G'), true));
|
|||
|
$typeExploitation=2; // Loueur d'un fond de commerce
|
|||
|
}
|
|||
|
} elseif ($tabInsee['ORIGINE']*1 <>0 &&
|
|||
|
$tabInsee['ORIGINE']*1 <>8 &&
|
|||
|
$tabInsee['ORIGINE']*1 <>9 &&
|
|||
|
$tabInsee['ORIGINE'] <>'NR')
|
|||
|
$typeExploitation=10; // Exploitation directe
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
$timer['typeExploitation']=microtime(true);
|
|||
|
|
|||
|
/** Recherche de pr<EFBFBD>d<EFBFBD>cesseur ou successeur
|
|||
|
**/
|
|||
|
global $tabInfoUser;
|
|||
|
$tabAssoc=$this->getSiretAssoc($siren, $nic);
|
|||
|
if (count($tabAssoc)>0) {
|
|||
|
if (isset($tabAssoc['pre'])) {
|
|||
|
// Il y a un pr<70>d<EFBFBD>cesseur
|
|||
|
if ($tabInsee['ORIGINE']*1==0 ||
|
|||
|
$tabInsee['ORIGINE']*1==1 ||
|
|||
|
$tabInsee['ORIGINE']*1==9 ||
|
|||
|
$tabInsee['ORIGINE']=='NR')
|
|||
|
$tabInsee['ORIGINE']=2; // Transfert
|
|||
|
}
|
|||
|
}
|
|||
|
$timer['siretPrecSuivant']=microtime(true);
|
|||
|
|
|||
|
/** Code Pays
|
|||
|
**/
|
|||
|
$codePaysIso2='FR';
|
|||
|
if ($tabInsee['ADR_DEP']>98) {
|
|||
|
$codePaysInsee=$tabInsee['ADR_COM'];
|
|||
|
$tabTmp=$this->iDb->select( 'jo.tabPays j, insee.insee_tabPays i',
|
|||
|
'j.codPays, j.numPays, j.codPays3, j.codePaysInpi, j.libPays, i.LIBCOG, i.ACTUAL',
|
|||
|
"j.codePaysInsee=$codePaysInsee AND j.codePaysInsee=substring( i.COG, 3, 3 ) AND i.ACTUAL IN (1,4) AND j.numPays is NOT NULL", true, MYSQL_ASSOC);
|
|||
|
if (count($tabTmp)==1) {
|
|||
|
$codePaysIso2=$tabTmp[0]['codPays'];
|
|||
|
} else {
|
|||
|
$codePaysIso2='';
|
|||
|
foreach ($tabTmp as $tabTmp2) {
|
|||
|
if (trim(preg_replace('/[^A-Z]/','',strtoupper(strtr($tabTmp2['libPays'],
|
|||
|
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
|||
|
"aaaaaaaceeeeiiiionooooouuuuyyAAAAAAACEEEEIIIIONOOOOOUUUUY"))))==trim(preg_replace('/[^A-Z]/','',strtoupper($tabTmp2['LIBCOG'])))) {
|
|||
|
$codePaysIso2=$tabTmp2['codPays'];
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
// Exception li<6C> <20> anomalies de donn<6E>es INSEE
|
|||
|
if ($codePaysIso2=='' && $codePaysInsee==237) $codePaysIso2='KR';
|
|||
|
|
|||
|
if ($codePaysIso2=='') {
|
|||
|
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getIdentiteEntreprise(siren=$siren,nic=$nic=,id=$id) Plusieurs Codes Pays", "Siret $siren $nic
|
|||
|
Id=$id".EOL.
|
|||
|
print_r($tabInsee, true).EOL.
|
|||
|
print_r($tabTmp, true));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
$timer['codePays']=microtime(true);
|
|||
|
|
|||
|
$tabIris=$this->getInfosIris($tabInsee['ADR_DEP'].$tabInsee['ADR_COM'], substr($tabInsee['CODEVOIE'],0,4), $etab['adr_num'], $etab['adr_btq'], $etab['adr_typeVoie'], $etab['adr_libVoie']);
|
|||
|
$timer['codeIris']=microtime(true);
|
|||
|
/*
|
|||
|
return array('codIris'=>$ret[0]['codeIris'],
|
|||
|
'codComIris'=>$ret[0]['codeInseeIris'],
|
|||
|
'libIris'=>$ret[0]['LIB_IRIS'],
|
|||
|
'typIris'=>$tabTypeIris[$ret[0]['TYP_IRIS']],
|
|||
|
*/
|
|||
|
// Est-ce un ancien <20>tablissement si<73>ge ?
|
|||
|
$ancienSiege=false;
|
|||
|
$dateFinSiege=0;
|
|||
|
if ($etab['siege']==0 || ($etab['siege']==1 && $tabInsee['ACTIF']==0)) {
|
|||
|
$dateFinSiege=$this->isAncienSiege($siren,$nic);
|
|||
|
if ($dateFinSiege>19000101) $ancienSiege=true;
|
|||
|
}
|
|||
|
$timer['ancienSiege']=microtime(true);
|
|||
|
|
|||
|
if ($tabInsee['ACTIF']*1==1 && $tabInsee['actifEco']*1==0) {
|
|||
|
/** L'<27>tablissement est actif juridiquement <20> l'INSEE mais sans activit<EFBFBD> <EFBFBD>conomique
|
|||
|
**/
|
|||
|
$tabTmp=$this->iDb->select('insee.insee_even', 'insEVE, IF(insDATEVE=0, idFlux*1, insDATEVE) AS insDATEVE',
|
|||
|
"insSIREN=$siren AND insEVE IN ('OD','TD','MPF','MNP','420','425','620','621','650') ORDER BY insDATEVE DESC", false, MYSQL_ASSOC);
|
|||
|
if (count($tabTmp)>0) {
|
|||
|
$tabModif=$tabTmp[0];
|
|||
|
switch(''.$tabModif['insEVE']) {
|
|||
|
case 'OD':
|
|||
|
case 'TD':
|
|||
|
case '420': // Absence d'activit<69> de l'entreprise (cessation <20>conomique de l.entreprise)
|
|||
|
case '425': // Absence d'activit<69> d'une entreprise suite <20> une mise <20> jour au r<>pertoire //
|
|||
|
case '620':
|
|||
|
case '621':
|
|||
|
case '650':
|
|||
|
// Ferm<72> <20>conomiquement
|
|||
|
$tabInsee['actifEcoType']='ECOF';
|
|||
|
$tabInsee['actifEcoDate']=$tabModif['insDATEVE'];
|
|||
|
break;
|
|||
|
case 'MPF': // Pr<50>sum<75> Ferm<72>
|
|||
|
$tabInsee['actifEcoType']='PFER';
|
|||
|
$tabInsee['actifEcoDate']=$tabModif['insDATEVE'];
|
|||
|
break;
|
|||
|
case 'MNP': // NPAI
|
|||
|
$tabInsee['actifEcoType']='NPAI';
|
|||
|
$tabInsee['actifEcoDate']=$tabModif['insDATEVE'];
|
|||
|
break;
|
|||
|
default:
|
|||
|
$tabInsee['actifEco']=1;
|
|||
|
$tabInsee['actifEcoDate']='';
|
|||
|
$tabInsee['actifEcoType']='';
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
$tabRet=array( 'id'=>$etab['id'],
|
|||
|
'Siret'=>$etab['siret'],
|
|||
|
'SiretSiege'=>$siretSiege,
|
|||
|
'AncienSiege'=>$ancienSiege,
|
|||
|
'AncienSiegeDateFin'=>$dateFinSiege,
|
|||
|
'Siege'=>$etab['siege'],
|
|||
|
'Tribunal'=>$etab['triCode'],
|
|||
|
'Nom'=>$nom, //EIRL
|
|||
|
|
|||
|
'Nom2'=>$nom2,
|
|||
|
'Sigle'=>$etab['sigle'],
|
|||
|
'Enseigne'=>$etab['enseigne'], //EIRL
|
|||
|
'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'],
|
|||
|
'PaysIso2'=>$codePaysIso2,
|
|||
|
|
|||
|
'Civilite'=>$tabInsee['CIVILITE'],
|
|||
|
'NbEtab'=>$nbEtab,
|
|||
|
'Tel'=>$tel,
|
|||
|
'Fax'=>$fax,
|
|||
|
'Web'=>$tab['web'],
|
|||
|
'Mail'=>$tab['mail'],
|
|||
|
|
|||
|
'GeoLat'=>$tab['latitude'],
|
|||
|
'GeoLon'=>$tab['longitude'],
|
|||
|
'GeoPrecis'=>$tab['precis'],
|
|||
|
|
|||
|
'TvaNumero'=>$vatNumber,
|
|||
|
'TvaAttribue'=>$vatDefined,
|
|||
|
|
|||
|
'FJ'=>$tabInsee['CJ'],
|
|||
|
'FJ_lib'=>$this->getLibelleFJ($tabInsee['CJ']),
|
|||
|
'RECME'=>$tabInsee['RECME'],
|
|||
|
'Siren'=>$etab['siren'],
|
|||
|
'Nic'=>$etab['nic'],
|
|||
|
'Actif'=>$tabInsee['ACTIF'], // Etablissement juridiquement ACTIF
|
|||
|
'ActifEco'=>$tabInsee['actifEco'], // Etablissement <20>conomiquement ACTIF
|
|||
|
'ActifEcoDate'=>$tabInsee['actifEcoDate'], // Etablissement <20>conomiquement Inactif depuis
|
|||
|
'ActifEcoType'=>$tabInsee['actifEcoType'], // Type d'inactivit<69> <20>co ECOF, NPAI, PFER ou vide
|
|||
|
'NafEtab'=>$tabInsee['APE_ETAB'],
|
|||
|
'NafEnt'=>$tabInsee['APE_ENT'],
|
|||
|
'NaceEtab'=>$this->getCodeNace($tabInsee['APE_ETAB']),
|
|||
|
'NaceEnt'=>$this->getCodeNace($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'],
|
|||
|
'SituationJuridique'=>'',
|
|||
|
'EffEnTr'=>$tabInsee['TEFF_ENT'],
|
|||
|
'EffEnTrLib'=>self::$tabEffectif[$tabInsee['TEFF_ENT']],
|
|||
|
'EffEtTr'=>$tabInsee['TEFF_ET'],
|
|||
|
'EffEtTrLib'=>self::$tabEffectif[$tabInsee['TEFF_ET']],
|
|||
|
'EffectifEtab'=>$tabInsee['EFF_ET'],
|
|||
|
'Effectif'=>$tabInsee['EFF_ENT'],
|
|||
|
'Dept'=>$tabInsee['ADR_DEP'],
|
|||
|
'codeCommune'=>$tabInsee['ADR_COM'],
|
|||
|
'TrancheCA'=>$tabInsee['TCA'],
|
|||
|
'TrancheCALib'=>self::$tabTCA[$tabInsee['TCA']],
|
|||
|
'TrancheCAexp'=>$tabInsee['TCAEXP'],
|
|||
|
'TrancheCAexpLib'=>self::$tabTCAexp[$tabInsee['TCAEXP']],
|
|||
|
|
|||
|
'AnneeEffEn'=>$tabInsee['DEFEN'],
|
|||
|
'AnneeEffEt'=>$tabInsee['DEFET'],
|
|||
|
'AnneeTCA'=>$tabInsee['TCA_AN'],
|
|||
|
|
|||
|
'dir1Titre'=>self::$tabFct[$tabInsee['DIR_FCT']],
|
|||
|
'dir1NomPrenom'=>preg_replace('/^EIRL\s/','',$tabInsee['DIR_IDEN']),
|
|||
|
'Rivoli'=>substr($tabInsee['CODEVOIE'],0,4).' '.substr($tabInsee['CODEVOIE'],-1),
|
|||
|
'InfosIris'=>$tabIris,
|
|||
|
'NatureActivite'=>$tabInsee['ACTIVNAT'], // Nature de l'activit<69>
|
|||
|
'OrigineCreation'=>$tabInsee['ORIGINE'], // Origine de la cr<63>ation
|
|||
|
'Auxiliaire'=>$tabInsee['AUXILT'], // 1=Auxiliaire / 0=Non auxiliaire
|
|||
|
'Saisonnalite'=>$tabInsee['SAISONAT'], // P=Activit<69> permanente / S=Activit<69> saisonni<6E>re
|
|||
|
'ACTISURF'=>$tabInsee['ACTISURF'],
|
|||
|
'EXPLEN'=>$tabInsee['EXPLEN'],
|
|||
|
'EXPLET'=>$tabInsee['EXPLET'],
|
|||
|
'LIEUACT'=>$tabInsee['LIEUACT'],
|
|||
|
'MODEN'=>$tabInsee['MODEN'],
|
|||
|
'MONOACT'=>$tabInsee['MONOACT'],
|
|||
|
'MONOREG'=>$tabInsee['MONOREG'],
|
|||
|
'REGIMP'=>$tabInsee['REGIMP'],
|
|||
|
'PRODPART'=>$tabInsee['PRODPART'],
|
|||
|
'GeoInfos'=>$repAmabis,
|
|||
|
'NonDiffusible'=>$moisNonDiff,
|
|||
|
'TypeExploitation'=>$typeExploitation,
|
|||
|
'DateMajINSEE'=>str_replace('--','',WDate::dateT('Ymd','Y-m-d',$tabInsee['DATE_MAJ'])),
|
|||
|
'APRM'=>$tabInsee['APRM'],
|
|||
|
'APRM_Lib'=>$this->getLibelleNafa($tabInsee['APRM']),
|
|||
|
'AutreSiret'=>$tabAssoc,
|
|||
|
// MODET,
|
|||
|
);
|
|||
|
|
|||
|
/** Nombre d'actions du capital si disponible **/
|
|||
|
if ($etab['capital']>0) {
|
|||
|
$insee=$this->iDbInsee->select(
|
|||
|
'sdv1.capitalActions',
|
|||
|
'capital, deviseCapital, nbActions, actionNominale, dateInfo',
|
|||
|
"siren=$siren AND capital>0 ORDER BY dateInfo DESC LIMIT 0,1",false,MYSQL_ASSOC);
|
|||
|
$tabRet['CapitalNbActions']=0;
|
|||
|
$tabRet['CapitalMtActions']=0;
|
|||
|
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "getIdentite sur $siren", print_r($insee, true).EOL.mysql_error());
|
|||
|
if (count($insee)>0) {
|
|||
|
if ($etab['capital']==$insee[0]['capital']) {
|
|||
|
$tabRet['CapitalNbActions']=$insee[0]['nbActions'];
|
|||
|
$tabRet['CapitalMtActions']=$insee[0]['actionNominale'];
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
$timer['nbActionsCapital']=microtime(true);
|
|||
|
|
|||
|
/** Num<EFBFBD>ro de TVA non d<EFBFBD>fini
|
|||
|
**/
|
|||
|
if (!$vatDefined) {
|
|||
|
// Dom Tom ou <20>tranger
|
|||
|
if ($tabRet['Dept']>96)
|
|||
|
$tabRet['TvaFacultatif']=2;
|
|||
|
// Micro-entreprise
|
|||
|
if ($tabRet['FJ']*1<2000 && $tabRet['Effectif']==0 && $tabRet['TrancheCA']==0)
|
|||
|
$tabRet['TvaFacultatif']=1;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/** Date de d<EFBFBD>but d'activit<69> de l'entreprise si absente INSEE
|
|||
|
**/
|
|||
|
if ($siren>100 && $tabRet['DateCreaEn']==0) {
|
|||
|
$insee=$this->iDbInsee->select('identite', 'DCREN', "SIREN=$siren AND DCREN>0 ORDER BY DCREN ASC LIMIT 0,1",false,MYSQL_ASSOC);
|
|||
|
if (count($insee)>0)
|
|||
|
$tabRet['DateCreaEn']=$insee[0]['DCREN'];
|
|||
|
else {
|
|||
|
$tmp=$this->getAvisInsee($siren);
|
|||
|
$dateCreaEn=WDate::dateT('Y-m-d','Ymd',$tmp['dateEtatEn']);
|
|||
|
if (preg_match("/Prise d'activit<69>/", $tmp['etatEn']) &&
|
|||
|
$dateCreaEn>19000101) {
|
|||
|
$this->iDbInsee->update('identite', array('DCREN'=>$dateCreaEn),
|
|||
|
"SIREN=$siren AND NIC=".$etab['nic']);
|
|||
|
/* @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getIdentiteEntreprise() sur $siren DateCreaEn trouv<75>e",
|
|||
|
print_r($tmp, true));
|
|||
|
} else
|
|||
|
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getIdentiteEntreprise() sur $siren date NON TROUVEE",
|
|||
|
print_r($tmp, true));
|
|||
|
*/
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
$timer['dateDebutActivite']=microtime(true);
|
|||
|
|
|||
|
|
|||
|
/** Adresse de domiciliation
|
|||
|
**/
|
|||
|
$tabDom=$this->infoAdresseDom( $tabRet['AdresseNum'],
|
|||
|
$tabRet['AdresseBtq'],
|
|||
|
$tabRet['AdresseVoie'],
|
|||
|
$tabRet['AdresseRue'],
|
|||
|
$tabRet['Adresse2'],
|
|||
|
$tabRet['CP'], $tabRet['Ville']);
|
|||
|
if (is_array($tabDom) && count($tabDom)>0)
|
|||
|
foreach($tabDom as $i=>$dom) {
|
|||
|
$tabRet['AdresseDom']=1;
|
|||
|
$tabRet['AdresseDomNb']=$dom['nbEntrep'];
|
|||
|
$domiciliataire='';
|
|||
|
if (preg_match('/^CHEZ (.*)$/i',$tabRet['Adresse2'], $matches) &&
|
|||
|
!preg_match('/ M | M. | MR | MME | MLLE /i',$tabRet['Adresse2'])) {
|
|||
|
$domiciliataire=$matches[1];
|
|||
|
$tabRet['AdresseDom']=2;
|
|||
|
}
|
|||
|
$tabRet['AdresseDomEnt'][]=array('siren'=>$dom['siren'],
|
|||
|
'nom'=>prepareString($dom['nom']),
|
|||
|
);
|
|||
|
}
|
|||
|
$timer['adresseDom']=microtime(true);
|
|||
|
|
|||
|
|
|||
|
/** Siren en Doublon ?
|
|||
|
**/
|
|||
|
if ($tab['sirenDoublon']>0) $tabRet['AutreSiren']=array('listeSiren'=>array('siren'=>$tab['sirenDoublon'],
|
|||
|
'type' =>'doublon'));
|
|||
|
if ($siren>100) {
|
|||
|
$tabProcol=$this->getAnnoncesLegales($siren, 0, 'P', false);
|
|||
|
$tabDates=array();
|
|||
|
foreach ($tabProcol as $iProcol=>$procol)
|
|||
|
$tabDates[]=$procol['dateJugement'];
|
|||
|
rsort($tabDates);
|
|||
|
$dateProcol=str_replace('-','',$tabDates[0])*1;
|
|||
|
if (count($tabProcol)>0) {
|
|||
|
if ($this->dureePlan>0 && date('Ymd')<$this->finPlan) {
|
|||
|
/** En cours de plan de continuation/redressement
|
|||
|
$this->debutPlan; // Date de d<>but/jugement/publication du plan SSAAMMJJ
|
|||
|
$this->dureePlan; // Dur<75>e du plan en mois
|
|||
|
$this->finPlan; // Date de fin du plan SSAAMMJJ
|
|||
|
*/
|
|||
|
$tabRet['SituationJuridique']='PL';
|
|||
|
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getIdentiteEntreprise() sur $siren En cours de plan",
|
|||
|
'D<>but du plan : '. $this->debutPlan .EOL.
|
|||
|
'Dur<75>e du plan : '. $this->dureePlan .' mois'.EOL.
|
|||
|
'Fin du plan : '. $this->finPlan);
|
|||
|
} elseif ($this->dureePlan>0 && date('Ymd')>=$this->finPlan)
|
|||
|
// Plan r<>volu
|
|||
|
$tabRet['SituationJuridique']='';
|
|||
|
elseif ($this->appelJugement)
|
|||
|
// Appel de jugement
|
|||
|
$tabRet['SituationJuridique']='PA';
|
|||
|
else
|
|||
|
// En cours de proc<6F>dure
|
|||
|
$tabRet['SituationJuridique']='P';
|
|||
|
|
|||
|
$tabTmp=$this->iDb->select('scores_cutoff', 'encours, scoreSolv, scoreDir, scoreConf, DATE(dateInsert)*1 AS dateInsert, DATE(dateUpdate)*1 AS dateUpdate', "siren=$siren", true, MYSQL_ASSOC);
|
|||
|
if ($tabTmp[0]['scoreSolv']>0) {
|
|||
|
if($tabTmp[0]['dateUpdate']>$tabTmp[0]['dateInsert'])
|
|||
|
$dateMaj=str_replace('-','',$tabTmp[0]['dateUpdate']);
|
|||
|
else
|
|||
|
$dateMaj=str_replace('-','',$tabTmp[0]['dateInsert']);
|
|||
|
if ($dateProcol<=$dateMaj)
|
|||
|
$tabRet['SituationJuridique']='';
|
|||
|
}
|
|||
|
} elseif (count($this->getAnnoncesLegales($siren, 0, 'A', false))>0)
|
|||
|
$tabRet['SituationJuridique']='A';
|
|||
|
elseif (count($this->getAnnoncesLegales($siren, 0, 'D', false))>0)
|
|||
|
$tabRet['SituationJuridique']='D';
|
|||
|
|
|||
|
/** Date de derni<6E>re mise <20> jour **/
|
|||
|
$tabAnn=$this->getAnnoncesLegales($siren, 0, '', false, false);
|
|||
|
$tabDates=array();
|
|||
|
foreach ($tabAnn as $iAnn=>$ann)
|
|||
|
$tabDates[]=$ann['dateInsertionSD'];
|
|||
|
rsort($tabDates);
|
|||
|
$tabRet['dateMajANN']=WDate::dateT('Y-m-d','Y-m-d',$tabDates[0]);
|
|||
|
if ($tabRet['dateMajANN']=='--') $tabRet['dateMajANN']='';
|
|||
|
$timer['getAnnoncesLegales']=microtime(true);
|
|||
|
}
|
|||
|
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 'FF' OR insEVE LIKE '410' OR insEVE LIKE '420' OR insEVE LIKE '425' OR insDESTINAT<>'') ORDER BY insDATEVE DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
|||
|
// $tabRet['DateClotEn']=@$tmp[0]['insDATEVE'];
|
|||
|
$tmp=$this->iDbInsee->select( 'insee_even', 'insDATEVE', "insSIREN=$siren $strNic AND ( insEVE LIKE 'FF' OR insEVE LIKE 'TF' OR insEVE LIKE '0F' OR insEVE LIKE 'TD' OR insEVE LIKE '0D' OR insEVE LIKE '410' OR insEVE LIKE '420' OR insEVE LIKE '425' OR insEVE LIKE '400' OR insEVE LIKE '430' OR insEVE LIKE '435' OR insDESTINAT<>'') ORDER BY insDATEVE DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
|||
|
$tabRet['DateClotEt']=@$tmp[0]['insDATEVE'];
|
|||
|
unset($tmp);
|
|||
|
$timer['dateClotureInsee']=microtime(true);
|
|||
|
}
|
|||
|
|
|||
|
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) {
|
|||
|
if ($tabInsee['CJ']>1999 && $tabInsee['CJ']<7000) {
|
|||
|
$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 <20>v<EFBFBD>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 19890101 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) {
|
|||
|
if ($ann['DATE']<19960101 && $ann['E1GSIR']<>$ann['SIREN']) continue;
|
|||
|
$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) && $tabInsee['CJ']>1999 && $tabInsee['CJ']<7000)
|
|||
|
|
|||
|
$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';
|
|||
|
}
|
|||
|
$timer['capital']=microtime(true);
|
|||
|
|
|||
|
/** Recherche du code Tribunal du si<73>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);
|
|||
|
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<69> 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|<7C>)(?:.|)\:", '', */$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, Assoc_Nom, typeAsso, Waldec', "siren=$siren AND dateSuppr=0 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 (trim($tabRet['AutreId'])=='')
|
|||
|
$tabRet['AutreId'] = trim($annCap['Waldec']);
|
|||
|
$tabRet['nomLong'] = trim($annCap['Assoc_Nom']);
|
|||
|
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']);
|
|||
|
if ($annCap['typeAsso']=='ASL' && $tabRet['FJ']<>9150) {
|
|||
|
$tabRet['FJ2'] = $tabRet['FJ'];
|
|||
|
$tabRet['FJ2_Lib'] = $tabRet['FJ_lib'];
|
|||
|
$tabRet['FJ'] = 9150;
|
|||
|
$tabRet['FJ_lib'] = $this->getLibelleFJ(9150);
|
|||
|
} elseif ($annCap['typeAsso']=='FOD') {
|
|||
|
$tabRet['FJ_lib'].= ' (Fonds de dotation)';
|
|||
|
}
|
|||
|
if (trim($tabRet['AutreId'])=='')
|
|||
|
$tabRet['AutreId'] = trim($waldec);
|
|||
|
|
|||
|
} elseif ($tabRet['Activite']=='' && ($tabInsee['CJ']<7000 || $tabInsee['CJ']>7999)) {
|
|||
|
$iDbHisto=new WDB('historiques');
|
|||
|
//10 <20> 19// Cr<43>ation d'entreprise
|
|||
|
//30 <20> 41
|
|||
|
//51 <20> 79=>'1503', // Cloture insuf.Actif
|
|||
|
$bodaccHisto=$iDbHisto->select(
|
|||
|
'entrep e, texte x',//.codEven Code <20>v<EFBFBD>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 19890101 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 ($ann['DATE']<19960101 && $ann['E1GSIR']<>$ann['SIREN']) continue;
|
|||
|
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|<7C>)(?:.|)\:(.*)(?: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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
$timer['activiteReelle']=microtime(true);
|
|||
|
|
|||
|
$bodacc=$this->iDb->select('rncs_dirigeants',
|
|||
|
"nom, prenom, fonction_code as code, fonction_lib as libelle, naissance_date AS dateNaiss, naissance_lieu AS lieuNaiss, dirRS as rs, '' as dateEffet",
|
|||
|
"siren=$siren AND actif%10=1 AND fonction_lib NOT LIKE '%Administrateur%' ORDER BY actif DESC, fonction_lib DESC", true, MYSQL_ASSOC);
|
|||
|
if (count($bodacc)==0)
|
|||
|
$bodacc=$this->iDb->select('rncs_dirigeants',
|
|||
|
"nom, prenom, fonction_code as code, fonction_lib as libelle, naissance_date AS dateNaiss, naissance_lieu AS lieuNaiss, dirRS as rs, '' as dateEffet",
|
|||
|
"siren=$siren AND actif%10=0 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<50>sident' &&
|
|||
|
$ann['libelle']<>'Directeur g<>n<EFBFBD>ral') continue;
|
|||
|
$tabRet['dir'.$k.'Code']=$ann['code'];
|
|||
|
$tabRet['dir'.$k.'Titre']=$ann['libelle'];
|
|||
|
if (trim($ann['rs'])<>'') {
|
|||
|
$tabRet['dir'.$k.'NomPrenom']=$ann['rs'];
|
|||
|
if (trim($ann['nom'])<>'' || trim($ann['prenom'])<>'')
|
|||
|
$tabRet['dir'.$k.'NomPrenom'].=' repr. par '.$ann['nom'].' '.$ann['prenom'];
|
|||
|
} else
|
|||
|
$tabRet['dir'.$k.'NomPrenom']=$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.'Code']=$ann['fonction'];
|
|||
|
$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++;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
$timer['dirigeants']=microtime(true);
|
|||
|
|
|||
|
/** 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 dateSuppr=0 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 AND dateSuppr=0", 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'];
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
$timer['association']=microtime(true);
|
|||
|
|
|||
|
|
|||
|
if (@count($etabG)>0) {
|
|||
|
// On initialise les dern<72>res variables en prov. d'Infogreffes
|
|||
|
//$tabRet['DateClotEn'] = $etabG['DateRadiation'];
|
|||
|
$tabRet['DateClotEt'] = $etabG['DateRadiation'];
|
|||
|
$tabRet['dateImmat'] = $etabG['DateCreation'];
|
|||
|
if ($tabRet['dateImmat']*1==0)
|
|||
|
$tabRet['dateImmat']= substr($etabG['NumRC2'],0,4).'0101';
|
|||
|
$tabRet['DateCreaEt'] = $tabRet['DateCreaEn'] = substr($etabG['NumRC2'],0,4).'0100';
|
|||
|
|
|||
|
$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'];
|
|||
|
$tabRet['DateMajRCS'] = $etab['dateMAJ'];
|
|||
|
$tabRet['numGreffe'] = $etabG['NumGreffe'];
|
|||
|
$tabRet['numRC'] = $etabG['NumRC2'];
|
|||
|
$tabRet['Enseigne'] = $etabG['Enseigne'];
|
|||
|
$iRncs=new MRncs();
|
|||
|
$tabRet['Tribunal'] = $iRncs->getCodeBodaccTribunal($etabG['NumGreffe']);
|
|||
|
}
|
|||
|
if ($tabRet['Siege']==1 && $tabRet['Actif'] && $tabRet['Tribunal']=='')
|
|||
|
$tabRet['Tribunal']=$tabCodeTri;
|
|||
|
|
|||
|
$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, dateRad*1 AS dateRadNum, capitalType, capitalCent, provisoires, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren", false, MYSQL_ASSOC);
|
|||
|
$entrep=$rep[0];
|
|||
|
if (isset($entrep['numGreffe'])) { //ETRANGER//
|
|||
|
$tabRet['numGreffe'] = $entrep['numGreffe'];
|
|||
|
$tabRet['numRC'] = $entrep['numRC2'];
|
|||
|
if (( preg_match('/[A-Z]/i',substr($tabRet['AutreId'],2,2)) &&
|
|||
|
!preg_match('/[A-Z]/i',substr($tabRet['AutreId'],0,2))
|
|||
|
) || $tabRet['AutreId']=='')
|
|||
|
$tabRet['AutreId'] = $etabG['NumRC2'];
|
|||
|
$tabRet['Tribunal'] = $entrep['triCode'];
|
|||
|
if (strtoupper(trim($entrep['raisonSociale']))<>strtoupper(trim($tabRet['Nom'])))
|
|||
|
$tabRet['nomLong'] = strtoupper($entrep['raisonSociale']);
|
|||
|
if (strtoupper(trim($entrep['sigle']))<>strtoupper(trim($tabRet['Sigle'])))
|
|||
|
$tabRet['sigleLong']= strtoupper($entrep['sigle']);
|
|||
|
$tabRet['dateImmat'] = $entrep['dateImma'];
|
|||
|
$tabRet['dateRad'] = $entrep['dateRad'];
|
|||
|
//if ($entrep['actif']==0 && $entrep['dateRadNum']==0) {}
|
|||
|
$tabRet['Capital'] = $entrep['capitalMontant']+($entrep['capitalCent']/100);
|
|||
|
$tabRet['CapitalDev'] = $entrep['capitalDevIso'];
|
|||
|
$tabRet['CapitalType'] = trim(strtoupper(substr($entrep['capitalType'],0,1)));
|
|||
|
|
|||
|
// Par d<>faut, la Forme juridique qui fait foie est celle de l'INPI
|
|||
|
$fjInpi=$entrep['cj']*1;
|
|||
|
if ($tabRet['FJ']*1<>$fjInpi && $fjInpi>0) {
|
|||
|
$tabRet['FJ2'] = $tabRet['FJ'];
|
|||
|
$tabRet['FJ2_Lib'] = $tabRet['FJ_lib'];
|
|||
|
$tabRet['FJ'] = $fjInpi;
|
|||
|
$tabRet['FJ_lib'] = $this->getLibelleFJ($fjInpi);
|
|||
|
} else {
|
|||
|
$tabRet['FJ2'] = $tabRet['FJ'];
|
|||
|
$tabRet['FJ2_Lib'] = $tabRet['FJ_lib'];
|
|||
|
}
|
|||
|
if ($fjInpi>=1000 && $fjInpi<2000) {
|
|||
|
$tabRet['dir1Titre']='Personne physique';
|
|||
|
$tabRet['dir1NomPrenom']=strtoupper($entrep['nom']).' '.ucwords(strtolower($entrep['prenom']));
|
|||
|
$tabRet['dir1DateNaiss']=$entrep['dateNaiss'];
|
|||
|
$tabRet['dir1LieuNaiss']=$entrep['lieuNaiss'];
|
|||
|
}
|
|||
|
|
|||
|
if ($tabRet['DateMajRCS']=='') {
|
|||
|
if ($entrep['jourUpdate']<>'0000-00-00')
|
|||
|
$tabRet['DateMajRCS']=$entrep['jourUpdate'];
|
|||
|
else
|
|||
|
$tabRet['DateMajRCS']=$entrep['flux'];
|
|||
|
}
|
|||
|
if ($entrep['actif']==1 || $entrep['actif']==11)
|
|||
|
$tabRet['EntActiveRCS']=1; // On signal que l'entreprise est active au RCS
|
|||
|
else {
|
|||
|
$tabRet['EntActiveRCS']=0; // On signal que l'entreprise est radi<64> du RCS
|
|||
|
if ($tabRet['SituationJuridique']=='')
|
|||
|
$tabRet['SituationJuridique']='RR'; // On signal que l'entreprise est radi<64> du RCS
|
|||
|
}
|
|||
|
|
|||
|
/** Informations sur l'<27>tablissement au RNCS **/
|
|||
|
$rep=$this->iDb->select('rncs_etab',
|
|||
|
'id, siege, actif, enseigne, nomCommercial,
|
|||
|
adrNumVoie, adrIndRep, adrLibVoie, adrTypeVoie, adrVoie,
|
|||
|
cp, commune, adrComp, adresse1, adresse2, adresse3,
|
|||
|
naf, dateFermeture, flux, dateInsert, DATE(dateUpdate) AS jourUpdate',
|
|||
|
"siren=$siren AND nic=$nic", false, MYSQL_ASSOC);
|
|||
|
$entrep=$rep[0];
|
|||
|
if (isset($entrep['id'])) {
|
|||
|
$tabRet['EtabActifRCS']=0;
|
|||
|
if ($entrep['jourUpdate']<>'0000-00-00' &&
|
|||
|
str_replace('-','',$entrep['jourUpdate'])*1>str_replace('-','',$tabRet['DateMajRCS']))
|
|||
|
$tabRet['DateMajRCS']=$entrep['jourUpdate'];
|
|||
|
|
|||
|
if ($entrep['actif']*1==1) $tabRet['EtabActifRCS']=1; // On signal que l'<27>tablissement est actif au RCS
|
|||
|
$tabRet['NomCommercial']=$entrep['nomCommercial'];
|
|||
|
$tabRet['enseigneLong']=$entrep['enseigne'];
|
|||
|
|
|||
|
if ($codePaysIso2<>'FR' && $codePaysIso2<>'') {
|
|||
|
$tabRet['Adresse'] = trim(preg_replace('/ +/', ' ', $entrep['adrNumVoie'] .' '.$entrep['adrIndRep'].' '.
|
|||
|
$entrep['adrTypeVoie'].' '.$entrep['adrVoie']));
|
|||
|
$tabRet['Adresse2'] = trim(preg_replace('/ +/', ' ', $entrep['adrComp']));
|
|||
|
$tabRet['AdresseNum'] = $entrep['adrNumVoie'];
|
|||
|
$tabRet['AdresseBtq'] = $entrep['adrIndRep'];
|
|||
|
$tabRet['AdresseVoie'] = $entrep['adrTypeVoie'];
|
|||
|
$tabRet['AdresseRue'] = $entrep['adrVoie'];
|
|||
|
$tabRet['CP'] = $entrep['cp'];
|
|||
|
$tabRet['Ville'] = $entrep['commune'];
|
|||
|
/* 'Siren'=>$etab['siren'],
|
|||
|
'Nic'=>$etab['nic'],
|
|||
|
*/
|
|||
|
}
|
|||
|
}
|
|||
|
$timer['infosRNCS']=microtime(true);
|
|||
|
} elseif ($siren>1000) {
|
|||
|
/**
|
|||
|
** Recherche au RM
|
|||
|
**/
|
|||
|
$rep=$this->iDb->select('artisanat', 'siren, actif, numRM, denomination, sigle, nomCommercial, enseigne, fj, effectif, aprm, debutActivite, activite, adresse, cp, ville, cessation, radiation, nom,prenom,nomUsage,dateNaiss,lieuNaiss,qualite,qualif,dateQualif,dateFctDeb,dateFctFin,DATE(dateUpdate) AS jourUpdate, DATE(dateInsert) AS dateInsert', "siren=$siren", false, MYSQL_ASSOC);
|
|||
|
$entrep=$rep[0];
|
|||
|
if (isset($entrep['numRM'])) {
|
|||
|
$tabRet['AutreId'] = $entrep['numRM'];
|
|||
|
|
|||
|
/** @todo Traiter ou non les zones :
|
|||
|
* - denomination, fj,effectif,adresse,cp,ville,
|
|||
|
* - cessation, dateQualif,dateFctDeb,dateFctFin
|
|||
|
* Transformer les FJ en CJ dans la table
|
|||
|
* Ajouter les fonctions des dir dans la table
|
|||
|
* Ne pas prendre les supprimer dans la construction des index !
|
|||
|
*/
|
|||
|
if ($tabRet['Activite']=='') $tabRet['Activite']=$entrep['activite'];
|
|||
|
if ($tabRet['APRM']=='') {
|
|||
|
$tabRet['APRM']=$entrep['aprm'];
|
|||
|
$tabRet['APRM_Lib']=$this->getLibelleNafa($entrep['aprm']);
|
|||
|
}
|
|||
|
|
|||
|
// $tabRet['Tribunal'] = $entrep['triCode'];
|
|||
|
if (strtoupper(trim($entrep['nom'].' '.$entrep['prenom'].' '.$entrep['nomUsage']))<>strtoupper(trim($tabRet['Nom'])))
|
|||
|
$tabRet['nomLong'] = strtoupper(trim($entrep['nom'].' '.$entrep['prenom'].' '.$entrep['nomUsage']));
|
|||
|
if (strtoupper(trim($entrep['sigle']))<>strtoupper(trim($tabRet['Sigle'])))
|
|||
|
$tabRet['sigleLong']= strtoupper($entrep['sigle']);
|
|||
|
|
|||
|
$tabRet['dateImmat'] = $entrep['debutActivite'];
|
|||
|
$tabRet['dateRad'] = $entrep['radiation'];
|
|||
|
|
|||
|
// Si on est au greffe, on est artisan commercant
|
|||
|
if ($tabRet['numGreffe']*1>0)
|
|||
|
$fjInpi=1100; // Artisan Commer<65>ant
|
|||
|
else
|
|||
|
$fjInpi=1300; // Artisan
|
|||
|
|
|||
|
// Par d<>faut, la Forme juridique qui fait foie est celle de l'INPI
|
|||
|
if ($tabRet['FJ']*1<>$fjInpi) {
|
|||
|
$tabRet['FJ2'] = $tabRet['FJ'];
|
|||
|
$tabRet['FJ2_Lib'] = $tabRet['FJ_lib'];
|
|||
|
$tabRet['FJ'] = $fjInpi;
|
|||
|
$tabRet['FJ_lib'] = $this->getLibelleFJ($fjInpi);
|
|||
|
} else {
|
|||
|
$tabRet['FJ2'] = $tabRet['FJ'];
|
|||
|
$tabRet['FJ2_Lib'] = $tabRet['FJ_lib'];
|
|||
|
}
|
|||
|
|
|||
|
$tabRet['dir1Titre']=ucwords(strtolower($entrep['qualite'].' '.$entrep['qualif']));
|
|||
|
$tabRet['dir1NomPrenom']=strtoupper($entrep['nom']).' '.ucwords(strtolower($entrep['prenom']));
|
|||
|
$tabRet['dir1DateNaiss']=$entrep['dateNaiss'];
|
|||
|
$tabRet['dir1LieuNaiss']=$entrep['lieuNaiss'];
|
|||
|
|
|||
|
if ($tabRet['DateMajRCS']=='') {
|
|||
|
if ($entrep['jourUpdate']<>'0000-00-00')
|
|||
|
$tabRet['DateMajRCS']=$entrep['jourUpdate'];
|
|||
|
else
|
|||
|
$tabRet['DateMajRCS']=$entrep['dateInsert'];
|
|||
|
}
|
|||
|
if ($entrep['actif']==1 || $entrep['actif']==11)
|
|||
|
$tabRet['EntActiveRCS']=1; // On signal que l'entreprise est active au RCS
|
|||
|
else {
|
|||
|
$tabRet['EntActiveRCS']=0; // On signal que l'entreprise est radi<64> du RCS
|
|||
|
if ($tabRet['SituationJuridique']=='')
|
|||
|
$tabRet['SituationJuridique']='RR'; // On signal que l'entreprise est radi<64> du RCS
|
|||
|
}
|
|||
|
|
|||
|
$tabRet['NomCommercial']=$entrep['nomCommercial'];
|
|||
|
$tabRet['enseigneLong']=$entrep['enseigne'];
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if ( $accesDist &&
|
|||
|
// D<>partement couvert par Infogreffe
|
|||
|
$tabRet['Dept']<>57 && $tabRet['Dept']<>67 && $tabRet['Dept']<>68 && $tabRet['Dept']<>97 && $tabRet['Dept']<>98 && $tabRet['Dept']<>99 &&
|
|||
|
// Forme Juridique pr<70>sente au greffe
|
|||
|
( $tabInsee['CJ']==1100 ||
|
|||
|
$tabInsee['CJ']==1200 ||
|
|||
|
$tabInsee['CJ']==1300 ||
|
|||
|
$tabInsee['CJ']==1700 ||
|
|||
|
($tabInsee['CJ']>=3100 && $tabInsee['CJ']<=3299) ||
|
|||
|
($tabInsee['CJ']>=4100 && $tabInsee['CJ']<=4199) ||
|
|||
|
($tabInsee['CJ']>=5100 && $tabInsee['CJ']<=5899) ||
|
|||
|
($tabInsee['CJ']>=6100 && $tabInsee['CJ']<=6599) ||
|
|||
|
$tabInsee['CJ']==9900 ||
|
|||
|
preg_match('/EIRL/', $nom) || preg_match('/EIRL/', $nom2) ||
|
|||
|
preg_match('/EIRL/', $tabRet['Sigle']) || preg_match('/EIRL/', $tabRet['Enseigne']) ||
|
|||
|
preg_match('/EIRL/', $tabRet['Adresse']) || preg_match('/EIRL/', $tabRet['Adresse2'])
|
|||
|
) &&
|
|||
|
( $tabInsee['CJ']==1700 || // Agents commerciaux (uniquement au Greffes RSAC)
|
|||
|
$tabRet['numRC']=='' || // Num<75>ro de RCS absent = Anomalie (<<3C>3%)
|
|||
|
$tabRet['Tribunal']=='' || // Tribunal absent = anomalie
|
|||
|
str_replace('-','',$tabRet['dateImmat'])*1==0 || // Pas de date d'immat = anomalie (<<3C>9%)
|
|||
|
($nbEtab*1==0 && str_replace('-','',$tabRet['dateRad'])*1==0) // Inactif sans date de RAD
|
|||
|
)
|
|||
|
) {
|
|||
|
$ligne=date('YmdHis').";$siren;MGreffes Avant";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
$tdeb=microtime(1);
|
|||
|
$iGeffes=new MGreffes();
|
|||
|
$iRncs=new MRncs();
|
|||
|
$etabG=$iGeffes->getIdentite($siren);
|
|||
|
$duree=round(microtime(1)-$tdeb,3);
|
|||
|
$ligne=date('YmdHis').";$siren;MGreffes APRES ($duree s)";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
if ($etabG) {
|
|||
|
if ($tabRet['numRC']=='') $tabRet['numRC'] = $etabG['NumRC2'];
|
|||
|
if ($tabRet['Tribunal']=='') $tabRet['Tribunal'] = $iRncs->getCodeBodaccTribunal($etabG['NumGreffe']);
|
|||
|
if (str_replace('-','',$tabRet['dateImmat'])*1==0) $tabRet['dateImmat']= $etabG['DateCreation'];
|
|||
|
if (str_replace('-','',$tabRet['dateRad'])*1==0) {
|
|||
|
$tabRet['dateRad'] = $etabG['DateRadiation'];
|
|||
|
if (str_replace('-','',$tabRet['dateRad'])*1>0 && $tabRet['SituationJuridique']=='')
|
|||
|
$tabRet['SituationJuridique']='RR';
|
|||
|
}
|
|||
|
if (preg_match('/[A-Z]/i',substr($tabRet['AutreId'],2,2)) || $tabRet['AutreId']=='')
|
|||
|
$tabRet['AutreId'] = $etabG['NumRC2'];
|
|||
|
}
|
|||
|
$timer['infosInfogreffes']=microtime(true);
|
|||
|
}
|
|||
|
|
|||
|
/** Si il n'y a aucun <20>tablissement actif et qu'on est radi<EFBFBD> au RCS :
|
|||
|
** on part chercher la derni<EFBFBD>re annonce de Radiation au Bodacc
|
|||
|
**/
|
|||
|
if (($nbEtab*1)==0 || (isset($entrep['numGreffe']) && $entrep['actif']==0 && $entrep['dateRadNum']==0)) {
|
|||
|
$tabRad=$this->getAnnoncesLegales($siren, 0, 'R');
|
|||
|
//@file_put_contents('/var/www/html/ws2/inseeDebug.log', print_r($tabRad, true));
|
|||
|
if (count($tabRad)>0) {
|
|||
|
// Il y a au moins une annonce de radiation au Bodacc
|
|||
|
if ($tabRet['SituationJuridique']=='')
|
|||
|
$tabRet['SituationJuridique']='RP';
|
|||
|
|
|||
|
$dateEff=str_replace('-','', $tabRad[0]['dateEffet'])*1;
|
|||
|
$dateJug=str_replace('-','', $tabRad[0]['dateJugement'])*1;
|
|||
|
$datePar=str_replace('-','', $tabRad[0]['DateParution'])*1;
|
|||
|
if ($dateEff>0)
|
|||
|
$tabRet['dateRad']=$dateEff;
|
|||
|
elseif ($dateJug>0)
|
|||
|
$tabRet['dateRad']=$dateJug;
|
|||
|
elseif ($datePar>0)
|
|||
|
$tabRet['dateRad']=$datePar;
|
|||
|
}
|
|||
|
$timer['infosRadiation']=microtime(true);
|
|||
|
}
|
|||
|
|
|||
|
/** El<EFBFBD>ments Financiers en provenance du dernier Bilan
|
|||
|
**/
|
|||
|
$rep=$this->iDb->select('bilans', 'siren, dateExercice, dureeExercice, monnaie, typeBilan, unite, postes, dateProvPartenaire, dateInsert', "siren=$siren AND typeBilan IN ('N','S') ORDER BY dateExercice DESC", false, MYSQL_ASSOC);
|
|||
|
$entrep=$rep[0];
|
|||
|
if (isset($entrep['dateExercice'])) {
|
|||
|
$tabRet['bilanDate'] = $entrep['dateExercice'];
|
|||
|
$tabRet['bilanMois'] = $entrep['dureeExercice'];
|
|||
|
$tabRet['bilanDevise'] = $entrep['monnaie'];
|
|||
|
if ($entrep['dateProvPartenaire']>0)
|
|||
|
$tabRet['bilanDateMaj']=WDate::dateT('Ymd','Y-m-d',$entrep['dateProvPartenaire']);
|
|||
|
else
|
|||
|
$tabRet['bilanDateMaj']=WDate::dateT('Y-m-d','Y-m-d',$entrep['dateInsert']);
|
|||
|
|
|||
|
switch (strtoupper(trim($entrep['unite']))) {
|
|||
|
case 'M': $unite='M'; break;
|
|||
|
case 'K': $unite='K'; break;
|
|||
|
default: $unite='U'; break;
|
|||
|
}
|
|||
|
$tabTmp=explode(';', $entrep['postes']);
|
|||
|
$tabBilan=array();
|
|||
|
foreach ($tabTmp as $i=>$strTmp) {
|
|||
|
$tabTmp2=explode('=', $strTmp);
|
|||
|
if (isset($tabTmp2[1]))
|
|||
|
if ($unite=='K' && $tabTmp2[0]<>'YP' && $tabTmp2[0]<>'YP1' && $tabTmp2[0]<>'376')
|
|||
|
$tabBilan[$tabTmp2[0]]=$tabTmp2[1]*1000;
|
|||
|
elseif ($unite=='M' && $tabTmp2[0]<>'YP' && $tabTmp2[0]<>'YP1' && $tabTmp2[0]<>'376')
|
|||
|
$tabBilan[$tabTmp2[0]]=$tabTmp2[1]*1000000;
|
|||
|
else $tabBilan[$tabTmp2[0]]=$tabTmp2[1];
|
|||
|
}
|
|||
|
if (strtoupper($entrep['typeBilan'])=='S') {
|
|||
|
$mBil=new MBilans(0);
|
|||
|
$tabTmp=$mBil->bilanSimplifie2Normal($tabBilan);
|
|||
|
$tabBilan=array_merge($tabTmp, $tabBilan);
|
|||
|
}
|
|||
|
|
|||
|
$tabRet['bilanDA'] = $tabBilan['DA'];
|
|||
|
$tabRet['bilanFL'] = $tabBilan['FL'];
|
|||
|
$tabRet['bilanHN'] = $tabBilan['HN'];
|
|||
|
$tabRet['bilanYP'] = $tabBilan['YP'];
|
|||
|
|
|||
|
// Fiche AGS
|
|||
|
$tabRet['bilanPQ'] = $tabBilan['PQ'];
|
|||
|
$tabRet['bilanPU'] = $tabBilan['PU'];
|
|||
|
$tabRet['bilanPY'] = $tabBilan['PY'];
|
|||
|
$tabRet['bilanQC'] = $tabBilan['QC'];
|
|||
|
|
|||
|
/** Contr<74>le de la coh<6F>rence du type d'exploitation **/
|
|||
|
if ($tabBilan['AH']>0 && // Je poss<73>de un fond commercial
|
|||
|
$tabRet['TypeExploitation']<>2 && // et je ne suis pas Loueur d'un fond
|
|||
|
$tabRet['TypeExploitation']<>3 && // et je ne suis pas Prestataire de personnel
|
|||
|
$tabRet['TypeExploitation']<>10) { // et je ne suis pas exploitant direct
|
|||
|
/*@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Identite sur $siren : Type d'exploitation",
|
|||
|
"Fonds commercial au dernier bilan .... ".$tabBilan['AH'].EOL.
|
|||
|
"Ancien type d'exploitation ........... ".$tabRet['TypeExploitation'].EOL.
|
|||
|
"Nouveau type d'exploitation .......... 10 (exploitation directe)".EOL.print_r($tabBilan,true));*/
|
|||
|
$tabRet['TypeExploitation']=10;
|
|||
|
}
|
|||
|
$timer['infosBilan']=microtime(true);
|
|||
|
}
|
|||
|
|
|||
|
/** CA Estim<EFBFBD> si aucune info Bilan au TCA Insee
|
|||
|
**/
|
|||
|
//$tabRet['caEstime'] = getCAnafEffectif($tabRet['NafEnt'],$tabRet['Effectif']);
|
|||
|
|
|||
|
|
|||
|
//exec("/var/www/batch/getInfosId.php $siren $piece > /dev/null &");
|
|||
|
|
|||
|
/** DEBUT parallele **
|
|||
|
$pids = array();
|
|||
|
$shm = ftok(__FILE__, 'c');
|
|||
|
$shm_id = shm_attach($shm);
|
|||
|
$mutex = sem_get($shm);
|
|||
|
|
|||
|
define("_IDCOMP", -1);
|
|||
|
define("_MAP", -1);
|
|||
|
define("_AMABIS", -1);
|
|||
|
define("_TVA", -1);
|
|||
|
define("_TEL", -1);
|
|||
|
define("_GREFFE", -1);
|
|||
|
|
|||
|
shm_put_var($shm_id, _IDCOMP, -1);
|
|||
|
shm_put_var($shm_id, _MAP, -1);
|
|||
|
shm_put_var($shm_id, _AMABIS, -1);
|
|||
|
shm_put_var($shm_id, _TVA, -1);
|
|||
|
shm_put_var($shm_id, _TEL, -1);
|
|||
|
shm_put_var($shm_id, _GREFFE, -1);
|
|||
|
|
|||
|
for($instance=0; $instance<7; $instance++)
|
|||
|
{
|
|||
|
$pid = pcntl_fork();
|
|||
|
if ($pid == -1) {
|
|||
|
die('could not fork');
|
|||
|
} else if ($pid) {
|
|||
|
// we are in the parent
|
|||
|
$pids[] = $pid;
|
|||
|
} else {
|
|||
|
// we're in the child - download the movie
|
|||
|
switch ($instance) {
|
|||
|
case 0: // Identit<69> partenaire
|
|||
|
if (count($info)==0 && $accesDist) {
|
|||
|
$idComp=$this->getIdentitePart($siren, $etab['raisonSociale'], $etab['enseigne'], $etab['sigle']);
|
|||
|
shm_put_var($shm_id, _IDCOMP, serialize($idComp));
|
|||
|
}
|
|||
|
break;
|
|||
|
case 1: // Google MAP
|
|||
|
$mMap=new MMap(true);
|
|||
|
$mMap->geoCodeAdresse($etab['adr_num'],'',$etab['adr_typeVoie'],$this->getCodeVoie($etab['adr_typeVoie']), $etab['adr_libVoie'], $etab['adr_cp'], $etab['adr_ville'], 'France', trim($tabInsee['ADR_DEP'].$tabInsee['ADR_COM'].$tabInsee['CODEVOIE']));
|
|||
|
shm_put_var($shm_id, _MAP, serialize($mMap));
|
|||
|
break;
|
|||
|
case 2: // Zones prioritaires
|
|||
|
if ($accesDist) {
|
|||
|
$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);
|
|||
|
}
|
|||
|
shm_put_var($shm_id, _AMABIS, serialize($repAmabis));
|
|||
|
break;
|
|||
|
case 3: // N<> de TVA
|
|||
|
if ($siren*1>100)
|
|||
|
$iTva=new MTva($siren, $accesDist);
|
|||
|
shm_put_var($shm_id, _TVA, serialize($iTva));
|
|||
|
break;
|
|||
|
case 4: // T<>l<EFBFBD>phonie Si<53>ge
|
|||
|
if ( $accesDist && (
|
|||
|
$tel=='' || $fax=='' || // Pas de t<>l ou Fax
|
|||
|
$tab['web']=='' || $tab['mail']=='' || // Pas de Web/Mail
|
|||
|
($etab['siege']==0 && $etab['actif']==1) ) // Ets secondaire actif
|
|||
|
) {
|
|||
|
$iTel=new MTel();
|
|||
|
$iTel->getTel($siren);
|
|||
|
}
|
|||
|
break;
|
|||
|
case 5: // T<>l<EFBFBD>phonie Etab
|
|||
|
if ( $accesDist && (
|
|||
|
$tel=='' || $fax=='' || // Pas de t<>l ou Fax
|
|||
|
$tab['web']=='' || $tab['mail']=='' || // Pas de Web/Mail
|
|||
|
($etab['siege']==0 && $etab['actif']==1) ) // Ets secondaire actif
|
|||
|
) {
|
|||
|
$iTel=new MTel();
|
|||
|
$tmp=$iTel->getTel($siren, $nic);
|
|||
|
shm_put_var($shm_id, _TEL, serialize($tmp));
|
|||
|
}
|
|||
|
break;
|
|||
|
case 6: // Infogreffe
|
|||
|
if ( $accesDist && $tabRet['Dept']<>57 && $tabRet['Dept']<>67 && $tabRet['Dept']<>68 && $tabRet['Dept']<>97 && $tabRet['Dept']<>98 && $tabRet['Dept']<>99 && // D<>partements du p<>rim<69>tre infogreffe
|
|||
|
( $tabInsee['CJ']==1700 || // Agents commerciaux (uniquement au Greffes RSAC
|
|||
|
$tabRet['numRC']=='' || // Num<75>ro de RCS absent = Anomalie
|
|||
|
$tabRet['Tribunal']=='' || // Tribunal absent = anomalie
|
|||
|
str_replace('-','',$tabRet['dateImmat'])*1==0 || // Pas de date d'immat = anomalie
|
|||
|
($nbEtab*1==0 && str_replace('-','',$tabRet['dateRad'])*1==0) // Inactif sans date de RAD
|
|||
|
)
|
|||
|
) {
|
|||
|
$iGeffes=new MGreffes();
|
|||
|
$etabG=$iGeffes->getIdentite($siren);
|
|||
|
shm_put_var($shm_id, _GREFFE, serialize($etabG));
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
exit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
foreach($pids as $pid) {
|
|||
|
pcntl_waitpid($pid, $status);
|
|||
|
}
|
|||
|
|
|||
|
$idComp = unserialize(shm_get_var($shm_id, _IDCOMP));
|
|||
|
$mMap = unserialize(shm_get_var($shm_id, _MAP));
|
|||
|
$repAmabis = unserialize(shm_get_var($shm_id, _AMABIS));
|
|||
|
$iTva = unserialize(shm_get_var($shm_id, _TVA));
|
|||
|
$iTel = unserialize(shm_get_var($shm_id, _TEL));
|
|||
|
$etabG = unserialize(shm_get_var($shm_id, _GREFFE));
|
|||
|
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getIdentiteEntreprise() sur $siren", "Donn<EFBFBD>es r<>colt<6C>es en //".EOL.
|
|||
|
print_r($idComp, true) .EOL.
|
|||
|
print_r($mMap, true) .EOL.
|
|||
|
print_r($repAmabis, true) .EOL.
|
|||
|
print_r($iTva, true) .EOL.
|
|||
|
print_r($iTel, true) .EOL.
|
|||
|
print_r($etabG, true));
|
|||
|
/** FIN parallele **/
|
|||
|
|
|||
|
$tabRet['TribunalLib']=$this->iBodacc->getTribunalNom($tabRet['Tribunal']);
|
|||
|
$duree=round(microtime(1)-$tdebIni,3);
|
|||
|
$ligne=date('YmdHis').";$siren;getIdentiteEntreprise Fin ($duree s) ===";
|
|||
|
$fp=fopen(LOG_PATH.'/accesDistant.log', 'a');
|
|||
|
fwrite($fp,$ligne.EOL);
|
|||
|
fclose($fp);
|
|||
|
|
|||
|
/** Si on n'a trouv<75> aucune activit<69>, on prend le libell<6C> de l'activit<69> pages Jaunes **/
|
|||
|
if ($tabRet['Activite']=='' && $activitePJ_An8<>'')
|
|||
|
$tabRet['Activite']=$activitePJ_An8;
|
|||
|
|
|||
|
/** Numero de Registre du m<>tier si n<>cessaire **/
|
|||
|
if ( ($tabRet['FJ']==1100 || $tabRet['FJ']==1300 || $tabRet['FJ']==11 || $tabRet['FJ']==13 || $tabInsee['APRM']<>'') &&
|
|||
|
($tabRet['Dept']=='2A' || $tabRet['Dept']=='2B' || $tabRet['Dept']<98) ) {
|
|||
|
// Artisan Commer<65>ant OU Artisan en FRANCE
|
|||
|
$tabRet['NumRM']=$siren.' RM '.$tabRet['Dept'];
|
|||
|
if ($tabRet['Dept']=='2A') $tabRet['NumRM'].='.1'; // Ajaccio
|
|||
|
elseif ($tabRet['Dept']=='2B') $tabRet['NumRM'].='.2'; // Bastia
|
|||
|
elseif ($tabRet['Dept']==97) $tabRet['NumRM'].=substr($tabRet['codeCommune'],0,1);
|
|||
|
}
|
|||
|
|
|||
|
/** Recherche des infos boursi<73>res **/
|
|||
|
$iBourse=new MBourse($siren);
|
|||
|
$bourse=$iBourse->getInfosBourse($siren);
|
|||
|
$tabRet['Bourse']=array('placeCotation'=>$bourse['placeCotation'],
|
|||
|
'nombreTitres'=>$bourse['nombreTitres'],
|
|||
|
'capitalisation'=>$bourse['close']*$bourse['nombreTitres'],
|
|||
|
'derCoursDate'=>$bourse['date'],
|
|||
|
'derCoursCloture'=>$bourse['close']);
|
|||
|
$timer['infosBoursieres']=microtime(true);
|
|||
|
|
|||
|
/** Date de derni<6E>re mise <20> jour **/
|
|||
|
$lastMaj=str_replace('-','',$tabRet['DateMajINSEE'])*1;
|
|||
|
if (str_replace('-','',$tabRet['DateMajRCS'])*1>$lastMaj)
|
|||
|
$lastMaj=str_replace('-','',$tabRet['DateMajRCS'])*1;
|
|||
|
if (str_replace('-','',$tabRet['bilanDateMaj'])*1>$lastMaj)
|
|||
|
$lastMaj=str_replace('-','',$tabRet['bilanDateMaj'])*1;
|
|||
|
if (str_replace('-','',$tabRet['dateMajANN'])*1>$lastMaj)
|
|||
|
$lastMaj=str_replace('-','',$tabRet['dateMajANN'])*1;
|
|||
|
$tabRet['dateMajIdentite']=WDate::dateT('Ymd','Y-m-d',$lastMaj);
|
|||
|
|
|||
|
$i=0;$strTime='';
|
|||
|
foreach ($timer as $lib=>$time) {
|
|||
|
$strTime.="$lib : ";
|
|||
|
$duree=round($time-$timePre,3);
|
|||
|
if ($i==0) { $strTime.="0 s"; $timeDeb=$time; }
|
|||
|
else $strTime.="$duree s";
|
|||
|
$strTime.="\n";
|
|||
|
$timePre=$time;
|
|||
|
$i++;
|
|||
|
}
|
|||
|
$duree=round($time-$timeDeb,3);
|
|||
|
$strTime.="---------------------
|
|||
|
TOTAL : $duree secondes\n";
|
|||
|
|
|||
|
if(ENV<>'PRD' && $tabInfoUser['login']=='ylenaour')
|
|||
|
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Identite sur $siren : Dur<75>es ".ENV, $strTime.EOL.print_r($tabRet,true));
|
|||
|
|
|||
|
return $tabRet;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
function getDirigeantsOp($siren) {
|
|||
|
$siren=$siren*1;
|
|||
|
$tabRet=array();
|
|||
|
$dirs=$this->iDb->select(
|
|||
|
'sdv1.dirigeantsOp d, jo.bodacc_fonctions f',
|
|||
|
'siren, nic, civ, nom, prenom, d.codFct, f.libelle, tel, fax, email, dateInsert, dateUpdate',
|
|||
|
"siren=$siren AND d.codFct=f.codeFct", true, MYSQL_ASSOC);
|
|||
|
|
|||
|
foreach ($dirs as $k=>$dir) {
|
|||
|
$tabRet[]=array( 'Fonction' => $dir['codFct'],
|
|||
|
'Titre' => $dir['libelle'],
|
|||
|
'Societe' => '',
|
|||
|
'Civilite' => $dir['civ'],
|
|||
|
'Nom' => trim(strtoupper($dir['nom'])),
|
|||
|
'Prenom' => ucwords(strtolower($dir['prenom'])),
|
|||
|
'NaissDate' => '',
|
|||
|
'NaissVille' => '',
|
|||
|
'NaissDepPays' => '',
|
|||
|
'Ancien' => 0,
|
|||
|
'DateFct' => '',
|
|||
|
'Cinf' => 0,
|
|||
|
);
|
|||
|
}
|
|||
|
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) {
|
|||
|
/* if (!$histo && (
|
|||
|
$ann['fonction']<>300 && // Commissaire aux comptes titulaire
|
|||
|
$ann['fonction']<>301 && // Co-commissaire aux comptes suppl<70>ant
|
|||
|
$ann['fonction']<>302 && // Co-commissaire aux comptes titulaire
|
|||
|
$ann['fonction']<>303 && // Commissaire aux comptes suppl<70>ant
|
|||
|
$ann['fonction']<>304) ) // Commissaire aux comptes
|
|||
|
continue;*/
|
|||
|
$tabRet[]=array( 'Fonction' => $ann['fonction'],
|
|||
|
'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 19890101 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['DATE']<19960101 && $ann['E1GSIR']<>$ann['SIREN']) continue;
|
|||
|
if ( ($ann['CODEVE']<20) ||
|
|||
|
($ann['CODEVE']>=30 && $ann['CODEVE']<42) ||
|
|||
|
($ann['CODEVE']>=51 && $ann['CODEVE']<80) ) {
|
|||
|
if (preg_match('/Administration(?:.|)\:(.*)(?:Adresse.*|Commentaires?|Activit(?:e|<7C>)|Etablissement principal|Date d\'effet|Date.de.d.but d.activit.)(?:.|)\:/Uis', $ann['annonceTxt'], $matches)) {
|
|||
|
$iDir=0;
|
|||
|
$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<69> d'"=>'',
|
|||
|
"Nomination en qualit<69> de"=>'',
|
|||
|
"dont le est"=>'',
|
|||
|
"nouvel"=>'',
|
|||
|
"partant"=>'',
|
|||
|
"ancien d'honneur"=>'',
|
|||
|
"nouveaux"=>'',
|
|||
|
"nouveau"=>'',
|
|||
|
"ancien"=>'',
|
|||
|
"Nouveau"=>'',
|
|||
|
"Cette soci<63>t<EFBFBD> se constitue Date de d<>but d'"=>'',
|
|||
|
)));
|
|||
|
if ($nom<>'') {
|
|||
|
$tabRet[]=array( 'Fonction' => $tabDir['fonction'],
|
|||
|
'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']),
|
|||
|
);
|
|||
|
$this->iDb->insert('bodacc_dirigeants_histo',
|
|||
|
array( 'siren' => $siren,
|
|||
|
'id' => $ann['ANBASE'],
|
|||
|
'num' => $iDir,
|
|||
|
'dateEffet' => Wdate::dateT('Ymd','Y-m-d', $ann['DATE']),
|
|||
|
'fonction' => $tabDir['fonction'],
|
|||
|
'rs' => $tabDir['rs'],
|
|||
|
'nom' => $nom,
|
|||
|
'prenom' => $tabDir['prenom'],
|
|||
|
'depart' => $tabDir['depart'],
|
|||
|
), true);
|
|||
|
/*if (mysql_errno()>0) {
|
|||
|
echo mysql_errno().' : '.mysql_error().EOL;
|
|||
|
}*/
|
|||
|
$iDir++;
|
|||
|
}
|
|||
|
}
|
|||
|
//break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!$histo || ($histo && count($tabRet)==0) ) {
|
|||
|
$dirs=$this->iDb->select(
|
|||
|
'rncs_dirigeants/* d, bodacc_fonctions f*/',
|
|||
|
'siren, raisonSociale, dirRS, civilite, nom, prenom, naissance_nom, naissance_date, naissance_lieu, fonction_code, fonction_lib, cinf, dateFin, flux, dateInsert/*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='';
|
|||
|
if ($dir['flux']<>'0000-00-00')
|
|||
|
$dateModif=Wdate::dateT('Y-m-d','d/m/Y', $dir['flux']);
|
|||
|
else
|
|||
|
$dateModif=Wdate::dateT('Y-m-d','d/m/Y', $dir['dateInsert']);
|
|||
|
$tabRet[]=array( 'Fonction' =>$dir['fonction_code'],
|
|||
|
'Titre' =>$dir['fonction_lib'],
|
|||
|
'Societe' =>$dir['dirRS'],
|
|||
|
'Civilite' =>$dir['civilite'],
|
|||
|
'Nom' =>trim($dir['nom']),
|
|||
|
'Prenom' =>$dir['prenom'],
|
|||
|
'NaissDate' =>$dateNaiss,
|
|||
|
'NaissVille' =>$dir['naissance_lieu'],
|
|||
|
'NaissDepPays' =>'', // 25
|
|||
|
'Ancien' =>0,
|
|||
|
'DateFct' =>$dateModif,
|
|||
|
'Cinf' =>$dir['cinf'],
|
|||
|
);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/** Recherche de CAC si liste des dirigeants actifs **/
|
|||
|
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 AND d.fonction BETWEEN 300 AND 304 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('Fonction' => $ann['fonction'],
|
|||
|
'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'],
|
|||
|
);
|
|||
|
if ($k>1) break; // On s'arr<72>te <20> 2 CAC (pb des co-cac non g<>r<EFBFBD>s)
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
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, dateFin, flux, dateInsert, /*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['flux']<>'0000-00-00')
|
|||
|
$dateModif=Wdate::dateT('Y-m-d','d/m/Y', $dir['flux']);
|
|||
|
else
|
|||
|
$dateModif=Wdate::dateT('Y-m-d','d/m/Y', $dir['dateInsert']);
|
|||
|
if ($dir['dateUpdate']<>$dateUpdatePre) break;
|
|||
|
$tabRet[]=array( 'Fonction' =>$dir['fonction_code'],
|
|||
|
'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' =>$dateModif,
|
|||
|
'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' =>'',
|
|||
|
);
|
|||
|
$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);
|
|||
|
}
|
|||
|
}*/
|
|||
|
|
|||
|
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;
|
|||
|
}*/
|
|||
|
}
|
|||
|
|
|||
|
/*
|
|||
|
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<75> : ".$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;
|
|||
|
}
|
|||
|
|
|||
|
/** Liste des annonces l<EFBFBD>gales pour un siren donn<EFBFBD>e
|
|||
|
**
|
|||
|
** @param integer $siren
|
|||
|
** @param integer $idAnnonce
|
|||
|
** @param mixed $rubrique Filter par rubrique (P)rocol, (D)issolution, (R)adiation, (A)bsorption, (L)ocataire,
|
|||
|
** (G)<EFBFBD>rance:propri<EFBFBD>taire, (V)endeur, bodacc (C), (BODA) (BODB) (BODC) ou tableau des codeEven
|
|||
|
** @param bool $forceVerif
|
|||
|
** @return array
|
|||
|
**/
|
|||
|
function getAnnoncesLegales($siren, $idAnnonce=0, $rubrique='', $forceVerif=false, $allTextes=false) {// rubrique =
|
|||
|
$siren=$siren*1;
|
|||
|
$strIdAnn='';
|
|||
|
$tabRet=array();
|
|||
|
$procol=false; // Par d<>faut, on ne trouve pas de proc<6F>dure collective !
|
|||
|
$this->dureePlan=0; // Par d<>faut, on ne trouve aucune dur<75>e de plan
|
|||
|
|
|||
|
if ($idAnnonce>0) $strIdAnn=" AND d.id=$idAnnonce ";
|
|||
|
elseif ($idAnnonce==0 && $siren<100) return $tabRet;
|
|||
|
|
|||
|
if ($rubrique=='P' ||
|
|||
|
$rubrique=='PH') // Proc<6F>dure collective
|
|||
|
$strIdAnn=" AND d.Rubrique='procol' AND d.typeEven NOT LIKE '%1005%'
|
|||
|
AND d.typeEven NOT LIKE '%1010%'
|
|||
|
AND d.typeEven NOT LIKE '%1050%'
|
|||
|
AND d.typeEven NOT LIKE '%1055%'
|
|||
|
AND d.typeEven NOT LIKE '%1550%' ";
|
|||
|
/** @todo Pr<EFBFBD>voir de ne pas sortir l'annonce si 'P' demand<EFBFBD> et date juge > 10 ans
|
|||
|
** AND e.DATE>=".((date('Y')*1)-10).''.date('md')
|
|||
|
**/
|
|||
|
elseif ($rubrique=='D') // Dissolution de la soci<63>t<EFBFBD>
|
|||
|
$strIdAnn=" AND (d.typeEven LIKE '%2202%' OR d.typeEven LIKE '%2203%' OR d.typeEven LIKE '%2204%' OR
|
|||
|
d.typeEven LIKE '%2210%' 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=='BODA') // BODACC A
|
|||
|
$strIdAnn=" AND d.Rubrique IN ('creations','procol','ventes') ";
|
|||
|
elseif ($rubrique=='BODB') // BODACC B
|
|||
|
$strIdAnn=" AND d.Rubrique IN ('mmd','radiations') ";
|
|||
|
|
|||
|
elseif ($rubrique=='C' || $rubrique=='BODC') // D<>p<EFBFBD>t des comptes, BODACC C
|
|||
|
$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.typeEven LIKE '%2202%' OR d.typeEven LIKE '%2203%' OR d.typeEven LIKE '%2204%' OR
|
|||
|
d.typeEven LIKE '%2210%' OR d.typeEven LIKE '%2211%' OR d.typeEven LIKE '%2212%' OR d.Rubrique='radiations') ";
|
|||
|
elseif ($rubrique=='L') // Location g<>rance Locataire
|
|||
|
$strIdAnn=" AND (d.typeEven LIKE '%2800%' OR d.typeEven LIKE '%2875%' OR d.typeEven LIKE '%2880%' OR
|
|||
|
d.typeEven LIKE '%2881%' OR d.typeEven LIKE '%2885%' OR d.typeEven LIKE '%2840%' OR
|
|||
|
d.typeEven LIKE '%4355%') ";
|
|||
|
elseif ($rubrique=='G') // Location g<>rance Propri<72>taire
|
|||
|
$strIdAnn=" AND (d.typeEven LIKE '%2850%' OR d.typeEven LIKE '%2851%' OR d.typeEven LIKE '%2860%' OR
|
|||
|
d.typeEven LIKE '%2870%') ";
|
|||
|
elseif ($rubrique=='V') // Ventes/Cessions
|
|||
|
$strIdAnn=" AND (d.typeEven LIKE '%5500%' OR d.typeEven LIKE '%5501%' OR d.typeEven LIKE '%5502%' OR
|
|||
|
d.typeEven LIKE '%5503%' OR d.typeEven LIKE '%5510%' OR d.typeEven LIKE '%5600%' OR
|
|||
|
d.typeEven LIKE '%5650%') ";
|
|||
|
elseif (is_array($rubrique) && count($rubrique)>0) {
|
|||
|
$strIdAnn=" AND (";
|
|||
|
foreach ($rubrique as $codeEven)
|
|||
|
$tabTmp[]=" d.typeEven LIKE '%$codeEven%' ";
|
|||
|
$strIdAnn.=implode(' OR ',$tabTmp);
|
|||
|
$strIdAnn.=')';
|
|||
|
// @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getAnnonces... sur $siren", $strIdAnn);
|
|||
|
}
|
|||
|
|
|||
|
//elseif ($rubrique=='V') $strIdAnn=" AND d.Rubrique='ventes' ";
|
|||
|
|
|||
|
if ($rubrique<>'' && $rubrique<>'P' && $rubrique<>'PH' && $rubrique<>'D' && $rubrique<>'A' && $rubrique<>'C' && $rubrique<>'R'
|
|||
|
&& $rubrique<>'L' && $rubrique<>'G' && $rubrique<>'V'
|
|||
|
&& $rubrique<>'BODA' && $rubrique<>'BODB' && $rubrique<>'BODC' && !is_array($rubrique))
|
|||
|
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 <20>v<EFBFBD>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, d.dateFinObservation, d.VenteMt, d.VenteDev, d.FJ, d.Capital, d.CapitalDev, CONCAT(d.commentaires,' ',d.fusion) as complement, d.raisonSociale, d.nomCommercial, d.enseigne, d.sigle, d.adresse, d.codePostal, d.ville, d.adresseSiege, d.codePostalSiege, d.villeSiege",
|
|||
|
"$strCle AND d.id=b.id AND b.Tribunal_Code=t.triCode AND d.dateSuppr=0 $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<EFBFBD>'.
|
|||
|
$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));
|
|||
|
if (($this->dureePlan==0 || $this->dureePlan==120) &&
|
|||
|
( $even==1407 || // Modification de plan
|
|||
|
$even==1409 || // Modification du plan de continuation
|
|||
|
$even==1413 || // Arr<72>t du plan de continuation
|
|||
|
$even==1414) ) // Arr<72>t du plan de redressement
|
|||
|
{
|
|||
|
$this->debutPlan=str_replace('-','',$ann['dateJugement']); // SSAAMMJJ
|
|||
|
if (preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+ans?/Uis', $ann['annonce'], $matches)) {
|
|||
|
$this->dureePlan=$matches[1]*12; // 10 ans = 120 mois
|
|||
|
}
|
|||
|
if ($this->dureePlan<1 || $this->dureePlan>120) {
|
|||
|
$this->dureePlan=120; // 10 ans = 120 mois
|
|||
|
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Annonce de Plan R<>cent sur $siren sans dur<75>e", print_r($ann, true).EOL.print_r($matches, true));
|
|||
|
}
|
|||
|
$this->finPlan=WDate::period2Days($this->debutPlan, $this->dureePlan.' mois');
|
|||
|
// sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getAnnoncesLegales($siren, idAn=$idAnnonce, rubrique=$rubrique, verif=$forceVerif, txt=$allTextes) Annonce de Plan", print_r($ann, true));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
switch ($ann['Rubrique']) {
|
|||
|
case 'mmd': $codeEven='2313'; $libEven='Modification(s) diverse(s)'; break;
|
|||
|
case 'comptes': $codeEven='3999'; $libEven='D<>p<EFBFBD>t des comptes'; break;
|
|||
|
case 'creations': $codeEven='4999'; $libEven='Cr<43>ation d\'entreprise'; break;
|
|||
|
case 'procol': $codeEven='1999'; $libEven='Proc<6F>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;
|
|||
|
|
|||
|
//dateDebutActivite
|
|||
|
//
|
|||
|
$dateCes=str_replace('-','', $ann['dateCessationActivite'])*1;
|
|||
|
$dateDeb=str_replace('-','', $ann['dateDebutActivite'])*1;
|
|||
|
$dateEff=str_replace('-','', $ann['dateEffet'])*1;
|
|||
|
if ($dateCes>0)
|
|||
|
$dateEffet=$ann['dateCessationActivite'];
|
|||
|
elseif ($dateDeb>0)
|
|||
|
$dateEffet=$ann['dateDebutActivite'];
|
|||
|
else
|
|||
|
$dateEffet=$ann['dateEffet'];
|
|||
|
$adresseAnn=trim(preg_replace('/ +/',' ', $ann['adresseSiege'].' '.$ann['codePostalSiege'].' '.$ann['villeSiege']));
|
|||
|
if (strlen($adresse)<8)
|
|||
|
$adresseAnn=trim(preg_replace('/ +/',' ', $ann['adresse'].' '.$ann['codePostal'].' '.$ann['ville']));
|
|||
|
$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'],
|
|||
|
'TribunalCode'=>$ann['triCode'],
|
|||
|
'TribunalSiret'=>$ann['triSiret'],
|
|||
|
'Rubrique'=>$ann['Rubrique'],
|
|||
|
'typeAnnonce'=>$ann['typeAnnonce'],
|
|||
|
'texteRectificatif'=>$ann['corrTexteRectificatif'],
|
|||
|
// 'texteAnnonce'=>$ann['annonce'],
|
|||
|
'dateEffet'=>$dateEffet,
|
|||
|
'dateJugement'=>$ann['dateJugement'],
|
|||
|
/// d.dateDebutActivite, d.dateCessationActivite, d.dateJugement',
|
|||
|
'dateFin'=>$ann['dateFinObservation'],
|
|||
|
'montantVente'=>trim($ann['VenteMt'].' '.$ann['VenteDev']),
|
|||
|
'libFJ'=>$ann['FJ'],
|
|||
|
'codFJ'=>$this->iBodacc->getCodeFormeJur($ann['FJ']),
|
|||
|
'capital'=>$ann['Capital'],
|
|||
|
'capitalDev'=>$ann['CapitalDev'],
|
|||
|
'raisonSociale'=>$ann['raisonSociale'],
|
|||
|
'nomCommercial'=>$ann['nomCommercial'],
|
|||
|
'sigle'=>$ann['sigle'],
|
|||
|
'adresse'=>$adresseAnn,
|
|||
|
'dateInsertionSD'=>$ann['dateInsert'],
|
|||
|
'evenements'=>$tabRetEven,
|
|||
|
'complement'=>$ann['complement'],
|
|||
|
);
|
|||
|
if ($idAnnonce<>0 || $allTextes)
|
|||
|
$tabRet[$k]['texteAnnonce']=$ann['annonce'];
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if ($idAnnonce==0 || $idAnnonce<0) { /** On recherche dans les annonces pass<73>es **/
|
|||
|
$iDbHisto=new WDB('historiques');
|
|||
|
$tabTmp=array( 10=>'4000', // Cr<43>ation d'entreprise
|
|||
|
11=>'4000',
|
|||
|
13=>'4000',
|
|||
|
14=>'4000',
|
|||
|
15=>'4000',
|
|||
|
16=>'4000',
|
|||
|
17=>'4200', // Cr<43>ation d'<27>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<6E>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<6F>dure d'Insolvabilit<69> Europ<6F>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<66>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<EFBFBD>t des cr<63>ances
|
|||
|
79=>'1503', // Cloture insuf.Actif
|
|||
|
92=>'1450', //Cessation paiement ??
|
|||
|
);
|
|||
|
$tabTmp2=array( ''=>'2318',
|
|||
|
'a'=>'2308', // Chg de d<>nomination(RS,Ens,Sigle)
|
|||
|
'b'=>'2300', // Changement d'Adresse
|
|||
|
'c'=>'2101', // Chg.Capital/Cess.apport de parts
|
|||
|
'd'=>'2315', // Changement de Dirigeants
|
|||
|
'e'=>'2313', // Mod Act/obj.soc./Cess./Mise somm.
|
|||
|
'f'=>'2307', // Changement de Forme juridique
|
|||
|
'g'=>'2318', // Op<4F>ration sur Participations
|
|||
|
'h'=>'2725', // Fusion Absorption
|
|||
|
'i'=>'2318', // Mod.garantie financi<63>re/Caution
|
|||
|
'j'=>'2401', // Changement de r<>gime matrimonial
|
|||
|
'k'=>'2319', // Non dissolution anticip<69>e
|
|||
|
'l'=>'2318', // Non dissolution anticip<69>e
|
|||
|
'm'=>'2318', // Dissolution anticip<69>e (ou non)
|
|||
|
'n'=>'2303', // Mod.date cloture exercice social
|
|||
|
'o'=>'2300;2101', // Mod.Adresse + Capital
|
|||
|
'p'=>'2300;2315', // Mod.Adresse + Dirigeants
|
|||
|
'q'=>'2300;2313', // Mod.Adresse + Activit<69>
|
|||
|
'r'=>'2300;2307', // Mod.Adresse + F.Juridique
|
|||
|
's'=>'2101;2315', // Modification Capital + Dirigeants
|
|||
|
't'=>'2101;2313', // Modification Capital + Activit<69>
|
|||
|
'u'=>'2101;2307', // Mod.Capital + Forme Juridique
|
|||
|
'v'=>'2315;2313', // Mod.Dirigeants + Activit<69>
|
|||
|
'w'=>'2315;2307', // Mod.Dirigeants + Forme Juridique
|
|||
|
'x'=>'2313;2307', // Mod.Activit<69> + Forme Juridique
|
|||
|
'y'=>'2318', // Changement de Dirigeants ?
|
|||
|
'z'=>'2318', //
|
|||
|
//'K'=>
|
|||
|
);
|
|||
|
|
|||
|
if ($idAnnonce<0) {
|
|||
|
$idAnnonce=abs($idAnnonce);
|
|||
|
$strIdAnn=" AND e.ANBASE=$idAnnonce ";
|
|||
|
} else
|
|||
|
$strIdAnn='';
|
|||
|
if ($rubrique=='P') $strIdAnn=" AND e.E1GSIR NOT IN(340460104) AND e.CODEVE BETWEEN 50 AND 79 ";//AND e.DATE>=".((date('Y')*1)-10).''.date('md');
|
|||
|
elseif ($rubrique=='PH')$strIdAnn=" AND e.CODEVE BETWEEN 50 AND 79 ";
|
|||
|
elseif ($rubrique=='R') $strIdAnn=" AND e.CODEVE BETWEEN 40 AND 42 ";
|
|||
|
elseif ($rubrique=='L') $strIdAnn=" AND e.CODEVE IN(37,42) ";
|
|||
|
elseif ($rubrique=='G') $strIdAnn=" AND e.CODEVE=38 ";
|
|||
|
elseif ($rubrique=='BODA') $strIdAnn=" AND e.JAL=1 ";
|
|||
|
elseif ($rubrique=='BODB') $strIdAnn=" AND e.JAL=200 ";
|
|||
|
elseif (is_array($rubrique)) {
|
|||
|
$tabCodEve=$tabCodRol=array();
|
|||
|
foreach ($rubrique as $codeEvenTmp) {
|
|||
|
$codRet=array_search($codeEvenTmp, $tabTmp2); // Ne g<>re pas les ; de tabtmp2
|
|||
|
if ($codRet) $tabCodRol[]=$codRet;
|
|||
|
else {
|
|||
|
$tabCodEve[]=array_search($codeEvenTmp, $tabTmp)*1;
|
|||
|
}
|
|||
|
}
|
|||
|
$strIdAnn='';
|
|||
|
$tabCodEve=array_unique($tabCodEve);
|
|||
|
$tabCodRol=array_unique($tabCodRol);
|
|||
|
if (count($tabCodEve)>0)
|
|||
|
$strIdAnn.=' AND e.CODEVE IN('.implode(',',$tabCodEve).') ';
|
|||
|
if (count($tabCodRol)>0)
|
|||
|
$strIdAnn.=" AND e.ROLE IN('".implode("','",$tabCodRol)."') ";
|
|||
|
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getAnnoncesLegales($siren, idAn=$idAnnonce, rubrique=$rubrique, verif=$forceVerif, txt=$allTextes)", print_r($rubrique, true).EOL.$strIdAnn);
|
|||
|
/*
|
|||
|
if (!$codRet) {
|
|||
|
$codRet=array_search($codeEvenTmp, $tabTmp)*1;
|
|||
|
$strIdAnn=" AND e.CODEVE=$codRet ";
|
|||
|
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getAnnoncesLegales($siren, idAn=$idAnnonce, rubrique=$rubrique, verif=$forceVerif, txt=$allTextes)", print_r($rubrique, true));
|
|||
|
} else
|
|||
|
$strIdAnn=" AND e.ROLE='$codRet' ";
|
|||
|
}*/
|
|||
|
//$strIdAnn=$tabCodRet
|
|||
|
}
|
|||
|
|
|||
|
// On ne part pas dans l'histo dans certains cas...
|
|||
|
if ($rubrique<>'V' && $rubrique<>'D' && $rubrique<>'A' && $rubrique<>'C' && $rubrique<>'BODC') {
|
|||
|
$bodaccHisto=$iDbHisto->select(
|
|||
|
'texte x, entrep e',//.codEven Code <20>v<EFBFBD>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 19890101 AND 20041231 GROUP BY e.ANBASE ORDER BY e.DATE DESC", true, MYSQL_ASSOC);
|
|||
|
if (count($bodaccHisto)>0) {
|
|||
|
foreach ($bodaccHisto as $ann) {
|
|||
|
if ($ann['DATE']<19960101 && $ann['E1GSIR']<>$ann['SIREN']) continue;
|
|||
|
$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
|
|||
|
$tabEvens=array();
|
|||
|
$newCodeEven=$tabTmp[$ann['CODEVE']];
|
|||
|
if ($newCodeEven*1==2318) {
|
|||
|
$tabNewEven=@explode(';', $tabTmp2[$ann['ROLE']]);
|
|||
|
if (count($tabNewEven)>0) {
|
|||
|
foreach ($tabNewEven as $newCodeEven)
|
|||
|
$tabEvens[]=array('CodeEven'=>$newCodeEven,'LibEven'=>$this->iBodacc->getEvenement($newCodeEven));
|
|||
|
} else
|
|||
|
$tabEvens[]=array('CodeEven'=>$newCodeEven,'LibEven'=>$this->iBodacc->getEvenement($newCodeEven));
|
|||
|
} else {
|
|||
|
$tabEvens[]=array('CodeEven'=>$newCodeEven,'LibEven'=>$this->iBodacc->getEvenement($newCodeEven));
|
|||
|
if (($this->dureePlan==0 || $this->dureePlan==120) && $ann['CODEVE']==75) { // Modification de plan
|
|||
|
$this->debutPlan=$ann['DATE']; // SSAAMMJJ
|
|||
|
if (preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+ans?/Uis', $ann['annonceTxt'], $matches)) {
|
|||
|
$this->dureePlan=$matches[1]*12; // 10 ans = 120 mois
|
|||
|
}
|
|||
|
if ($this->dureePlan<1 || $this->dureePlan>120) {
|
|||
|
$this->dureePlan=120; // 10 ans = 120 mois
|
|||
|
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Annonce de Plan Histo sur $siren sans dur<75>e", print_r($ann, true).EOL.print_r($matches, true));
|
|||
|
}
|
|||
|
$this->finPlan=WDate::period2Days($this->debutPlan, $this->dureePlan.' mois');
|
|||
|
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Annonce de Plan Histo sur $siren se terminant le $finPlan (dur<75>e=$dureePlan mois, d<>but le $debutPlan)", print_r($ann, true).EOL.print_r($matches, true));
|
|||
|
}
|
|||
|
}
|
|||
|
// Recherche du capital et de la FJ dans le texte histo
|
|||
|
if ( ($ann['CODEVE']>=10 && $ann['CODEVE']<20) ||
|
|||
|
($ann['CODEVE']>=30 && $ann['CODEVE']<42) ||
|
|||
|
($ann['CODEVE']>=51 && $ann['CODEVE']<80) ) {
|
|||
|
// Recherche du capital
|
|||
|
if (preg_match('/Capital(?:.|)\:(.*)(eur.|f|livre)/Uis', $ann['annonceTxt'], $matches)) {// && $tabInsee['CJ']>1999 && $tabInsee['CJ']<7000)
|
|||
|
$capital=trim(strtr($matches[1],array(' '=>'', ',00 '=>'', '.00 '=>'')))*1;
|
|||
|
if (substr(strtoupper($matches[2]),0,3)=='EUR')
|
|||
|
$capitalDev='EUR';
|
|||
|
elseif (substr(strtoupper($matches[2]),0,3)=='LIV')
|
|||
|
$capitalDev='GBP';
|
|||
|
else
|
|||
|
$capitalDev='FRF';
|
|||
|
} else
|
|||
|
$capital=$capitalDev='';
|
|||
|
// Recherche de la forme juridique
|
|||
|
if (preg_match('/Forme(?:.|)\:(.*)(Capital|Adresse|Activit.|Administration|Commentaire)(?:.|)\:/Uis', $ann['annonceTxt'], $matches)) {// && $tabInsee['CJ']>1999 && $tabInsee['CJ']<7000)
|
|||
|
$libFJ=trim($matches[1]);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
$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'=>$this->iBodacc->getTribunalNom['CODTRI'], //$ann['triNom'],
|
|||
|
'TribunalSiret'=>$this->iBodacc->getTribunalSiret['CODTRI'],//$ann['triSiret'],
|
|||
|
'Rubrique'=>$rub,
|
|||
|
'typeAnnonce'=>'Insertion',/** @todo <20> GERER $ann['SSCODE'],**/
|
|||
|
//'texteRectificatif'=>$ann['corrTexteRectificatif'],
|
|||
|
// 'texteAnnonce'=>$ann['annonceTxt'],
|
|||
|
'dateEffet'=>substr($ann['DATE'],0,4).'-'.substr($ann['DATE'],4,2).'-'.substr($ann['DATE'],6,2),
|
|||
|
'dateJugement'=>substr($ann['DATE'],0,4).'-'.substr($ann['DATE'],4,2).'-'.substr($ann['DATE'],6,2),
|
|||
|
'dateFin'=>'',
|
|||
|
'montantVente'=>'',
|
|||
|
'libFJ'=>$libFJ,
|
|||
|
'codFJ'=>$this->iBodacc->getCodeFormeJur($libFJ),
|
|||
|
'capital'=>$capital,
|
|||
|
'capitalDev'=>$capitalDev,
|
|||
|
'raisonSociale'=>'',//$ann['raisonSociale'],
|
|||
|
'nomCommercial'=>'',//$ann['nomCommercial'],
|
|||
|
'sigle'=>'',//$ann['sigle'],
|
|||
|
'adresse'=>'',//$adresseAnn,
|
|||
|
'dateInsertionSD'=>'',
|
|||
|
'evenements'=>$tabEvens,
|
|||
|
);
|
|||
|
if ($idAnnonce<>0 || $allTextes)
|
|||
|
$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<72>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);
|
|||
|
// }
|
|||
|
|
|||
|
/** On v<EFBFBD>rifie si la soci<EFBFBD>t<EFBFBD> n'est pas in bonis pour les raisons suivantes :
|
|||
|
** 1502 : Cl<EFBFBD>ture de la proc<EFBFBD>dure pour extinction du passif
|
|||
|
**/
|
|||
|
if ($rubrique=='P') {
|
|||
|
$tabJugements=array();
|
|||
|
foreach ($tabRet as $i=>$ann) {
|
|||
|
$tabJugements[$ann['dateJugement']]=$ann['evenements'][0]['CodeEven'];
|
|||
|
}
|
|||
|
// Si plan recherche des annonces suivantes
|
|||
|
if ($this->dureePlan>0) {
|
|||
|
ksort($tabJugements);
|
|||
|
// Tableau chronologique des dates de jugement ==> code jugement
|
|||
|
reset($tabJugements);
|
|||
|
foreach ($tabJugements as $dateJuge=>$codeJuge) {
|
|||
|
if ($dateJuge>$this->debutPlan & (
|
|||
|
($codeJuge>=1100 && $codeJuge<=1101)|| // Sauvegarde
|
|||
|
($codeJuge>=1200 && $codeJuge<=1202)||$codeJuge==1211|| // RJ
|
|||
|
($codeJuge>=1300 && $codeJuge<=1313)|| // LJ
|
|||
|
($codeJuge>=1500 && $codeJuge<=1504) ) ) // Cloture
|
|||
|
// Si plan suivi de SV, RJ, LJ ou cl<63>ture alors pas de plan
|
|||
|
$this->dureePlan=0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// Tableau ante-chronologique des dates de jugement ==> code jugement
|
|||
|
krsort($tabJugements);
|
|||
|
reset($tabJugements);
|
|||
|
|
|||
|
$tabNoProcol=array();
|
|||
|
$tmp=$this->iDb->select('tabEvenements', 'codEven,affProcol', 'affProcol>0', true, MYSQL_ASSOC);
|
|||
|
foreach ($tmp as $tmp2)
|
|||
|
$tabNoProcol[$tmp2['codEven']]=$tmp2['affProcol'];
|
|||
|
|
|||
|
if (@array_key_exists(current($tabJugements), $tabNoProcol)) {
|
|||
|
// Ce code jugement Procol n'appel pas forc<72>ment l'indicateur : SituationJuridique=P
|
|||
|
// sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getAnnonceProcol sur $siren (avant le SWITCH)", print_r($tabNoProcol, true));
|
|||
|
switch($tabNoProcol[current($tabJugements)]) {
|
|||
|
case 1: // PAS DE MENTION DE LA PROCOL
|
|||
|
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getAnnonceProcol sur $siren (cas 1)", print_r($tabNoProcol, true));
|
|||
|
$tabRet=array();
|
|||
|
break;
|
|||
|
case 2: // Ne pas mentionner la procol si CJ=1xxx
|
|||
|
$tabId=$this->getIdentiteLight($siren);
|
|||
|
if (substr($tabId['FJ'],0,1)*1==1) {
|
|||
|
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getAnnonceProcol sur $siren (cas 2a)", print_r($tabNoProcol, true));
|
|||
|
$tabRet=array();
|
|||
|
} elseif ($tabId['Actif']*1>0 && substr($tabId['FJ'],0,1)*1<>9 ) {
|
|||
|
$derProcol =str_replace('-','',key($tabJugements))*1;
|
|||
|
$maxLatence=date('Ymd',mktime(0,0,0,(substr($derProcol,4,2)*1)+1,substr($derProcol,6,2),substr($derProcol,0,4)));
|
|||
|
if (date('Ymd')>$maxLatence) {
|
|||
|
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "V<EFBFBD>rifier la Proc<6F>dure Collective sur $siren (cas 2b)", "L'entreprise, siren $siren, fait l'objet d'une cl<63>ture de proc<6F>dure collective de type ".current($tabJugements)." alors qu'elle est encore active !".EOL."Merci de v<>rifier et de supprimer la proc<6F>dure le cas <20>ch<63>ant !");
|
|||
|
$tabRet=array();
|
|||
|
}/*
|
|||
|
$iRncs=new MRncs();
|
|||
|
$tabId2=$iRncs->getInfosEntrep($siren);
|
|||
|
if ($tabId2['siren']==$siren)
|
|||
|
$tabId2['actif']*/
|
|||
|
}
|
|||
|
break;
|
|||
|
case 3: // Pas Procol si actif RCS
|
|||
|
$tabId=$this->getIdentiteLight($siren);
|
|||
|
if ($tabId['Actif']*1>0) {
|
|||
|
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getAnnonceProcol sur $siren (cas 3)", print_r($tabNoProcol, true));
|
|||
|
$tabRet=array();
|
|||
|
}
|
|||
|
break;
|
|||
|
case 4: // Le dernier jugement est un appel => Procol Suspendu
|
|||
|
$this->appelJugement=true;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (count($tabRet)>0 && (
|
|||
|
(current($tabJugements)>=1300 && current($tabJugements)<=1313 && current($tabJugements)!=1310) ||
|
|||
|
(current($tabJugements)>=1500 && current($tabJugements)<=1504) )
|
|||
|
) {
|
|||
|
/** En Procol mais pr<EFBFBD>sence d'une annonce de cloture ou LJ
|
|||
|
avec Bilan publi<EFBFBD> ult<EFBFBD>rieurement
|
|||
|
**/
|
|||
|
$mBil=new MBilans($siren);
|
|||
|
$tabBilans=$mBil->listeBilans($accesDist);
|
|||
|
$derExercice=0;
|
|||
|
$derProcol=str_replace('-','',key($tabJugements))*1;
|
|||
|
foreach ($tabBilans as $idx=>$bilan)
|
|||
|
if ($bilan['dateExercice']>$derExercice) $derExercice=$bilan['dateExercice'];
|
|||
|
|
|||
|
if ($derExercice>$derProcol) {
|
|||
|
$derEx=WDate::dateT('Ymd','d/m/Y',$derExercice);
|
|||
|
$derPr=WDate::dateT('Ymd','d/m/Y',$derProcol);
|
|||
|
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "V<EFBFBD>rifier la Proc<6F>dure Collective sur $siren (cas 4)", "L'entreprise, siren $siren, fait l'objet d'une cl<63>ture de proc<6F>dure collective de type ".current($tabJugements)." en date du $derPr alors que le dernier bilan publi<6C> date du $derEx !".EOL."Merci de v<>rifier et de supprimer la proc<6F>dure le cas <20>ch<63>ant !".EOL.print_r($tabBilans,true).EOL."Liste des derniers jugements :".EOL.print_r($tabJugements,true));
|
|||
|
$tabRet=array();
|
|||
|
}
|
|||
|
}
|
|||
|
} elseif ($rubrique=='D' && count($tabRet)>0) {
|
|||
|
$tabJugements=array();
|
|||
|
foreach ($tabRet as $i=>$ann) {
|
|||
|
$tabJugements[$ann['DateParution']]=$ann['evenements'][0]['CodeEven'];
|
|||
|
}
|
|||
|
// Tableau ante-chronologique des dates de jugement ==> code jugement
|
|||
|
krsort($tabJugements);
|
|||
|
reset($tabJugements);
|
|||
|
|
|||
|
$mBil=new MBilans($siren);
|
|||
|
$tabBilans=$mBil->listeBilans($accesDist);
|
|||
|
$derExercice=0;
|
|||
|
$derProcol=str_replace('-','',key($tabJugements))*1;
|
|||
|
foreach ($tabBilans as $idx=>$bilan)
|
|||
|
if ($bilan['dateExercice']>$derExercice) $derExercice=$bilan['dateExercice'];
|
|||
|
if ($derExercice>$derProcol) {
|
|||
|
$derEx=WDate::dateT('Ymd','d/m/Y',$derExercice);
|
|||
|
$derPr=WDate::dateT('Ymd','d/m/Y',$derProcol);
|
|||
|
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getAnnonceProcol Dissolution sur $siren (cas 4)", "L'entreprise, siren $siren, fait l'objet d'une dissolution de type ".current($tabJugements)." en date du $derPr alors que le dernier bilan publi<6C> date du $derEx !".EOL."Merci de v<>rifier et de supprimer le code <20>v<EFBFBD>nement le cas <20>ch<63>ant !".EOL.print_r($tabBilans,true).EOL."Liste des dernieres annonces :".EOL.print_r($tabJugements,true));
|
|||
|
$tabRet=array();
|
|||
|
}
|
|||
|
}
|
|||
|
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 getAnnoncesBoamp($siren, $idAnnonce='') {
|
|||
|
$siren=$siren*1;
|
|||
|
|
|||
|
if ($siren<001000000) $siren='000'.$siren;
|
|||
|
elseif ($siren<010000000) $siren='00'.$siren;
|
|||
|
elseif ($siren<100000000) $siren='0'.$siren;
|
|||
|
|
|||
|
$strIdAnn='';
|
|||
|
$idA=0;
|
|||
|
$tabRet=array();
|
|||
|
|
|||
|
$mBoamp=new MBoamp();
|
|||
|
/** Recherche dans les avis d'attribution **/
|
|||
|
if ($idAnnonce<>'') {
|
|||
|
$tmp=explode('.', $idAnnonce);
|
|||
|
$idA=$tmp[1];
|
|||
|
//if (strlen($tmp[0])==9 && is_numeric($tmp[0])) $rcs=$tmp[0];
|
|||
|
if ($tmp[0]=='A') $strIdAnn=" AND l.id='$idA' ";
|
|||
|
elseif ($tmp[0]=='O') $strIdAnn="";
|
|||
|
}
|
|||
|
|
|||
|
$bodacc=$this->iDb->select( 'boamp_lots l, boamp b, boamp_detail d',
|
|||
|
"l.id, l.idAnn, l.Boamp_Code, l.Boamp_Rubrique, b.Boamp_Rubrique_Lib, b.typeAnnonce, l.Boamp_Date_Parution, b.Boamp_Num, b.Boamp_Annee_Parution, b.Num_AnnoncePre, b.Num_Annonce, b.Boamp_Dept, b.annonce, l.num, l.`desc` AS description, l.nom, d.raisonSociale, l.montantTxt, l.montant, l.montantAnMin, l.montantAnMax, l.trancheCond, l.trancheFerme, l.dateAttrib, l.intitule, l.nomenclature, l.objets, l.cpv, l.cpvComp, l.volume, l.execution, l.livraison, l.dureeJours, l.dureeMois, l.dateDeb, l.dateFin, l.dateInsert",
|
|||
|
"l.siren='$siren' AND l.idAnn=b.id AND l.idAnn=d.id $strIdAnn GROUP BY b.id ORDER BY l.Boamp_Date_Parution DESC", true, MYSQL_ASSOC);
|
|||
|
$k=0;
|
|||
|
if (count($bodacc)>0) {
|
|||
|
foreach ($bodacc as $k=>$ann) {
|
|||
|
$tabRetEven=array();
|
|||
|
/*montantTxt, l.montant, l.montantAnMin, , l.trancheCond, l.trancheFerme, l.dateAttrib*/
|
|||
|
if ($ann['nom']<>'') $strMontant=' "'.strtoupper($ann['raisonSociale']).'"';
|
|||
|
|
|||
|
if ($ann['montant']*1>0) $strMontant.=' ('.number_format($ann['montant'], 2, ',', ' ').' EUR)';
|
|||
|
elseif ($ann['montantTxt']<>'') $strMontant.=' ('.$ann['montantTxt'].')';
|
|||
|
elseif ($ann['montantAnMin']<>'' && $ann['montantAnMax'])
|
|||
|
$strMontant.=' ('.$ann['montantAnMin'].' <20> '.
|
|||
|
$ann['montantAnMax'].')';
|
|||
|
elseif ($ann['trancheCond']<>'' && $ann['trancheFerme'])
|
|||
|
$strMontant.=' ('.$ann['trancheCond'].' / '.
|
|||
|
$ann['trancheFerme'].')';
|
|||
|
else $strMontant.='';
|
|||
|
$tabRetEven[]=array('CodeEven'=>$mBoamp->getCodEvenSd($ann['Boamp_Rubrique']),
|
|||
|
'LibEven'=>$mBoamp->getLibEvenBoamp($ann['Boamp_Rubrique'], $ann['Boamp_Rubrique_Lib']).$strMontant);
|
|||
|
// Axxx pour lot attribu<62> ou Oxxx pour Organisation
|
|||
|
if ($ann['Num_AnnoncePre']<>0) $numAnn=$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'];
|
|||
|
else $numAnn=$ann['Num_Annonce'];
|
|||
|
if ($ann['Boamp_Code']=='MAPA')
|
|||
|
$lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution=MAPA&num_annonce='.$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'].'&total=500&_s=0&indice=0';//&affichage_avis=officiel';
|
|||
|
else {
|
|||
|
$lettre = substr($ann['Boamp_Code'],-1);
|
|||
|
$annee = $ann['Boamp_Annee_Parution'];
|
|||
|
$num = sprintf("%04d",$ann['Boamp_Num']);
|
|||
|
$numPar=$lettre.$annee.$num;
|
|||
|
$lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution='.$numPar.'&num_annonce='.$ann['Num_Annonce'].'&total=500&_s=0&indice=0';
|
|||
|
}
|
|||
|
$infosComp='';
|
|||
|
$tabRet[$k]=array( 'id'=>'A.'.$ann['id'],
|
|||
|
'BodaccCode'=>$ann['Boamp_Code'],
|
|||
|
'BodaccNum'=>$ann['Boamp_Num'],
|
|||
|
'NumAnnonce'=>$numAnn,
|
|||
|
'DateParution'=>$ann['Boamp_Date_Parution'],
|
|||
|
'Departement'=>$ann['Boamp_Dept'],
|
|||
|
//'Tribunal'=>$ann['triNom'],
|
|||
|
//'TribunalSiret'=>$ann['triSiret'],
|
|||
|
//'Rubrique'=>$ann['Boamp_Rubrique_Lib'],
|
|||
|
'typeAnnonce'=>$ann['typeAnnonce'],
|
|||
|
'dateInsertionSD'=>$ann['dateInsert'],
|
|||
|
'evenements'=>$tabRetEven,
|
|||
|
'infosComp'=>$infosComp, // Non g<>r<EFBFBD>
|
|||
|
'Lien_Annonce_Html'=>$lienMapa, // Non g<>r<EFBFBD>
|
|||
|
);
|
|||
|
/**/
|
|||
|
if ($idA<>0)
|
|||
|
if ($ann['Boamp_Code']=='MAPA')
|
|||
|
$tabRet[$k]['texteAnnonce']=$ann['annonce'];
|
|||
|
else
|
|||
|
$tabRet[$k]['texteAnnonce']=
|
|||
|
strtr( preg_replace('/<html.*<body.*>/Uis', '',
|
|||
|
preg_replace('/<p\s+.*>/Uis', '',
|
|||
|
preg_replace('/( class=".*")/ie', ' ', $ann['annonce']))),
|
|||
|
array(' '=>' ', '</html>'=>'', '</body>'=>'', '</p>'=>'<br/>')
|
|||
|
);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/** Recherche dans les avis de march<63>s **/
|
|||
|
if ($idAnnonce<>'') {
|
|||
|
$tmp=explode('.', $idAnnonce);
|
|||
|
$idA=$tmp[1];
|
|||
|
//if (strlen($tmp[0])==9 && is_numeric($tmp[0])) $rcs=$tmp[0];
|
|||
|
if ($tmp[0]=='A') $strIdAnn=" AND d.id='$idA' ";
|
|||
|
elseif ($tmp[0]=='O') $strIdAnn="";
|
|||
|
}
|
|||
|
|
|||
|
$bodacc=$this->iDb->select( 'boamp b, boamp_detail d',
|
|||
|
"d.id, d.Boamp_Code, d.Boamp_Rubrique, b.Boamp_Rubrique_Lib, b.typeAnnonce, d.Boamp_Date_Parution, b.Boamp_Num, b.Boamp_Annee_Parution, b.Num_AnnoncePre, b.Num_Annonce, b.Boamp_Dept, b.annonce, titre AS description, d.raisonSociale, d.estimValeur AS montantTxt, d.estimValeurMin AS montantAnMin, d.estimValeurMax AS montantAnMax, objet, cpv_obj, cpv_comp, d.dateInsert",
|
|||
|
"d.siren='$siren' AND d.id=b.id $strIdAnn GROUP BY b.id ORDER BY d.Boamp_Date_Parution DESC", true, MYSQL_ASSOC);
|
|||
|
if (count($bodacc)>0) {
|
|||
|
foreach ($bodacc as $k=>$ann) {
|
|||
|
$id=$ann['id'];
|
|||
|
$rub=$ann['Boamp_Rubrique'];
|
|||
|
$tabRetEven=array();
|
|||
|
$strMontant='';
|
|||
|
if ($ann['objet']<>'') $strMontant.=' "'.$ann['objet'].'"';
|
|||
|
|
|||
|
if ($rub=='6' || // Avis d'attribution
|
|||
|
$rub=='7' || // Avis en cas de transparence ex ante volontaire
|
|||
|
$rub=='77' || // Avis d'attribution
|
|||
|
$rub=='8' || // Avis d'attribution
|
|||
|
$rub=='82' || // Rectificatif
|
|||
|
$rub=='83' || // Rectificatif
|
|||
|
$rub=='84' || // Avis d'attribution comportant des lots infructueux
|
|||
|
$rub=='9' || // R<>sultat de march<63>
|
|||
|
$rub=='92' || // Rectificatif
|
|||
|
$rub=='93' || // R<>sultat de march<63> / Infructueux - Sans suite
|
|||
|
$rub=='94' || // R<>sultat de march<63> / R<>sultat de march<63> comportant des lots infructueux
|
|||
|
$rub=='96' || // Annulation - Rectificatif - Sans suite - Infructueux
|
|||
|
$rub=='977' // Annulation - Rectificatif / Avis en cas de transparence ex ante volontaire
|
|||
|
) {
|
|||
|
$tabTmp=$this->iDb->select( 'boamp_lots l',
|
|||
|
"l.id, l.idAnn, l.Boamp_Code, l.Boamp_Rubrique, l.Boamp_Date_Parution, l.num, l.`desc` AS description, l.nom, l.montantTxt, l.montant, l.montantAnMin, l.montantAnMax, l.trancheCond, l.trancheFerme, l.dateAttrib, l.intitule, l.nomenclature, l.objets, l.cpv, l.cpvComp, l.volume, l.execution, l.livraison, l.dureeJours, l.dureeMois, l.dateDeb, l.dateFin",
|
|||
|
"l.idAnn=$id", true, MYSQL_ASSOC);
|
|||
|
foreach ($tabTmp as $k2=>$ann2) {
|
|||
|
if ($ann2['nom']<>'') $strMontant.=' "'.strtoupper($ann2['nom']).'"';
|
|||
|
if ($ann2['montant']*1>0) $strMontant.=' ('.number_format($ann2['montant'], 2, ',', ' ').' EUR)';
|
|||
|
elseif ($ann2['montantTxt']<>'') $strMontant.=' ('.$ann2['montantTxt'].')';
|
|||
|
elseif ($ann2['montantAnMin']<>'' && $ann2['montantAnMax'])
|
|||
|
$strMontant.=' ('.$ann2['montantAnMin'].' <20> '.
|
|||
|
$ann2['montantAnMax'].')';
|
|||
|
elseif ($ann2['trancheCond']<>'' && $ann2['trancheFerme'])
|
|||
|
$strMontant.=' ('.$ann['trancheCond'].' / '.
|
|||
|
$ann['trancheFerme'].')';
|
|||
|
else $strMontant.='';
|
|||
|
}
|
|||
|
}
|
|||
|
$tabRetEven[]=array('CodeEven'=>$mBoamp->getCodEvenSd($ann['Boamp_Rubrique']),
|
|||
|
'LibEven'=>$mBoamp->getLibEvenBoamp($ann['Boamp_Rubrique'], $ann['Boamp_Rubrique_Lib']).$strMontant);
|
|||
|
// Axxx pour lot attribu<62> ou Oxxx pour Organisation
|
|||
|
if ($ann['Num_AnnoncePre']<>0) $numAnn=$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'];
|
|||
|
else $numAnn=$ann['Num_Annonce'];
|
|||
|
if ($ann['Boamp_Code']=='MAPA')
|
|||
|
$lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution=MAPA&num_annonce='.$ann['Num_AnnoncePre'].'-'.$ann['Num_Annonce'].'&total=500&_s=0&indice=0';//&affichage_avis=officiel';
|
|||
|
else {
|
|||
|
$lettre = substr($ann['Boamp_Code'],-1);
|
|||
|
$annee = $ann['Boamp_Annee_Parution'];
|
|||
|
$num = sprintf("%04d",$ann['Boamp_Num']);
|
|||
|
$numPar=$lettre.$annee.$num;
|
|||
|
$lienMapa='http://www.boamp.fr/index.php?action=avis&num_parution='.$numPar.'&num_annonce='.$ann['Num_Annonce'].'&total=500&_s=0&indice=0';
|
|||
|
}
|
|||
|
$infosComp='';
|
|||
|
$tabRet[$k]=array( 'id'=>'O.'.$id,
|
|||
|
'BodaccCode'=>$ann['Boamp_Code'],
|
|||
|
'BodaccNum'=>$ann['Boamp_Num'],
|
|||
|
'NumAnnonce'=>$numAnn,
|
|||
|
'DateParution'=>$ann['Boamp_Date_Parution'],
|
|||
|
'Departement'=>$ann['Boamp_Dept'],
|
|||
|
//'Tribunal'=>$ann['triNom'],
|
|||
|
//'TribunalSiret'=>$ann['triSiret'],
|
|||
|
//'Rubrique'=>$ann['Boamp_Rubrique_Lib'],
|
|||
|
'typeAnnonce'=>$ann['typeAnnonce'],
|
|||
|
'dateInsertionSD'=>$ann['dateInsert'],
|
|||
|
'evenements'=>$tabRetEven,
|
|||
|
'infosComp'=>$infosComp, // Non g<>r<EFBFBD>
|
|||
|
'Lien_Annonce_Html'=>$lienMapa, // Non g<>r<EFBFBD>
|
|||
|
);
|
|||
|
/**/
|
|||
|
if ($idA<>0)
|
|||
|
if ($ann['Boamp_Code']=='MAPA')
|
|||
|
$tabRet[$k]['texteAnnonce']=$ann['annonce'];
|
|||
|
else
|
|||
|
$tabRet[$k]['texteAnnonce']=
|
|||
|
strtr( preg_replace('/<html.*<body.*>/Uis', '',
|
|||
|
preg_replace('/<p\s+.*>/Uis', '',
|
|||
|
preg_replace('/( class=".*")/ie', ' ', $ann['annonce']))),
|
|||
|
array(' '=>' ', '</html>'=>'', '</body>'=>'', '</p>'=>'<br/>')
|
|||
|
);
|
|||
|
}
|
|||
|
}
|
|||
|
debugLog('I', "getAnnoncesBoamp(siren=$siren, idAnnonce=$idAnnonce, $idA)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
|||
|
return $tabRet;
|
|||
|
}
|
|||
|
|
|||
|
function getAnnoncesAsso($siren, $idAnnonce=0) {
|
|||
|
debugLog('I', "D<EFBFBD>but getAnnoncesAsso(siren=$siren, idAnnonce=$idAnnonce)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
|||
|
|
|||
|
$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<>'' AND dateSuppr=0");
|
|||
|
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, typeAnnonce, codEven, dateInsert", "siren=$siren $strIdAnn AND dateSuppr=0 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) {
|
|||
|
$tabEven=explode(';', $ann['codEven']);
|
|||
|
$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<EFBFBD>'.
|
|||
|
$ann['corrNum_Annonce'].' BODACC n<>'.
|
|||
|
$ann['corrNumParution'].*/' du '.
|
|||
|
WDate::dateT('Y-m-d','d/m/Y',$ann['corrDate_Parution'])/*.' (page '.
|
|||
|
$ann['corrPage'].')'*/);
|
|||
|
else {
|
|||
|
if (trim($ann['codEven'])<>'') {
|
|||
|
foreach ($tabEven as $even)
|
|||
|
$tabRetEven[]=array('CodeEven'=>$even,'LibEven'=>$this->iBodacc->getEvenement($even));
|
|||
|
}
|
|||
|
else {
|
|||
|
$tabRetEven[]=array('CodeEven'=>0000,//$mAsso->getLibEven($ann['Categorie']),
|
|||
|
'LibEven'=> $ann['Type_Annonce']);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// Rubrique
|
|||
|
if (preg_match('/cr(<28>|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('>'=>'>','&'=>'&','<'=>'<')));
|
|||
|
}
|
|||
|
}
|
|||
|
debugLog('I', "Fin getAnnoncesAsso(siren=$siren, idAnnonce=$idAnnonce) : ".count($tabRet).' annonce(s)', __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
|||
|
|
|||
|
return $tabRet;
|
|||
|
}
|
|||
|
|
|||
|
/** @todo $nic inutilis<69> pour l'instant **/
|
|||
|
function getIdentitePart($siren, $rs, $enseigne, $sigle, $nic=0, $refresh=false) {
|
|||
|
$dateUpdate=0;
|
|||
|
$lastYear=date('Ymd',mktime(0,0,0,date('m'),date('d'),date('Y')-1))*1;
|
|||
|
$tabRet=array();
|
|||
|
|
|||
|
/** Chargement initial au cas ou la requ<71>te Coface plante **/
|
|||
|
$tabTmp=$this->iDb->select('infos_entrep', 'raisonSociale, isin, nscrl, tel, fax, web, mail, DATE(dateUpdate)*1 as dateUpdate', "siren=$siren", false, MYSQL_ASSOC);
|
|||
|
$idComp=@$tabTmp[0];
|
|||
|
if (isset($idComp['raisonSociale'])) {
|
|||
|
// L'entrep est en base infos_entrep
|
|||
|
if ($idComp['web']<>'http://') $web=$idComp['web'];
|
|||
|
else $web='';
|
|||
|
$tabRet=array( 'raisonSociale'=>$idComp['raisonSociale'],
|
|||
|
'isin'=>$idComp['isin'],
|
|||
|
'nscrl'=>$idComp['nscrl'],
|
|||
|
'tel'=>$idComp['tel'],
|
|||
|
'fax'=>$idComp['fax'],
|
|||
|
'web'=>$web,
|
|||
|
'mail'=>$idComp['mail'],
|
|||
|
'enCache'=>true,
|
|||
|
);
|
|||
|
$dateUpdate=$idComp['dateUpdate'];
|
|||
|
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getIdentitePart sur $siren en cache", print_r($tabRet, true));
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// On ne rafraichie que si demand<6E> et
|
|||
|
// que la requ<71>te en base est trop ancienne ou nscrl est vide
|
|||
|
if ($refresh && ($dateUpdate<$lastYear || ($idComp['nscrl']==0 && $idComp['tel']=='') ) ) {
|
|||
|
$timeout=30;
|
|||
|
// La mise <20> jour ne se fera pas si lastMAJ<365
|
|||
|
/*$strUpdate='AND (DATEDIFF(NOW(),dateUpdate)<365 OR (nscrl<>0 AND DATEDIFF(NOW(),dateUpdate)>0))';
|
|||
|
$timeout=10;
|
|||
|
$strUpdate='AND nscrl<>0 AND DATEDIFF(NOW(),dateUpdate)>0';*/
|
|||
|
$referer='';
|
|||
|
$url='http://www.cofacerating.fr/portail/entreprise_identite/identite.asp?ip=pagespro&lg=fr&nsiren='.$siren;
|
|||
|
$tdeb=microtime(1);
|
|||
|
$page=getUrl($url, '', '', $referer, false, 'www.cofacerating.fr', '', $timeout);
|
|||
|
$duree=round(microtime(1)-$tdeb,3);
|
|||
|
$this->body=$page['body'];
|
|||
|
$this->codeRetour=$page['code'];
|
|||
|
$this->header=$page['header'];
|
|||
|
|
|||
|
$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)));
|
|||
|
|
|||
|
$tel=trim(@getTextInHtml($this->body, '<td bgcolor="#F3E5CC" class="tabligne"><b>T<>l<EFBFBD>phone<br>', '<td bgcolor="#FFF3DE" class="tabval" valign="top">', '<br>'));
|
|||
|
$fax=trim(@getTextInHtml($this->body, 'T<>l<EFBFBD>copie</b></td>', '<br>', '</td>'));
|
|||
|
$web=trim(@getTextInHtml($this->body, '><b>Adresse internet <br>', '<a class="tabval" HREF="', '" target="_new">'));
|
|||
|
$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);
|
|||
|
$isin=trim($tmp[0]);
|
|||
|
$tabRet['bourseMarche']=trim($tmp[1]);
|
|||
|
$tabRet['bourseVille']=trim($tmp[2]);
|
|||
|
|
|||
|
/** On ne charge les valeurs tel, fax, web et mail que si non vides
|
|||
|
**/
|
|||
|
if ($tel<>'') $tabRet['tel']=$tel;
|
|||
|
if ($fax<>'') $tabRet['fax']=$fax;
|
|||
|
if ($web<>'') $tabRet['web']=$web;
|
|||
|
if ($mail<>'') $tabRet['mail']=$mail;
|
|||
|
if (($tabRet['isin']<>'' || trim($tmp[0])<>'') && trim($tmp[0])<>$tabRet['isin']) {
|
|||
|
if (trim($tmp[0])<>'' && $tabRet['isin']=='')
|
|||
|
$tabRet['isin']=$isin;
|
|||
|
// else
|
|||
|
// @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getIdentitePart sur $siren ISIN diff<66>rents", "Les codes ISIN du siren $siren sont diff<66>rents en base et chez notre partenaire : ".$tabRet['isin'].' diff<66>rent de '.trim($tmp[0]).EOL.print_r($tabRet, true));
|
|||
|
} elseif ($isin<>'') $tabRet['isin']=$isin;
|
|||
|
|
|||
|
$tabRet['bourseIsin']=$tabRet['isin'];
|
|||
|
|
|||
|
/*
|
|||
|
$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 <20>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<6C> code activit<69> </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));
|
|||
|
}
|
|||
|
|
|||
|
if ($tabRet['web']<>'http://') $web=$tabRet['web'];
|
|||
|
else $web='';
|
|||
|
|
|||
|
$tabRet['enCache']=false;
|
|||
|
$tabRet['duree']=$duree;
|
|||
|
|
|||
|
$tabUpdate=array( 'raisonSociale'=>$tabRet['raisonSociale'],
|
|||
|
'isin'=>$tabRet['bourseIsin'],
|
|||
|
'nscrl'=>$tabRet['nscrl'],
|
|||
|
'tel'=>$tabRet['tel'],
|
|||
|
'fax'=>$tabRet['fax'],
|
|||
|
'web'=>$web,
|
|||
|
'mail'=>$tabRet['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");
|
|||
|
|
|||
|
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "MInsee::getIdentitePart sur $siren apr<70>s acc<63>s Distant", print_r($tabRet, true));
|
|||
|
}
|
|||
|
return $tabRet;
|
|||
|
}
|
|||
|
|
|||
|
function getProColPart($siren, $rubrique='', $forceVerif=false, $idAnnonce=0) {
|
|||
|
$forceVerif=false;
|
|||
|
$tabRet=array();
|
|||
|
$strIdAnn='';
|
|||
|
$tabInter=array('A'=>'Administrateur judiciaire',
|
|||
|
'M'=>'Mandataire judiciaire',
|
|||
|
'H'=>'Huissier',
|
|||
|
'L'=>'Liquidateur',
|
|||
|
'R'=>'Repr<70>sentant des Cr<43>anciers',
|
|||
|
'O'=>'Opposition',
|
|||
|
'U'=>'Curateur',
|
|||
|
'C'=>'Commissaire au plan',
|
|||
|
'S'=>'Syndic',
|
|||
|
'D'=>'Commissaire au concordat',
|
|||
|
'T'=>'Conciliateur',
|
|||
|
'V'=>'Avocat',
|
|||
|
'N'=>'Notaire',
|
|||
|
'J'=>'Juge Commissaire',
|
|||
|
'K'=>'Juge Commissaire Suppl<70>ant',
|
|||
|
);
|
|||
|
|
|||
|
/** Date la plus ancienne accept<70>e pour les jugements collect<63>s **/
|
|||
|
$debutForclusion=date('Ymd',mktime(0,0,0,date('m')-24,date('d'),date('Y')));
|
|||
|
|
|||
|
|
|||
|
if ($rubrique=='P' ||
|
|||
|
$rubrique=='PH') // Proc<6F>dure collective
|
|||
|
$strIdAnn=" AND a.typeEven BETWEEN 1000 AND 1999 AND a.typeEven NOT IN(1005, 1010, 1050, 1055, 1550) ";
|
|||
|
elseif ($rubrique=='D') // Dissolution de la soci<63>t<EFBFBD>
|
|||
|
$strIdAnn=" AND a.typeEven IN (2202, 2203, 2204, 2210, 2211, 2212) ";
|
|||
|
elseif ($rubrique=='A') // Absorption
|
|||
|
$strIdAnn=" AND a.typeEven IN (2720, 2721) ";
|
|||
|
elseif ($rubrique=='C' || $rubrique=='BODC') // D<>p<EFBFBD>t des comptes
|
|||
|
$strIdAnn=" AND a.typeEven BETWEEN 3000 AND 3999 ";
|
|||
|
elseif ($rubrique=='R')
|
|||
|
$strIdAnn=" AND a.typeEven IN (2202, 2203, 2204, 2210, 2211, 2212) ";
|
|||
|
elseif ($rubrique=='L') // Location g<>rance Locataire
|
|||
|
$strIdAnn=" AND a.typeEven IN (2800, 2875, 2880, 2881, 2885, 2840) ";
|
|||
|
elseif ($rubrique=='G') // Location g<>rance Propri<72>taire
|
|||
|
$strIdAnn=" AND a.typeEven IN (2850, 2851, 2860, 2870) ";
|
|||
|
elseif ($rubrique=='V') // Ventes/Cessions
|
|||
|
$strIdAnn=" AND a.typeEven IN (5500, 5501, 5502, 5503, 5510, 5600, 5650) ";
|
|||
|
elseif (is_array($rubrique) && count($rubrique)>0) {
|
|||
|
$strIdAnn=" AND (a.typeEven IN (".implode(',',$rubrique).') OR ';
|
|||
|
foreach ($rubrique as $codeEven)
|
|||
|
$tabTmp[]=" a.typeEven LIKE '%$codeEven%' ";
|
|||
|
$strIdAnn.=implode(' OR ',$tabTmp);
|
|||
|
$strIdAnn.=')';
|
|||
|
}
|
|||
|
//else return $tabRet;
|
|||
|
|
|||
|
if ($idAnnonce<>0) $strIdAnn.= " AND a.id=".preg_replace('/^0\./','', $idAnnonce);
|
|||
|
|
|||
|
/** Recherche des jugements enregistr<74>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.numero, a.inter1type, a.inter1id, a.inter1nom, a.inter2type, a.inter2id, a.inter2nom, a.inter3type, a.inter3id, a.inter3nom, a.inter4type, a.inter4id, a.inter4nom, 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',
|
|||
|
"a.siren=$siren AND a.tribunal=t.triCode /*AND a.siren=e.siren*/ $strIdAnn AND a.dateSuppr=0 GROUP BY a.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 $k=>$ann) {
|
|||
|
$dept=substr($ann['triCP'],0,2)*1;
|
|||
|
$depotComptes=false;
|
|||
|
if ($dept==97) $dept=substr($ann['triCP'],0,3)*1;
|
|||
|
$adresse='';
|
|||
|
|
|||
|
/** Ajout des informations identitaires pour les annonces collecte avant D<>cembre 2008 **/
|
|||
|
if (trim($ann['raisonSociale'])=='' || trim($ann['adresse'])=='' || trim($ann['codePostal'])=='' || trim($ann['ville'])=='') {
|
|||
|
$tabTmp=$this->getIdentiteLight($siren);
|
|||
|
$ann['raisonSociale'] = $tabTmp['Nom'];
|
|||
|
$ann['adresse'] = $tabTmp['Adresse'];
|
|||
|
$ann['codePostal'] = $tabTmp['CP'];
|
|||
|
$ann['ville'] = $tabTmp['Ville'];
|
|||
|
}
|
|||
|
$adresse.=ucfirst(strtolower($ann['adresse'])).', ';
|
|||
|
|
|||
|
$adresse=trim(preg_replace('/^0+/','', preg_replace('/ +/',' ', $adresse)));
|
|||
|
if (preg_match('/(3100|3200|3300|3999)/', $ann['typeEven'].';'.$ann['strEven'])) {
|
|||
|
$depotComptes=true;
|
|||
|
$strRCS='Siren : '. $ann['siren'] . '. ';
|
|||
|
} else
|
|||
|
$strRCS=$ann['siren'] . ' RCS '. ucfirst(strtolower(strtr($ann['triNom'], array('TGIcc '=>'','TGI '=>'','TC '=>'','TI '=>'',)))).'. ';
|
|||
|
|
|||
|
$texteAnnonce= 'Date : '.strtolower(WDate::dateT('Y-m-d','d M Y',$ann['dateJugement'])) .'. '. $this->iBodacc->getEvenement($ann['typeEven']).'. '.
|
|||
|
$strRCS .
|
|||
|
trim($ann['raisonSociale']). '. Adresse : '. $adresse.' '.$ann['codePostal'].' '.$ann['ville'].'. ';
|
|||
|
|
|||
|
if (trim($ann['numero'])<>'') $texteAnnonce.='Jugement Num<75>ro : '.trim($ann['numero']).'. ';
|
|||
|
|
|||
|
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['inter4type'])<>'' && ($ann['inter4id']>0 || trim($ann['inter4nom'])<>'') ) {
|
|||
|
$texteAnnonce.=$tabInter[$ann['inter4type']].' : '.$ann['inter4nom'];
|
|||
|
if ($ann['inter4id']<>0) {
|
|||
|
$tabTmp=$this->iDb->select( 'tabMandataires', 'sirenGrp, sirenMand, tel, fax, email', 'id='.$ann['inter4id'], 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<69> : '.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<63>t<EFBFBD> en '.$this->getLibelleFJ($ann['nouvFJ']).'. ';
|
|||
|
|
|||
|
if ($ann['dateEffetFinP']*1<>'') {
|
|||
|
if ($depotComptes)
|
|||
|
$texteAnnonce.=' Comptes annuels et rapports de l\'exercice clos le : '.strtolower(WDate::dateT('Y-m-d','d M Y',$ann['dateEffetFinP'])).'. ';
|
|||
|
else
|
|||
|
$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<6F>dure <20> moins de 4 mois on l'affiche **/
|
|||
|
$tabEven=explode(';', $ann['strEven']);
|
|||
|
|
|||
|
$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 (($this->dureePlan<1 || $this->dureePlan==120) &&
|
|||
|
( $ann['typeEven']==1407 || // Modification de plan
|
|||
|
$ann['typeEven']==1409 || // Modification du plan de continuation
|
|||
|
$ann['typeEven']==1413 || // Arr<72>t du plan de continuation
|
|||
|
$ann['typeEven']==1414) ) // Arr<72>t du plan de redressement
|
|||
|
{
|
|||
|
$this->debutPlan=str_replace('-','',$ann['dateJugement']); // SSAAMMJJ
|
|||
|
if (preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+ans?/Uis', $ann['annonce'], $matches)) {
|
|||
|
$this->dureePlan=$matches[1]*12; // 10 ans = 120 mois
|
|||
|
} elseif (preg_match('/dur.e(?:.*)plan(?:.*)(\d+)\s+ans?/Uis', $texteAnnonce, $matches)) {
|
|||
|
$this->dureePlan=$matches[1]*12; // 10 ans = 120 mois
|
|||
|
}
|
|||
|
if ($this->dureePlan<1 || $this->dureePlan>120) {
|
|||
|
$this->dureePlan=120; // 10 ans = 120 mois
|
|||
|
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Annonce de Plan R<>cent sur $siren sans dur<75>e", print_r($ann, true).EOL.print_r($matches, true));
|
|||
|
}
|
|||
|
$this->finPlan=WDate::period2Days($this->debutPlan, $this->dureePlan.' mois');
|
|||
|
}
|
|||
|
$strVente='';
|
|||
|
$nouvCapital='';
|
|||
|
if ($ann['montant']>0) {
|
|||
|
if ($capital) {
|
|||
|
$nouvCapital=$ann['montant'];
|
|||
|
$texteAnnonce.=' Nouveau capital : '.trim($ann['montant']). ' euros';
|
|||
|
if ($ann['actionsNb']>0)
|
|||
|
$texteAnnonce.=' divis<69> 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';
|
|||
|
$strVente=trim($ann['montant']). ' EUR';
|
|||
|
}
|
|||
|
$texteAnnonce.='. ';
|
|||
|
}
|
|||
|
|
|||
|
// On ne prend l'annonce saisie directement que si elle est plus volumineuse
|
|||
|
if (trim($ann['annonce'])<>'' && strlen(trim($ann['annonce']))>strlen($texteAnnonce))
|
|||
|
$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<6F>dure <20> moins de 4 mois on l'affiche **/
|
|||
|
if ((str_replace('-','',$ann['dateJugement'])*1)>=$debutForclusion)
|
|||
|
$tabRet[$k]=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'],
|
|||
|
'dateFin'=>$ann['dateEffetFinP'],
|
|||
|
'montantVente'=>$strVente,
|
|||
|
'libFJ'=>$ann['nouvFJ'],//,if (trim($ann['nouvAdr'])<>'') $texteAnnonce.=' Nouvelle adresse : '.trim($ann['nouvAdr']).'. ';
|
|||
|
'codFJ'=>$this->iBodacc->getCodeFormeJur($ann['nouvFJ']),
|
|||
|
'capital'=>$nouvCapital,
|
|||
|
'capitalDev'=>'EUR',
|
|||
|
'raisonSociale'=>$ann['raisonSociale'],
|
|||
|
'nomCommercial'=>'',
|
|||
|
'sigle'=>'',
|
|||
|
'adresse'=>$ann['nouvAdr'],
|
|||
|
'dateInsertionSD'=>$ann['dateInsert'],
|
|||
|
'evenements'=>$tabRetEven,
|
|||
|
'texteAnnonce'=>$texteAnnonce,
|
|||
|
'complement'=>$ann['complement'],
|
|||
|
);
|
|||
|
if ($depotComptes)
|
|||
|
$tabRet[$k]['dateEffet']=$ann['dateEffetFinP'];
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
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<EFBFBD>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<69> 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<70>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;
|
|||
|
}
|
|||
|
|
|||
|
function getInfosNotice($siren, $nic) {
|
|||
|
/** Elements provenant du Notice 80 hors identit<69> **/
|
|||
|
$tabTmp=$this->iDbInsee->select('insee_notices', 'insSIREN, insNIC, insL4_VOIE, insL6_POST, insRPET, insDEPCOMEN, insRPEN, insARRONET, insCTONET, insTCD, insZEMET, insDU, insTU, insUU, insMMINTRET, insMMINTREN, insVMAJ, insVMAJ1, insVMAJ2, insVMAJ3, insRECME, insEAEANT, insEAEAPET, insEAESEC1T, insEAESEC2T, insEAEANN, insEAEAPEN, insEAESEC1N, insEAESEC2N, insEAESEC3N, insEAESEC4N, dateNotice', "insSIREN=$siren AND insNIC=$nic ORDER BY dateNotice DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
|||
|
return $tabTmp[0];
|
|||
|
}
|
|||
|
|
|||
|
function infoAdresseDom($adresseNum, $adresseBtq, $adresseVoie, $adresseRue, $adresseComp, $cp, $ville, $active=true) {
|
|||
|
$adresseNum=trim($adresseNum)*1;
|
|||
|
$adresseBtq='';//trim($adresseBtq);
|
|||
|
$adresseVoie=trim($adresseVoie);
|
|||
|
$adresseRue=trim($adresseRue);
|
|||
|
$cp=trim($cp);
|
|||
|
$ville=trim($ville);
|
|||
|
|
|||
|
if ($adresseNum=='' && $adresseBtq=='' && $adresseVoie=='' && $adresseRue=='' && $cp=='' && $ville=='')
|
|||
|
return false;
|
|||
|
|
|||
|
$tabAdr=$this->structureVoie($adresseNum.' '.$adresseBtq.' '.$adresseVoie.' '.$adresseRue);
|
|||
|
$num=$tabAdr['num']*1;
|
|||
|
if ($num==0) return false;
|
|||
|
$indRep=trim($tabAdr['indRep']);
|
|||
|
$typeVoie=trim($tabAdr['typeVoie']);
|
|||
|
$libVoie=trim(substr($tabAdr['libVoie'],-5));
|
|||
|
|
|||
|
$strAdrActive='';
|
|||
|
if ($active) {
|
|||
|
$strAdrActive.=" AND (enActif=1 OR etActif=1) AND nbEntrep>30 AND pasEntrepDom=0 AND siren>1000 ";
|
|||
|
}
|
|||
|
$tabTmp=$this->iDb->select('tabAdrDom',
|
|||
|
'id, siren, nic, enActif, etActif, procol, nom, nom2, sigle, enseigne, adrNum, adrBtq, adrTypVoie, adrLibVoie, ville, cp, adrComp, adrDistSp, cj, apen, apet, nbEntrep, dateInsert, dateUpdate',
|
|||
|
"adrNum=$num AND adrBtq='$indRep' AND adrTypVoie LIKE '%$typeVoie%' AND adrLibVoie LIKE '%$libVoie%' AND cp=$cp $strAdrActive", false, MYSQL_ASSOC);
|
|||
|
if (count($tabTmp)>0) {
|
|||
|
/* sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Adresse de domiciliation", print_r($tabAdr,true).EOL.print_r($tabTmp, true).EOL.
|
|||
|
"num=$num=$adresseNum".EOL.
|
|||
|
"indRep=$indRep=$adresseBtq".EOL.
|
|||
|
"typeVoie=$typeVoie=$adresseVoie".EOL.
|
|||
|
"libVoie=$libVoie=$adresseRue".EOL.
|
|||
|
"adresseComp=$adresseComp".EOL.
|
|||
|
"cp/ville=$cp/$ville".EOL);*/
|
|||
|
return $tabTmp;
|
|||
|
}/* else {
|
|||
|
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Adresse de domiciliation Debug", print_r($tabAdr,true).EOL.print_r($tabTmp, true).EOL.
|
|||
|
"num=$num=$adresseNum".EOL.
|
|||
|
"indRep=$indRep=$adresseBtq".EOL.
|
|||
|
"typeVoie=$typeVoie=$adresseVoie".EOL.
|
|||
|
"libVoie=$libVoie=$adresseRue".EOL.
|
|||
|
"adresseComp=$adresseComp".EOL.
|
|||
|
"cp/ville=$cp/$ville".EOL);
|
|||
|
return $tabTmp;
|
|||
|
}*/
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
function getAdresse($siren, $nic) {
|
|||
|
/* 'Nom'=>$etab['raisonSociale'],
|
|||
|
'Tribunal'=>$etab['triCode'],
|
|||
|
'Sigle'=>$etab['sigle'],
|
|||
|
''=>$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'],
|
|||
|
*/
|
|||
|
/** On prend l'information dans la table etablissements **/
|
|||
|
$tabIdentite=$this->getIdentiteLight($siren, $nic);
|
|||
|
$codeVoie=@strtoupper($this->getCodeVoie($tabIdentite['AdresseVoie']));
|
|||
|
echo $codeVoie.EOL;
|
|||
|
if ($codeVoie=='') $codeVoie=$tabIdentite['AdresseVoie'];
|
|||
|
$tabRet=array('L1_NOM' => $tabIdentite['Nom'],
|
|||
|
'L2_NOM2' => $tabIdentite['Enseigne'],
|
|||
|
'L3_ADRCOMP' => '',
|
|||
|
'L4_VOIE' => trim(preg_replace('/ +/',' ',preg_replace('/^0+/','',$tabIdentite['AdresseNum'].' '.
|
|||
|
$tabIdentite['AdresseBtq'].' '.
|
|||
|
$codeVoie.' '.
|
|||
|
$tabIdentite['AdresseRue']))),
|
|||
|
'L5_DISTSP' => $tabIdentite['Adresse2'],
|
|||
|
'L6_POST' => $tabIdentite['CP'].' '.$tabIdentite['Ville'],
|
|||
|
'L7_PAYS' => '',
|
|||
|
);
|
|||
|
if (strlen($tabRet['L4_VOIE'])>38)
|
|||
|
$tabRet['L4_VOIE']=trim(preg_replace('/ +/',' ',preg_replace('/^0+/','',
|
|||
|
$tabIdentite['AdresseNum'].' '.
|
|||
|
$tabIdentite['AdresseBtq'].' '.
|
|||
|
$tabIdentite['AdresseVoie'].' '.
|
|||
|
$tabIdentite['AdresseRue'])));
|
|||
|
|
|||
|
$tabNotice=$this->getInfosNotice($siren, $nic);
|
|||
|
//if ($tabNotice['insL4_VOIE']<>'' && $tabNotice['insL4_VOIE']<>$tabRet['L4_VOIE'])
|
|||
|
// $tabRet['L4_VOIE']=$tabNotice['insL4_VOIE'];
|
|||
|
if ($tabNotice['L6_POST']<>'' && $tabNotice['L6_POST']<>$tabRet['L6_POST'])
|
|||
|
$tabRet['L6_POST']=$tabNotice['L6_POST'];
|
|||
|
|
|||
|
$tabTmp=$this->iDbInsee->select('identite','NOM2, ADR_COMP, ADR_DISTSP, PAYS',
|
|||
|
"SIREN=$siren AND NIC=$nic", false, MYSQL_ASSOC);
|
|||
|
$tabIdentite=$tabTmp[0];
|
|||
|
if ($tabIdentite['NOM2']<>'' && $tabIdentite['NOM2']<>$tabRet['L2_NOM2'])
|
|||
|
$tabRet['L2_NOM2']=$tabIdentite['NOM2'];
|
|||
|
if ($tabIdentite['ADR_COMP']<>'' && $tabIdentite['ADR_COMP']<>$tabRet['L3_ADR_COMP'])
|
|||
|
$tabRet['L3_ADR_COMP']=$tabIdentite['ADR_COMP'];
|
|||
|
if ($tabIdentite['ADR_DISTSP']<>'' && $tabIdentite['ADR_DISTSP']<>$tabRet['L5_DISTSP'])
|
|||
|
$tabRet['L5_DISTSP']=$tabIdentite['ADR_DISTSP'];
|
|||
|
if ($tabIdentite['PAYS']<>'' && $tabIdentite['PAYS']<>$tabRet['L7_PAYS'])
|
|||
|
$tabRet['L7_PAYS']=$tabIdentite['PAYS'];
|
|||
|
|
|||
|
$tabTmp=$this->iDbInsee->select('cedexa','contrat, hexavia, codePostal, l1_nom, l2_nomComp, l3_compGeo, l4_numVoie, l4_indRep, l4_libVoie, l5_distrib, l5_numMS, l5_libCom, l6_codCedex, l6_achCedex, codeInsee, actif, dateFlux, dateInsert, dateUpdate', "siren=$siren AND nic=$nic", false, MYSQL_ASSOC);
|
|||
|
$tabCedex=$tabTmp[0];
|
|||
|
|
|||
|
if ($tabCedex['l2_nomComp']<>'' && $tabCedex['l2_nomComp']<>$tabRet['L2_NOM2'])
|
|||
|
$tabRet['L2_NOM2']=$tabCedex['l2_nomComp'];
|
|||
|
if ($tabCedex['l3_compGeo']<>'' && $tabCedex['l3_compGeo']<>$tabRet['L3_ADRCOMP'])
|
|||
|
$tabRet['L3_ADRCOMP']=$tabCedex['l3_compGeo'];
|
|||
|
|
|||
|
$l4=trim(preg_replace('/ +/',' ',preg_replace('/^0+/','', $tabCedex['l4_numVoie'].' '.$tabCedex['l4_indRep'].' '.$tabCedex['l4_libVoie'])));
|
|||
|
if ($l4<>'' && $l4<>$tabRet['L4_VOIE'])
|
|||
|
$tabRet['L4_VOIE']=$l4;
|
|||
|
|
|||
|
$l5=trim(preg_replace('/ +/',' ', $tabCedex['l5_distrib'].' '.$tabCedex['l5_numMS'].' '.$tabCedex['l5_libCom']));
|
|||
|
if ($l5<>'' && $l5<>$tabRet['L5_DISTSP'])
|
|||
|
$tabRet['L5_DISTSP']=$l5;
|
|||
|
|
|||
|
$l6=trim(preg_replace('/ +/',' ', $tabCedex['l6_codCedex'].' '.$tabCedex['l6_achCedex']));
|
|||
|
if ($l6<>'' && $l6<>$tabRet['L6_POST'])
|
|||
|
$tabRet['L6_POST']=$l6;
|
|||
|
|
|||
|
return $tabRet;
|
|||
|
/** RNCS ? **/
|
|||
|
$tabTmp=$this->iDb->select('rncs_etab','enseigne, nomCommercial, adrNumVoie, adrIndRep, adrLibVoie, adrTypeVoie,
|
|||
|
adrVoie, cp, commune, adrComp, adresse1, adresse2, adresse3',
|
|||
|
"siren=$siren AND nic=$nic", false, MYSQL_ASSOC);
|
|||
|
$tabIdentite=$tabTmp[0];
|
|||
|
}
|
|||
|
|
|||
|
function getActivite($siren, $nic=0) {
|
|||
|
$tabIdentite=$this->getIdentiteLight($siren, $nic);
|
|||
|
// F.Jur
|
|||
|
$fj=$tabIdentite['FJ'];
|
|||
|
// Naf 5
|
|||
|
$naf5en=$tabIdentite['NafEnt'];
|
|||
|
$naf5et=$tabIdentite['NafEtab'];
|
|||
|
// Naf 4
|
|||
|
$naf4en=$naf4et=-1;
|
|||
|
$tabNaf4=$this->getNaf4($siren, $nic);
|
|||
|
if (isset($tabNaf4['apen4']))
|
|||
|
$naf4en=$tabNaf4['apen4'];
|
|||
|
if (isset($tabNaf4['apet4']))
|
|||
|
$naf4et=$tabNaf4['apet4'];
|
|||
|
|
|||
|
// Activit<69> Pages Jaunes
|
|||
|
$strNic='';
|
|||
|
$an8en=$an8et=-1;
|
|||
|
if ($nic*1>0) $strNic="AND nic=$nic";
|
|||
|
$ret=$this->iDb->select('jo.telephonie',
|
|||
|
'infoTel, count(*) AS nb',
|
|||
|
"siren=$siren AND typeTel='an8' GROUP BY infoTel ORDER BY nb DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
|||
|
if (count($ret)>0) {
|
|||
|
$an8en=$ret[0]['infoTel'];
|
|||
|
$ret=$this->iDb->select('jo.telephonie',
|
|||
|
'infoTel',
|
|||
|
"siren=$siren $strNic AND typeTel='an8' ORDER BY dateProvPartenaire DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
|||
|
if (count($ret)>0)
|
|||
|
$an8et=$ret[0]['infoTel'];
|
|||
|
}
|
|||
|
|
|||
|
// Recherche des activit<69>s r<>glement<6E>es possibles Naf4&5 ou An8
|
|||
|
$ret=$this->iDb->select('jo.tabActivReg',
|
|||
|
'id, libActivite, listeActivite, naf5, naf4, codAn8, listeCJ, nomAutorite',
|
|||
|
"naf5='$naf5en' OR naf5='$naf5et' OR naf4='$naf4en' OR
|
|||
|
naf4='$naf4et' OR codAn8='$an8en' OR codAn8='$an8et'", false, MYSQL_ASSOC);
|
|||
|
/* @sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Activit<EFBFBD>s r<>glement<6E>es sur $siren",
|
|||
|
"naf5='$naf5en' OR naf5='$naf5et' OR naf4='$naf4en' OR naf4='$naf4et' OR codAn8='$an8en' OR codAn8='$an8et'".EOL.
|
|||
|
print_r($ret, true));*/
|
|||
|
foreach ($ret as $iRet=>$tabAct) {
|
|||
|
// Filtre 'listeActivite' : Si d<>fini, on recherche la pr<70>sence de mots dans l'activit<69>
|
|||
|
if (trim($tabAct['listeActivite'])<>'') {
|
|||
|
$ok=false;
|
|||
|
$tabTmp=explode(';',trim($tabAct['listeActivite']));
|
|||
|
$tabIdentite=$this->getIdentiteEntreprise($siren, $nic);
|
|||
|
foreach ($tabTmp as $strTmp)
|
|||
|
if (preg_match("/$strTmp/i", $tabIdentite['Activite'])) $ok=true;
|
|||
|
if (!$ok) continue;
|
|||
|
}
|
|||
|
// Filtre 'listeCJ' : Si d<>fini, on limite aux CJ list<73>es
|
|||
|
if (trim($tabAct['listeCJ'])<>'') {
|
|||
|
$ok=false;
|
|||
|
$tabTmp=explode(';',trim($tabAct['listeCJ']));
|
|||
|
foreach ($tabTmp as $strTmp)
|
|||
|
if (preg_match("/^$strTmp/", $fj)) $ok=true;
|
|||
|
if (!$ok) continue;
|
|||
|
}
|
|||
|
return array( 'idActivite'=>$tabAct['id'],
|
|||
|
'libActivite'=>$tabAct['libActivite'],
|
|||
|
'nomAutorite'=>$tabAct['nomAutorite'],
|
|||
|
);
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
public function getCodeNace($naf5) {
|
|||
|
if ($naf5<>'') {
|
|||
|
$this->setTabCodesNaf();
|
|||
|
return $this->tabCodesNace[$naf5];
|
|||
|
}
|
|||
|
else
|
|||
|
return '';
|
|||
|
}
|
|||
|
|
|||
|
public function getEtabClients($refClient, $idClient, $login, $deb=0, $nbRep=20, $maxRep=200) {
|
|||
|
$this->setTabCodesNaf();
|
|||
|
$deb=$deb*1;
|
|||
|
$nbRep=$nbRep*1;
|
|||
|
$limit="LIMIT $deb, $nbRep";
|
|||
|
|
|||
|
// $strLogin=" AND idClient=$idClient ";
|
|||
|
|
|||
|
$listeEtab=$this->iDb->select('jo.etablissements e, jo.surveillances_site s',
|
|||
|
"'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",
|
|||
|
"s.login='$login' AND s.siren=e.siren AND (s.nic=e.nic OR e.siege=1) AND s.ref='$refClient' ORDER BY e.siege DESC, 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 getAvisInsee($siren, $nic='') {
|
|||
|
if ($siren*1==0 || !$this->valideSiren($siren, $nic)) return false;
|
|||
|
if ($nic=='' || $nic*1==0 || $nic>99999)
|
|||
|
$strNic=" AND nic=nicSiege";
|
|||
|
else $strNic=" AND nic=$nic";
|
|||
|
$tabTmp=$this->iDbInsee->select('insee_avis', 'raiSoc, dateMaj, siren, nic, etatEt, dateEtatEt, typeEtab, adresseEt0, adresseEt1, adresseEt2, adresseEt3, fj, fjLib, nafEt, nafEtLib, effEtPeriode, effEtTr, erreurs, adresseEn0, adresseEn1, adresseEn2, adresseEn3, nafEn, nafEnLib, effEnPeriode, effEnTr, fjEn, fjEnLib, employes, etatEn, dateEtatEn, nicSiege, nbEtabActifs, dateInsert, dateUpdate, DATE(IF(dateUpdate>dateInsert, dateUpdate, dateInsert))*1 AS dateMajSD',
|
|||
|
"siren=$siren $strNic",
|
|||
|
false, MYSQL_ASSOC);
|
|||
|
$tabInfos=@$tabTmp[0];
|
|||
|
if ($tabInfos['dateMajSD']==date('Ymd')) {
|
|||
|
$tabInfos['enCache']=true;
|
|||
|
// sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getAvisInsee... en cache sur $siren", print_r($tabInfos, true));
|
|||
|
return $tabInfos;
|
|||
|
}
|
|||
|
|
|||
|
/** Initialisation de la session sur le site de l'Insee **/
|
|||
|
$url = 'http://avis-situation-sirene.insee.fr/avisitu/jsp/avis.jsp';
|
|||
|
$referer = $cookie = '';
|
|||
|
$page = getUrl($url, $cookie, '', $referer, false, 'avis-situation-sirene.insee.fr', '', 5);
|
|||
|
//Code en 4xx ou 5xx signifie une erreur du serveur
|
|||
|
$codeN = floor($page['code']/100);
|
|||
|
if($codeN==4 || $codeN==5)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
$tabInfos=array();
|
|||
|
$referer = $url;
|
|||
|
$body = $page['body'];
|
|||
|
$serviceDispo = true;
|
|||
|
|
|||
|
if (preg_match("/<form name=\"demForm\" method=\"post\" action=\"\/avisitu\/IdentificationListeSiret.do/Uis", $body, $matches))
|
|||
|
{
|
|||
|
/*$fp = @fopen($fichier, "a");
|
|||
|
@fwrite($fp, $body);
|
|||
|
@fclose($fp);*/
|
|||
|
$cookie = $page['header']['Set-Cookie'];
|
|||
|
usleep(round(rand(500000,2000000)));
|
|||
|
|
|||
|
$dep=$depActif='';
|
|||
|
if ($nic=='') $crit='S'; // l'<27>tablissement si<73>ge
|
|||
|
else $crit=''; // <20>tablissement particulier, saisissez le NIC
|
|||
|
/* $crit='T'; // tous les <20>tablissements de l'entreprise
|
|||
|
$crit='T'; // tous les <20>tablissements de l'entreprise du d<>partement $dep
|
|||
|
$crit='A'; // tous les <20>tablissements actifs de l'entreprise
|
|||
|
$crit='A'; // tous les <20>tablissements actifs de l'entreprise du d<>partement $depActif
|
|||
|
*/
|
|||
|
//Post du formulaire
|
|||
|
$url = 'http://avis-situation-sirene.insee.fr/avisitu/IdentificationListeSiret.do';
|
|||
|
//$url='http://avis-situation-sirene.insee.fr/avisituV2/IdentificationDetailEtab.do';
|
|||
|
$post = array(
|
|||
|
'siren' => $siren,
|
|||
|
'critere' => $crit, // S pour le si<73>ge ou vide avec un NIC !!!
|
|||
|
'nic' => $nic,
|
|||
|
'departement' => $dep,
|
|||
|
'departement_actif' => $depActif,
|
|||
|
'bSubmit' => 'Valider');
|
|||
|
$page = getUrl($url, $cookie, $post, $referer, false, 'avis-situation-sirene.insee.fr', '', 5);
|
|||
|
$referer=$url;
|
|||
|
$body = $page['body'];
|
|||
|
/* $fp=@fopen($fichier, "a");
|
|||
|
@fwrite($fp, $body);
|
|||
|
@fclose($fp);*/
|
|||
|
|
|||
|
if (preg_match("/<h3>Fiche <20>tablissement<\/h3>/Uis", $body, $matches))//<li class="ongletActif">établissement</li>
|
|||
|
$tabInfos['fiche']='etab';
|
|||
|
|
|||
|
if (preg_match('/<div class="TitreGauche">(.*)<br\/>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['raiSoc']=str_replace(''',"'",trim($matches[1]));
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match("/Dernière mise à jour : (.*)<\/div>/Uis", $body, $matches))
|
|||
|
$tabInfos['dateMaj']=WDate::dateT('d/m/Y','Y-m-d',trim($matches[1]));
|
|||
|
|
|||
|
$s1=substr($siren,0,3);
|
|||
|
$s2=substr($siren,3,3);
|
|||
|
$s3=substr($siren,6,3);
|
|||
|
if (preg_match('/<div class="TitreDroite">(?:.*)('.$s1.'(?:.*)'.$s2.'(?:.*)'.$s3.')(?:.*)(\d\d\d\d\d)(?:.*)<\/div>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['siren'] = trim(str_replace(' ','',$matches[1]));
|
|||
|
$tabInfos['nic'] = trim($matches[2]);
|
|||
|
if ($nic=='') $nic=$tabInfos['nic'];
|
|||
|
} else
|
|||
|
$tabInfos['siren']=$siren;
|
|||
|
|
|||
|
if (preg_match('/<label id="labelFiche">Etat : <\/label>(.*)depuis le(.*)<\/p>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['etatEt'] = trim($matches[1]);
|
|||
|
$tabInfos['dateEtatEt']=WDate::dateT('d/m/Y','Y-m-d',trim($matches[2]));
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/<label id="labelFiche">Catégorie d\'établissement : <\/label>(.*)<\/p>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['typeEtab']= trim($matches[1]);
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/<label id="labelFiche">Adresse d\'implantation \: <\/label>(?:.*)<ul id="adresse">(.*)<\/ul>/Uis', $body, $matches)) {
|
|||
|
$strTmp=trim($matches[1]);
|
|||
|
$tabTmp=explode('</li>', $strTmp);
|
|||
|
foreach ($tabTmp as $i=>$strTmp)
|
|||
|
$tabInfos['adresseEt'][$i]=trim(str_replace('<li>','',$strTmp));
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/gorie juridique \:(?:.*)<\/label>(.*) -(.*)<\/p>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['fj']= trim($matches[1]);
|
|||
|
$tabInfos['fjLib']= trim($matches[2]);
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/<label id="labelFiche">Activit<69> principale exerc<72>e \:(?:.*)<\/label>(.*) -(.*)<\/p>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['nafEt']=trim($matches[1]);
|
|||
|
$tabInfos['nafEtLib']=str_replace(''',"'",trim($matches[2]));
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/<label id="labelFiche">(?:.*)Tranche d'effectif(.*)<\/label>(.*)<\/p>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['effEtPeriode']=trim($matches[1]);
|
|||
|
$tabInfos['effEtTr']=trim($matches[2]);
|
|||
|
}
|
|||
|
|
|||
|
/* $strCsv=$siren.';'.$nic.';'.$tabInfos['fiche'].';'.$tabInfos['dateMaj'].';'.
|
|||
|
$tabInfos['siren'].';'.$tabInfos['nic'].';'.$tabInfos['raiSoc'].';'.
|
|||
|
$tabInfos['etat'].';'.$tabInfos['dateEtat'].';'.$tabInfos['fjCod'].';'.$tabInfos['fjLib'].';'.
|
|||
|
$tabInfos['nafCod'].';'.$tabInfos['nafLib'].';'.$tabInfos['effPeriode'].';'.
|
|||
|
$tabInfos['effTranche'].';'.
|
|||
|
$tabInfos['typeEtab'].';'.@implode(';',@$tabAdresse).
|
|||
|
";\n";
|
|||
|
$fp=@fopen(PATH_LOGS."avis.csv", "a");
|
|||
|
@fwrite($fp, $strCsv);
|
|||
|
@fclose($fp);
|
|||
|
*/
|
|||
|
// $body contient l'avis de situation au format html
|
|||
|
$tabErreurs=array();
|
|||
|
if (preg_match('/name="erreurs" value="(.*)" class="erreurText" readonly/Ui', $body, $matches1) ||
|
|||
|
preg_match('/name="erreurs_bis" value="(.*)" class="erreurTextBis" readonly/Ui', $body, $matches2)) {
|
|||
|
$tabErreurs[]=@$matches1[1];
|
|||
|
$tabErreurs[]=@$matches2[1];
|
|||
|
//die('<font color="red">ERREUR '.utf8_encode(implode(' ', $tabErreurs)).'</font>'); // G<>rer le retour d'une erreur
|
|||
|
}
|
|||
|
$tabInfos['erreurs']=implode('/',$tabErreurs);
|
|||
|
|
|||
|
//$tabInfos['debugEtab']=$body;
|
|||
|
usleep(round(rand(500000,1000000)));
|
|||
|
|
|||
|
$url="http://avis-situation-sirene.insee.fr/avisitu/IdentificationEtabToEntr.do?nic=$nic&siren=$siren";
|
|||
|
$page = getUrl($url, $cookie, '', $referer, false, 'avis-situation-sirene.insee.fr', '', 5);
|
|||
|
$body = $page['body'];
|
|||
|
//$tabInfos['debugEntrep']=$body;
|
|||
|
if (preg_match('/<label id="labelFiche">Adresse d\'implantation \: <\/label>(?:.*)<ul id="adresse">(.*)<\/ul>/Uis', $body, $matches)) {
|
|||
|
$strTmp=trim($matches[1]);
|
|||
|
$tabTmp=explode('</li>', $strTmp);
|
|||
|
foreach ($tabTmp as $i=>$strTmp)
|
|||
|
$tabInfos['adresseEn'][$i]=trim(str_replace('<li>','',$strTmp));
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/<label id="labelFiche">Activit<69> principale exerc<72>e \:(?:.*)<div id="adresse">(.*) -(.*)<\/div>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['nafEn']=trim($matches[1]);
|
|||
|
$tabInfos['nafEnLib']=str_replace(''',"'",trim($matches[2]));
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/<label id="labelFiche">(?:.*)Tranche d'effectif(.*)<\/label>(?:.*)<div id="adresse">(.*)<\/div>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['effEnPeriode']=trim($matches[1]);
|
|||
|
$tabInfos['effEnTr']=trim($matches[2]);
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/gorie juridique \:(?:.*)<div id="adresse">(.*) -(.*)<\/div>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['fjEn']= trim($matches[1]);
|
|||
|
$tabInfos['fjEnLib']= str_replace(''',"'",trim($matches[2]));
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/<label id="labelFiche">Entreprise employeuse \:(?:.*)<div id="adresse">(.*)<\/div>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['employes']= trim($matches[1]);
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/<label id="labelFiche">Etat : <\/label>(?:.*)<div id="adresse">(.*) le (.*)<\/div>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['etatEn'] = str_replace(''',"'",trim($matches[1]));
|
|||
|
$tabInfos['dateEtatEn']=WDate::dateT('d/m/Y','Y-m-d',trim($matches[2]));
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/<label id="labelFiche">NIC si<73>ge \:(?:.*)<div id="adresse">(.*)<\/div>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['nicSiege']= trim($matches[1]);
|
|||
|
}
|
|||
|
|
|||
|
if (preg_match('/<label id="labelFiche">Nb d\'<27>tablissements actifs \:(?:.*)<div id="adresse">(.*)<\/div>/Uis', $body, $matches)) {
|
|||
|
$tabInfos['nbEtabActifs']= trim($matches[1]);
|
|||
|
}
|
|||
|
$tabInfos2=array();
|
|||
|
for($i=0; $i<5; $i++) {
|
|||
|
$tabInfos2['adresseEt'.$i]=str_replace(''',"'",$tabInfos['adresseEt'][$i]);
|
|||
|
$tabInfos2['adresseEn'.$i]=str_replace(''',"'",$tabInfos['adresseEn'][$i]);
|
|||
|
}
|
|||
|
unset($tabInfos['fiche']);
|
|||
|
unset($tabInfos['adresseEt']);
|
|||
|
unset($tabInfos['adresseEn']);
|
|||
|
|
|||
|
$tabInsert=array_merge($tabInfos,$tabInfos2);
|
|||
|
$tabInsert['dateInsert']=date('YmdHis');
|
|||
|
$this->iDbInsee->insert('insee_avis', $tabInsert, true);
|
|||
|
|
|||
|
if (preg_match("/droit d'opposition/", $tabInsert['erreurs'])) {
|
|||
|
$this->iDbInsee->insert('insee_nondiff', array('siren'=>$siren,
|
|||
|
'dateInsert'=>date('YmdHis')));
|
|||
|
}
|
|||
|
$tabInfos['enCache']=false;
|
|||
|
// sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getAvisInsee... en ACCES HTTP sur $siren", print_r($tabInfos, true).mysql_error());
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
return $tabInfos;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public function listeProduits($naf) {
|
|||
|
$tabRet=array();
|
|||
|
$ret=$this->iDbInsee->select('tabCpf', 'codCpf, libCpf',
|
|||
|
"codCpf IN (SELECT cpf FROM tabNafCpf WHERE naf='$naf')", false, MYSQL_ASSOC);
|
|||
|
foreach ($ret as $iRet=>$tabCpf) {
|
|||
|
$tabRet[$tabCpf['codCpf']]=$tabRet[$tabCpf['libCpf']];
|
|||
|
}
|
|||
|
return $tabRet;
|
|||
|
}
|
|||
|
|
|||
|
/** Retourne la date de changement de statut de si<EFBFBD>ge <EFBFBD> <EFBFBD>tablissment secondaire pour un <EFBFBD>tablissement donn<EFBFBD>
|
|||
|
**
|
|||
|
** @param integer $siren Siren de l'entreprise
|
|||
|
** @param integer $nic Nic de l'<EFBFBD>tabissement
|
|||
|
** @return date Date de changement d'<EFBFBD>tat
|
|||
|
*/
|
|||
|
public function isAncienSiege($siren, $nic) {
|
|||
|
$tabRet=array();
|
|||
|
$ret=$this->iDbInsee->select('insee_even',
|
|||
|
'insSIREN, insNIC, insDATEVE, insEVE, insAPET700, insSIEGE, insLIBCOM, insL1_NOMEN, insL2_COMP, insL4_VOIE, insL3_CADR, insL5_DISP, insL6_POST, insCODPOS, insL7_ETRG, insDEPCOM, insCODEVOIE, insNICTRAN, insSIRETPS, insDATEMAJ, idFlux, insSIRETASS, insEVE, insDESTINAT, insTYPETAB, insORIGINE',
|
|||
|
"insSIREN=$siren AND insNIC=$nic AND insMNICSIEGE=1 ORDER BY insDATEVE DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
|||
|
return $ret[0]['insDATEVE'];
|
|||
|
}
|
|||
|
|
|||
|
/** Recherche les siret associ<EFBFBD>s <EFBFBD> un siret (successeur et/ou pr<EFBFBD>d<EFBFBD>cesseur)
|
|||
|
**
|
|||
|
** @param integer $siren Siren de l'entreprise
|
|||
|
** @param integer $nic Nic de l'<EFBFBD>tabissement
|
|||
|
** @param integer $lien Type de lien (-1=pr<EFBFBD>d<EFBFBD>cesseur, 0=pr<EFBFBD>d<EFBFBD>cesseur et/ou successeur, 1=successeur)
|
|||
|
**/
|
|||
|
public function getSiretAssoc($siren, $nic, $lien=0) {
|
|||
|
$tabRet=array();
|
|||
|
$ret=$this->iDbInsee->select('insee_even',
|
|||
|
'insSIREN, insNIC, insDATEVE, insEVE, insAPET700, insSIEGE, insLIBCOM, insL1_NOMEN, insL2_COMP, insL4_VOIE, insL3_CADR, insL5_DISP, insL6_POST, insCODPOS, insL7_ETRG, insDEPCOM, insCODEVOIE, insNICTRAN, insSIRETPS, insDATEMAJ, idFlux, insSIRETASS, insEVE, insDESTINAT, insTYPETAB, insORIGINE',
|
|||
|
"insSIREN=$siren AND insNIC<>$nic AND insEVE IN ('510','520','530','540') AND insDATEMAJ IN (
|
|||
|
SELECT insDATEMAJ FROM insee_even WHERE insSIREN=$siren AND insNIC=$nic AND insEVE IN ('510','520','530','540') )", false, MYSQL_ASSOC);
|
|||
|
foreach ($ret as $iRet=>$tabEve) {
|
|||
|
switch($tabEve['insTYPETAB']*1) {
|
|||
|
case 8:
|
|||
|
case 10:
|
|||
|
case 20:
|
|||
|
case 30:
|
|||
|
if ($lien==1) continue;
|
|||
|
$typeLien='pre';
|
|||
|
break;
|
|||
|
case 9:
|
|||
|
case 11:
|
|||
|
case 21:
|
|||
|
case 31:
|
|||
|
if ($lien==-1) continue;
|
|||
|
$typeLien='suc';
|
|||
|
break;
|
|||
|
default:
|
|||
|
if ($lien<>0) continue;
|
|||
|
$typeLien='ind';
|
|||
|
break;
|
|||
|
}
|
|||
|
$tabRet[$typeLien]=array('siren' => $tabEve['insSIREN'],
|
|||
|
'nic' => $tabEve['insNIC'],
|
|||
|
'apeEtab' => $tabEve['insAPET700'],
|
|||
|
'codeEve' => $tabEve['insEVE'],
|
|||
|
'dateEve' => $tabEve['insDATEVE'],
|
|||
|
'adrL1' => $tabEve['insL1_NOMEN'],
|
|||
|
'adrL2' => $tabEve['insL2_COMP'],
|
|||
|
'adrL3' => prepareString($tabEve['insL3_CADR']),
|
|||
|
'adrL4' => $tabEve['insL4_VOIE'],
|
|||
|
'adrL5' => $tabEve['insL5_DISP'],
|
|||
|
'adrL6' => $tabEve['insL6_POST'],
|
|||
|
'adrL7' => $tabEve['insL7_ETRG'],
|
|||
|
'depCom' => $tabEve['insDEPCOM'],
|
|||
|
'rivoli' => $tabEve['insCODEVOIE'],
|
|||
|
'siege' => $tabEve['insSIEGE'],
|
|||
|
'destinat' => $tabEve['insDESTINAT'],
|
|||
|
'typEtab' => $tabEve['insTYPETAB'],
|
|||
|
'origine' => $tabEve['insORIGINE'],
|
|||
|
// insNICTRAN, insSIRETPS, insDATEMAJ, idFlux, insSIRETASS,
|
|||
|
);
|
|||
|
}
|
|||
|
return $tabRet;
|
|||
|
}
|
|||
|
|
|||
|
public function getInfoSirene($dept, $siren, $apen=false) {
|
|||
|
$strAdr1Comp=$tel='';
|
|||
|
if ($siren>=100000000 && $siren<300000000){
|
|||
|
$dept=18;
|
|||
|
$strAdr1Comp=', P<>le Secteur Public';
|
|||
|
} else {
|
|||
|
if (!$apen) {
|
|||
|
$tabId=$this->getIdentiteLight($siren);
|
|||
|
$apen=$tabId['NafEnt'];
|
|||
|
$strAdr1Comp=', P<>le Agricole';
|
|||
|
}
|
|||
|
$apen2=''.substr($apen,0,2);
|
|||
|
if ($apen2=='01' || $apen2=='02') {
|
|||
|
$dept=59; //
|
|||
|
$tel='03.20.62.86.45';
|
|||
|
}
|
|||
|
}
|
|||
|
$ret=$this->iDbInsee->select('insee_drsiren', 'siret,nom,adr1,adr2,adr3,cp,ville,tel,fax',
|
|||
|
"dept='$dept'", false, MYSQL_ASSOC);
|
|||
|
$ret=$ret[0];
|
|||
|
if ($tel=='') $tel=$ret['tel'];
|
|||
|
return array('siret'=>$ret['siret'],
|
|||
|
'nom'=>$ret['nom'],
|
|||
|
'adr1'=>$ret['adr1'].$strAdr1Comp,
|
|||
|
'adr2'=>$ret['adr2'],
|
|||
|
'adr3'=>$ret['adr3'],
|
|||
|
'cp'=>$ret['cp'],
|
|||
|
'ville'=>$ret['ville'],
|
|||
|
'standard'=>'09.72.72.6000',
|
|||
|
'tel'=>$tel,
|
|||
|
'fax'=>$ret['fax']);
|
|||
|
}
|
|||
|
|
|||
|
public function getInfosIris($codeCommune, $codeRivoli, $adrNum, $adrIndRep, $adrTypVoie, $adrLibVoie) {
|
|||
|
$tabTypeIris=array('A'=>'IRIS d\'activit<69>', 'H'=>'IRIS d\'habitat', 'D'=>'IRIS divers (grande zone peu habit<69> dont parcs, ports, for<6F>ts, ...)', 'Z'=>'Commune non d<>coup<75>e en IRIS');
|
|||
|
$tabRet=$ret2=array();
|
|||
|
$ret=$this->iDbInsee->select('iris', 'codeInsee, codeIris, rivoli, codeInseeIris',
|
|||
|
"codeInsee='$codeCommune' AND rivoli LIKE '$codeRivoli%' GROUP BY codeInseeIris", false, MYSQL_ASSOC);
|
|||
|
$adrNum=preg_replace('/^0/','',$adrNum)*1;
|
|||
|
$strAdr='';
|
|||
|
if (count($ret)>1) {
|
|||
|
if($adrNum>0 && $adrNum&1) {
|
|||
|
// Num<75>ro impaire
|
|||
|
$strAdr=" AND typeNum=1 AND $adrNum BETWEEN numd AND numf ";
|
|||
|
} elseif($adrNum>=0) {
|
|||
|
// Num<75>ro paire
|
|||
|
$strAdr=" AND typeNum=2 AND $adrNum BETWEEN numd AND numf ";
|
|||
|
}
|
|||
|
$ret=$this->iDbInsee->select('iris', 'codeInsee, codeIris, rivoli, codeInseeIris, numd,indd, numf, indf',
|
|||
|
"codeInsee='$codeCommune' AND rivoli LIKE '$codeRivoli%' $strAdr GROUP BY codeInseeIris", false, MYSQL_ASSOC);
|
|||
|
if (count($ret)>1 && $codeRivoli<>'') {
|
|||
|
/** Attention, dans cette logique, le Bis fonctionne mais le Quater passe avant le Ter alors que
|
|||
|
2 bis
|
|||
|
3 ter
|
|||
|
4 quater
|
|||
|
mais il peut aussi s'agir de suites A, B, C, D, etc...
|
|||
|
**/
|
|||
|
$numAdrRep=$adrNum+ord(strtoupper($adrIndRep))/100;
|
|||
|
foreach ($ret as $i=>$tabIris) {
|
|||
|
$numIrisDeb=$tabIris['numd']+ord(strtoupper($tabIris['indd']))/100;
|
|||
|
$numIrisFin=$tabIris['numf']+ord(strtoupper($tabIris['indf']))/100;
|
|||
|
if ($adrNum==$tabIris['numd'] && $numAdrRep>=$numIrisDeb) {
|
|||
|
// Le num<75>ro de la rue correspond au d<>but de la tranche des num<75>ros IRIS
|
|||
|
$ret2=array(0=>$tabIris);
|
|||
|
break;
|
|||
|
}
|
|||
|
elseif ($adrNum==$tabIris['numf'] && $numAdrRep<=$numIrisFin) {
|
|||
|
// Le num<75>ro de la rue correspond <20> la fin de la tranche des num<75>ros IRIS
|
|||
|
$ret2=array(0=>$tabIris);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
if (count($ret2)<>1)
|
|||
|
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getInfosIris sur $codeCommune/$codeRivoli IRIS multiple KO sur $adrNum $adrIndRep $adrTypVoie $adrLibVoie (cas 1a)", "Plusieurs codes IRIS pour le m<>me rivoli".EOL.print_r($ret, true));
|
|||
|
else {
|
|||
|
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getInfosIris sur $codeCommune/$codeRivoli IRIS multiple ok sur $adrNum $adrIndRep $adrTypVoie $adrLibVoie (cas 1b)", "Plusieurs codes IRIS pour le m<>me rivoli".EOL.print_r($ret2, true).EOL.print_r($ret, true));
|
|||
|
$ret=$ret2;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
if (count($ret)<2 || $codeRivoli=='') {
|
|||
|
$codeIris=@$ret[0]['codeIris'];
|
|||
|
$codeComIris=@$ret[0]['codeInseeIris'];
|
|||
|
$ret=$this->iDbInsee->select('insee_tabIris', 'CODE_IRIS AS codeInseeIris, SUBSTRING(CODE_IRIS,6,4) AS codeIris, LIB_IRIS, TYP_IRIS, MODIF_IRIS, TRIRIS, GRD_QUART',
|
|||
|
"DEPCOM='$codeCommune' AND (TYP_IRIS='Z' OR CODE_IRIS='$codeComIris')", false, MYSQL_ASSOC);
|
|||
|
$tabRet=array('codIris'=>$ret[0]['codeIris'],
|
|||
|
'codComIris'=>$ret[0]['codeInseeIris'],
|
|||
|
'libIris'=>$ret[0]['LIB_IRIS'],
|
|||
|
'typIris'=>$tabTypeIris[$ret[0]['TYP_IRIS']],
|
|||
|
'evoIris'=>$ret[0]['MODIF_IRIS'],
|
|||
|
'trIris'=>$ret[0]['TRIRIS'],
|
|||
|
'grdQuartier'=>$ret[0]['GRD_QUART'],
|
|||
|
);
|
|||
|
/*
|
|||
|
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getInfosIris sur $codeCommune/$codeRivoli", "Debug IRIS sur $adrNum, $adrTypVoie, $adrLibVoie".EOL."SELECT codeInsee, codeIris, rivoli, codeInseeIris
|
|||
|
FROM iris
|
|||
|
WHERE codeInsee='$codeCommune' AND rivoli LIKE '$codeRivoli%' $strAdr GROUP BY codeInseeIris;
|
|||
|
|
|||
|
SELECT CODE_IRIS AS codeInseeIris, SUBSTRING(CODE_IRIS,6,4) AS codeIris, LIB_IRIS, TYP_IRIS, MODIF_IRIS, TRIRIS, GRD_QUART
|
|||
|
FROM insee_tabIris
|
|||
|
WHERE DEPCOM='$codeCommune' AND (TYP_IRIS='Z' OR CODE_IRIS='$codeComIris');".EOL.print_r($tabRet, true));
|
|||
|
*/
|
|||
|
} else {
|
|||
|
//typVoie, libVoie, rivoli, typeNum 1:chiffres impaires, 2:chiffres paires
|
|||
|
//numd, indd, numf, indf
|
|||
|
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee::getInfosIris sur $codeCommune/$codeRivoli IRIS multiple KO sur $adrNum $adrIndRep $adrTypVoie $adrLibVoie (cas 2)", "Plusieurs codes IRIS pour le m<>me rivoli".EOL.print_r($ret, true));
|
|||
|
}
|
|||
|
return $tabRet;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*$tabSiren[$even['insDATEVE']]=array('rs'=>$even['insNOMEN'],
|
|||
|
'sigle'=>$even['insSIGLE'],
|
|||
|
'ape'=>$even['insAPEN700'],
|
|||
|
'nic'=>$even['insNICSIEGE'],
|
|||
|
'cj'=>$even['insCJ'],
|
|||
|
);
|
|||
|
$tabSiret[$even['insNIC']][$even['insDATEVE']]
|
|||
|
= array('ens'=>$even['insENSEIGNE'],
|
|||
|
'ape'=>$even['insAPET700'],
|
|||
|
'adresse'=>$even['insL2_COMP'].' '.$even['insL3_CADR'].' '.$even['insL4_VOIE'].' '.$even['insL5_DISP'].' '.$even['insL6_POST'].' '.$even['insL7_ETRG'],
|
|||
|
'effectif'=>$even['insEFENCENT'].' (Tranche '.$even['insTEFET'].')',
|
|||
|
);
|
|||
|
*/
|
|||
|
|
|||
|
function getInfoPrecedente($tabSir, $dateEven, $even) {
|
|||
|
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMInsee, getInfoPrecedente avant le $dateEven pour '$even'", print_r($tabSir, true));
|
|||
|
foreach ($tabSir as $date=>$tabInfo) {
|
|||
|
if ($date>$dateEven) continue;
|
|||
|
return $tabInfo[$even];
|
|||
|
}
|
|||
|
return '';
|
|||
|
}
|
|||
|
|
|||
|
?>
|