1514 lines
64 KiB
PHP
1514 lines
64 KiB
PHP
<?php
|
||
class Metier_Bodacc_MBodacc
|
||
{
|
||
/**
|
||
*
|
||
*/
|
||
protected $tabNaturesEvenements = array(
|
||
"Jugement modifiant le plan de cession" => 1408,
|
||
"Jugement d'ouverture d'une procédure de redressement judiciaire" => '1200',
|
||
"Jugement d'ouverture de liquidation judiciaire" => '1301',
|
||
"Jugement de clôture pour insuffisance d'actif" => 1503,
|
||
"Jugement de clôture de la liquidation des biens pour insuffisance d'actif" => 1503,
|
||
"Dépôt de l'état des créances" => 1204,
|
||
"Dépôt de l'état des créances Loi de 1985" => 1214,
|
||
"Jugement de plan de redressement" => 1414,
|
||
"Jugement de clôture pour extinction du passif" => 1502,
|
||
"Jugement arrêtant le plan de sauvegarde" => 1101,
|
||
"Liste des créances nées après le jugement d'ouverture d'une procédure de liquidation judiciaire" => 1206,
|
||
"Jugement de conversion en liquidation judiciaire" => 1300,
|
||
"Jugement arrêtant un plan de cession" => 1411,
|
||
"Jugement prononçant la résolution du plan de cession et la liquidation judiciaire" => '1305;1511',
|
||
"Liste des créances nées après le jugement d'ouverture d'une procédure de redressement judiciaire" => 1206,
|
||
"Dépôt de l'état de collocation" => 1203,
|
||
"Jugement prononçant la résolution du plan de redressement et la liquidation judiciaire" => '1305;1512',
|
||
"Jugement prononçant la résolution du plan de sauvegarde et la liquidation judiciaire" => '1305;1513',
|
||
"Jugement de faillite personnelle" => 1600,
|
||
"Jugement de faillite personnelle Loi de 1985" => 1610,
|
||
"Jugement d'interdiction de gérer" => 1601,
|
||
"Jugement d'interdiction de gérer Loi de 1985" => 1611,
|
||
"Arrêt de la cour d'appel infirmant une décision soumise à publicité" => 1506,
|
||
"Jugement d'ouverture d'une procédure de sauvegarde" => 1100,
|
||
|
||
"Jugement de reprise de la procédure de liquidation judiciaire" => 1304,
|
||
"Jugement modifiant le plan de continuation" => 1409,
|
||
"Dépôt du projet de répartition" => 1208,
|
||
"Dépôt de l'état des créances et du projet de répartition" => '1204;1208',
|
||
"Jugement d'homologation de l'accord" => 1550,
|
||
"Jugement prononçant la résolution du plan de cession" => 1511,
|
||
"Jugement de conversion en redressement judiciaire de la procédure de sauvegarde" => 1201,
|
||
"Jugement de conversion en liquidation judiciaire de la procédure de sauvegarde" => 1307,
|
||
"Jugement modifiant la date de cessation des paiements" => 1450,
|
||
"Jugement de clôture de la liquidation des biens pour extinction du passif" => 1502,
|
||
"Jugement modifiant le plan de redressement" => 1407,
|
||
"Jugement mettant fin à la procédure de redressement judiciaire" => 1500,
|
||
"Jugement accordant un délai pour déposer la liste des créances" => 1440,
|
||
"Jugement modifiant le plan de sauvegarde" => 1407,
|
||
"Jugement de clôture pour insuffisance d'actif et autorisant la reprise des poursuites individuelles" => '1503;1605',
|
||
"Ordonnance statuant sur les contestations du projet de répartition" => 1540,
|
||
"Jugement de clôture de la procédure de sauvegarde" => 1500,
|
||
"Jugement mettant fin à la procédure de sauvegarde" => 1500,
|
||
|
||
"Jugement d'extension de liquidation judiciaire" => 1417,
|
||
"Jugement d'extension d'une procédure de redressement judiciaire" => 1418,
|
||
"Jugement d'extension d'une procédure de sauvegarde" => 1419,
|
||
"Rétractation de prononcé de liquidation judiciaire sur tierce opposition" => 1541,
|
||
|
||
"Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition" => 1542,
|
||
"Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition" => 1543,
|
||
"Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition" => 1544,
|
||
"Jugement de désignation des organes de la procédure" => 1215, // v1.5 Avril 2008
|
||
|
||
"Rétractation de jugement d'ouverture sur tierce opposition" => 1545,
|
||
"Autre rétractation sur tierce opposition" => 1546,
|
||
"Autre jugement de liquidation des biens" => 1603,
|
||
"Autre arrêt de la Cour d'Appel" => 1507,
|
||
"Autre jugement de clôture" => 1500,
|
||
"Autres avis de dépôt" => 1216,
|
||
"Arrêts divers" => 1515,
|
||
|
||
"Autre jugement d'ouverture" => 1998,
|
||
"Autres jugements et ordonnances" => 1998,
|
||
"Autre jugement prononçant" => 1998,
|
||
|
||
/**
|
||
** v1.5 Avril 2008 - Intégration du Bodacc A en XML : Ventes / Cessions
|
||
**/
|
||
"Achat d'un fonds par une personne morale (insertion provisoire)" => 5103,
|
||
"Achat d'un foncs par une personne morale (insertion provisoire)" => 5103,
|
||
"Achat d'un fonds par une personne morale." => 5103, // Ajout le 23/12/2010
|
||
"Achat d'un établissement principal par une personne physique (immatriculation)" => 5000,
|
||
"Achat d'un établissement principal par une personne morale lors de l'immatriculation" => 5000,
|
||
"Autre achat, apport, attribution" => 5900,
|
||
"Autre achat, appport, attribution" => 5900,
|
||
"Autre achat, apport, attribution (personne physique)" => 5900,
|
||
"Autre achat, apport, attribution (personne physque)" => 5900,
|
||
"Autre achat, apport, atribution (personne morale)" => 5900,
|
||
"Autre achat, apport, attribution (personne morale)" => 5900,
|
||
"achat, apport, attribution (personne morale)" => 5900,
|
||
"Achat d'un fonds par une personne physique (insertion provisoire)" => 5103,
|
||
"Achat d'un établissement secondaire ou complémentaire par une personne morale" => 5001,
|
||
"Apport d'un établissement secondaire/complémentaire (personne morale, uniquement)" => 5001,
|
||
"Achat d'un établissement complémentaire par une personne morale" => 5001,
|
||
"Achat d'un établissement secondaire ou complémentaire par une personne physique" => 5001,
|
||
"Mise en activité d'une société suite à achat" => '2316;5999',
|
||
"Mise en activité d'une soicété suite à achat" => '2316;5999',
|
||
"Achat d'un fonds par le locataire-gérant personne morale" => 5450,
|
||
"Achat d'un fonds par le locataire-gérant personne physique" => 5450,
|
||
"Apport d'un établissement principal (immatriculation d'une personne morale, uniquement)" => 5000,
|
||
"Apport d'un établissement principal (immatriculation d'une personne morale uniquement)" => 5000,
|
||
"Attribution d'un fonds suite à partage, à licitation (Immatriculation d'une personne physique)" => 5460,
|
||
"Attribution d'un fonds suite à donation avec délai d'oppositions (Immatriculation d'une personne physique)" => 5460,
|
||
"Annulation d'avis Vente" => 5999,
|
||
"Annulation d'avis vente" => 5999,
|
||
"fonds acquis par achat au prix stipulé de 155 000 euros." => 5900,
|
||
|
||
/**
|
||
** v1.5 Avril 2008 - Intégration du Bodacc A en XML : Créations / Immatriculations
|
||
**/
|
||
"Immatriculation d'une personne physique suite à création d'un établissement principal" => 4000,
|
||
"Immatriculation d'une personne morale (B, D) sans activité" => 4050,
|
||
"Immatriculation d'une personne morale (B, C, D) suite à création d'un établissement principal" => 4000,
|
||
"Immatriculation d'une personne morale (B, C, D suite à création d'un établissement principal)" => 4000,
|
||
"Immatriculation d'une personne physique suite à transfert de l'établissement principal" => 4250,
|
||
"Immatriculation d'une personne morale après 1er avis" => 4000,//???????
|
||
"Immatriculation d'une personne morale suite à transfert de son siège social" => 4250,
|
||
"Immatriculation d'une personne physique, reprise d'activité après location-gérance" => 4350,
|
||
"Immatriculation d'une personne morale, établissement principal reçu en location-gérance" => 4355,
|
||
"Immatriculation d'une personne physique après 1er avis" => 4000,
|
||
"Immatriculation d'une personne physique, établissement principal reçu en location-gérance" => 4355,
|
||
"Immatriculation d'une personne physique, établissement principal précédemment exploité par le conjoint" => 4450,
|
||
"Immatriculation d'une personne physique, établissement précédemment exploité par le conjoint" => 4450,
|
||
"Transformation d'un GAEC" => 4400,
|
||
"Autre immatriculation personne morale" => 4000,
|
||
"Autre immatriculation personne physique" => 4000,
|
||
"Immatriculation d'une société de droit européen (quelle que soit l'origine du fonds)" => 4600,
|
||
"Immatriculation avec origine du fonds création" => 4000,
|
||
"Immatriculation avec orgine du fonds création" => 4000,
|
||
"Immatriculation avec origine de fonds achat" => 4501,
|
||
"Immatriculation avec origine du fonds achat" => 4501,
|
||
"Immatriculation d'une personne physique, établissement principal hérité, reçu par donation" => 4410,
|
||
);
|
||
|
||
private static $tabAccents = array(
|
||
'[A'=>'Á', //5B41
|
||
'^A'=>'Â', //5E41
|
||
'`A'=>'À', //6041
|
||
']A'=>'Ä', //5D41
|
||
'[a'=>'á', //5B61
|
||
'^a'=>'â', //5E61
|
||
'`a'=>'à', //6061
|
||
']a'=>'ä', //5D61
|
||
//'AE'=>'Æ', //4145 // Penser à les retransformer pour les vieux systèmes
|
||
//'ae'=>'æ', //6165 // Penser à les retransformer pour les vieux systèmes
|
||
'|C'=>'Ç', //7C43
|
||
'|c'=>'ç', //7C63
|
||
'[E'=>'É', //5B45
|
||
'^E'=>'Ê', //5E45
|
||
'`E'=>'È', //6045
|
||
']E'=>'Ë', //5D45
|
||
'[e'=>'é', //5B65
|
||
'^e'=>'ê', //5E65
|
||
'`e'=>'è', //6065
|
||
']e'=>'ë', //5D65
|
||
'[I'=>'Í', //5B49
|
||
'^I'=>'Î', //5E49
|
||
'`I'=>'Ì', //6049
|
||
']I'=>'Ï', //5D49
|
||
'[i'=>'í', //5B69
|
||
'^i'=>'î', //5E69
|
||
'`i'=>'ì', //6069
|
||
']i'=>'ï', //5D69
|
||
'[O'=>'Ó', //5B4F
|
||
'^O'=>'Ô', //5E4F
|
||
'`O'=>'Ò', //604F
|
||
']O'=>'Ö', //5D4F
|
||
'[o'=>'ó', //5B6F
|
||
'^o'=>'ô', //5E6F
|
||
'`o'=>'ò', //606F
|
||
']o'=>'ö', //5D6F
|
||
//'OE'=>'.', //4F45 // Penser à les retransformer pour les vieux systèmes
|
||
//'oe'=>'.', // Penser à les retransformer pour les vieux systèmes
|
||
'[U'=>'Ú', //5B55
|
||
'^U'=>'Û', //5E55
|
||
'`U'=>'Ù', //6055
|
||
']U'=>'Ü', //5D55
|
||
'[u'=>'ú', //5B75
|
||
'`u'=>'ù', //6075
|
||
'^u'=>'û', //5E75
|
||
']u'=>'ü', //5D75
|
||
'[Y'=>'Ý', //5B59
|
||
'[y'=>'ý', //5B79
|
||
);
|
||
|
||
private static $tabBalises=array(
|
||
'00'=>'Texte',
|
||
'01'=>'Identifiant (NOJO) de l.annonce',
|
||
'02'=>'Publication (R1)',
|
||
'03'=>'Partie du BODACC et département (R2)',
|
||
'04'=>'Tribunal (R3)',
|
||
'05'=>'Rubrique au sein du BODACC (R4)',
|
||
'06'=>'Numéro de parution',
|
||
'07'=>'Numéro d.annonce dans la parution',
|
||
'14'=>'R.C.',
|
||
'15'=>'SIREN',
|
||
'16'=>'Raison sociale',
|
||
'17'=>'Activité (Ajout activité ?)',
|
||
'18'=>'PDG / CP (?)',
|
||
'19'=>'Enseigne / Nom Commercial (?)',
|
||
'20'=>'Date',
|
||
'22'=>'Forme juridique',
|
||
'23'=>'Capital (?)',
|
||
'24'=>'Bénéficiaire / Raison sociale (différence avec 16?)',
|
||
'25'=>'Sigle',
|
||
'26'=>'Objet / Commentaire (a exploiter !) (?)',
|
||
'27'=>'Syndic (a vérifier sur les annonces si pas anciennes annonces ?)',
|
||
'29'=>'Nom Commercial (?)',
|
||
'30'=>'Commentaire adresse',
|
||
'31'=>'Rue',
|
||
'32'=>'Localité',
|
||
'33'=>'Commune',
|
||
'35'=>'Conjoint (?)',
|
||
'36'=>'Code postal',
|
||
'37'=>'Additif (?)',
|
||
'40'=>'Texte rectificatif (?)',
|
||
'41'=>'Numéro annonce (?)',
|
||
'42'=>'Date de parution (?)',
|
||
'43'=>'Page (?)',
|
||
'44'=>'Numéro de parution (?)',
|
||
'70'=>'Numéro annonce',
|
||
'71'=>'Date de parution',
|
||
'72'=>'Page',
|
||
'73'=>'Numéro de parution',
|
||
'74'=>'Texte rectificatif/à supprimer',
|
||
'75'=>'Numéro annonce',
|
||
'76'=>'Numéro annonce',
|
||
);
|
||
|
||
private static $tabRubriques=array(
|
||
'A101'=>'21 ventes et cessions (RCS A non inscrit)',
|
||
'A102'=>'22 ventes et cessions (RCS B, C et D non inscrit)',
|
||
'A103'=>'13 Créations d\'établissements (RCS A, PP)',
|
||
'A104'=>'14 Créations d\'établissements (RCS B, Ste)',
|
||
'A105'=>'15 Créations d\'établissements (RCS C, GIE ?)',
|
||
'A106'=>'16 Créations d\'établissements (RCS D, Sté Civile)',
|
||
'A107'=>'17 création d\'étab.second. ....... Pers Phys. ', //
|
||
'A108'=>'18 création d\'étab.second. ....... Société ', //
|
||
'A109'=>'19 création d\'étab.second. ....... Sté Civile ', //
|
||
'A124'=>'24 ventes et cessions (RCS A non inscrit)',
|
||
'A125'=>'25 ventes et cessions (RCS B, C et D non inscrit)',
|
||
'A126'=>'13 création d\'étab.+1 PP .......... Pers Phys. ', //
|
||
'A131'=>'15 Créations d\'établissements (G.Europ.IE)', //
|
||
'A136'=>'35 rectificatif ', //
|
||
'A137'=>'35 additif', //
|
||
'A138'=>'35 rectificatif supp. ', //
|
||
'A205'=>'51 reglement judiciaire ........... PP et Sté ', //
|
||
'A209'=>'63 LB faillite personnelle ........ Pers Phys.', //
|
||
'A210'=>'61 liquidation des biens .......... PP et Sté ', //
|
||
'A215'=>'71 suite reglemt/liquid. .......... PP et Sté ',
|
||
'A220'=>'77 Production titres créance ...... PP et Sté ', //
|
||
'A225'=>'78 Dépôt état des créances vérifiées PP et Sté ', //
|
||
'A228'=>'79 Cloture insuf.actif ......... PP et Sté ', //
|
||
'A236'=>'35 rectificatif ', //
|
||
'A237'=>'35 additif', //
|
||
'A238'=>'35 rectificatif supp.', //
|
||
'A401'=>'80 Banqueroute & Infractions ...... Pers Phys.', // ---
|
||
'A436'=>'35 rectificatif ', //
|
||
'A437'=>'35 additif', //
|
||
'A438'=>'35 rectificatif supp. ', //
|
||
'A701'=>'73 Susp provis poursuites ......... toutes formes', //
|
||
'A736'=>'35 rectificatif ', //
|
||
'A737'=>'35 additif', //
|
||
'A738'=>'35 rectificatif supp. ', //
|
||
'A8X1'=>'60 redressement & liqu.judiciaire.. toutes formes', //
|
||
'A801'=>'52 redressement judiciaire ........ toutes formes',
|
||
'A802'=>'62 ouverture liquidation judiciaire toutes formes',
|
||
'A803'=>'74 Appels jug. ouverture .......... toutes formes', //
|
||
'A804'=>'62 liquidation judiciaire ........ toutes formes',
|
||
'A805'=>'74 Appels jug. LB ................. toutes formes', //
|
||
'A806'=>'75 Arret plan de continuation...... toutes formes',
|
||
'A807'=>'75 Modif plan de continuation...... toutes formes',
|
||
'A808'=>'75 Arret plan de cession .......... toutes formes',
|
||
'A809'=>'75 Modif plan de cession .......... toutes formes',
|
||
'A810'=>'76 Cloture extinction Passif ...... toutes formes',
|
||
'A811'=>'79 Cloture insuf.Actif ............ toutes formes',
|
||
'A812'=>'79 Cloture après cession totale ... toutes formes',
|
||
'A813'=>'63 faillite pers. pp ou gerant .... toutes formes',
|
||
'A814'=>'64 interdiction de gerer .......... toutes formes',
|
||
'A815'=>'78 Dépot Créances ................ toutes formes',
|
||
'A816'=>'78 Dépot Créances nées ap jug ..... toutes formes',
|
||
'A817'=>'78 Dépot Cr.compl.nées ap jug ..... toutes formes',
|
||
'A818'=>'78 Dépot état Collocation ......... toutes formes',
|
||
'A819'=>'75 Modification plan diverse ...... toutes formes',
|
||
'A820'=>'53 Règlements amiables ............ Exploit agric',
|
||
'A821'=>'74 Appels jug. LB ................. toutes formes',
|
||
'A822'=>'56 Procédure insolvabilité......... toutes formes', //
|
||
'A823'=>' Ordonnance statuant sur les contestations',
|
||
'A824'=>'xx Dépôt du projet de répartition', //
|
||
'A836'=>'35 rectificatif ', //
|
||
'A837'=>'35 additif', //
|
||
'A838'=>'35 rectificatif supp. ', //
|
||
'A900'=>'Arrêt Conseil d\'Etat ou Conseil Supérieur des CAC',
|
||
'B1X1'=>'41 Dissolution .............. toutes formes', //
|
||
'B110'=>'31 mod.mut. diverses .............. A Pers Phys.',
|
||
'B111'=>'32 mod mut. diverses .............. B Société',
|
||
'B112'=>'33 mod mut. diverses .............. C GIE ',
|
||
'B113'=>'34 mod mut. diverses .............. D Sté civile',
|
||
'B114'=>'37 loc. gérance recue ............. Pers Phys.', //
|
||
'B115'=>'37 loc. gérance recue ............. Société', //
|
||
'B116'=>'40 radiation ...................... Pers Phys.',
|
||
'B117'=>'40 radiation ...................... Société',
|
||
'B118'=>'37 Location gérance reçue ...... Pers Physique',
|
||
'B119'=>'37 Location gérance reçue ...... Société',
|
||
'B120'=>'30 confirmation Ets pr. ou sec..... Société',
|
||
'B121'=>'30 confirmation Ets pr. ou sec..... Pers Phys.',
|
||
'B122'=>'38 loc.gérance donnée ............. Pers Phys.', //
|
||
'B123'=>'38 loc.gérance donnée ............. Société', //
|
||
'B127'=>'40 radiation d\'office ............. toutes formes ', //
|
||
'B128'=>'39 mention d\'office............. toutes formes ', //
|
||
'B129'=>'39 transfert entre tribunaux ...... Pers Phys.',
|
||
'B130'=>'39 transfert entre tribunaux ...... Société',
|
||
'B132'=>'33 mod mut. diverses .............. GEIE',
|
||
'B133'=>'40 radiation ...................... GEIE', //
|
||
'B134'=>'33 mod mut. diverses trf siège..... GEIE', //
|
||
'B136'=>'35 rectificatif ', //
|
||
'B137'=>'35 additif', //
|
||
'B138'=>'35 rectificatif supp. ', //
|
||
'C301'=>'91 dépot des comptes annuels ...... Société', //
|
||
'C331'=>'91 dépot des comptes annuels ...... Société',
|
||
'C336'=>'35 rectificatif ', //
|
||
'C337'=>'35 additif', //
|
||
'C338'=>'35 rectificatif supp. ', //
|
||
);
|
||
|
||
private $tabTribunaux = array();
|
||
private $tabFctDir = array();
|
||
|
||
private $tabDevises = array();
|
||
private $tabEvenements=array();
|
||
|
||
private $regExFonction = '';
|
||
private $tabDirigeants = array(
|
||
'pr.sidents? directeur g.n.ral'=>1301,
|
||
'P\.-D\.G\.'=>1301,
|
||
'pr.sidents? du conseil d\'administration assumant la direction général'=>1302,
|
||
'pr.sidents? du conseil d\'administration et administrateur'=>1303,
|
||
'pr.sidents? du conseil d\'administration et directeur général'=>1304,
|
||
'pr.sidents? du conseil d\'administration, directeur général et administrateur'=>1305,
|
||
'Administrateurs? délégués?'=>101,
|
||
'administrateurs? du G\.?I\.?E\.?'=>102,
|
||
'Administrateurs? et membres?'=>103,
|
||
'Administrateurs? et membres? du G\.?I\.?E\.?'=>104,
|
||
'Administrateurs? et présidents?'=>105,
|
||
'administrateurs? membres? engageants? le G\.?I\.?E\.?'=>106,
|
||
'Administrateurs? uniques?'=>107,
|
||
'Administrateurs?'=>100,
|
||
'Co.?g.rants? associ.s? ind.finiment responsables?'=>401,
|
||
'Co.?g.rants? associ.s?'=>402,
|
||
'Co.?g.rants? non associ.s?'=>403,
|
||
'Co.?g.rants? non statutaires?'=>404,
|
||
'Co.?g.rants? pouvant engager la soci.t.'=>405,
|
||
'Co.?g.rants? statutaires'=>406,
|
||
'Co.?g.rants?'=>400,
|
||
'Nouveaux? g.rants?'=>901,
|
||
'G.rants? et directeurs? techniques?'=>902,
|
||
'g.rants? et associ.s? en nom collectif'=>903,
|
||
'g.rants? associ.s? en nom collectif'=>903,
|
||
'g.rants? et associ.s? en nom'=>904,
|
||
'g.rants? associ.s? en nom'=>904,
|
||
'g..ants? (?:et )associ.s? ind.finiment (?:et solidairement )responsables?'=>905,
|
||
'g.rants? (?:et )associ.s? uniques?'=>906,
|
||
'g.rants? (?:et )associ.s?'=>907,
|
||
// gérant associé
|
||
'g.rants? associ.s? majoritaires?'=>908,
|
||
'g.rants? associ.s? minoritaires?'=>909,
|
||
'g.rants? associ.s? tenus? ind.finiment et solidairement des dettes sociales'=>910,
|
||
'g.rants? majoritaire'=>911,
|
||
'g.rants? non associ.s?'=>912,
|
||
'g.rants? non statutaires?'=>913,
|
||
'g.rants? pouvant engager seuls la soci.t.'=>914,
|
||
'g.rants? pouvant engager la soci.t.'=>915,
|
||
'g.rants? salari.s?'=>916,
|
||
'g.rants? statutaires? associ.s?'=>917,
|
||
'g.rants? statutaires?'=>918,
|
||
'g.rants? et administrateurs?'=>919,
|
||
'G.rants? techniques?'=>920,
|
||
'anciens? g.rants?'=>921,
|
||
'g.rant\(e\)'=>900,
|
||
'g.rants?'=>900,
|
||
'associ.s? commandit.s? g.rants?'=>201,
|
||
'associ.s? commandit.s?'=>202,
|
||
'Associ.s? d\'une soci.t. civile'=>203,
|
||
'Associ.s? de soci.t. civile'=>204,
|
||
//Associés de société civile
|
||
'associ.s? en nom'=>205,
|
||
'Associ.s? exploitants?'=>206,
|
||
'Associ.s? non exploitants?'=>207,
|
||
'Associ.s? non g.rants?'=>208,
|
||
'Associ.s? g.rants?'=>209,
|
||
'Associ.s? ind.finiment et solidairement responsables?'=>210,
|
||
'Associ.s? ind.finiment responsables?'=>211,
|
||
'Associés?'=>200,
|
||
'Co.?commissaires? aux comptes suppl.ants?'=>301,
|
||
'Co.?commissaires? aux comptes titulaires?'=>302,
|
||
'Commissaires? aux comptes suppl.ants?'=>303,
|
||
'Commissaires? aux comptes titulaires?'=>300,
|
||
'Conjoints? Collaborateurs?'=>500,
|
||
'Contr.leurs? de gestion et des comptes'=>601,
|
||
'contr.leurs? de gestion du G\.?I\.?E\.?'=>602,
|
||
'Contr.leurs? de gestion'=>603,
|
||
'Contr.leurs? des comptes titulaires?'=>604,
|
||
'contr.leurs? des comptes du G\.?I\.?E\.?'=>605,
|
||
'Contr.leurs? des comptes et de gestion'=>606,
|
||
'Contr.leurs? des comptes et membre du G\.?I\.?E\.?'=>607,
|
||
'Contr.leurs? des comptes'=>608,
|
||
'Contr.leurs'=>600,
|
||
'Directeurs? général?u?x? adjoints?'=>701,
|
||
'Directeurs? général?u?x? délégués? et administrateurs?'=>702,
|
||
'Directeurs? général?u?x? délégués? et membres? du comité de surveillance'=>703,
|
||
'Directeurs? général?u?x? délégués?'=>704,
|
||
'Directeurs? général?u?x? et administrateurs?'=>705,
|
||
'Directeurs? général?u?x? et membres? du directoire'=>706,
|
||
'directeurs? général?u?x? uniques? du directoire'=>707,
|
||
'directeurs? général?u?x? uniques?'=>708,
|
||
'directeurs? général?u?x?'=>709,
|
||
'directeurs? gérants?'=>710,
|
||
'Directeurs? techniques?'=>711,
|
||
'Directeurs? des transports'=>712,
|
||
'Directeurs?'=>700,
|
||
'dirigeants? à l\'étranger et en France'=>801,
|
||
'Dirigeants? à l\'étranger'=>802,
|
||
'dirigeants? en France et à l\'étranger'=>803,
|
||
'dirigeants? en France'=>804,//805 autre dirigeant
|
||
'Dirigeants?'=>800,
|
||
'mandataires? ad hoc'=>1101,
|
||
'mandataires? général'=>1102,
|
||
'mandataires? généraux'=>1102,
|
||
'Mandataires?'=>1100,
|
||
'Membres? du G\.?I\.?E\.?'=>1201,
|
||
'membres? du groupement'=>1202,
|
||
'membres? et administrateurs?'=>1203,
|
||
'Membres? du comité de direction'=>1204,
|
||
'Membres? du comité de surveillance'=>1205,
|
||
'Membres? du conseil de direction'=>1206,
|
||
'Membres? du conseil de surveillance'=>1207,
|
||
'Membres? du directoire'=>1208,
|
||
'Membres?'=>1200,
|
||
'fond.s? de pouvoir'=>1000,
|
||
'Personnes? ayant le pouvoir d\'engager à titre habituel la société vis-à-vis des tiers'=>1001,
|
||
'Personnes? ayant pouvoir d\'engager à titre habituel la société vis-à-vis des tiers'=>1001,
|
||
'personnes? ayant le pouvoir d\'engager la société en France'=>1002,
|
||
'personnes? ayant pouvoir d\'engager la société en France'=>1002,
|
||
'Personnes? ayant le pouvoir d\'engager la société'=>1003,
|
||
'Personnes? ayant pouvoir d\'engager la société'=>1003,
|
||
'Personnes? ayant le pouvoir de diriger et gérer'=>1004,
|
||
'Personnes? ayant pouvoir de diriger et gérer'=>1004,
|
||
'personnes? pouvant engager à titre habituel l\'assujetti'=>1005,
|
||
'Personnes?'=>1006,
|
||
'pr.sidents? du conseil d\'administration'=>1306,
|
||
'pr.sidents? du conseil de surveillance'=>1307,
|
||
'pr.sidents? du directoire'=>1308,
|
||
'pr.sidents? du G\.?I\.?E\.?'=>1309,
|
||
'pr.sidents? et membres? du conseil de surveillance'=>1310,
|
||
'Pr.sidents? et membres? du directoire'=>1311,
|
||
'Pr.sidents? et pr.sidents? du comité de direction'=>1312,
|
||
'pr.sidents? et pr.sidents? du comité de surveillance'=>1313,
|
||
'Pr.sidents? et administrateurs?'=>1314,
|
||
'Pr.sidents?'=>1300,
|
||
'repr.sentants? de soci.t. .trang.re'=>1401,
|
||
'repr.sentants? tant en France qu\'à l\'.tranger'=>1402,
|
||
'Repr.sentants? à l\'.tranger'=>1403,
|
||
'repr.sentants? l.gal?a?x? en France'=>1404,
|
||
'Repr.sentants? l.gal?a?x?'=>1405,
|
||
'Repr.sentants? permanents?'=>1405,
|
||
'Repr.sentants?'=>1400,
|
||
'co.?responsables? en France'=>1501,
|
||
'responsables? pour la France'=>1502,
|
||
'responsables? tant en France qu\'à l\'étranger'=>1503,
|
||
'Responsables? technique'=>1504,
|
||
'responsables? à l\'.tranger'=>1505,
|
||
'Responsables? de la soci.t. en France'=>1506,
|
||
'Responsables? en France'=>1507,
|
||
'responsables? l.gal en France'=>1508,
|
||
'responsables? en France'=>1508,
|
||
'Responsables?'=>1500,
|
||
'Vice-pr.sidents? du conseil d\'administration'=>1801,
|
||
'vice-pr.sidents? du conseil de surveillance'=>1802,
|
||
'Vice-pr.sidents? et administrateurs? priv.s?'=>1803,
|
||
'Vice-pr.sidents? et administrateurs?'=>1804,
|
||
'Vice-pr.sidents? et membres? du conseil de surveillance'=>1805,
|
||
'Vice-pr.sidents?'=>1800,
|
||
'Vice-secr.taires?'=>1601,
|
||
'Vice-tr.soriers?'=>1701,
|
||
'Tr.soriers?'=>1700,
|
||
'Secr.taires? du conseil d\'administration'=>1602,
|
||
'Secr.taires? du conseil de surveillance'=>1603,
|
||
'Secr.taires?'=>1600,
|
||
'Liquidateurs?'=>1900,
|
||
);
|
||
|
||
/**
|
||
* PDO Connection with Doctrine
|
||
* @var \Doctrine\DBAL\Connection
|
||
*/
|
||
protected $conn;
|
||
|
||
/**
|
||
* Logger
|
||
* @var \Monolog\Logger
|
||
*/
|
||
protected $logger;
|
||
|
||
/**
|
||
* Bodacc
|
||
* @param \Doctrine\DBAL\Connection $conn
|
||
*/
|
||
public function __construct($conn = null)
|
||
{
|
||
if ($conn === null) {
|
||
$this->conn = Zend_Registry::get('doctrine');
|
||
} else {
|
||
$this->conn = $conn;
|
||
}
|
||
|
||
if (Zend_Registry::isRegistered('logger')) {
|
||
$this->logger = Zend_Registry::get('logger');
|
||
}
|
||
|
||
/* Charge toute la table des tribunaux pour ne pas lancer systématiquement des
|
||
* requètes sur le serveur MySQL lors des intégrations de Bodacc
|
||
*/
|
||
$this->tabTribunaux = $this->getTabTribunaux();
|
||
$this->tabFctDir = $this->getTabFctDir();
|
||
$this->tabEvenements = $this->getTabEvenements();
|
||
$this->tabDevises = $this->getTabDevises();
|
||
$this->regExFonction = implode(')|(', array_keys($this->tabDirigeants));
|
||
}
|
||
|
||
/**
|
||
* Converti les accents au format TLS du Bodacc
|
||
* @param string $texteBodacc
|
||
* @return string
|
||
*/
|
||
public function convertAccents($texteBodacc)
|
||
{
|
||
return strtr($texteBodacc, self::$tabAccents);
|
||
}
|
||
|
||
/**
|
||
* Vérifie si la balise passée en paramètre est valide
|
||
* @param string $balise
|
||
* @return boolean
|
||
*/
|
||
public function isBaliseBodacc($balise)
|
||
{
|
||
return array_key_exists($balise, self::$tabBalises);
|
||
}
|
||
|
||
/**
|
||
* Initialisation du tableau privé des tribunaux
|
||
*/
|
||
private function getTabTribunaux()
|
||
{
|
||
$cache = dirname(__FILE__) . '/../Table/BodaccTribunaux.php';
|
||
if (file_exists($cache)) {
|
||
return include $cache;
|
||
} else {
|
||
$tribunaux = array();
|
||
$sql = "SELECT triCode, triNom, triCP, triSiret FROM jo.tribunaux WHERE triCode IS NOT NULL";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
while ($t = $stmt->fetch(\PDO::FETCH_OBJ)) {
|
||
$dep = intval(substr($t->triCP, 0, 2));
|
||
if ($dep == 97 || $dep == 98) {
|
||
$dep = intval(substr($t->triCP, 0, 3));
|
||
}
|
||
$tribunaux[$t->triCode] = array(
|
||
'nom' => $t->triNom,
|
||
'siret' => $t->triSiret,
|
||
'dep' => $dep
|
||
);
|
||
}
|
||
}
|
||
|
||
return $tribunaux;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Initialisation du tableau privé des codes fonctions de direction
|
||
* @return array
|
||
*/
|
||
private function getTabFctDir()
|
||
{
|
||
$cache = dirname(__FILE__) . '/../Table/FctDir.php';
|
||
if (file_exists($cache)) {
|
||
return include $cache;
|
||
} else {
|
||
$result = array();
|
||
$sql = "SELECT codeFct, libelle FROM jo.bodacc_fonctions";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
while ($row = $stmt->fetch(\PDO::FETCH_OBJ)) {
|
||
$result[intval($row->codeFct)] = $row->libelle;
|
||
}
|
||
}
|
||
|
||
return $result;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Retourne le libellé d'une fonction de direction
|
||
* @param unknown $codeFonction
|
||
* @return string
|
||
*/
|
||
public function getFctDir($codeFonction)
|
||
{
|
||
return $this->tabFctDir[$codeFonction];
|
||
}
|
||
|
||
/**
|
||
* Liste des tribunaux par commune
|
||
* @param int $codeInseeCommune
|
||
* @return array
|
||
*/
|
||
public function getTribunauxParCommune($codeInseeCommune)
|
||
{
|
||
$result = array();
|
||
|
||
$sql = "SELECT t.triId, t.triIdSup, i.CodeInsee, t.triCode, t.triType, t.triNom,
|
||
t.triCP, LPAD(t.triTel,10,0) AS triTel, LPAD(t.triFax,10,0) AS triFax, t.triWeb,
|
||
t.triMail, t.triSiret, t.triAdrNum, t.triAdrIndRep, t.triAdrTypeVoie, t.triAdrVoie,
|
||
t.triAdrComp, t.triVille, t.triStatut, t.triDateCessation, t.triCommentaire,
|
||
t.triNumGreffe
|
||
FROM jo.tribunaux t, jo.tribunauxInsee i
|
||
WHERE i.CodeInsee= :inseeCode AND i.triId=t.triId
|
||
ORDER BY t.triNumGreffe DESC, t.triId ASC";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->bindValue('inseeCode', $codeInseeCommune);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
|
||
}
|
||
|
||
return $result;
|
||
}
|
||
|
||
/**
|
||
* Liste des tribunaux par département
|
||
* @param string $dep
|
||
* @return array
|
||
*/
|
||
public function getTribunauxParDep($dep)
|
||
{
|
||
$result = array();
|
||
|
||
$sql = "SELECT t.triId, t.triIdSup, t.triCode, t.triType, t.triNom, t.triCP,
|
||
LPAD(t.triTel,10,0) AS triTel, LPAD(t.triFax,10,0) AS triFax, t.triWeb, t.triMail,
|
||
t.triSiret, t.triAdrNum, t.triAdrIndRep, t.triAdrTypeVoie, t.triAdrVoie, t.triAdrComp,
|
||
t.triVille, t.triStatut, t.triDateCessation, t.triCommentaire, t.triNumGreffe
|
||
FROM jo.tribunaux t WHERE t.triCP BETWEEN :dep1 AND :dep2 ORDER BY t.triType ASC";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
if ($dep < 96) {
|
||
$stmt->bindValue('dep1', $dep.'000');
|
||
$stmt->bindValue('dep2', $dep.'999');
|
||
} else {
|
||
$stmt->bindValue('dep1', $dep.'00');
|
||
$stmt->bindValue('dep2', $dep.'99');
|
||
}
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
|
||
}
|
||
|
||
return $result;
|
||
}
|
||
|
||
/**
|
||
* Donne la cours d'appel d'un tribunal par son code
|
||
* @param string $codeTribunal
|
||
*/
|
||
public function getTribunalIdCA($codeTribunal)
|
||
{
|
||
$sql = "SELECT triIdSup FROM jo.tribunaux WHERE triCode = :code";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->bindValue('code', $codeTribunal);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
return $stmt->fetch(\PDO::FETCH_ASSOC);
|
||
}
|
||
|
||
return '';
|
||
}
|
||
|
||
/**
|
||
* Liste des tribunaux
|
||
*/
|
||
public function getListeTribunaux()
|
||
{
|
||
return $this->tabTribunaux;
|
||
}
|
||
|
||
/**
|
||
* Initialisation du tableau privé des évènements
|
||
* @return array
|
||
*/
|
||
private function getTabEvenements()
|
||
{
|
||
$cache = dirname(__FILE__) . '/../Table/Evenements.php';
|
||
if (file_exists($cache)) {
|
||
return include $cache;
|
||
} else {
|
||
$result = array();
|
||
$sql = "SELECT codEven, libEven, Bodacc_Code, Rubrique, version, lienEtab FROM jo.tabEvenements";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
while ($row = $stmt->fetch(\PDO::FETCH_OBJ)) {
|
||
$result[$row->codEven] = array(
|
||
'libEven' => $row->libEven,
|
||
'Bodacc_Code' => $row->Bodacc_Code,
|
||
'Rubrique' => $row->Rubrique,
|
||
'Version' => $row->version,
|
||
'LienEtab' => $row->lienEtab,
|
||
);
|
||
}
|
||
}
|
||
|
||
return $result;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Initialisation du tableau privé des devises du Bodacc
|
||
* @return array
|
||
*/
|
||
private function getTabDevises()
|
||
{
|
||
$cache = dirname(__FILE__) . '/../Table/Devises.php';
|
||
if (file_exists($cache)) {
|
||
return include $cache;
|
||
} else {
|
||
$result = array();
|
||
$sql = "SELECT libDeviseBodacc, devIso FROM jo.bodacc_devises";
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
while ($row = $stmt->fetch(\PDO::FETCH_OBJ)) {
|
||
$result[$row->libDeviseBodacc] = $row->devIso;
|
||
}
|
||
}
|
||
|
||
return $result;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Vérifie si le code du Tribunal BODACC est connu
|
||
* @param string $codeBodaccDuTribunal
|
||
* @return bool
|
||
*/
|
||
public function isTribunal($codeBodaccDuTribunal)
|
||
{
|
||
$codeBodaccDuTribunal = trim($codeBodaccDuTribunal);
|
||
return @array_key_exists($codeBodaccDuTribunal, $this->tabTribunaux);
|
||
}
|
||
|
||
/**
|
||
* Retourne le libellé du code du Tribunal BODACC
|
||
* @param string $codeBodaccDuTribunal
|
||
* @return string
|
||
*/
|
||
public function getTribunalNom($codeBodaccDuTribunal)
|
||
{
|
||
$codeBodaccDuTribunal = trim($codeBodaccDuTribunal);
|
||
return $this->tabTribunaux[$codeBodaccDuTribunal]['nom'];
|
||
}
|
||
|
||
/**
|
||
*
|
||
* @param string $codeBodaccDuTribunal
|
||
* @return mixed
|
||
*/
|
||
public function getTribunalDep($codeBodaccDuTribunal)
|
||
{
|
||
$codeBodaccDuTribunal = trim($codeBodaccDuTribunal);
|
||
return $this->tabTribunaux[$codeBodaccDuTribunal]['dep'];
|
||
}
|
||
|
||
/**
|
||
*
|
||
* @param string $codeBodaccDuTribunal
|
||
* @return mixed
|
||
*/
|
||
public function getTribunalSiret($codeBodaccDuTribunal)
|
||
{
|
||
$codeBodaccDuTribunal = trim($codeBodaccDuTribunal);
|
||
return $this->tabTribunaux[$codeBodaccDuTribunal]['siret'];
|
||
}
|
||
|
||
/**
|
||
*
|
||
* @param string $libelleDuTribunal
|
||
* @param number $dep
|
||
* @return unknown|boolean
|
||
*/
|
||
public function getTribunalCode($libelleDuTribunal, $dep=0)
|
||
{
|
||
$libelleDuTribunal = preg_replace('/[0-9]/', ' ', str_replace("\r\n", ' ', strtoupper($libelleDuTribunal)));
|
||
$libelleDuTribunal = str_replace("\n", ' ', $libelleDuTribunal);
|
||
$libelleDuTribunal = strtr($libelleDuTribunal, array(
|
||
"TRIBUNAL DE COMM'APPELERCE"=>'TC', // BUG DU BODACC 2008-A093-3146
|
||
'TRIBUNAL DE COMMERCE'=>'TC',
|
||
'TRIBUNAL DE GRANDE INSTANCE'=>'TGI',
|
||
'TRIBUNAL D\'INSTANCE'=>'TI',
|
||
'TRIBUNAL MIXTE DE COMMERCE'=>'TMX',
|
||
'TRIBUNAL DE PREMIERE INSTANCE'=>'TPI',
|
||
'TRIBUNAL SUPÉRIEUR D\'APPEL'=>'TSA',
|
||
' D\''=>' ', ' DE '=>' ',
|
||
'GREFFE DU'=>'', '-'=>' ',
|
||
'Ç'=>'C', 'É'=>'E', 'Î'=>'I', 'Â'=>'A', 'È'=>'E', 'Ô'=>'O', 'Ê'=>'E',
|
||
' DU MANS'=>' LE MANS',
|
||
' DU CREUSOT'=>' LE CREUSOT',
|
||
' DU HAVRE'=>' LE HAVRE',
|
||
' DU '=>' ', 'PUY'=>'PUY EN VELAY', 'LE PUY EN VELAY'=>'PUY EN VELAY',
|
||
'ALÈS'=>'ALES',
|
||
'.'=>' ',
|
||
));
|
||
$libelleDuTribunal = trim(preg_replace('/ +/', ' ', $libelleDuTribunal));
|
||
if (''.$dep=='2A' || ''.$dep=='2B') {
|
||
$dep = 20;
|
||
} else {
|
||
$dep = $dep*1;
|
||
}
|
||
foreach ($this->tabTribunaux as $code=>$tribunal) {
|
||
if ($dep != 0 && ($tribunal['dep'])*1 == $dep) {
|
||
if (str_replace('TGIcc', 'TGI', strtr($tribunal['nom'], array('-'=>' ', ' DE LA REUNION'=>''))) == $libelleDuTribunal) {
|
||
return $code;
|
||
} elseif (str_replace('TIcc', 'TI', strtr($tribunal['nom'], array('-'=>' ', ' DE LA REUNION'=>''))) == $libelleDuTribunal) {
|
||
return $code;
|
||
} elseif (preg_match('/^PREFECTURE/i', $libelleDuTribunal) && preg_match('/^PREFECTURE/i', $tribunal['nom'])) {
|
||
return $code;
|
||
} elseif (preg_match('/^SOUS.PREFECTURE/i', $libelleDuTribunal) && preg_match('/^SOUS.PREFECTURE/i', $tribunal['nom'])) {
|
||
$sprefEnBase = trim(preg_replace('/^SOUS.PREFECTURE (DE|DU|D\')/i', '', $tribunal['nom']));
|
||
$sprefParam = trim(strtr(strtr(preg_replace('/^SOUS.PREFECTURE/i', '', $libelleDuTribunal), array(
|
||
'SAINT '=>'ST ', 'SAINTE '=>'STE ', 'BASSIN ARCACHON'=>'ARCACHON', ' (DRÔME)'=>'')), 'ÀÂÈÎÔ', 'AAEIO'));
|
||
if ($sprefEnBase == $sprefParam) {
|
||
return $code;
|
||
}
|
||
} elseif ($dep == 13 && $tribunal['nom'] == 'TGI TARASCON' && $libelleDuTribunal == 'TGI TARASCON SUR RHONE') {
|
||
return $code;
|
||
} elseif ($dep==13 && $tribunal['nom']=='TC TARASCON' && $libelleDuTribunal == 'TC TARASCON SUR RHONE') {
|
||
return $code;
|
||
}
|
||
} elseif ($dep==0 && str_replace('TGIcc', 'TGI', strtr($tribunal['nom'], array('-'=>' ', ' DE LA REUNION'=>''))) == $libelleDuTribunal) {
|
||
return $code;
|
||
} elseif ($dep==978 && str_replace('TGIcc', 'TGI', strtr($tribunal['nom'], array('-'=>' ', ' DE LA REUNION'=>''))) == $libelleDuTribunal) {
|
||
return $code;
|
||
} elseif ($dep==971 && str_replace('TGIcc', 'TGI', strtr($tribunal['nom'], array('-'=>' ', ' DE LA REUNION'=>'')))==$libelleDuTribunal) {
|
||
return $code;
|
||
} elseif ($dep==974 && $libelleDuTribunal=='TMX SAINT PIERRE LA REUNION') {
|
||
return $code;
|
||
} elseif ($dep==975 && $libelleDuTribunal=='TGI SAINT PIERRE') {
|
||
return $code;
|
||
} elseif ($dep==70 && $libelleDuTribunal=='TC VESOUL') {
|
||
return $code;
|
||
} elseif (($dep==95 || $dep==975)
|
||
&& ($libelleDuTribunal=='TRIBUNAL PREMIERE INSTANCE SAINT PIERRE ET MIQUELON' || $libelleDuTribunal=='TPI SAINT PIERRE ET MIQUELON')) {
|
||
return $code;
|
||
} elseif (($dep==971 || $dep==985 || $dep==976)
|
||
&& ($libelleDuTribunal=='TRIBUNAL PREMIERE INSTANCE MAMOUDZOU' || $libelleDuTribunal=='TPI MAMOUDZOU')) {
|
||
return $code;
|
||
} elseif (($dep==971 || $dep==985 || $dep==976)
|
||
&& ($libelleDuTribunal=='TRIBUNAL DE GRANDE INSTANCE DE MAMOUDZOU' || $libelleDuTribunal=='TGI MAMOUDZOU')) {
|
||
return $code;
|
||
}
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
/**
|
||
* Vérifie si le code du Tribunal BODACC est connu
|
||
* @param string $codeEven
|
||
* @return boolean
|
||
*/
|
||
public function isCodeEvenement($codeEven)
|
||
{
|
||
$code = $codeEven*1;
|
||
if ($code==0) {
|
||
return false;
|
||
}
|
||
return array_key_exists($code, $this->tabEvenements);
|
||
}
|
||
|
||
/**
|
||
* Retourne le libellé de l'évènement BODACC codifié par S&D
|
||
* @param string $codeEven
|
||
* @return boolean
|
||
*/
|
||
public function getEvenement($codeEven)
|
||
{
|
||
$code = intval($codeEven);
|
||
if ($code == 0) {
|
||
return false;
|
||
}
|
||
if (array_key_exists($code, $this->tabEvenements)) {
|
||
return $this->tabEvenements[$code]['libEven'];
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
/**
|
||
* Retourne le niveau de version du code évènement BODACC codifié par S&D
|
||
* @param string $codeEven
|
||
* @return boolean
|
||
*/
|
||
public function getVersionEvenement($codeEven)
|
||
{
|
||
$code = intval($codeEven);
|
||
if ($code == 0) {
|
||
return false;
|
||
}
|
||
if (array_key_exists($code, $this->tabEvenements)) {
|
||
return $this->tabEvenements[$code]['Version'];
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
/**
|
||
* Retourne le libellé du Chapitre de l'évènement BODACC (comptes, creations, mmd, procol, radiations, ventes)
|
||
* @param unknown $codeEven
|
||
* @return boolean
|
||
*/
|
||
public function getChapitreEvenement($codeEven)
|
||
{
|
||
$code = intval($codeEven);
|
||
if ($code == 0) {
|
||
return false;
|
||
}
|
||
if (array_key_exists($code, $this->tabEvenements)) {
|
||
return $this->tabEvenements[$code]['Rubrique'];
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
/**
|
||
* Retourne le code de l'édition du BODACC (A, B ou C)
|
||
* @param string $codeEven
|
||
* @return boolean
|
||
*/
|
||
public function getEditionEvenement($codeEven)
|
||
{
|
||
$code = intval($codeEven);
|
||
if ($code == 0) {
|
||
return false;
|
||
}
|
||
if (array_key_exists($code, $this->tabEvenements)) {
|
||
return $this->tabEvenements[$code]['Bodacc_Code'];
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
/**
|
||
* Retourne si la porté de l'évènement est relative à l'établissement uniquement
|
||
* @param string $codeEven
|
||
* @return boolean
|
||
*/
|
||
public function isEvenementEtab($codeEven)
|
||
{
|
||
$code = intval($codeEven);
|
||
if ($code == 0) {
|
||
return false;
|
||
}
|
||
if (array_key_exists($code, $this->tabEvenements)) {
|
||
return $this->tabEvenements[$code]['LienEtab'];
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
/**
|
||
* Vérifie si une devise texte du Bodacc est connu
|
||
* @param string $strDevise
|
||
* @return boolean
|
||
*/
|
||
public function isDeviseBodacc($strDevise)
|
||
{
|
||
return array_key_exists($strDevise, $this->tabDevises);
|
||
}
|
||
|
||
/**
|
||
* Retoune le code ISO 4217 d'une devise texte du Bodacc
|
||
* @param string $strDevise
|
||
* @return mixed
|
||
*/
|
||
public function getDeviseBodacc($strDevise)
|
||
{
|
||
return $this->tabDevises[$strDevise];
|
||
}
|
||
|
||
/**
|
||
* Insert le libellé de devise textuel du Bodacc
|
||
* @param string $strDevise
|
||
* @param string $deviseIso
|
||
* @return boolean
|
||
*/
|
||
public function addDeviseBodacc($strDevise, $deviseIso)
|
||
{
|
||
$result = $this->conn->insert('jo.bodacc_devices', array(
|
||
'libDeviseBodacc' => $strDevise,
|
||
'devIso' => $deviseIso,
|
||
'dateInsert' => date('YmdHis')
|
||
));
|
||
|
||
if ($result) {
|
||
$this->tabDevises = $this->getTabDevises();
|
||
return true;
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
/**
|
||
* Vérifie si le code rubrique de l'annonce au Bodacc est connu
|
||
* @param string $codeRubriqueBodacc
|
||
* @return boolean
|
||
*/
|
||
public function isRubriqueBodacc($codeRubriqueBodacc)
|
||
{
|
||
return array_key_exists($codeRubriqueBodacc, self::$tabRubriques);
|
||
}
|
||
|
||
/**
|
||
* Retourne le code rubrique de l'annonce au Bodacc
|
||
* @param string $codeRubriqueBodacc
|
||
* @return string
|
||
*/
|
||
public function getLibRubriqueBodacc($codeRubriqueBodacc)
|
||
{
|
||
return $this->tabRubriques[$codeRubriqueBodacc];
|
||
}
|
||
|
||
/**
|
||
* Retourne le code évènement de l'annonce en provenance du Bodacc XML
|
||
* @param string $libJugementXML Libellé de la rubrique au Bodacc XML
|
||
* @return string
|
||
*/
|
||
public function getCodeNatureEvenement($libEvenXML)
|
||
{
|
||
foreach ($this->tabNaturesEvenements as $code => $label) {
|
||
if (md5($label) == md5($libEvenXML)) {
|
||
return intval($code);
|
||
}
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
/**
|
||
*
|
||
* @param string $strAdministration
|
||
* @return array
|
||
*/
|
||
public function getDirigeants($strAdministration)
|
||
{
|
||
$tabRet = array();
|
||
$strFonctions = $this->regExFonction;
|
||
$tabNoms = array();
|
||
if (is_array($strAdministration)) {
|
||
$strAdministration = implode('. ', $strAdministration);
|
||
}
|
||
$strAdministration = trim($strAdministration);
|
||
$strAdministration = str_ireplace('Nom d\'usage :', 'Nom d\'usage =', trim($strAdministration));
|
||
if ($strAdministration == '') {
|
||
return $tabRet;
|
||
}
|
||
$tabAdministration = explode(':', $strAdministration);
|
||
$tabFonctions = $tabNoms = $tabCodeFct = $tabOldFct = array();
|
||
|
||
/**
|
||
* On boucle sur chaque ligne qui doit contenir NOM PRENOM suivi de la fonction de la ligne suivante
|
||
* La première ligne ne contient pas de NOM PRENOM car il s'agit de la 1ère ligne
|
||
*/
|
||
foreach ($tabAdministration as $i => $ligne) {
|
||
// On recherche la fonction et son code fonction de la ligne
|
||
foreach ($this->tabDirigeants as $fonction => $numFct) {
|
||
if (preg_match("/(.*)$fonction(.*)$/iu", $ligne, $matches)) {
|
||
$tabFonctions[$i] = '';
|
||
$tabCodeFct[$i] = $numFct;
|
||
$tabOldFct[$i] = 0;
|
||
if (array_key_exists($i+1, $tabAdministration)) {
|
||
$tabFonctions[$i] = preg_replace("/($strFonctions)/i", '', $tabAdministration[$i+1]);
|
||
if (preg_match("/(partant|ancien|suppression|cha.g|d.part|d.mis(si|is)on|r.vocation)/iu", $tabAdministration[$i+1])) {
|
||
$tabOldFct[$i] = 1;
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
// On boucle sur chaque fonction trouvée et on extrait les noms, prénoms
|
||
foreach ($tabFonctions as $i => $ligne) {
|
||
$numFonction = $tabCodeFct[$i];
|
||
$oldFonction = $tabOldFct[$i];
|
||
$ligne = trim($ligne);
|
||
// Chaque Noms pour une même fonction doit être séparée par " et " ou ";" */
|
||
$strNoms = str_replace(' et ', ';', $ligne);
|
||
$tabNoms = explode(';', $strNoms);
|
||
$raisonSociale = $nom = $prenom = $usage = '';
|
||
foreach ($tabNoms as $noms) {
|
||
// Cas type NOM (prenom) (Nom usage : XXXX)
|
||
if (preg_match("/^(.*)\((.*)\).*\((.*)\)/i", $noms, $matches)) {
|
||
$nom = trim(str_replace(':', '', $matches[1]));
|
||
if (preg_match("/(.*)repr.sent.e?(.*)/iu", $nom, $matches2)) {
|
||
$raisonSociale = $matches2[1];
|
||
$nom = trim(str_replace('par ', '', $matches2[2]));
|
||
}
|
||
$prenom = trim(str_replace('par ', '', $matches[2]));
|
||
$usage = trim(str_ireplace('Nom d\'usage =', '', $matches[3]));
|
||
} elseif (preg_match("/^(.*)\((.*)\)/iu", $noms, $matches)) {
|
||
$nom = trim(str_replace(':', '', $matches[1]));
|
||
if (preg_match("/(.*)repr.sent.e?(.*)/iu", $nom, $matches2)) {
|
||
$raisonSociale = $matches2[1];
|
||
$nom = trim(str_replace('par ', '', $matches2[2]));
|
||
}
|
||
$prenom = trim($matches[2]);
|
||
$usage = '';
|
||
}
|
||
// Cas type NOM (prenom)
|
||
elseif (preg_match("/^(.*)/i", $noms, $matches)) {
|
||
$tabNomPrenom = $this->getNomPrenomGenre(trim(str_replace(':', '', $matches[1])));
|
||
$nom = $tabNomPrenom['Nom'];
|
||
$prenom = $tabNomPrenom['Prenoms'];
|
||
$usage = '';
|
||
}
|
||
// Cas non gérée
|
||
else {
|
||
//die("Cas non gérée pour cette structure de noms : '$noms'");
|
||
}
|
||
// @todo Il manque le cas de repr par pour le STE ???
|
||
if (preg_match('/(en fonction le)|(modification le)/Ui', $nom)) {
|
||
//echo "Je remplace le nom du dirigeant BODACC '$nom' par ";
|
||
$nom = preg_replace('/\s+en fonction le.*$/', '', $nom);
|
||
$nom = preg_replace('/\s+modification le.*$/', '', $nom);
|
||
//echo "'$nom'".PHP_EOL;
|
||
}
|
||
$tabRet[] = array(
|
||
'fonction' => $numFonction,
|
||
'rs' => trim(str_replace(',', '', $raisonSociale)),
|
||
'nom' => $nom,
|
||
'prenom' => $prenom,
|
||
'nomUsage' => $usage,
|
||
'depart' => $oldFonction
|
||
);
|
||
}
|
||
}
|
||
|
||
return $tabRet;
|
||
}
|
||
|
||
/**
|
||
* Détermine les NOMs et PRENOMs dans une chaine de caractère
|
||
* @param string $strNomPrenom
|
||
* @return array
|
||
*/
|
||
public function getNomPrenomGenre($strNomPrenom)
|
||
{
|
||
$noms = $prenoms = $genre = '';
|
||
$tabMots = preg_split('/( +|\.+)/', $strNomPrenom);
|
||
foreach ($tabMots as $i => $prenom) {
|
||
if (strlen(trim($prenom)) == 0 || strlen(trim($prenom, " '*-/")) <= 1) {
|
||
$noms.= $prenom.' ';
|
||
continue;
|
||
}
|
||
try {
|
||
$stmt = $this->conn->query("SELECT prenom, genre, mixte, nbTot FROM npaipp.pp_prenoms
|
||
WHERE prenom='".addslashes($prenom)."' AND nbTot>100 ORDER BY nbTot DESC");
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
continue;
|
||
}
|
||
if ($stmt->rowCount() > 0) {
|
||
$tabPrenom = $stmt->fetch(\PDO::FETCH_ASSOC);
|
||
// C'est plutôt le nom de famille au début de la chaîne
|
||
if ($i == 0) {
|
||
$noms.= $prenom.' ';
|
||
} else {
|
||
$prenoms.= $prenom.', ';
|
||
if ($genre == '' && $tabPrenom['genre'] == 1 && $tabPrenom['mixte'] == 0) {
|
||
$genre = 'M';
|
||
} elseif ($genre == '' && $tabPrenom['genre'] == 2 && $tabPrenom['mixte'] == 0) {
|
||
$genre = 'F';
|
||
}
|
||
}
|
||
}
|
||
// Ce n'est pas un prénom mais un nom de famille
|
||
else {
|
||
$noms.= $prenom.' ';
|
||
}
|
||
}
|
||
return array(
|
||
'Nom' => trim($noms),
|
||
'Prenoms' => preg_replace('/,$/', '', trim($prenoms)),
|
||
'Genre' => $genre
|
||
);
|
||
}
|
||
|
||
/**
|
||
*
|
||
* @param string $bodaccCode
|
||
* @param int $annee
|
||
* @param int $num
|
||
* @return array
|
||
*/
|
||
public function getNumPageAnnonce($bodaccCode, $annee, $num)
|
||
{
|
||
$result = array();
|
||
|
||
$sql = "SELECT Bodacc_Code, Bodacc_Annee_Parution, Bodacc_Num, Num_Annonce, Tribunal_Dept, Tribunal_Code, Rubrique_Bodacc, length(annonce) as Long
|
||
FROM jo.bodacc WHERE Bodacc_Code=:code AND Bodacc_Annee_Parution=:annee AND Bodacc_Num=:num";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->bindValue('code', $bodaccCode);
|
||
$stmt->bindValue('annee', $annee);
|
||
$stmt->bindValue('num', $num);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
while ($row = $stmt->fetch(\PDO::FETCH_OBJ)) {
|
||
$result[] = array(
|
||
'BodaccCode' => $ann->Bodacc_Code,
|
||
'AnneeParution' => $ann->Bodacc_Annee_Parution,
|
||
'BodaccNum' => $ann->Bodacc_Num,
|
||
'NumAnnonce' => $ann->Num_Annonce,
|
||
'Departement' => $ann->Tribunal_Dept,
|
||
'Tribunal' => $ann->Tribunal_Code,
|
||
'Rubrique' => $ann->Rubrique_Bodacc,
|
||
'nbCar' => $ann->Long,
|
||
);
|
||
}
|
||
}
|
||
|
||
return $result;
|
||
}
|
||
|
||
/**
|
||
* Vérifie si la date du jugement correspond à une date de jugements civils pour une date donnée
|
||
* @param string $tribunal
|
||
* @param string $dateJug
|
||
* @param int $jourJug
|
||
* @param int $jjJug
|
||
* @param string $texteAnnonce
|
||
* @return number
|
||
*/
|
||
public function isAudienceCivile($tribunal, $dateJug, $jourJug, $jjJug, $texteAnnonce)
|
||
{
|
||
$tribunal = trim($tribunal);
|
||
$droitLocal = false;
|
||
|
||
// Date des audiences civiles droit local
|
||
switch ($tribunal) {
|
||
case 'METZG': // Le mercredi
|
||
case 'MULHOG': // Le mercredi
|
||
$droitLocal=true;
|
||
if ($jourJug == 3) {
|
||
echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles du mercredi !".PHP_EOL;
|
||
return 1;
|
||
}
|
||
break;
|
||
case 'THIONG': // Le jeudi à 9h
|
||
$droitLocal = true;
|
||
if ($jourJug == 4) {
|
||
echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles du jeudi !".PHP_EOL;
|
||
return 1;
|
||
}
|
||
break;
|
||
case 'SARREG': // Les 1er, 2ème et 4ème mardi
|
||
$droitLocal = true;
|
||
if ($jourJug==2 && $jjJug<15 && $jjJug>21) {
|
||
echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles du mardi !".PHP_EOL;
|
||
return 1;
|
||
}
|
||
break;
|
||
case 'STRASG': // ?
|
||
$droitLocal = true;
|
||
//echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles de Strasbourg !".PHP_EOL;
|
||
return 0;
|
||
break;
|
||
case 'SAVERG': // Le mardi et 2ème, 3ème et 4ème vendredi
|
||
$droitLocal = true;
|
||
if ($jourJug == 2 || ($jourJug == 5 && $jjJug > 7)) {
|
||
echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles du vendredi !".PHP_EOL;
|
||
return 1;
|
||
}
|
||
case 'COLMAG': // ?
|
||
$droitLocal = true;
|
||
//echo date('Y/m/d - H:i:s') ." - Droit local : Audiences civiles de Colmar !".PHP_EOL;
|
||
return 0;
|
||
break;
|
||
}
|
||
|
||
if ($droitLocal && preg_match("/insolvabilit.{0,3}notoire/iu", $texteAnnonce)) {
|
||
return 1;
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
public function getJALparDep($dep)
|
||
{
|
||
$result = array();
|
||
|
||
$sql = "SELECT id, dep, nomJal, siteWeb, email, adresse, cp, ville, tel, fax, parution, aboAnnuel, infos
|
||
FROM jo.tabJAL WHERE dep = :dep";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->bindValue('dep', $dep);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
$result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
|
||
}
|
||
|
||
return $result;
|
||
}
|
||
|
||
public function getListeJalCollecte()
|
||
{
|
||
$result = array();
|
||
|
||
$sql = "SELECT id, nomJal FROM jo.tabJAL WHERE sedDateAbo!=0 GROUP BY nomJal ORDER BY nomJal ASC";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->bindValue('dep', $dep);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
while ($row = $stmt->fetch(\PDO::FETCH_OBJ)) {
|
||
$result['_'.$row->id] = $row->nomJal;
|
||
}
|
||
}
|
||
|
||
return $result;
|
||
}
|
||
|
||
/**
|
||
* Recherche de l'activité réelle
|
||
* @param string $siren
|
||
* @param string $fj
|
||
* @return string
|
||
*/
|
||
public function getActiviteReelle($siren, $fj)
|
||
{
|
||
$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%' ";
|
||
$sql = "SELECT Activite FROM jo.bodacc_detail WHERE siren=:siren AND Activite<>'' AND Activite NOT LIKE 'non precis%' $strEvenVtLg ORDER BY Bodacc_Date_Parution DESC LIMIT 0,1";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->bindValue('siren', $siren);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
$annCap = $stmt->fetch(\PDO::FETCH_ASSOC);
|
||
if ($fj < 7000 || $fj > 7999) {
|
||
$activite = trim($annCap['Activite']);
|
||
}
|
||
}
|
||
|
||
if ($activite == '' && ($fj > 90 && $fj < 94 || $fj > 9000 && $fj < 9400)) {
|
||
$sql = "SELECT Assoc_Objet, Assoc_NObjet FROM jo.asso
|
||
WHERE siren=:siren AND (Assoc_Objet!='' OR Assoc_NObjet!='')
|
||
ORDER BY Date_Parution DESC LIMIT 0,1";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->bindValue('siren', $siren);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
$annCap = $stmt->fetch(\PDO::FETCH_ASSOC);
|
||
$activite = trim($annCap['Assoc_NObjet']);
|
||
if ($activite == '') {
|
||
$activite = trim($annCap['Assoc_Objet']);
|
||
}
|
||
}
|
||
} elseif ($activite == '' && ($fj < 7000 || $fj > 7999)) {
|
||
$sql = "SELECT 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
|
||
FROM historiques.entrep e, historiques.texte x
|
||
WHERE 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";
|
||
$stmtNb = 0;
|
||
try {
|
||
$stmt = $this->conn->prepare($sql);
|
||
$stmt->bindValue('siren', $siren);
|
||
$stmt->execute();
|
||
$stmtNb = $stmt->rowCount();
|
||
} catch (\Doctrine\DBAL\DBALException $e) {
|
||
if ($this->logger !== null) {
|
||
$this->logger->error($e->getMessage());
|
||
}
|
||
}
|
||
if ($stmtNb > 0) {
|
||
while ($ann = $stmt->fetch(\PDO::FETCH_ASSOC)) {
|
||
if (($ann['CODEVE'] < 20) || ($ann['CODEVE'] >= 30 && $ann['CODEVE'] < 42)
|
||
|| ($ann['CODEVE'] >= 51 && $ann['CODEVE'] < 80)) {
|
||
if (preg_match('/(.*)Activit(?:e|é)(?:.|)\:(.*)(?:Adresse(?:.*|)|Commentaires?|Administration|Etablissement principal|Date d\'effet|Date.de.d.but d.activit.|Capital|Nom commercial)(?:.|)\:/Uisu', $ann['annonceTxt'], $matches)) {
|
||
if (strpos(substr($matches[1], -20), 'cess') === false
|
||
&& strpos(substr($matches[1], -20), 'date') === false) {
|
||
$activite = $matches[2];
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
return $activite;
|
||
}
|
||
|
||
/**
|
||
*
|
||
* @param string $strFJ
|
||
* @return string
|
||
*/
|
||
public function getCodeFormeJur($strFJ)
|
||
{
|
||
$tabCjBodacc = include 'Metier/Bodacc/BodaccCJ.php';
|
||
$strFJ = strtoupper(trim(preg_replace('/[^a-z]/i', '', $strFJ)));
|
||
|
||
return isset($tabCjBodacc[$strFJ])?$tabCjBodacc[$strFJ]:'';
|
||
}
|
||
}
|