Reintegrate
This commit is contained in:
parent
e3cd966eb3
commit
5e05e208ec
3351
library/Metier/Bodacc/BodaccCJ.php
Normal file
3351
library/Metier/Bodacc/BodaccCJ.php
Normal file
File diff suppressed because it is too large
Load Diff
43
library/Metier/Bodacc/MBalo.php
Normal file
43
library/Metier/Bodacc/MBalo.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
class Metier_Bodacc_MBalo
|
||||
{
|
||||
public function getLibEven($strEven)
|
||||
{
|
||||
$even=9015;
|
||||
$strEven=trim($strEven);
|
||||
if (preg_match("/AUTRES OP.RATIONS . Décisions prises par des assemblées d'obligataires et homologation de résolutions/iu", $strEven)) $even=9001;
|
||||
elseif (preg_match("/AUTRES OP.RATIONS . Désignation de teneurs? de comptes de titres nominatifs/iu", $strEven)) $even=9002;
|
||||
elseif (preg_match("/AUTRES OP.RATIONS . Fusions et scissions/iu", $strEven)) $even=9003;
|
||||
elseif (preg_match("/AUTRES OP.RATIONS . Liquidations/iu", $strEven)) $even=9004;
|
||||
elseif (preg_match("/AUTRES OP.RATIONS . Offre de remboursement d'obligations/iu", $strEven)) $even=9005;
|
||||
elseif (preg_match("/AUTRES OP.RATIONS . Réduction de capital/iu", $strEven)) $even=9006;
|
||||
elseif (preg_match("/AUTRES OP.RATIONS . Regroupement d'actions/iu", $strEven)) $even=9007;
|
||||
elseif (preg_match("/AUTRES OP.RATIONS/iu", $strEven)) $even=9000;
|
||||
elseif (preg_match("/BULLETIN OFFICIEL de l'AMF/iu", $strEven)) $even=9010;
|
||||
elseif (preg_match("/BULLETIN OFFICIEL du CMF/iu", $strEven)) $even=9011;
|
||||
elseif (preg_match("/CONVOCATIONS . Assemblées? d'actionnaires et de porteurs de parts/iu", $strEven)) $even=9020;
|
||||
elseif (preg_match("/CONVOCATIONS . Assemblées? d'obligataires ou de porteurs de titres d'emprunt/iu", $strEven)) $even=9021;
|
||||
elseif (preg_match("/CONVOCATIONS . Assemblées? de porteurs de certificats d'investissement/iu", $strEven)) $even=9022;
|
||||
elseif (preg_match("/CONVOCATIONS . Assemblées? de porteurs de parts de fondateur/iu", $strEven)) $even=9023;
|
||||
elseif (preg_match("/CONVOCATIONS . Assemblées? de porteurs de titres participatifs/iu", $strEven)) $even=9024;
|
||||
elseif (preg_match("/MISSIONS ET COTATIONS - Organismes internationaux - Bons, obligations et autres titres/iu", $strEven)) $even=9030;
|
||||
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs étrangères . Actions et parts/iu", $strEven)) $even=9031;
|
||||
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs étrangères . Bons d'options? sur titres et sur indices/iu", $strEven)) $even=9032;
|
||||
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs étrangères . Bons, obligations et autres titres/iu", $strEven)) $even=9033;
|
||||
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs européennes . Actions et parts/iu", $strEven)) $even=9034;
|
||||
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Actions et parts/iu", $strEven)) $even=9035;
|
||||
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Bons d'options? sur titres et sur indices/iu", $strEven)) $even=9036;
|
||||
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Bons, obligations et autres titres/iu", $strEven)) $even=9037;
|
||||
elseif (preg_match("/MISSIONS ET COTATIONS . Valeurs françaises . Certificats d'investissement/iu", $strEven)) $even=9038;
|
||||
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Entreprises d'assurances et organismes de retraites/iu", $strEven)) $even=9040;
|
||||
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles/iu", $strEven)) $even=9041;
|
||||
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Chiffres d'affaires)/iu", $strEven)) $even=9042;
|
||||
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (comptes annuels)/iu", $strEven)) $even=9045;
|
||||
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Tableaux d'activités et résultats)/iu", $strEven)) $even=9044;
|
||||
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Chiffres d'affaires et situations trimestrielles)/iu", $strEven))$even=9043;
|
||||
elseif (preg_match("/PUBLICATIONS P.RIODIQUES . Sociétés commerciales et industrielles (Comptes intermédiaires)/iu", $strEven)) $even=9046;
|
||||
//else/*if (preg_match("/AVIS DIVERS/i", $strEven))*/ $even=9015;
|
||||
|
||||
return $even;
|
||||
}
|
||||
}
|
42
library/Metier/Bodacc/MBoamp.php
Normal file
42
library/Metier/Bodacc/MBoamp.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
class Metier_Bodacc_MBoamp
|
||||
{
|
||||
public function getCodEvenSd($codEvenBoamp, $strEvenBoamp='')
|
||||
{
|
||||
$codEvenBoamp=str_replace('R','',$codEvenBoamp)*1;
|
||||
switch ($codEvenBoamp) {
|
||||
case 10: $libEvenSd='Annulation'; break;
|
||||
case 11: $libEvenSd='Annulation - Rectificatif'; break;
|
||||
case 20: $libEvenSd='Rectificatif'; break;
|
||||
case 22: $libEvenSd='Procédures accélérées'; break;
|
||||
case 30: $libEvenSd='Avis d\'appel public à la concurrence - Délai d\'urgence'; break;
|
||||
case 33: $libEvenSd='Avis de mise en concurrence'; break;
|
||||
case 44: $libEvenSd='Concessions'; break;
|
||||
case 50: $libEvenSd='Avis d\'appel public à la concurrence'; break;
|
||||
case 51: $libEvenSd='Avis informatifs'; break;
|
||||
case 55: $libEvenSd='Avis d\'appel public à la concurrence'; break;
|
||||
case 6 : $libEvenSd='Avis d\'attribution'; break;
|
||||
case 8 : $libEvenSd='Avis d\'attribution'; break;
|
||||
case 81: $libEvenSd='Avis d\'attribution - Annulation'; break;
|
||||
case 82: $libEvenSd='Avis d\'attribution - Rectificatif'; break;
|
||||
case 83: $libEvenSd='Avis d\'attribution - Rectificatif'; break;
|
||||
case 84: $libEvenSd='Avis d\'attribution comportant des lots infructueux'; break;
|
||||
case 9 : $libEvenSd='Résultat de marché'; break;
|
||||
case 91: $libEvenSd='Résultat de marché - Annulation'; break;
|
||||
case 92: $libEvenSd='Résultat de marché - Rectificatif'; break;
|
||||
case 93: $libEvenSd='Résultat de marché Infructueux/Sans suite'; break;
|
||||
case 94: $libEvenSd='Résultat de marché comportant des lots infructueux'; break;
|
||||
case 96: $libEvenSd='Annulation/Rectificatif/Sans suite/Infructueux'; break;
|
||||
default: $libEvenSd=$strEvenBoamp; break;
|
||||
}
|
||||
if ($strEvenBoamp<>'') return $libEvenSd;
|
||||
|
||||
return substr('95'.$codEvenBoamp.'00',0,4)*1;
|
||||
}
|
||||
|
||||
public function getLibEvenBoamp($codEvenBoamp, $strEvenBoamp='')
|
||||
{
|
||||
return $this->getCodEvenSd($codEvenBoamp, $strEvenBoamp);
|
||||
}
|
||||
|
||||
}
|
1190
library/Metier/Bodacc/MBodacc.php
Normal file
1190
library/Metier/Bodacc/MBodacc.php
Normal file
File diff suppressed because it is too large
Load Diff
6698
library/Metier/Insee/MInsee.php
Normal file
6698
library/Metier/Insee/MInsee.php
Normal file
File diff suppressed because it is too large
Load Diff
964
library/Metier/Insee/Table.php
Normal file
964
library/Metier/Insee/Table.php
Normal file
@ -0,0 +1,964 @@
|
||||
<?php
|
||||
class Metier_Insee_Table
|
||||
{
|
||||
/**
|
||||
* Code fonction
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabFct = array(
|
||||
'ADM' => "Administrateur",
|
||||
'ASS' => "Associé",
|
||||
'COG' => "Co-gérant",
|
||||
'CON' => "Contrôleur de gestion",
|
||||
'DID' => "Directeur Général Délégué",
|
||||
'DIR' => "Directeur",
|
||||
'GER' => "Gérant",
|
||||
'PCS' => "Président du Conseil de Surveillance",
|
||||
'PDG' => "Président Directeur Général",
|
||||
'PP' => "Personne Physique",
|
||||
'PRD' => "Président du directoire",
|
||||
'PRE' => "Président du Conseil d'Administration",
|
||||
'VIC' => "Vice président du CA ou Surv.",
|
||||
);
|
||||
|
||||
/**
|
||||
* Départements
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabDep = array(
|
||||
'01' => "Ain",
|
||||
'1' => "Ain",
|
||||
'02' => "Aisne",
|
||||
'2' => "Aisne",
|
||||
'03' => "Allier",
|
||||
'3' => "Allier",
|
||||
'04' => "Alpes-de-Haute-Provence",
|
||||
'4' => "Alpes-de-Haute-Provence",
|
||||
'05' => "Hautes-Alpes",
|
||||
'5' => "Hautes-Alpes",
|
||||
'06' => "Alpes-Maritimes",
|
||||
'6' => "Alpes-Maritimes",
|
||||
'07' => "Ardèche",
|
||||
'7' => "Ardèche",
|
||||
'08' => "Ardennes",
|
||||
'8' => "Ardennes",
|
||||
'09' => "Ariège",
|
||||
'9' => "Ariège",
|
||||
'10' => "Aube",
|
||||
'11' => "Aude",
|
||||
'12' => "Aveyron",
|
||||
'13' => "Bouches-du-Rhône",
|
||||
'14' => "Calvados",
|
||||
'15' => "Cantal",
|
||||
'16' => "Charente",
|
||||
'17' => "Charente-Maritime",
|
||||
'18' => "Cher",
|
||||
'19' => "Corrèze",
|
||||
'20' => "Corse",
|
||||
'2A' => "Corse-du-Sud",
|
||||
'20A' => "Corse-du-Sud",
|
||||
'2B' => "Haute-Corse",
|
||||
'20B' => "Haute-Corse",
|
||||
'21' => "Côte-d'Or",
|
||||
'22' => "Côtes-d'Armor",
|
||||
'23' => "Creuse",
|
||||
'24' => "Dordogne",
|
||||
'25' => "Doubs",
|
||||
'26' => "Drôme",
|
||||
'27' => "Eure",
|
||||
'28' => "Eure-et-Loir",
|
||||
'29' => "Finistère",
|
||||
'30' => "Gard",
|
||||
'31' => "Haute-Garonne",
|
||||
'32' => "Gers",
|
||||
'33' => "Gironde",
|
||||
'34' => "Hérault",
|
||||
'35' => "Ille-et-Vilaine",
|
||||
'36' => "Indre",
|
||||
'37' => "Indre-et-Loire",
|
||||
'38' => "Isère",
|
||||
'39' => "Jura",
|
||||
'40' => "Landes",
|
||||
'41' => "Loir-et-Cher",
|
||||
'42' => "Loire",
|
||||
'43' => "Haute-Loire",
|
||||
'44' => "Loire-Atlantique",
|
||||
'45' => "Loiret",
|
||||
'46' => "Lot",
|
||||
'47' => "Lot-et-Garonne",
|
||||
'48' => "Lozère",
|
||||
'49' => "Maine-et-Loire",
|
||||
'50' => "Manche",
|
||||
'51' => "Marne",
|
||||
'52' => "Haute-Marne",
|
||||
'53' => "Mayenne",
|
||||
'54' => "Meurthe-et-Moselle",
|
||||
'55' => "Meuse",
|
||||
'56' => "Morbihan",
|
||||
'57' => "Moselle",
|
||||
'58' => "Nièvre",
|
||||
'59' => "Nord",
|
||||
'60' => "Oise",
|
||||
'61' => "Orne",
|
||||
'62' => "Pas-de-Calais",
|
||||
'63' => "Puy-de-Dôme",
|
||||
'64' => "Pyrénées-Atlantiques",
|
||||
'65' => "Hautes-Pyrénées",
|
||||
'66' => "Pyrénées-Orientales",
|
||||
'67' => "Bas-Rhin",
|
||||
'68' => "Haut-Rhin",
|
||||
'69' => "Rhône",
|
||||
'70' => "Haute-Saône",
|
||||
'71' => "Saône-et-Loire",
|
||||
'72' => "Sarthe",
|
||||
'73' => "Savoie",
|
||||
'74' => "Haute-Savoie",
|
||||
'75' => "Paris",
|
||||
'76' => "Seine-Maritime",
|
||||
'77' => "Seine-et-Marne",
|
||||
'78' => "Yvelines",
|
||||
'79' => "Deux-Sèvres",
|
||||
'80' => "Somme",
|
||||
'81' => "Tarn",
|
||||
'82' => "Tarn-et-Garonne",
|
||||
'83' => "Var",
|
||||
'84' => "Vaucluse",
|
||||
'85' => "Vendée",
|
||||
'86' => "Vienne",
|
||||
'87' => "Haute-Vienne",
|
||||
'88' => "Vosges",
|
||||
'89' => "Yonne",
|
||||
'90' => "Territoire de Belfort",
|
||||
'91' => "Essonne",
|
||||
'92' => "Hauts-de-Seine",
|
||||
'93' => "Seine-Saint-Denis",
|
||||
'94' => "Val-de-Marne",
|
||||
'95' => "Val-d'Oise",
|
||||
'971' => "Guadeloupe",
|
||||
'972' => "Martinique",
|
||||
'973' => "Guyane",
|
||||
'974' => "Réunion",
|
||||
'975' => "Saint-Pierre-et-Miquelon",
|
||||
'976' => "Mayotte",
|
||||
'985' => "Mayotte", // Codification au Bodacc
|
||||
'986' => "Wallis-et-Futuna",
|
||||
'987' => "Polynésie-Française",
|
||||
'988' => "Nouvelle-Calédonie",
|
||||
);
|
||||
|
||||
/**
|
||||
* Département avec articles
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabDepArt = array(
|
||||
'01' => "de l'Ain",
|
||||
'1' => "de l'Ain",
|
||||
'02' => "de l'Aisne",
|
||||
'2' => "de l'Aisne",
|
||||
'03' => "de l'Allier",
|
||||
'3' => "de l'Allier",
|
||||
'04' => "des Alpes-de-Haute-Provence",
|
||||
'4' => "des Alpes-de-Haute-Provence",
|
||||
'05' => "des Hautes-Alpes",
|
||||
'5' => "des Hautes-Alpes",
|
||||
'06' => "Ades lpes-Maritimes",
|
||||
'6' => "des Alpes-Maritimes",
|
||||
'07' => "de l'Ardèche",
|
||||
'7' => "de l'Ardèche",
|
||||
'08' => "des Ardennes",
|
||||
'8' => "des Ardennes",
|
||||
'09' => "de l'Ariège",
|
||||
'9' => "de l'Ariège",
|
||||
'10' => "de l'Aube",
|
||||
'11' => "de l'Aude",
|
||||
'12' => "de l'Aveyron",
|
||||
'13' => "des Bouches-du-Rhône",
|
||||
'14' => "du Calvados",
|
||||
'15' => "du Cantal",
|
||||
'16' => "de la Charente",
|
||||
'17' => "de la Charente-Maritime",
|
||||
'18' => "du Cher",
|
||||
'19' => "de la Corrèze",
|
||||
'20' => "de la Corse",
|
||||
'2A' => "de la Corse-du-Sud",
|
||||
'20A' => "de la Corse-du-Sud",
|
||||
'2B' => "de la Haute-Corse",
|
||||
'20B' => "de la Haute-Corse",
|
||||
'21' => "de la Côte-d'Or",
|
||||
'22' => "des Côtes-d'Armor",
|
||||
'23' => "de la Creuse",
|
||||
'24' => "de la Dordogne",
|
||||
'25' => "du Doubs",
|
||||
'26' => "de la Drôme",
|
||||
'27' => "de l'Eure",
|
||||
'28' => "de l'Eure-et-Loir",
|
||||
'29' => "du Finistère",
|
||||
'30' => "du Gard",
|
||||
'31' => "de la Haute-Garonne",
|
||||
'32' => "du Gers",
|
||||
'33' => "de la Gironde",
|
||||
'34' => "de l'Hérault",
|
||||
'35' => "de l'Ille-et-Vilaine",
|
||||
'36' => "de l'Indre",
|
||||
'37' => "de l'Indre-et-Loire",
|
||||
'38' => "de l'Isère",
|
||||
'39' => "du Jura",
|
||||
'40' => "des Landes",
|
||||
'41' => "du Loir-et-Cher",
|
||||
'42' => "de la Loire",
|
||||
'43' => "de la Haute-Loire",
|
||||
'44' => "de la Loire-Atlantique",
|
||||
'45' => "du Loiret",
|
||||
'46' => "du Lot",
|
||||
'47' => "du Lot-et-Garonne",
|
||||
'48' => "de la Lozère",
|
||||
'49' => "du Maine-et-Loire",
|
||||
'50' => "de la Manche",
|
||||
'51' => "de la Marne",
|
||||
'52' => "de la Haute-Marne",
|
||||
'53' => "de la Mayenne",
|
||||
'54' => "de la Meurthe-et-Moselle",
|
||||
'55' => "de la Meuse",
|
||||
'56' => "du Morbihan",
|
||||
'57' => "de la Moselle",
|
||||
'58' => "de la Nièvre",
|
||||
'59' => "du Nord",
|
||||
'60' => "de l'Oise",
|
||||
'61' => "de l'Orne",
|
||||
'62' => "du Pas-de-Calais",
|
||||
'63' => "du Puy-de-Dôme",
|
||||
'64' => "des Pyrénées-Atlantiques",
|
||||
'65' => "des Hautes-Pyrénées",
|
||||
'66' => "des Pyrénées-Orientales",
|
||||
'67' => "du Bas-Rhin",
|
||||
'68' => "du Haut-Rhin",
|
||||
'69' => "du Rhône",
|
||||
'70' => "de la Haute-Saône",
|
||||
'71' => "de la Saône-et-Loire",
|
||||
'72' => "de la Sarthe",
|
||||
'73' => "de la Savoie",
|
||||
'74' => "de la Haute-Savoie",
|
||||
'75' => "de Paris",
|
||||
'76' => "de la Seine-Maritime",
|
||||
'77' => "de la Seine-et-Marne",
|
||||
'78' => "des Yvelines",
|
||||
'79' => "des Deux-Sèvres",
|
||||
'80' => "de la Somme",
|
||||
'81' => "du Tarn",
|
||||
'82' => "du Tarn-et-Garonne",
|
||||
'83' => "du Var",
|
||||
'84' => "du Vaucluse",
|
||||
'85' => "de la Vendée",
|
||||
'86' => "de la Vienne",
|
||||
'87' => "de la Haute-Vienne",
|
||||
'88' => "des Vosges",
|
||||
'89' => "de l'Yonne",
|
||||
'90' => "du Territoire de Belfort",
|
||||
'91' => "de l'Essonne",
|
||||
'92' => "des Hauts-de-Seine",
|
||||
'93' => "de la Seine-Saint-Denis",
|
||||
'94' => "du Val-de-Marne",
|
||||
'95' => "du Val-d'Oise",
|
||||
'971' => "de la Guadeloupe",
|
||||
'972' => "de la Martinique",
|
||||
'973' => "de la Guyane",
|
||||
'974' => "de la Réunion",
|
||||
'975' => "de Saint-Pierre-et-Miquelon",
|
||||
'976' => "de Mayotte",
|
||||
'985' => "de Mayotte", // Codification au Bodacc
|
||||
'986' => "de Wallis-et-Futuna",
|
||||
'987' => "de la Polynésie-Française",
|
||||
'988' => "de la Nouvelle-Calédonie",
|
||||
);
|
||||
|
||||
/**
|
||||
* Nature d'établissements
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabNature = array(
|
||||
'20' => "Petit magasin (moins de 300m²)",
|
||||
'21' => "Magasin (de 300m² à 400m²)",
|
||||
'22' => "Grande surface (de 400 à 2500m²)",
|
||||
'23' => "Très grande surface (plus de 2500m²)",
|
||||
'91' => "Base d'activité sur chantiers",
|
||||
'92' => "Base d'activité sur marchés",
|
||||
'93' => "Base d'activité en clientèle",
|
||||
'99' => "Autre",
|
||||
);
|
||||
|
||||
/**
|
||||
* Régions du code officiel géographique
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabRegion = array(
|
||||
'1' => "Guadeloupe",
|
||||
'2' => "Martinique",
|
||||
'3' => "Guyane",
|
||||
'4' => "Réunion",
|
||||
'11' => "Ile-de-France",
|
||||
'21' => "Champagne-Ardenne",
|
||||
'22' => "Picardie",
|
||||
'23' => "Haute-Normandie",
|
||||
'24' => "Centre",
|
||||
'25' => "Basse-Normandie",
|
||||
'26' => "Bourgogne",
|
||||
'31' => "Nord-Pas-de-Calais",
|
||||
'41' => "Lorraine",
|
||||
'42' => "Alsace",
|
||||
'43' => "Franche-Comté",
|
||||
'52' => "Pays de la Loire",
|
||||
'53' => "Bretagne",
|
||||
'54' => "Poitou-Charentes",
|
||||
'72' => "Aquitaine",
|
||||
'73' => "Midi-Pyrénées",
|
||||
'74' => "Limousin",
|
||||
'82' => "Rhône-Alpes",
|
||||
'83' => "Auvergne",
|
||||
'91' => "Languedoc-Roussillon",
|
||||
'93' => "Provence Alpes Côte d Azur",
|
||||
'94' => "Corse",
|
||||
'98' => "Territoire d outre-mer (TOM)",
|
||||
'99' => "Etranger",
|
||||
);
|
||||
|
||||
/**
|
||||
* Tranches de Chiffre d'Affaires INSEE
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabTCA = array(
|
||||
'0' => "N/C",
|
||||
'1' => "de 500 000 à 1 ME",
|
||||
'2' => "de 1 à 2 ME",
|
||||
'3' => "de 2 à 5 ME",
|
||||
'4' => "de 5 à 10 ME",
|
||||
'5' => "de 10 à 20 ME",
|
||||
'6' => "de 20 à 50 ME",
|
||||
'7' => "de 50 à 100 ME",
|
||||
'8' => "de 100 à 200 ME",
|
||||
'9' => "plus de 200 ME",
|
||||
);
|
||||
|
||||
/**
|
||||
* Tranche de CA Export
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabTCAexp = array(
|
||||
'0' => "0%",
|
||||
'1' => "moins de 5%",
|
||||
'2' => "de 5 à 25%",
|
||||
'3' => "de 25 à 50%",
|
||||
'4' => "plus de 50%",
|
||||
);
|
||||
|
||||
/**
|
||||
* Tranche d'habitants de commune détaillée
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabTCD = array(
|
||||
'1' => "Commune de moins de 50 habitants",
|
||||
'2' => "Commune de 50 à 99 habitants",
|
||||
'3' => "Commune de 100 à 149 habitants",
|
||||
'4' => "Commune de 150 à 199 habitants",
|
||||
'5' => "Commune de 200 à 249 habitants",
|
||||
'6' => "Commune de 250 à 299 habitants",
|
||||
'7' => "Commune de 300 à 399 habitants",
|
||||
'8' => "Commune de 400 à 499 habitants",
|
||||
'11' => "Commune de 500 à 699 habitants",
|
||||
'12' => "Commune de 700 à 999 habitants",
|
||||
'13' => "Commune de 1000 à 1499 habitants",
|
||||
'14' => "Commune de 1500 à 1999 habitants",
|
||||
'15' => "Commune de 2000 à 2499 habitants",
|
||||
'16' => "Commune de 2500 à 2999 habitants",
|
||||
'17' => "Commune de 3000 à 3999 habitants",
|
||||
'18' => "Commune de 4000 à 4999 habitants",
|
||||
'21' => "De 5 000 à 6 999 habitants",
|
||||
'22' => "De 7 000 à 9 999 habitants",
|
||||
'31' => "De 10 000 à 14 999 habitants",
|
||||
'32' => "De 15 000 à 19 999 habitants",
|
||||
'41' => "De 20 000 à 24 999 habitants",
|
||||
'42' => "De 25 000 à 29 999 habitants",
|
||||
'43' => "De 30 000 à 39 999 habitants",
|
||||
'44' => "De 40 000 à 49 999 habitants",
|
||||
'51' => "De 50 000 à 69 999 habitants",
|
||||
'52' => "De 70 000 à 99 999 habitants",
|
||||
'61' => "De 100 000 à 149 999 habitants",
|
||||
'62' => "De 150 000 à 199 999 habitants",
|
||||
'71' => "De 200 000 à 299 999 habitants",
|
||||
'72' => "De 300 000 à 499 999 habitants",
|
||||
'73' => "De 500 000 à 1 499 999 habitants",
|
||||
'80' => "Plus de 1 500 000 habitants",
|
||||
);
|
||||
|
||||
/**
|
||||
* Tranches d'effectifs INSEE
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabEffectif = array(
|
||||
0 => "N/C",
|
||||
1 => "de 1 à 2 salarié(s)",
|
||||
2 => "de 3 à 5 salariés",
|
||||
3 => "de 6 à 9 salariés",
|
||||
11 => "de 10 à 19 salariés",
|
||||
12 => "de 20 à 49 salariés",
|
||||
21 => "de 50 à 99 salariés",
|
||||
22 => "de 100 à 199 salariés",
|
||||
31 => "de 200 à 249 salariés",
|
||||
32 => "de 250 à 499 salariés",
|
||||
41 => "de 500 à 999 salariés",
|
||||
42 => "de 1 000 à 1 999 salariés",
|
||||
51 => "de 2 000 à 4 999 salariés",
|
||||
52 => "de 5 000 à 9 999 salariés",
|
||||
53 => "plus de 10 000 salariés",
|
||||
);
|
||||
|
||||
/**
|
||||
* Libellé des singularités INSEE
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabSingularite = array(
|
||||
'1' => "Propiétaire Exploitant direct",
|
||||
'2' => "Locataire Gérant",
|
||||
'10' => "Loueur de fonds",
|
||||
'30' => "Unité singulière de première espèce: avocats assocés, stations services sous mandat..",
|
||||
'31' => "Associé d'exploitation en commun; ce groupe comprend notamment: associé de société de fait, associé d'indivision",
|
||||
'33' => "Employeur non exploitant: prestataire de personnel, gérant mandataire",
|
||||
'34' => "Membre d'une société civile professionnelle",
|
||||
'40' => "Siège d'une unité SIREN de droit privé sans activité",
|
||||
'41' => "Siège d'un organisme public sans activité",
|
||||
'42' => "Siège d'un établissement public local non doté de l'autonomie comptable: une partie des centres communaux d'action sociale, une partie des caisses des écoles",
|
||||
'43' => "Sièges de domiciliation",
|
||||
'52' => "Sans domicile fixe",
|
||||
'60' => "Activité occasionnelle ou accessoire: Expert auprès des tribunaux, médecin, infirmier, pharmacien remplçant, avocat stagiaire, sportif amateur",
|
||||
'70' => "Activité en location (autre que le fond de commerce): Exploitant de terrain de camping, location de garage ou parking, locations de meublés, location de terres agricoles",
|
||||
'80' => "Gestion immobilière de biens propres: syndicats de copropriétaires",
|
||||
'90' => "Unité singulière de seconde espèce: établissement d'une entreprise installée à Monaco, siège à l'etranger de sociétés, associé gérant de sociétés",
|
||||
);
|
||||
|
||||
/**
|
||||
* Libellé des origines de création INSEE
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabOrigine = array(
|
||||
'0' => "Non renseigné",
|
||||
'1' => "Création pure",
|
||||
'2' => "Création suite à déménagement", // Création S&D du 20/04/2011 ancien 'Réinstallation après transfert'
|
||||
'3' => "Achat",
|
||||
'4' => "Apport",
|
||||
'5' => "Reprise au conjoint ou apport reçu",
|
||||
'6' => "Prise en location-gérance",
|
||||
'7' => "Partage",
|
||||
'8' => "Reprise",
|
||||
'9' => "Autre modalité d'acquisition",
|
||||
'A' => "Reprise globale d'une exploitation agricole",
|
||||
'B' => "Poursuite de l'exploitation agricole par le conjoint",
|
||||
'C' => "Transfert de propriété d'une exploitation agricole",
|
||||
'D' => "Apport d'exploitation(s) agricole(s) individuelle(s)",
|
||||
'E' => "Reprise totale ou partielle d'exploitation individuelle",
|
||||
);
|
||||
|
||||
/**
|
||||
* Evenements
|
||||
* @var array
|
||||
*/
|
||||
protected static $tabEven = array(
|
||||
'i110' => "Création d'une entreprise",
|
||||
'i120' => "Réactivation d'une entreprise",
|
||||
'i125' => "Réactivation d'une entreprise suite à une mise à jour du répertoire",
|
||||
'i130' => "Création d'un établissement",
|
||||
'i145' => "Reprise d'activité dans un établissement suite à une mise à jour du répertoire",
|
||||
'i400' => "Suppression d'un double",
|
||||
'i410' => "Cessation juridique de l'entreprise",
|
||||
'i420' => "Absence d'activité de l'entreprise (cessation économique de l'entreprise)",
|
||||
'i425' => "Absence d'activité d'une entreprise suite à une mise à jour au répertoire",
|
||||
'i430' => "Fermeture d'un établissement",
|
||||
'i435' => "Fermeture d'un établissement suite à une mise à jour au répertoire",
|
||||
'i510' => "Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert",
|
||||
'i520' => "Création de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert",
|
||||
'i530' => "Modification de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert",
|
||||
'i540' => "Modification de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert",
|
||||
'i610' => "Modification d'activité au niveau du SIREN associé à une activation économique par adjonction de moyens de production",
|
||||
'i620' => "Modification d'activité au niveau du SIREN associé à une désactivation économique par suppression de moyens de production",
|
||||
'i621' => "Modification d'activité du SIREN associé à une désactivation économique par suppression de moyens de production suite à une correction d'erreur",
|
||||
'i631' => "Autre modification d'activité du SIREN associé",
|
||||
'i640' => "Modification d'activité au niveau de l'établissement associée à une activation économique par adjonction de moyens de production",
|
||||
'i650' => "Modification d'activité au niveau de l'établissement associée à une désactivation économique par suppression de moyens de production",
|
||||
'i661' => "Autre modification d'activité au niveau de l'établissement",
|
||||
'i710' => "Modification de l'identification du SIREN",
|
||||
'i711' => "Modification de l'identification du SIREN suite à correction d'erreur",
|
||||
'i720' => "Modification de l'adresse ou de l'identification de l'établissement",
|
||||
'i780' => "Autre modification entraînant la mise à jour d'au moins une variable du répertoire",
|
||||
'i781' => "Autre modification entraînant la mise à jour d'au moins une variable du répertoire suite à correction d'erreur",
|
||||
'i795' => "Personne radiée à sa demande de de la base SIRENE diffusion",
|
||||
// Nouveaux évènements Sirene4 de la quotidienne Insee (Syracuse)
|
||||
'iCE' => "Création établissement",
|
||||
'iCS' => "Création siège",
|
||||
'iCTE' => "Création établissement (transfert)",
|
||||
'iCTS' => "Création siège (transfert)",
|
||||
'iSU' => "Cessation juridique",
|
||||
'iME' => "Modification établissement",
|
||||
'iMS' => "Modification siège",
|
||||
'iMTDE' => "Modification établissement départ (transfert)",
|
||||
'iMTAE' => "Modification établissement arrivée (transfert)",
|
||||
'iMTDS' => "Modification siège départ (transfert)",
|
||||
'iMTAS' => "Modification siège arrivée (transfert)",
|
||||
'iMU' => "Modification entreprise",
|
||||
'iRE' => "Réactivation établissement",
|
||||
'iRS' => "Réactivation siège",
|
||||
'iSE' => "Fermeture (ou désactivation) établissement",
|
||||
'iSS' => "Fermeture (ou désactivation) siège",
|
||||
'iSTE' => "Fermeture établissement (transfert)",
|
||||
'iSTS' => "Fermeture siège (transfert)",
|
||||
'iRI' => "Refus d'immatriculation au RCS",
|
||||
'iCC' => "Création par le calage",
|
||||
'iMC' => "Modification par le calage",
|
||||
'iSC' => "Suppression par le calage",
|
||||
'iI' => "Entrée dans le champ de la diffusion commerciale",
|
||||
'iO' => "Sortie du champ de la diffusion commerciale",
|
||||
);
|
||||
|
||||
/**
|
||||
* Evenements Insee
|
||||
* @var array
|
||||
*/
|
||||
protected $tabEvenInsee = array(
|
||||
// Anciens évènements de la quotidienne Insee
|
||||
'i00' => "Modification de l'établissement",
|
||||
'iOA' => "Activation économique de l'établissement par adjonction de moyens de production",
|
||||
'i0C' => "Création de l'établissement",
|
||||
'iOD' => "Désactivation économique de l'établissement par suppression de moyens de production",
|
||||
'i0F' => "Fermeture de l'établissement",
|
||||
'iOR' => "Modification simple ou modification de moyen de production de l'établissement",
|
||||
'iCC' => "Création de l' entreprise par création du premier établissement",
|
||||
'iRC' => "Réactivation de l'entreprise par création de l'établissement",
|
||||
'iRR' => "Réactivation de l'entreprise par réactivation de l'établissement",
|
||||
'iFF' => "Fermeture de l'établissement entraînant la fermeture de l'entreprise",
|
||||
'iTC' => "Création de l'établissement dans le cadre d'un transfert",
|
||||
'iTR' => "Réactivation de l'établissement dans le cadre d'un transfert",
|
||||
'iT0' => "Modification simple ou de moyens de production sur l'établissement dans le cadre d'un transfert",
|
||||
'iTA' => "Activation économique de l'établissement par adjonction de moyens de production dans le cadre d'un transfert",
|
||||
'iTD' => "Désactivation économique de l'établissement par suppression de moyens de production dans le cadre d'un transfert",
|
||||
'iTF' => "Fermeture de l'établissement dans le cadre d'un transfert",
|
||||
'iER' => "Modification ERR de l'établissement",
|
||||
// Evènements Crées par différentiel de la Mensuelle Insee par S&D
|
||||
'iM0C' => "Création de l'établissement",
|
||||
'iM0F' => "Fermeture de l'établissement",
|
||||
'iM0R' => "Réactivation de l'établissement",
|
||||
'iM00' => "Modification de l'établissement",
|
||||
'iMAS' => "Modification de la nature d'activité et de la saisonalité",
|
||||
'iMAC' => "Modification de la nature d'activité de l'établissement",
|
||||
'iMSA' => "Modification de la saisonalité de l'établissement",
|
||||
// Evènements Crées par diff3+4
|
||||
'iMPF' => "Etablissement présumé fermé (formalités de création faites par le repreneur)",
|
||||
'iMNP' => "Etablissement présumé fermé (retour de courrier en NPAI)",
|
||||
// Décret n°2010-1042 du 01/09/2010 relatif à l'inscription au registre du commerce et des sociétés et au répertoire national mentionné à l'article R. 123-220 du code de commerce
|
||||
// Codification provisoire à changer dans l'attente de l'INSEE
|
||||
'i810' => "Suppression du SIREN suite au refus d'inscription au Registre du Commerce et des Sociétés", // Anciennement iRCS
|
||||
// Nouveaux évènements Sirene3 de la quotidienne Insee
|
||||
'i110' => "Création de l'entreprise",
|
||||
'i120' => "Réactivation de l'entreprise",
|
||||
'i125' => "Réactivation de l'entreprise suite à une mise à jour du répertoire SIRENE",
|
||||
'i130' => "Création de l'établissement",
|
||||
'i145' => "Reprise d'activité de l'établissement suite à une mise à jour du répertoire SIRENE",
|
||||
'i400' => "Suppression du doublon",
|
||||
'i410' => "Cessation juridique de l'entreprise",
|
||||
'i420' => "Absence d'activité de l'entreprise (cessation économique de l'entreprise)",
|
||||
'i425' => "Absence d'activité d'une entreprise suite à une mise à jour au répertoire SIRENE",
|
||||
'i430' => "Fermeture de l'établissement",
|
||||
'i435' => "Fermeture de l'établissement suite à une mise à jour au répertoire SIRENE",
|
||||
'i510' => "Création de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert",
|
||||
'i520' => "Création de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert",
|
||||
'i530' => "Modification de l'établissement d'arrivée et cessation de l'établissement de départ dans le cadre d'un transfert",
|
||||
'i540' => "Modification de l'établissement d'arrivée et modification de l'établissement de départ dans le cadre d'un transfert",
|
||||
'i610' => "Modification d'activité au niveau du SIREN associé à une activation économique par adjonction de moyens de production",
|
||||
'i620' => "Modification d'activité au niveau du SIREN associé à une désactivation économique par suppression de moyens de production",
|
||||
'i621' => "Modification d'activité du SIREN associé à une désactivation économique par suppression de moyens de production suite à une correction d'erreur",
|
||||
'i631' => "Modification d'activité du SIREN associé",
|
||||
'i640' => "Modification d'activité au niveau de l'établissement associée à une activation économique par adjonction de moyens de production",
|
||||
'i650' => "Modification d'activité au niveau de l'établissement associée à une désactivation économique par suppression de moyens de production",
|
||||
'i661' => "Modification d'activité de l'établissement",
|
||||
'i710' => "Modification de l'identification du SIREN",
|
||||
'i711' => "Modification de l'identification du SIREN suite à correction d'erreur",
|
||||
'i720' => "Modification de l'adresse ou de l'identification de l'établissement",
|
||||
'i780' => "Modification de l'établissement",
|
||||
'i781' => "Modification de l'établissement suite à correction d'erreur",
|
||||
'i795' => "Personne radiée à sa demande de de la base SIRENE diffusion",
|
||||
// Nouveaux évènements Sirene4 de la quotidienne Insee (Syracuse)
|
||||
'iCE' => "Création établissement",
|
||||
'iCS' => "Création siège",
|
||||
'iCTE' => "Création établissement (transfert)",
|
||||
'iCTS' => "Création siège (transfert)",
|
||||
'iSU' => "Cessation juridique",
|
||||
'iME' => "Modification établissement",
|
||||
'iMS' => "Modification siège",
|
||||
'iMTDE' => "Modification établissement départ (transfert)",
|
||||
'iMTAE' => "Modification établissement arrivée (transfert)",
|
||||
'iMTDS' => "Modification siège départ (transfert)",
|
||||
'iMTAS' => "Modification siège arrivée (transfert)",
|
||||
'iMU' => "Modification entreprise",
|
||||
'iRE' => "Réactivation établissement",
|
||||
'iRS' => "Réactivation siège",
|
||||
'iSE' => "Fermeture (ou désactivation) établissement",
|
||||
'iSS' => "Fermeture (ou désactivation) siège",
|
||||
'iSTE' => "Fermeture établissement (transfert)",
|
||||
'iSTS' => "Fermeture siège (transfert)",
|
||||
'iRI' => "Refus d'immatriculation au RCS",
|
||||
'iCC' => "Création par le calage",
|
||||
'iMC' => "Modification par le calage",
|
||||
'iSC' => "Suppression par le calage",
|
||||
'iI' => "Entrée dans le champ de la diffusion commerciale",
|
||||
'iO' => "Sortie du champ de la diffusion commerciale",
|
||||
);
|
||||
|
||||
/**
|
||||
* Type d'etablissements
|
||||
* @var array
|
||||
*/
|
||||
protected $tabTypEtab = array(
|
||||
'i00' => "Rappel des données de l'établissement du siège en cas de modification exclusive de l'entreprise",
|
||||
'i08' => "Siège avant transfert non fermé",
|
||||
'i09' => "Siège après transfert non créé",
|
||||
'i10' => "Siège avant transfert fermé",
|
||||
'i11' => "Siège après transfert créé",
|
||||
'i12' => "Siège créé (hors transfert)",
|
||||
'i13' => "Siège fermé (hors transfert)",
|
||||
'i14' => "Siège modifié (hors transfert) : modification de l'activité principale avec activation économique",
|
||||
'i15' => "Siège modifié (hors transfert) : modification de l'activité principale avec désactivation économique",
|
||||
'i16' => "Siège modifié (hors transfert) : modification de l'activité principale de l'établissement",
|
||||
'i17' => "Siège modifié (hors transfert) : modification de l'identification de l'établissement",
|
||||
'i19' => "Siège modifié (hors transfert) : autre modification de l'établissement",
|
||||
'i20' => "Établissement avant transfert fermé",
|
||||
'i21' => "Établissement après transfert créé",
|
||||
'i22' => "Établissement créé (hors transfert)",
|
||||
'i23' => "Établissement fermé (hors transfert)",
|
||||
'i24' => "Établissement modifié (hors transfert) : modification de l'activité principale avec activation économique",
|
||||
'i25' => "Établissement modifié (hors transfert) : modification de l'activité principale avec désactivation économique",
|
||||
'i26' => "Établissement modifié (hors transfert) : autre modification de l'activité principale de l'établissement",
|
||||
'i27' => "Établissement modifié (hors transfert) : modification de l'identification de l'établissement",
|
||||
'i29' => "Établissement modifié (hors transfert) : modification d'une autre variable de l'établissement",
|
||||
'i30' => "Établissement avant transfert non fermé",
|
||||
'i31' => "Établissement après transfert non créé",
|
||||
'i32' => "Établissement supprimé",
|
||||
);
|
||||
|
||||
/**
|
||||
* Destination
|
||||
* @var array
|
||||
*/
|
||||
protected $tabDestinat = array(
|
||||
'i3' => "Etablissement vendu",
|
||||
'i7' => "Maintien d'activité, l'établissement devient siège",
|
||||
'i8' => "Maintien d'activité, l'établissement devient principal",
|
||||
'iA' => "Maintien d'activité, l'établissement devient secondaire",
|
||||
'iB' => "Etablissement fermé",
|
||||
'iC' => "Etablissement supprimé",
|
||||
'iD' => "Mise en location-gérance de la totalité du fonds",
|
||||
'iE' => "Mise en location-gérance d'une partie du fonds",
|
||||
'iF' => "Cessation d'activité (pour les liasses agricoles)",
|
||||
'iG' => "Mise en location-gérance de la totalité des terres et des bâtiments agricoles (pour les liasses agricoles)",
|
||||
'iH' => "Mise en location-gérance d'une partie des terres et des bâtiments agricoles (pour les liasses agricoles)",
|
||||
'iI' => "Transmission au conjoint (pour les liasses agricoles)",
|
||||
'iJ' => "Cession (pour les liasses agricoles)",
|
||||
'iVP' => "Suppression partielle d'activité par vente",
|
||||
'iDP' => "Suppression partielle d'activité par disparition",
|
||||
'iRP' => "Suppression partielle d'activité par reprise par le propriétaire",
|
||||
);
|
||||
|
||||
/**
|
||||
* Conversion anciens codes evenements avec nouveaux codes evenements
|
||||
* @var array
|
||||
*/
|
||||
protected $HistoEvenConvert = array(
|
||||
10 => '4000', // Création d'entreprise
|
||||
11 => '4000',
|
||||
13 => '4000',
|
||||
14 => '4000',
|
||||
15 => '4000',
|
||||
16 => '4000',
|
||||
17 => '4200', // Création d'établissement
|
||||
18 => '4200',
|
||||
19 => '4200',
|
||||
20 => '5999', // ou 5700 en fonction du code xxx
|
||||
21 => '5999',
|
||||
22 => '5999',
|
||||
24 => '5999',
|
||||
25 => '5999',
|
||||
30 => '2500', // Confirmation Ets
|
||||
31 => '2318',
|
||||
32 => '2318',
|
||||
33 => '2318',
|
||||
34 => '2318',
|
||||
35 => '2318',
|
||||
36 => '2318',
|
||||
37 => '2800', // Loc. Gérance recue
|
||||
38 => '2860', // Loc. Gérance donnée
|
||||
39 => '2318',
|
||||
40 => '6700', // Radiation
|
||||
41 => '2202', // Dissolution
|
||||
42 => '2885', // Fin location gérance
|
||||
51 => '1209', // Règlement Judiciaire
|
||||
52 => '1200', // Redressement Judiciaire
|
||||
53 => '1207', // Règlemement amiable
|
||||
//53 => Conciliation ????????????????????????????????????????
|
||||
56 => '1310', // Procédure d'Insolvabilité Européenne
|
||||
57 => '1100', // Jugement de sauvegarde
|
||||
58 => '1101', // Plan de sauvegarde
|
||||
59 => '1506', // Rectif ou Annulation RJ
|
||||
60 => '1305', // Redr.& liq.Judiciaire
|
||||
61 => '1603', // Liquidation de Biens
|
||||
62 => '1305',
|
||||
63 => '1600', // Faillite personnelle
|
||||
64 => '1601', // Interdiction de gérer
|
||||
65 => '1305',
|
||||
66 => '1306', // Liquidation Judiciaire Simplifiée
|
||||
69 => '1506', //Rectif ou Annul.LJ
|
||||
70 => '1550', // Suites de jugements
|
||||
71 => '1550', // Suite reglement/L
|
||||
72 => '1550', // Suite redressement/L
|
||||
73 => '1550', // Susp.Provis.pours. ?????????????????????????????????????????
|
||||
74 => '1505', // Appel de jugement
|
||||
75 => '1407', // Modif. de Plan
|
||||
76 => '1502', // Extinction Passif
|
||||
77 => '1210', // Production
|
||||
78 => '1204', // Dépôt des créances
|
||||
79 => '1503', // Cloture insuf.Actif
|
||||
92 => '1450', //Cessation paiement ??
|
||||
);
|
||||
|
||||
/**
|
||||
* Conversion role avec nouveaux codes evénéments
|
||||
* @var array
|
||||
*/
|
||||
protected $HistoRoleConvert = 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ération sur Participations
|
||||
'h' => '2725', // Fusion Absorption
|
||||
'i' => '2318', // Mod.garantie financière/Caution
|
||||
'j' => '2401', // Changement de régime matrimonial
|
||||
'k' => '2319', // Non dissolution anticipée
|
||||
'l' => '2318', // Non dissolution anticipée
|
||||
'm' => '2318', // Dissolution anticipé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é
|
||||
'r' => '2300;2307', // Mod.Adresse + F.Juridique
|
||||
's' => '2101;2315', // Modification Capital + Dirigeants
|
||||
't' => '2101;2313', // Modification Capital + Activité
|
||||
'u' => '2101;2307', // Mod.Capital + Forme Juridique
|
||||
'v' => '2315;2313', // Mod.Dirigeants + Activité
|
||||
'w' => '2315;2307', // Mod.Dirigeants + Forme Juridique
|
||||
'x' => '2313;2307', // Mod.Activité + Forme Juridique
|
||||
'y' => '2318', // Changement de Dirigeants ?
|
||||
'z' => '2318', //
|
||||
//'K'=>
|
||||
);
|
||||
|
||||
/**
|
||||
* Liste des codes voies
|
||||
* @var array
|
||||
*/
|
||||
protected $tabCodeVoie = array(
|
||||
'ABE' => "Abbaye",
|
||||
'AGL' => "Agglomération",
|
||||
'AIRE' => "Aire",
|
||||
'ALL' => "Allée",
|
||||
'ALL' => "Allee",
|
||||
'ACH' => "Ancien chemin",
|
||||
'ART' => "Ancienne route",
|
||||
'ANSE' => "Anse",
|
||||
'ARC' => "Arcade",
|
||||
'AUT' => "Autoroute",
|
||||
'AV' => "Avenue",
|
||||
'BRE' => "Barrière",
|
||||
'BCH' => "Bas chemin",
|
||||
'BSTD' => "Bastide",
|
||||
'BAST' => "Baston",
|
||||
'BEGI' => "Beguinage",
|
||||
'BER' => "Berge",
|
||||
'BOIS' => "Bois",
|
||||
'BCLE' => "Boucle",
|
||||
'BD' => "Boulevard",
|
||||
'BRG' => "Bourg",
|
||||
'BUT' => "Butte",
|
||||
'CALE' => "Cale",
|
||||
'CAMP' => "Camp",
|
||||
'CGNE' => "Campagne",
|
||||
'CPG' => "Camping",
|
||||
'CARR' => "Carré",
|
||||
'CAU' => "Carreau",
|
||||
'CAR' => "Carrefour",
|
||||
'CARE' => "Carrière",
|
||||
'CST' => "Castel",
|
||||
'CAV' => "Cavée",
|
||||
'CTRE' => "Central",
|
||||
'CTRE' => "Centre",
|
||||
'CHL' => "Chalet",
|
||||
'CHP' => "Chapelle",
|
||||
'CHI' => "Charmille",
|
||||
'CHT' => "Château",
|
||||
'CHS' => "Chaussée",
|
||||
'CHE' => "Chemin",
|
||||
'CHV' => "Chemin vicinaux",
|
||||
'CHV' => "Chemin vicinal",
|
||||
'CHEM' => "Cheminement",
|
||||
'CITE' => "Cîte",
|
||||
'CLOI' => "Cloître",
|
||||
'CLOS' => "Clos",
|
||||
'COL' => "Col",
|
||||
'COLI' => "Colline",
|
||||
'CTR' => "Contour",
|
||||
'COR' => "Corniche",
|
||||
'COTE' => "Côte",
|
||||
'COTT' => "Cottage",
|
||||
'COUR' => "Cour",
|
||||
'CRS' => "Cours",
|
||||
'DARS' => "Darse",
|
||||
'DEG' => "Degré",
|
||||
'DSG' => "Descente",
|
||||
'DSC' => "Descente",
|
||||
'DIG' => "Digue",
|
||||
'DOM' => "Domaine",
|
||||
'ECA' => "Ecart",
|
||||
'ECL' => "Ecluse",
|
||||
'EGL' => "Eglise",
|
||||
'EN' => "Enceinte",
|
||||
'ENV' => "Enclave",
|
||||
'ENC' => "Enclos",
|
||||
'ESC' => "Escalier",
|
||||
'ESPA' => "Espace",
|
||||
'ESP' => "Esplanade",
|
||||
'ETING' => "Etang",
|
||||
'FG' => "Faubourg",
|
||||
'FRM' => "Ferme",
|
||||
'FON' => "Fontaine",
|
||||
'FORT' => "Fort",
|
||||
'FORM' => "Forum",
|
||||
'FOS' => "Fosse",
|
||||
'FOYR' => "Foyer",
|
||||
'GAL' => "Galerie",
|
||||
'GARE' => "Gare",
|
||||
'GARN' => "Garenne",
|
||||
'GBD' => "Grand boulevard",
|
||||
'GDEN' => "Grande ensemble",
|
||||
'GR' => "Grande rue",
|
||||
'GRI' => "Grille",
|
||||
'GRIM' => "Grimpette",
|
||||
'GPE' => "Groupe",
|
||||
'GPT' => "Groupement",
|
||||
'HLE' => "Halle",
|
||||
'HAM' => "Hameau",
|
||||
'HCH' => "Haut chemin",
|
||||
'HIP' => "Hippodrome",
|
||||
'HLM' => "HLM",
|
||||
'ILE' => "Ile",
|
||||
'IMM' => "Immeuble",
|
||||
'IMP' => "Impasse",
|
||||
'JARD' => "Jardin",
|
||||
'JTE' => "Jetée",
|
||||
'LEVE' => "Levée",
|
||||
'LD' => "Lieu dit",
|
||||
'LD' => "Lieudit",
|
||||
'LOT' => "Lotissement",
|
||||
'MAIL' => "Mail",
|
||||
'MF' => "Maison forestière",
|
||||
'MAN' => "Manoir",
|
||||
'MAR' => "Marche",
|
||||
'MAS' => "Mas",
|
||||
'MET' => "Métro",
|
||||
'MTE' => "Montée",
|
||||
'MLN' => "Moulin",
|
||||
'MUS' => "Musée",
|
||||
'NTE' => "Nouvelle route",
|
||||
'PAL' => "Palais",
|
||||
'PARC' => "Parc",
|
||||
'PKG' => "Parking",
|
||||
'PRV' => "Parvis",
|
||||
'PAS' => "Passage",
|
||||
'PN' => "Passage à niveau",
|
||||
'PASS' => "Passe",
|
||||
'PLE' => "Passerelle",
|
||||
'PAT' => "Patio",
|
||||
'PAV' => "Pavillon",
|
||||
'PERI' => "Périphérique",
|
||||
'PSTY' => "Péristyle",
|
||||
'PTA' => "Petites allée",
|
||||
'PCH' => "Petit chemin",
|
||||
'PAE' => "Petite avenue",
|
||||
'PIM' => "Petite impasse",
|
||||
'PRT' => "Petite route",
|
||||
'PTR' => "Petite rue",
|
||||
'PL' => "Place",
|
||||
'PLCI' => "Placis",
|
||||
'PLAG' => "Plage",
|
||||
'PLN' => "Plaine",
|
||||
'PLAN' => "Plan",
|
||||
'PLT' => "Plateau",
|
||||
'PNT' => "Pointe",
|
||||
'PONT' => "Pont",
|
||||
'PCH' => "Porche",
|
||||
'PORT' => "Port",
|
||||
'PTE' => "Porte",
|
||||
'PORQ' => "Portique",
|
||||
'POT' => "Poterne",
|
||||
'POUR' => "Pourtour",
|
||||
'PRE' => "Pré",
|
||||
'PRQ' => "Presqu'île",
|
||||
'PROM' => "Promenade",
|
||||
'QU' => "Quai",
|
||||
'QUAI' => "Quai",
|
||||
'QUA' => "Quartier",
|
||||
'RAC' => "Raccourci",
|
||||
'RAID' => "Raidillon",
|
||||
'RPE' => "Rampe",
|
||||
'REM' => "Rempart",
|
||||
'RES' => "Résidence",
|
||||
'ROC' => "Roc",
|
||||
'ROC' => "Rocade",
|
||||
'RPT' => "Rond point",
|
||||
'ROQT' => "Roquet",
|
||||
'RTD' => "Rotonde",
|
||||
'RTE' => "Route",
|
||||
'R' => "Rue",
|
||||
'RUE' => "Rue",
|
||||
'RLE' => "Ruelle",
|
||||
'SEN' => "Sente",
|
||||
'SEN' => "Sentier",
|
||||
'SQ' => "Square",
|
||||
'STDE' => "Stade",
|
||||
'STA' => "Station",
|
||||
'TPL' => "Terre plein",
|
||||
'TRN' => "Terrain",
|
||||
'TSSE' => "Terrasse",
|
||||
'TRT' => "Tertre",
|
||||
'TOUR' => "Tour",
|
||||
'TRA' => "Traverse",
|
||||
'VAL' => "Vallon",
|
||||
'VAL' => "Vallée",
|
||||
'VEN' => "Venelle",
|
||||
'VIA' => "Via",
|
||||
'VTE' => "Vieille route",
|
||||
'VCHE' => "Vieux chemin",
|
||||
'VLA' => "Villa",
|
||||
'VGE' => "Village",
|
||||
'VLGE' => "Village",
|
||||
'VOI' => "Voie",
|
||||
'VOIE' => "Voie",
|
||||
'ZONE' => "Zone",
|
||||
'ZAC' => "Zone d'aménagement concerté",
|
||||
'Z A C' => "Zone d'aménagement concerté",
|
||||
'ZAD' => "Zone d'aménagement différé",
|
||||
'Z A D' => "Zone d'aménagement différé",
|
||||
'ZA' => "Zone artisanale",
|
||||
'Z A' => "Zone artisanale",
|
||||
'ZI' => "Zone industrielle",
|
||||
'Z I' => "Zone industrielle",
|
||||
'ZUP' => "Zone à urbaniser en priorité",
|
||||
'Z U P' => "Zone à urbaniser en priorité",
|
||||
);
|
||||
}
|
300
library/Metier/Partenaires/MAmabis.php
Normal file
300
library/Metier/Partenaires/MAmabis.php
Normal file
@ -0,0 +1,300 @@
|
||||
<?php
|
||||
ini_set('soap.wsdl_cache_enabled', 0);
|
||||
ini_set('default_socket_timeout', 30);
|
||||
|
||||
class Metier_Partenaires_MAmabis
|
||||
{
|
||||
protected $client;
|
||||
protected $iDb;
|
||||
|
||||
public function __construct($db = null)
|
||||
{
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
|
||||
$this->client = new SoapClient(null, array(
|
||||
'location' => 'http://sw2.amabis.com:5100/',
|
||||
'uri' => 'http://www.amabis.com/ns.xsd',
|
||||
'connection_timeout' => 2,
|
||||
'soap_version' => SOAP_1_1,
|
||||
'trace' => 1,
|
||||
'style' => SOAP_RPC,
|
||||
'use' => SOAP_ENCODED,
|
||||
));
|
||||
}
|
||||
|
||||
public function getZonage($adrNum, $adrIndRep, $adrTypeVoie, $adrLibVoie, $cp, $ville='', $codeRivoli='', $rnvp=false, $raisonSociale='TEST', $debug=false)
|
||||
{
|
||||
$tabRep=array();
|
||||
if (!$rnvp) {
|
||||
if ($cp<10000) $cp='0'.$cp;
|
||||
$dep2=substr($cp,0,2)*1;
|
||||
$dep3=substr($cp,0,3)*1;
|
||||
switch ($dep2) {
|
||||
case 0:
|
||||
/*case 5:
|
||||
case 9:
|
||||
case 15:
|
||||
case 19:
|
||||
case 23:
|
||||
case 32:
|
||||
case 46:
|
||||
case 48:
|
||||
case 82:*/
|
||||
case 97: // DOM
|
||||
case 98: // TOM
|
||||
case 99: // Etranger
|
||||
return $tabRep;
|
||||
break;
|
||||
default:
|
||||
//if ($dep3==975) return $tabRep;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$adresse=addslashes(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoie $adrLibVoie")));
|
||||
$ville=addslashes($ville);
|
||||
$majForcee=false;
|
||||
|
||||
$ret = $this->iDb->select('jo.zonage', 'zus, zru, zfu, cucs, rnvpStatut, rnvpCorr, rnvpTrt, adr3, adr4, adr5, adr6, adr7, numVoieA, indRepA,
|
||||
typeVoieAlong, typeVoieAcourt, corpVoie, motDir, motDirD, libVoieSec, adr4n32, adr4n38, clePostaleVoie,
|
||||
secteur, cleRoutage, cpx, cleAd, codPaysIso2, codPaysIso3, libPays, codeInsee',
|
||||
"address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'",false, MYSQL_ASSOC);
|
||||
$zones=@$ret[0];
|
||||
if (count($ret)>0) {
|
||||
|
||||
if ($zones['rnvpStatut']===null && $rnvp) $majForcee=true;
|
||||
$tabRep['ZUS']=$tabRep['ZFU']=$tabRep['ZRU']=$tabRep['CUCS']='NON';
|
||||
//$tabRep['NZUS']=$tabRep['NZFU']=$tabRep['NZRU']=$tabRep['NCUCS']='';
|
||||
|
||||
if (trim($zones['zus'])<>'') {
|
||||
if (trim($zones['zus'])=='NSP') $tabRep['ZUS']='NSP';
|
||||
else $tabRep['ZUS']='OUI';
|
||||
$tabRep['NZUS']=$zones['zus'];
|
||||
}
|
||||
if (trim($zones['zru'])<>'') {
|
||||
if (trim($zones['zru'])=='NSP') $tabRep['ZRU']='NSP';
|
||||
else $tabRep['ZRU']='OUI';
|
||||
$tabRep['NZRU']=$zones['zru'];
|
||||
}
|
||||
if (trim($zones['zfu'])<>'') {
|
||||
if (trim($zones['zfu'])=='NSP') $tabRep['ZFU']='NSP';
|
||||
else $tabRep['ZFU']='OUI';
|
||||
$tabRep['NZFU']=$zones['zfu'];
|
||||
}
|
||||
if (trim($zones['cucs'])<>'') {
|
||||
if (trim($zones['cucs'])=='NSP') $tabRep['CUCS']='NSP';
|
||||
else $tabRep['CUCS']='OUI';
|
||||
$tabRep['NCUCS']=$zones['cucs'];
|
||||
}
|
||||
|
||||
/** Autres Informations de la RNVP **/
|
||||
if ($rnvp) {
|
||||
//$tabRep['ADR1']=@trim($tabZones['ADR1']);
|
||||
//$tabRep['ADR2']=@trim($tabZones['ADR2']);
|
||||
if (strtoupper(@trim($zones['adr7']))=='FRANCE') $zones['adr7']='';
|
||||
$tabRep['ADR3']=@trim($zones['adr3']);
|
||||
$tabRep['ADR4']=@trim($zones['adr4']);
|
||||
$tabRep['ADR5']=@trim($zones['adr5']);
|
||||
$tabRep['ADR6']=@trim($zones['adr6']);
|
||||
$tabRep['ADR7']=trim($zones['adr7']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (count($ret)==0 || $majForcee) {
|
||||
|
||||
try {
|
||||
if (trim($raisonSociale)=='') $raisonSociale='TEST'; // Le RNVP ne fonctionne pas sans la Raison Sociale qui est la 1ère ligne d'adresse
|
||||
$rep=$this->client->zonage( new SoapParam(strtr("$raisonSociale:$adresse:$cp:$ville",
|
||||
'¿°ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ??',
|
||||
' aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr'),'adresse'),
|
||||
new SoapParam(':','separateur'),
|
||||
new SoapParam('type=M','options')
|
||||
);
|
||||
/*$rep=$this->client->zonage( "<adresse></adresse>".
|
||||
"<separateur>:</separateur>".
|
||||
"<options>type=M</options>");*/
|
||||
|
||||
/** Découpage des ZFU, CUCS etcs...
|
||||
**/
|
||||
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
|
||||
fwrite($fp, date('d-m-Y H:i:s').' - '.implode("\n", $rep)."\n============================================================================\n");
|
||||
fclose($fp);
|
||||
|
||||
$tabZones=explode(',',$rep['zonage']); // ZUS=OUI,NZUS=1127020,ZFU=OUI,NZFU=11270ZF,CUCS=OUI,NCUCS=1127020
|
||||
foreach ($tabZones as $zone) {
|
||||
$tabTmp=explode('=',$zone);
|
||||
if (trim($tabTmp[0])<>'')
|
||||
$tabRep[$tabTmp[0]]=$tabTmp[1];
|
||||
}
|
||||
if (@$tabRep['ZUS']=='NSP') $tabRep['NZUS']='NSP';
|
||||
if (@$tabRep['ZRU']=='NSP') $tabRep['NZRU']='NSP';
|
||||
if (@$tabRep['ZFU']=='NSP') $tabRep['NZFU']='NSP';
|
||||
if (@$tabRep['CUCS']=='NSP') $tabRep['NCUCS']='NSP';
|
||||
$adresse=stripslashes(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoie $adrLibVoie")));
|
||||
$ville=stripslashes($ville);
|
||||
$tabRepTmp=array();
|
||||
$tabTmp=explode('=',utf8_decode($rep['objdesc']));
|
||||
//print_r($tabTmp);
|
||||
//die();
|
||||
$tabZones=array();
|
||||
foreach ($tabTmp as $iZone=>$zone) {
|
||||
$pos=strrpos($zone,',');
|
||||
if ($iZone==0) {
|
||||
$nomZoneSuiv=$zone;
|
||||
continue;
|
||||
}
|
||||
$tabZones[$nomZoneSuiv]=substr($zone,0,$pos);
|
||||
$nomZoneSuiv=substr($zone,$pos+1);
|
||||
}
|
||||
if (strtoupper(@trim($tabZones['ADR7']))=='FRANCE') $tabZones['ADR7']='';
|
||||
$tabTmp=explode('|', $tabZones['VOIEA']);
|
||||
$typeVoieAcourt=@trim($tabTmp[1]);
|
||||
$tabInsert=array(
|
||||
'address'=>$adresse,
|
||||
'adr_cp'=>$cp,
|
||||
'adr_ville'=>$ville,
|
||||
'zus'=>@$tabRep['NZUS'],
|
||||
'zru'=>@$tabRep['NZRU'],
|
||||
'zfu'=>@$tabRep['NZFU'],
|
||||
'cucs'=>@$tabRep['NCUCS'],
|
||||
);
|
||||
$tabUpdate=array(
|
||||
'adrNum'=>$adrNum,
|
||||
'adrIndRep'=>$adrIndRep,
|
||||
'adrTypeVoie'=>$adrTypeVoie,
|
||||
'adrLibVoie'=>$adrLibVoie,
|
||||
'rivoli'=>$codeRivoli,
|
||||
// Ajouté le 16/12/2013
|
||||
'rnvpStatut' => substr($tabZones['STATUTC'],0,2),
|
||||
'rnvpCorr' => substr($tabZones['STATUTC'],2,1),
|
||||
'rnvpTrt' => trim(substr($tabZones['STATUTC'],3,2)),
|
||||
'adr3' => @trim($tabZones['ADR3']),
|
||||
'adr4' => @trim($tabZones['ADR4']),
|
||||
'adr5' => @trim($tabZones['ADR5']),
|
||||
'adr6' => @trim($tabZones['ADR6']),
|
||||
'adr7' => trim($tabZones['ADR7']),
|
||||
'numVoieA' => @trim($tabZones['NUM1']),
|
||||
'indRepA' => @trim($tabZones['BTQC1']),
|
||||
'typeVoieAlong' => @trim($tabZones['TYPVOIEL']),
|
||||
'typeVoieAcourt' => $typeVoieAcourt,
|
||||
'corpVoie' => @trim($tabZones['CORPSVOIE']),
|
||||
'motDir' => @trim($tabZones['MOTDIR']),
|
||||
'motDirD' => @trim($tabZones['MOTDIRD']),
|
||||
'libVoieSec' => @trim($tabZones['VOIREFLIBS']),
|
||||
'adr4n32' => @trim($tabZones['VOIREFLIBPOS']),
|
||||
'adr4n38' => @trim($tabZones['VOIREFLIBPOS2']),
|
||||
'clePostaleVoie' => @trim($tabZones['VOIREFCLEPOST']),
|
||||
'secteur' => @trim($tabZones['SECTEUR']),
|
||||
'cleRoutage' => @trim($tabZones['CLER']),
|
||||
'cpx' => @trim($tabZones['CPX']),
|
||||
'cleAd' => @trim($tabZones['CLEAD']),
|
||||
'codPaysIso2' => @trim($tabZones['NATREFISO2']),
|
||||
'codPaysIso3' => @trim($tabZones['NATREFISO3']),
|
||||
'libPays' => @trim($tabZones['NATREFLIB']),
|
||||
'codeInsee' => @trim($tabZones['LOCREFCLEO']),
|
||||
'source' => 'Amabis',
|
||||
);
|
||||
$dateInsert=0;
|
||||
if ($majForcee) {
|
||||
$adresseL=addslashes($adresse);
|
||||
$villeL=addslashes($ville);
|
||||
|
||||
$ret = $this->iDb->select('jo.zonage', 'dateInsert*1 as dateInsert', "address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'", false);
|
||||
$dateInsert=@$ret[0]['dateInsert']*1;
|
||||
$this->iDb->update('jo.zonage', array_merge($tabUpdate,array('dateInsert'=>$dateInsert)), "address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'", false);
|
||||
//echo "Mise à jour de l'adresse du $dateInsert pour address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'".PHP_EOL;
|
||||
}
|
||||
|
||||
if ($dateInsert==0) {
|
||||
$this->iDb->insert('jo.zonage', array_merge($tabInsert,$tabUpdate), false);
|
||||
//echo "Insertion de l'adresse (".$zones['rnvpStatut'].")!".PHP_EOL;
|
||||
}
|
||||
|
||||
$tabTmp[0]=explode(',', $tabZones['LOCREFCLEP']);
|
||||
$tabTmp[1]=explode(',', $tabZones['LOCREFCP']);
|
||||
$tabTmp[2]=explode(',', $tabZones['LOCREFTYPP']);
|
||||
$tabTmp[3]=explode(',', $tabZones['LOCREFLIBD']);
|
||||
$tabTmp[4]=explode(',', $tabZones['LOCREFLIBD2']);
|
||||
foreach($tabTmp[0] as $iCleP=>$cleP) {
|
||||
$tabInsert=array(
|
||||
'codeInsee' => @trim($tabZones['LOCREFCLEO']),
|
||||
'villeLib' => @trim($tabZones['LOCREFLIBP']),
|
||||
'villePopu' => @trim($tabZones['LOCREFPOP']),
|
||||
'cleAchPost'=> $cleP,
|
||||
'codePostal'=> $tabTmp[1][$iCleP],
|
||||
'typePostal'=> $tabTmp[2][$iCleP],
|
||||
'libAchP32' => @preg_replace('/^\//','',$tabTmp[3][$iCleP]),
|
||||
'libAchP38' => @preg_replace('/^\//','',$tabTmp[4][$iCleP]),
|
||||
'source' => 'Amabis',
|
||||
'dateInsert'=> date('YmdHis'),
|
||||
);
|
||||
$this->iDb->insert('jo.villesCP', $tabInsert, false);
|
||||
//echo mysql_error().PHP_EOL;
|
||||
}
|
||||
|
||||
/** Autres Informations de la RNVP
|
||||
**/
|
||||
if ($rnvp) {
|
||||
//$tabRep['ADR1']=@trim($tabZones['ADR1']);
|
||||
//$tabRep['ADR2']=@trim($tabZones['ADR2']);
|
||||
$tabRep['ADR3']=@trim($tabZones['ADR3']);
|
||||
$tabRep['ADR4']=@trim($tabZones['ADR4']);
|
||||
$tabRep['ADR5']=@trim($tabZones['ADR5']);
|
||||
$tabRep['ADR6']=@trim($tabZones['ADR6']);
|
||||
$tabRep['ADR7']=trim($tabZones['ADR7']);
|
||||
}
|
||||
} catch (SoapFault $fault) {
|
||||
//echo 'ERREUR SOAP :'.PHP_EOL;
|
||||
//print_r($fault);
|
||||
//echo $this->client->__getLastRequest()."\n";
|
||||
//echo $this->client->__getLastResponse()."\n";
|
||||
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
|
||||
fwrite($fp, date('d-m-Y H:i:s').' - ERREUR SOAP : Requete = '.$this->client->__getLastRequest()."\n Reponse = ".$this->client->__getLastResponse()."\n============================================================================\n");
|
||||
fclose($fp);
|
||||
}
|
||||
//return $tabRep;
|
||||
}
|
||||
|
||||
/** Zonages AFR et ZRR
|
||||
**/
|
||||
$codeInsee=substr($codeRivoli,0,5);
|
||||
$ret = $this->iDb->select('jo.zonageInsee', 'typeZone, arreteDate, decretDate, decretNum, decretModifieDate, decretModifieNum, dateDebut, dateFin', "codeInsee='$codeInsee'",false, MYSQL_ASSOC);
|
||||
$tabRep['ZRR']=$tabRep['AFR']='NON';
|
||||
foreach ($ret as $zones)
|
||||
switch ($zones['typeZone']) {
|
||||
case 'ZRR': $tabRep['ZRR']='OUI'; $tabRep['NZRR']=$codeInsee; break;
|
||||
case 'ZAFR': $tabRep['AFR']='OUI'; $tabRep['NAFR']=$codeInsee; break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
return $tabRep;
|
||||
}
|
||||
|
||||
function searchByTelFax($tel) {
|
||||
return $this->getTelFax('','','','',$tel);
|
||||
}
|
||||
|
||||
function getTelFax($nom, $cp, $ville='', $prenom='', $tel='') {
|
||||
if (trim($tel)<>'')
|
||||
$query="<telep>$tel</telep><scoremini>10</scoremini><distinction>30</distinction>";
|
||||
elseif (trim($prenom)=='')
|
||||
$query="<rs>$nom</rs><cpville>$cp $ville</cpville><scoremini>90</scoremini><distinction>30</distinction>";
|
||||
else
|
||||
$query="<nom>$nom</nom><prenom>$prenom</prenom><cpville>$cp $ville</cpville><scoremini>90</scoremini><distinction>30</distinction>";
|
||||
|
||||
$rep=$this->client->rechtel($query);
|
||||
|
||||
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
|
||||
fwrite($fp, date('d-m-Y H:i:s')." - $query - ".implode("\n", $rep)."\n============================================================================\n");
|
||||
fwrite($fp, "Requête : ".$this->client->__getLastRequest()."\n");
|
||||
fwrite($fp, "Réponse : ".$this->client->__getLastResponse()."\n");
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
273
library/Metier/Partenaires/MArtisanat.php
Normal file
273
library/Metier/Partenaires/MArtisanat.php
Normal file
@ -0,0 +1,273 @@
|
||||
<?php
|
||||
define ('ARTISANAT_DISPO_WEB', 1);
|
||||
require_once 'framework/common/curl.php';
|
||||
|
||||
class Metier_Partenaires_MArtisanat
|
||||
{
|
||||
public $body = '';
|
||||
public $header = '';
|
||||
public $codeRetour = 0;
|
||||
public $referer='';
|
||||
public $libErreur='';
|
||||
public $cookie='';
|
||||
public $iDb;
|
||||
public $enCache=false;
|
||||
|
||||
function __construct() {
|
||||
$this->iDb=new WDB();
|
||||
}
|
||||
|
||||
function getIdentite($siren, $refresh=false) {
|
||||
$siren=$siren*1;
|
||||
$res=$this->iDb->select('jo.artisanat', 'id, siren, actif, numRM, denomination, sigle, nomCommercial, enseigne, fj, effectif, aprm, debutActivite, activite, adresse, cp, ville, cessation, radiation, nbInscriptions, nom, prenom, nomUsage, dateNaiss, lieuNaiss, natio, qualite, qualif, dateQualif, dateFctDeb, dateFctFin, IF(dateInsert>dateUpdate,dateInsert,dateUpdate) AS dateUpdate', "siren=$siren", false, MYSQL_ASSOC);
|
||||
if (count($res)>0 && !$refresh) {
|
||||
$this->enCache=true;
|
||||
$tabInsert=$res[0];
|
||||
} elseif (ARTISANAT_DISPO_WEB) {
|
||||
$this->enCache=false;
|
||||
$url='http://www.cma-paris.fr/CMP/rm_recherche.php?dom=Gerer&fonction=recherche';
|
||||
$page=getUrl($url, '', '', $this->referer, false, 'www.cma-paris.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
$this->libErreur='Erreur Artisanat 200a !';
|
||||
return false;
|
||||
}
|
||||
$this->cookie=$page['header']['Set-Cookie'];
|
||||
$this->referer=$url;
|
||||
|
||||
$url='http://www.cma-paris.fr/CMP/rm_recherche.php?dom=Gerer&fonction=cherche';
|
||||
$postData=array( 'siren_op'=>'%3D',
|
||||
'siren'=>$siren,
|
||||
'den_rent_op'=>'%25',
|
||||
'den_rent'=>'',
|
||||
'adresse_op'=>'contient',
|
||||
'adresse'=>'',
|
||||
'bde_rent_op'=>'%25',
|
||||
'bde_rent'=>'',
|
||||
'nom_rdir_op'=>'%25',
|
||||
'nom_rdir'=>'',
|
||||
'pren_rdir_op'=>'%25',
|
||||
'pren_rdir'=>'',
|
||||
'table'=>'rentreprise',//'rentrad',
|
||||
'x'=>56,
|
||||
'y'=>14,
|
||||
);
|
||||
sleep(rand(1, 2));
|
||||
$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.cma-paris.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
$this->libErreur='Erreur Artisanat 200b !';
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
if (preg_match('/<span.class="rouge">aucune.entreprise.ne.correspond(?:.*)vos.crit(?:.*)de.recherche<\/span>/Uis', $this->body, $matches)) {
|
||||
$url='http://www.cma-paris.fr/CMP/rm_recherche.php?dom=Gerer&fonction=cherche';
|
||||
$postData=array( 'siren_op'=>'%3D',
|
||||
'siren'=>$siren,
|
||||
'den_rent_op'=>'%25',
|
||||
'den_rent'=>'',
|
||||
'adresse_op'=>'contient',
|
||||
'adresse'=>'',
|
||||
'bde_rent_op'=>'%25',
|
||||
'bde_rent'=>'',
|
||||
'nom_rdir_op'=>'%25',
|
||||
'nom_rdir'=>'',
|
||||
'pren_rdir_op'=>'%25',
|
||||
'pren_rdir'=>'',
|
||||
'table'=>'rentrad',
|
||||
'x'=>56,
|
||||
'y'=>14,
|
||||
);
|
||||
sleep(rand(1, 2));
|
||||
$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.cma-paris.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
$this->libErreur='Erreur Artisanat 200c !';
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
}
|
||||
|
||||
/** Gestion des multi-inscriptions au RM **/
|
||||
if (preg_match('/<b class="gris">(.*)entreprises.correspondent(?:.*)vos.crit(?:.*)de.recherche<\/span>/Uis', $this->body, $matches))
|
||||
{
|
||||
$nbRep=trim($matches[1])*1;
|
||||
$iRadMax=-1;
|
||||
if (preg_match_all('/<a class="turquoise" href="(rm\.php\?dom=Gerer&fonction=dossier&(.*))">/Uis', $this->body, $matches)) {
|
||||
$tabUrls=array_unique($matches[1]);
|
||||
$anRadMax=0;
|
||||
// Recherche de la dernière inscription
|
||||
foreach ($tabUrls as $iUrl=>$url) {
|
||||
// On prend la dernière inscription
|
||||
$tabTmp=explode('&',$url);
|
||||
if (substr($tabTmp[3],0,8)=='an_rera=') {
|
||||
$anRad=substr($tabTmp[3],8);
|
||||
if ($anRad>$anRadMax) {
|
||||
$anRadMax=$anRad;
|
||||
$iRadMax=$iUrl;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($iRadMax==-1) die('$iRadMax==-1 Cas impossible !'.PHP_EOL.print_r($tabUrls,true).PHP_EOL.print_r($matches,true));
|
||||
// Accès à la dernière fiche
|
||||
$url='http://www.cma-paris.fr/CMP/'.strtr(trim($tabUrls[$iRadMax]),array('&'=>'&'));
|
||||
sleep(rand(1, 2));
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.cma-paris.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
$this->libErreur='Erreur Artisanat 200c !';
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
}
|
||||
|
||||
$tabInsert=array();
|
||||
|
||||
if (preg_match('/n° d\'identification \(SIREN\)<\/span><\/td>(?:.*)<td align="left" nowrap>(.*) <\/td>((?:.*)n° de gestion rm<\/span><\/td>(?:.*)<td align="left" nowrap>(.*)<\/td>)?/Uis', $this->body, $matches)) {
|
||||
$sirenLu=$matches[1]*1;
|
||||
if ($siren==$sirenLu) {
|
||||
$tabInsert['siren']=$matches[1];
|
||||
$tabInsert['numRM']=@$matches[2];
|
||||
} else {
|
||||
$this->libErreur='Erreur Siren $sirenLu<>$siren !';
|
||||
return false;
|
||||
}
|
||||
} elseif (preg_match('/<span class="rouge">aucune entreprise ne correspond à vos critères de recherche<\/span>/Uis', $this->body, $matches)) {
|
||||
$this->libErreur='Erreur Artisan absent de la base Artisanat !';
|
||||
// die($this->body);
|
||||
return false;
|
||||
} else {
|
||||
$this->libErreur='Erreur Siren absent dans la page !';
|
||||
return false;
|
||||
}
|
||||
|
||||
$actif=null;
|
||||
if (preg_match("/Renseignements.relatif(?:.*)entreprise(.*)<\/b>/Uis", $this->body, $matches)) {
|
||||
switch (trim(strtr($matches[1],array(chr(160)=>'')))) {
|
||||
case 'en activité': $actif=1; break;
|
||||
case 'radiée': $actif=0; break;
|
||||
default: print_r($matches);die(); break;
|
||||
}
|
||||
//die(PHP_EOL.'$actif='.$actif.PHP_EOL.print_r($matches));
|
||||
}
|
||||
$tabInsert['actif']=$actif;
|
||||
if ($actif===null) {
|
||||
//die("siren=$siren".PHP_EOL."sirenLu=$sirenLu".PHP_EOL.$this->body);
|
||||
$this->libErreur='Erreur Actif/Radié non trouvé !';
|
||||
return false;
|
||||
}
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">dénomination<\/span><\/td>(?:.*)<td align="left" colspan="5">(.*)<\/td>/Uis', $this->body, $matches)) {
|
||||
$tabInsert['denomination']=$matches[1];
|
||||
}
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">dénomination<\/span><\/td>(?:.*)<td align="left" colspan="5">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['denomination']=$matches[1];
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">sigle<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['sigle']=$matches[1];
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise"> nom commercial<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['nomCommercial']=$matches[1];
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">enseigne<\/span><\/td>(?:.*)<td align="left" colspan="4">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['enseigne']=$matches[1];
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">forme juridique<\/span><\/td>(?:.*)<td align="left" colspan="5">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['fj']=$matches[1];
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">effectif<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['effectif']=$matches[1];
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">code APRM<\/span><\/td>(?:.*)<td align="left">(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['aprm']=$matches[1];
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">début d\'activité<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['debutActivite']=Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim(strtr(html_entity_decode($matches[1]),chr(160),' ')));
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise"> activité\(s\) exercée\(s\) donnant lieu à immatriculation<\/span>(?:.*)<td colspan="5">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['activite']=trim($matches[1]);
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">adresse de l\'entreprise<\/span><\/td>(?:.*)<td align="left" colspan="5">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['adresse']=trim($matches[1]);
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">code postal<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['cp']=trim($matches[1]);
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">ville<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['ville']=trim($matches[1]);
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">cessation d\'activité<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['cessation']=Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim(strtr(html_entity_decode($matches[1]),chr(160),' ')));
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">radiation du RM<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['radiation']=Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim(strtr(html_entity_decode($matches[1]),chr(160),' ')));
|
||||
$tabEtabs=array();
|
||||
if (preg_match('/<!--deb Etablissements secondaires-->(?:.*)<b class="gris">Aucune inscription complémentaire<\/b>(?:.*)<!--fin Etablissements secondaires-->/Uis', $this->body, $matches))
|
||||
$tabInsert['nbInscriptions']=0;
|
||||
elseif (preg_match('/<!--deb Etablissements secondaires-->(?:.*)<b class="gris">Inscription complémentaire<\/b>(.*)<!--fin Etablissements secondaires-->/Uis', $this->body, $matches)) {
|
||||
$tabInsert['nbInscriptions']=0;
|
||||
if (preg_match_all('/<tr>(?:.*)<td><img alt="" src="inter\/pixtrans\.gif" width="30" height="1"><\/td>(?:.*)<td nowrap>(?:.*)<!-- adresse -->(.*)<\/td>(?:.*)<td nowrap>(?:.*)<!-- code postal et ville -->(.*)<\/td>(?:.*)<td nowrap>(?:.*)<!-- enseigne -->(.*)<\/td>(?:.*)<td>(?:.*)<!-- debut activite -->(.*)<\/td>(?:.*)<td>(?:.*)<!-- fin activite -->(.*)<\/td>(?:.*)<\/tr>/Uis', $matches[1], $matches2)) {
|
||||
foreach ($matches2[1] as $i=>$adresse) {
|
||||
$tabEtabs[$i]['siren'] =$siren;
|
||||
$tabEtabs[$i]['num'] =$i;
|
||||
$tabEtabs[$i]['adresse'] =trim(strtr(html_entity_decode($adresse),chr(160),' '));
|
||||
$tabEtabs[$i]['cpVille'] =trim(strtr(html_entity_decode($matches2[2][$i]),chr(160),' '));
|
||||
$tabEtabs[$i]['enseigne']=trim(strtr(html_entity_decode($matches2[3][$i]),chr(160),' '));
|
||||
$tabEtabs[$i]['actDeb'] =Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim(strtr(html_entity_decode($matches2[4][$i]),chr(160),' ')));
|
||||
$tabEtabs[$i]['actFin'] =Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim(strtr(html_entity_decode($matches2[5][$i]),chr(160),' ')));
|
||||
$tabInsert['nbInscriptions']++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Informations sur la Personne Physique **/
|
||||
if (preg_match('/<a class="turquoise" href="(rm\.php\?dom=Gerer&fonction=dirigeant&dept_re(.*))" onclick="window\.open\(this\.href/Uis', $this->body, $matches)) {
|
||||
$urlDir='http://www.cma-paris.fr/CMP/'.strtr(trim($matches[1]),array('&'=>'&'));
|
||||
//die($urlDir);
|
||||
sleep(rand(1, 2));
|
||||
$page=getUrl($urlDir, $this->cookie, '', $this->referer, false, 'www.cma-paris.fr', false, '', '', 21);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
$this->libErreur='Erreur Artisanat 200d !';
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">nom<\/span><\/td>(?:.*)<td align="left" nowrap>(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['nom']=trim(strtr(html_entity_decode($matches[1]),chr(160),' '));
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">prénom<\/span><\/td>(?:.*)<td align="left" nowrap>(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['prenom']=trim(strtr(html_entity_decode($matches[1]),chr(160),' '));
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">nom d\'usage<\/span><\/td>(?:.*)<td align="left" nowrap>(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['nomUsage']=trim(strtr(html_entity_decode($matches[1]),chr(160),' '));
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"(?:.*)<span class="turquoise"> date de naissance<\/span><\/td>(?:.*)-->(?:.*)<td(?: +)align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['dateNaiss']=Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim(strtr(html_entity_decode($matches[1]),chr(160),' ')));
|
||||
// if (preg_match('/date de naissance(.*)<td background="inter\/pix3_turquoise\.gif" align="right"/Uis', $this->body, $matches))
|
||||
// die(print_r($matches));
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise"> lieu de naissance<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['lieuNaiss']=trim(strtr(html_entity_decode($matches[1]),chr(160),' '));
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">nationalité<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['natio']=trim(strtr(html_entity_decode($matches[1]),chr(160),' '));
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">qualité<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['qualite']=trim(strtr(html_entity_decode($matches[1]),chr(160),' '));
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right" nowrap><span class="turquoise">qualification artisanale<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['qualif']=trim(strtr(html_entity_decode($matches[1]),chr(160),' '));
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">date d\'obtention<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['datequalif']=Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim(strtr(html_entity_decode($matches[1]),chr(160),' ')));
|
||||
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">prise de fonction<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['dateFctDeb']=Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim(strtr(html_entity_decode($matches[1]),chr(160),' ')));
|
||||
if (preg_match('/<td background="inter\/pix3_turquoise\.gif" align="right"><span class="turquoise">fin de fonction<\/span><\/td>(?:.*)<td align="left">(.*)<\/td>/Uis', $this->body, $matches))
|
||||
$tabInsert['dateFctFin']=Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim(strtr(html_entity_decode($matches[1]),chr(160),' ')));
|
||||
|
||||
}
|
||||
|
||||
// Insertion en base de données
|
||||
$tabInsert['dateInsert']=date('Y-m-d H:i:s');
|
||||
$id=$this->iDb->insert('jo.artisanat', $tabInsert, true);
|
||||
$tabInsert['id']=$id;
|
||||
foreach ($tabEtabs as $tabInsert2) {
|
||||
$tabInsert2['dateInsert']=$tabInsert['dateInsert'];
|
||||
$id2=$this->iDb->insert('jo.artisanat_etab', $tabInsert2, true);
|
||||
}
|
||||
|
||||
$tabInsert['dateUpdate']=substr($tabInsert['dateInsert'],0,10);
|
||||
unset($tabInsert['dateInsert']);
|
||||
}
|
||||
return $tabInsert;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
149
library/Metier/Partenaires/MBanques.php
Normal file
149
library/Metier/Partenaires/MBanques.php
Normal file
@ -0,0 +1,149 @@
|
||||
<?php
|
||||
class Metier_Partenaires_MBanques
|
||||
{
|
||||
public $tabActivite = array(
|
||||
0=>'établissements et services autorisés à effectuer des opérations de banque',
|
||||
1=>'banques',
|
||||
2=>'banques mutualistes ou coopératives',
|
||||
4=>'caisses de crédit municipal',
|
||||
5=>'sociétés financières 5', // la distinction entre les codes 5 et 6 ne concerne que les
|
||||
6=>'sociétés financières 6', // applications internes à la Banque de France
|
||||
7=>'institutions financières spécialisées',
|
||||
9=>'entreprises d\'investissement'
|
||||
);
|
||||
|
||||
public $tabNatureGuichet = array(
|
||||
1=>'Guichet permanent de plein exercice domiciliataire (ouvert au public)',
|
||||
2=>'Identifiant de domiciliation (adresse active 5 jours par semaine)',
|
||||
3=>'Guichet permanent non domiciliataire (ouvert au public)',
|
||||
4=>'Libre Prestation de services (LPS)',
|
||||
'A'=>'Guichet fictif',
|
||||
'P'=>'Guichet fictif'
|
||||
);
|
||||
|
||||
public $tabOrgane = array(
|
||||
0=>'Association française des établissements de crédit et des entreprises d\'investissement',
|
||||
11=>'Association française des sociétés financières',
|
||||
12=>'Groupement des institutions financières spécialisées',
|
||||
13=>'Conférence permanente des caisses de crédit municipal',
|
||||
14=>'Association française des entreprises d\'investissement',
|
||||
15=>'Association française des entreprises d\'investissement-courtiers',
|
||||
16=>'Association française des fonds et sociétés d\'investissements et de gestion d\'actifs financiers',
|
||||
17=>'Association française des intermédiaires transmetteurs d\'ordres ',
|
||||
18=>'Fédération bancaire française',
|
||||
19=>'Ass Franc Marchés Financiers',
|
||||
20=>'Caisse nationale de crédit agricole',
|
||||
21=>'Chambre syndicale des banques populaires',
|
||||
22=>'Confédération nationale du crédit mutuel',
|
||||
23=>'Caisse centrale de crédit coopératif',
|
||||
25=>'Caisse nationale des caisses d\'épargne et de prévoyance',
|
||||
27=>'Chambre syndicale des SACI',
|
||||
28=>'Double affiliation CNCE-BFBP',
|
||||
29=>'Crédit Immobilier France Développement',
|
||||
30=>'BPCE',
|
||||
98=>'non concerné',
|
||||
99=>'en instance d\'adhésion'
|
||||
);
|
||||
|
||||
protected $iDb;
|
||||
|
||||
function __construct($db = null)
|
||||
{
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
function getInfoBanque($codeBanque)
|
||||
{
|
||||
$ret = $this->iDb->select(
|
||||
'insee.BDF_Etabs',
|
||||
'bdfFibCodeEtab, bdfFibCodeSituation, bdfFibDenom40, bdfFibDenom10, bdfFibCodeActivite, bdfFibCodeOrganeRepr, bdfFibDateAgrement, bdfFibDateRetraitAgr, bdfFibDateFinDiffus, bdfFibAdresse1, bdfFibAdresse2, bdfFibAdresse3, CP, Ville, bdfFibCodeEtabAbsorb, bdfFibOptionIdInvar, bdfFibDateOptIdInvar',
|
||||
"bdfFibCodeEtab=$codeBanque",false, MYSQL_ASSOC);
|
||||
//echo mysql_error();
|
||||
$tabRet=$ret[0];
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
function getInfoGuichet($codeBanque, $codeGuichet)
|
||||
{
|
||||
$tabBanque=$this->getInfoBanque($codeBanque);
|
||||
$tabTel=$this->getTelGuichet($codeBanque,$codeGuichet);
|
||||
$ret = $this->iDb->select(
|
||||
'insee.BDF_Guichets',
|
||||
'bdfFibCodeEtab, bdfFibCodeGuichet, bdfFibCodeSituation AS guichetCodeSituation, bdfFibDenom40 AS guichetDenom40, bdfFibDenom20 AS guichetDenom20, bdfFibCodeEtabCible, bdfFibCodeGuichetRepr, bdfFibCodeGeoInsee, bdfFibCodeLocalite1, bdfFibCodeLocalite2, bdfFibComptoirBDF, bdfFibAdresse1 AS guichetAdresse1, bdfFibAdresse2 AS guichetAdresse2, bdfFibAdresse3 AS guichetAdresse3, CP AS guichetCP, Ville AS guichetVille, bdfFibAdresseSWIFT, bdfFibDateOuverture, bdfFibDateFermeture, bdfFibDateFinDiffus, bdfFibCodeRoutage, bdfFibLibelleRIB, bdfFibNatureGuichet, bdfFibCodeAchOperBDF, bdfFibNomComptoirBDF',
|
||||
"bdfFibCodeEtab=$codeBanque AND bdfFibCodeGuichet=$codeGuichet",false, MYSQL_ASSOC);
|
||||
//echo mysql_error();
|
||||
if (isset($ret[0]))
|
||||
$tabRet=@$ret[0];
|
||||
else
|
||||
$tabRet=array();
|
||||
|
||||
return array_merge($tabRet, $tabBanque, $tabTel);
|
||||
}
|
||||
|
||||
function getTelGuichet($codeBanque, $codeGuichet)
|
||||
{
|
||||
$ret = $this->iDb->select(
|
||||
'insee.Mandel_banques',
|
||||
'Tel, Fax',
|
||||
"CodeB=$codeBanque AND CodeG=$codeGuichet",false, MYSQL_ASSOC);
|
||||
if (isset($ret[0]))
|
||||
return $ret[0];
|
||||
else
|
||||
return array();
|
||||
}
|
||||
|
||||
function getListeBanques($siren)
|
||||
{
|
||||
$tabRet = array();
|
||||
if ($siren*1>1000) {
|
||||
$res=$this->iDb->select('insee.banques', 'codeBanque, codeGuichet, libBanqueGuichet, precis, dateSource*1 AS dateSource', "siren=$siren", false, MYSQL_ASSOC);
|
||||
$tmp=$this->iDb->select('insee.fedRib', "codeBanque, codeGuichet, CONCAT(libBanque,' ',libGuichet) AS libBanqueGuichet, 0 AS precis, IF (dateInfo='0000-00-00', dateDispo*1, dateInfo*1) AS dateSource", "siren=$siren", false, MYSQL_ASSOC);
|
||||
$res=array_merge($res, $tmp);
|
||||
foreach ($res as $tabBanque) {
|
||||
$dateSource=$tabBanque['dateSource'];
|
||||
$codBanque=$tabBanque['codeBanque'];
|
||||
$codGuichet=$tabBanque['codeGuichet'];
|
||||
$libBanque=trim($tabBanque['libBanqueGuichet']);
|
||||
$found=false;
|
||||
$adrBanque1=$adrBanque2=$adrBanqueCP=$adrBanqueVille='';
|
||||
|
||||
if ($codBanque>0 && $codGuichet>0 && $dateSource>(date('Y')-4)*10000+101 && $dateSource<date('Ymd')) {
|
||||
$tmp=$this->iDb->select('insee.BDF_Etabs b, insee.BDF_Guichets g', 'g.bdfFibCodeEtab AS banque, g.bdfFibCodeGuichet AS guichet, b.bdfFibDenom40 AS nomBanque, b.bdfFibDenom10 AS sigleBanque, g.bdfFibDenom20 AS nomGuichet, g.bdfFibAdresse1 AS adresse1, g.bdfFibAdresse2 AS adresse2, g.bdfFibAdresse3 AS adresse3, g.CP, g.Ville', "g.bdfFibCodeEtab=$codBanque AND g.bdfFibCodeGuichet=$codGuichet AND b.bdfFibCodeEtab=g.bdfFibCodeEtab", false, MYSQL_ASSOC);
|
||||
if (isset($tmp[0])) {
|
||||
$libBanque=trim($tmp[0]['nomBanque'].' '.$tmp[0]['nomGuichet']);
|
||||
$adrBanque1=$tmp[0]['adresse1'];
|
||||
$adrBanque2=trim($tmp[0]['adresse2'].' '.$tmp[0]['adresse3']);
|
||||
$adrBanqueCP=$tmp[0]['CP'];
|
||||
$adrBanqueVille=$tmp[0]['Ville'];
|
||||
$found=true;
|
||||
};
|
||||
}
|
||||
if (!$found && $codBanque>0 && $dateSource>(date('Y')-4)*10000+101 && $dateSource<date('Ymd')) {
|
||||
$tmp=$this->iDb->select('insee.BDF_Etabs', "bdfFibCodeEtab AS banque, '' AS guichet, bdfFibDenom40 AS nomBanque, '' AS nomGuichet, '' AS adresse1, '' AS adresse2, '' AS adresse3, '' AS CP, '' AS Ville", "bdfFibCodeEtab=$codBanque", false, MYSQL_ASSOC);
|
||||
if (isset($tmp[0])) {
|
||||
$libBanque=trim($tmp[0]['nomBanque'].' '.$tmp[0]['nomGuichet']);
|
||||
$adrBanque1=$tmp[0]['adresse1'];
|
||||
$adrBanque2=trim($tmp[0]['adresse2'].' '.$tmp[0]['adresse3']);
|
||||
$adrBanqueCP=$tmp[0]['CP'];
|
||||
$adrBanqueVille=$tmp[0]['Ville'];
|
||||
} else continue;
|
||||
} else continue;
|
||||
|
||||
$tabRet[] = array(
|
||||
'codeBanque' => $codBanque,
|
||||
'codeGuichet' => $codGuichet,
|
||||
'libBanque' => $libBanque,
|
||||
'adresse1' => $adrBanque1,
|
||||
'adresse2' => $adrBanque2,
|
||||
'cp' => $adrBanqueCP,
|
||||
'ville' => $adrBanqueVille,
|
||||
);
|
||||
}
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
}
|
985
library/Metier/Partenaires/MBilans.php
Normal file
985
library/Metier/Partenaires/MBilans.php
Normal file
@ -0,0 +1,985 @@
|
||||
<?php
|
||||
class Metier_Partenaires_MBilans
|
||||
{
|
||||
/**
|
||||
* Siren de l'entité
|
||||
* @var string
|
||||
*/
|
||||
public $siren;
|
||||
|
||||
public $dernierExerciceDepose = 0;
|
||||
|
||||
public $dernierExerciceDeposeLe = 0;
|
||||
|
||||
/**
|
||||
* Date de fin de recherche des événements AAAAMMJJ
|
||||
* Envoyer cette date à toutes les méthodes
|
||||
* @var string
|
||||
*/
|
||||
protected $companyEvenDateStop = null;
|
||||
|
||||
/**
|
||||
* Stockage mémoire
|
||||
* @var array
|
||||
*/
|
||||
protected $Bilans = array();
|
||||
|
||||
/**
|
||||
* Tableau de conversion basique pour la méthode bilanSimplifie2Normal
|
||||
* @var array
|
||||
*/
|
||||
protected $tabBS2BN = array(
|
||||
//2033 ACTIF PASSIF
|
||||
'AH' => '010',
|
||||
'AI' => '012',
|
||||
'AI1' => '013',
|
||||
'AI2' => 'N00',
|
||||
|
||||
'AJ' => '014',
|
||||
'AK' => '016',
|
||||
'AK1' => '017',
|
||||
'AK2' => 'N01',
|
||||
|
||||
'AT' => '028',
|
||||
'AU' => '030',
|
||||
'AU1' => '031',
|
||||
'AU2' => 'N02',
|
||||
|
||||
'BH' => '040',
|
||||
'BI' => '042',
|
||||
'BI1' => '043',
|
||||
'BI2' => 'N03',
|
||||
|
||||
'BJ' => '044',
|
||||
'BK' => '048',
|
||||
'BK1' => '049',
|
||||
'BK2' => 'N04',
|
||||
|
||||
'BT' => '060',
|
||||
'BU' => '062',
|
||||
'BU1' => '063',
|
||||
'BU2' => 'N06',
|
||||
|
||||
'BV' => '064',
|
||||
'BW' => '066',
|
||||
'BW1' => '067',
|
||||
'BW2' => 'N07',
|
||||
|
||||
'BX' => '068',
|
||||
'BY' => '070',
|
||||
'BY1' => '071',
|
||||
'BY2' => 'N08',
|
||||
|
||||
'BZ' => '072',
|
||||
'CA' => '074',
|
||||
'CA1' => '075',
|
||||
'CA2' => 'N09',
|
||||
|
||||
'CD' => '080',
|
||||
'CE' => '082',
|
||||
'CE1' => '083',
|
||||
'CE2' => 'N10',
|
||||
|
||||
'CF' => '084',
|
||||
'CG' => '086',
|
||||
'CG1' => '087',
|
||||
'CG2' => 'N11',
|
||||
|
||||
'CH' => '092',
|
||||
'CI' => '094',
|
||||
'CI1' => '095',
|
||||
'CI2' => 'N13',
|
||||
|
||||
'CJ' => '096',
|
||||
'CK' => '098',
|
||||
'CK1' => '099',
|
||||
'CK2' => 'N14',
|
||||
|
||||
'CO' => '110',
|
||||
'1A' => '112',
|
||||
'1A1' => '113',
|
||||
'1A2' => 'N15',
|
||||
|
||||
'DA' => '120',
|
||||
'DA1' => 'N16',
|
||||
|
||||
'DC' => '124',
|
||||
'DC1' => 'N17',
|
||||
|
||||
'DD' => '126',
|
||||
'DD1' => 'N18',
|
||||
|
||||
'DF' => '130',
|
||||
'DF1' => 'N19',
|
||||
|
||||
'DG' => '132',
|
||||
'DG1' => 'N20',
|
||||
|
||||
'DH' => '134',
|
||||
'DH1' => 'N21',
|
||||
|
||||
'DI' => '136',
|
||||
'DI1' => 'N22',
|
||||
|
||||
'DK' => '140',
|
||||
'DK1' => 'N23',
|
||||
|
||||
'DL' => '142',
|
||||
'DL1' => 'N24',
|
||||
|
||||
'DR' => '154',
|
||||
'DR1' => 'N25',
|
||||
|
||||
'DU' => '156',
|
||||
'DU1' => 'N26',
|
||||
|
||||
'DW' => '164',
|
||||
'DW1' => 'N27',
|
||||
|
||||
'DX' => '166',
|
||||
'DX1' => 'N28',
|
||||
|
||||
'EA' => '172',
|
||||
'EA1' => 'N29',
|
||||
|
||||
'EB' => '174',
|
||||
'EB1' => 'N30',
|
||||
|
||||
'EC' => '176',
|
||||
'EC1' => 'N31',
|
||||
|
||||
'EE' => '180',
|
||||
'EE1' => 'N32',
|
||||
|
||||
'EH' => '156-195',
|
||||
|
||||
//2033 CDR
|
||||
'FA' => '210-209',
|
||||
'FB' => '209',
|
||||
'FC' => '210',
|
||||
'FC1' => 'N33',
|
||||
|
||||
'FD' => '214-215',
|
||||
'FE' => '215',
|
||||
'FF' => '214',
|
||||
'FF1' => 'N34',
|
||||
|
||||
'FG' => '218-217',
|
||||
'FH' => '217',
|
||||
'FI' => '218',
|
||||
'FI1' => 'N35',
|
||||
|
||||
'FJ' => '210+214+218-209-215-217',
|
||||
'FK' => '209+215+217',
|
||||
'FL' => '210+214+218',
|
||||
'FL1' => 'N33+N34+N35',
|
||||
|
||||
'FM' => '222',
|
||||
'FM1' => 'N36',
|
||||
|
||||
'FN' => '224',
|
||||
'FN1' => 'N37',
|
||||
|
||||
'FO' => '226',
|
||||
'FO1' => 'N38',
|
||||
|
||||
'FQ' => '230',
|
||||
'FQ1' => 'N39',
|
||||
|
||||
'FR' => '232',
|
||||
'FR1' => 'N40',
|
||||
|
||||
'FS' => '234',
|
||||
'FS1' => 'N41',
|
||||
|
||||
'FT' => '236',
|
||||
'FT1' => 'N42',
|
||||
|
||||
'FU' => '238',
|
||||
'FU1' => 'N43',
|
||||
|
||||
'FV' => '240',
|
||||
'FV1' => 'N44',
|
||||
|
||||
'FW' => '242',
|
||||
'FW1' => 'N45',
|
||||
|
||||
'FX' => '244',
|
||||
'FX1' => 'N46',
|
||||
|
||||
'FY' => '250',
|
||||
'FY1' => 'N47',
|
||||
|
||||
'FZ' => '252',
|
||||
'FZ1' => 'N48',
|
||||
|
||||
'GA' => '254',
|
||||
'GA1' => 'N49',
|
||||
|
||||
'GE' => '262',
|
||||
'GE1' => 'N50',
|
||||
|
||||
'GF' => '264',
|
||||
'GF1' => 'N52',
|
||||
|
||||
'GG' => '270',
|
||||
'GG1' => 'N53',
|
||||
|
||||
'GP' => '280',
|
||||
'GP1' => 'N54',
|
||||
|
||||
'GU' => '294',
|
||||
'GU1' => 'N56',
|
||||
|
||||
'GV' => '280-294', //GP-GU
|
||||
'GV1' => 'N54-N56', //GP1-GU1
|
||||
|
||||
'GW' => '270+280-294', //GG+GH-GI+GV ???
|
||||
'GW1' => 'N53+N54-N56',
|
||||
|
||||
'HD' => '290',
|
||||
'HD1' => 'N55',
|
||||
|
||||
'HH' => '300',
|
||||
'HH1' => 'N57',
|
||||
|
||||
'HI' => '290-300',
|
||||
'HI1' => 'N55-N57',
|
||||
|
||||
'HK' => '306',
|
||||
'HK1' => 'N58',
|
||||
|
||||
'HL' => '232+280+290',
|
||||
'HL1' => 'N40+N54+N55',
|
||||
|
||||
'HM' => '264+294+300+306',
|
||||
'HM1' => 'N52+N56+N57+N58',
|
||||
|
||||
'HN' => '310',
|
||||
'HN1' => 'N59',
|
||||
|
||||
'YY' => '374',
|
||||
|
||||
'YZ' => '378',
|
||||
|
||||
'YP' => '376',
|
||||
);
|
||||
|
||||
protected $iDb;
|
||||
|
||||
/**
|
||||
* MBilans
|
||||
* @param string $siren
|
||||
* @param string $db
|
||||
*/
|
||||
public function __construct($siren, $db = null)
|
||||
{
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
|
||||
$this->siren = $siren;
|
||||
}
|
||||
|
||||
/**
|
||||
* Défini une date limite de prise en compte des événements
|
||||
* @param string $date AAAAMMJJ
|
||||
*/
|
||||
public function setEvenLimit($date)
|
||||
{
|
||||
$this->companyEvenDateStop = $date;
|
||||
}
|
||||
|
||||
/**
|
||||
* Défini la date du dernier exercice
|
||||
* @param string $accesPartenaire
|
||||
*/
|
||||
public function listeBilansDepose($accesPartenaire = false)
|
||||
{
|
||||
$where = "siren='$this->siren' AND Rubrique='comptes' ORDER BY dateEffet DESC";
|
||||
if ($this->companyEvenDateStop !== null) {
|
||||
$where = "siren='$this->siren' AND Rubrique='comptes' AND dateEffet<'".$this->companyEvenDateStop."' ORDER BY dateEffet DESC";
|
||||
}
|
||||
$result = $this->iDb->select('jo.bodacc_detail', 'Bodacc_Date_Parution, dateEffet, typeEven', $where, false, MYSQL_ASSOC);
|
||||
if ( count($result) > 0 ) {
|
||||
$dateDerDepot = Metier_Util_Date::dateT('Y-m-d','Ymd',$result[0]['dateEffet'])*1;
|
||||
if ($dateDerDepot != 0) {
|
||||
$this->dernierExerciceDepose = Metier_Util_Date::dateT('Y-m-d','d/m/Y',$result[0]['dateEffet']);
|
||||
$this->dernierExerciceDeposeLe = Metier_Util_Date::dateT('Y-m-d','d/m/Y',$result[0]['Bodacc_Date_Parution']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liste les bilans disponibles au format numérique (et non PDF image) pour une entreprise
|
||||
* @param boolean $accesPartenaire
|
||||
* Accès autorisé aux partenaires distant si le bilan est absent
|
||||
* @param number $nbMaxBilans
|
||||
* Nombre de bilans maximums retournés
|
||||
* @return array
|
||||
*/
|
||||
public function listeBilans($accesPartenaire = false, $nbMaxBilans = 0)
|
||||
{
|
||||
$dateDerDepot = 0;
|
||||
$tabRet = $tabRet2 = $tabRet3 = array();
|
||||
|
||||
if ($nbMaxBilans>0) $limit="LIMIT 0, $nbMaxBilans";
|
||||
else $limit='';
|
||||
|
||||
$where = "siren='$this->siren' ORDER BY dateExercice DESC, CASE typeBilan WHEN 'N' THEN 1 WHEN 'S' THEN 2 ELSE 3 END $limit";
|
||||
if ($this->companyEvenDateStop !== null) {
|
||||
$where = "siren='$this->siren' AND dateExercice<'".$this->companyEvenDateStop."' ORDER BY dateExercice DESC, CASE typeBilan WHEN 'N' THEN 1 WHEN 'S' THEN 2 ELSE 3 END $limit";
|
||||
}
|
||||
$ret = $this->iDb->select('jo.bilans',
|
||||
'typeBilan, dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaieOrigine, dateInsert, partenaire',
|
||||
$where, false, MYSQL_ASSOC);
|
||||
|
||||
$tabTri = array();
|
||||
|
||||
if ( count($ret) > 0 ) {
|
||||
foreach ($ret as $i => $bil) {
|
||||
$millesime = Metier_Util_Date::dateT('Ymd','d/m/Y',$bil['dateExercice']);
|
||||
$tabRet[''.$bil['typeBilan'].$millesime] = array(
|
||||
'dateProvPartenaire' => $bil['dateProvPartenaire'],
|
||||
'dateInsert' => strtr($bil['dateInsert'], array(' '=>'',':'=>'','-'=>'')),
|
||||
'typeBilan' => $bil['typeBilan'], // NEW
|
||||
'dureeExercice' => $bil['dureeExercice'],// NEW
|
||||
'dateExercice' => $bil['dateExercice'],
|
||||
'millesime' => substr($bil['dateExercice'],0,4),
|
||||
'dateExercicePre' => $bil['dateExercicePre'],
|
||||
'dureeExercicePre' => $bil['dureeExercicePre'],
|
||||
'monnaie' => $bil['monnaieOrigine'],
|
||||
'source' => $bil['partenaire'],
|
||||
);
|
||||
$tabTri[''.$bil['dateExercice'].'-'.$bil['typeBilan']] = $bil['typeBilan'].$millesime;
|
||||
}
|
||||
krsort($tabTri);
|
||||
|
||||
$exercicePre = $typePre = $tmpPre = false;
|
||||
$refPre='';
|
||||
foreach ($tabTri as $tmp => $typeMillesime) {
|
||||
$exercice = substr($tmp,0,8);
|
||||
$type = substr($tmp,9,1);
|
||||
$ref = $tabRet[''.$typeMillesime]['ref'];
|
||||
if ($exercice==$exercicePre && $type=='N' && $typePre=='S' && $refPre=='') {
|
||||
// Suppression du bilan RN de la liste si Réel Normal et Réel Simplifiés présents en base
|
||||
unset($tabTri[$tmp]);
|
||||
}
|
||||
elseif ($exercice==$exercicePre && $type=='N' && $typePre=='S' && $refPre<>'') {
|
||||
// Suppression du bilan RS de la liste si Réel Normal Présent en base et réel simplifié non encore en base
|
||||
if ($tmpPre<>false) {
|
||||
unset($tabTri[$tmpPre]);
|
||||
}
|
||||
}
|
||||
$exercicePre=$exercice;
|
||||
$typePre = $type;
|
||||
$refPre = @trim($ref);
|
||||
$tmpPre = $tmp;
|
||||
}
|
||||
krsort($tabTri);
|
||||
|
||||
$tabRet3=array();
|
||||
foreach ($tabTri as $tmp => $typeMillesime) {
|
||||
$tabRet3[''.$typeMillesime] = $tabRet[''.$typeMillesime];
|
||||
}
|
||||
}
|
||||
|
||||
return $tabRet3;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne un bilan disponible au format numérique pour une entreprise
|
||||
* @param string $millesime
|
||||
* Date de cloture du bilan au format d/m/Y
|
||||
* @param string $typeBilan
|
||||
* Type de bilan (N=Réel Normal, S=Réel Simplifié, C=Consolidé, A=Assurance, B=Banque)
|
||||
* @param number $refPart
|
||||
* Référence du bilan chez le partenaire (si $accesPartenaire=true)
|
||||
* @param string $accesPartenaire
|
||||
* Accès autorisé aux partenaires distant si le bilan est absent
|
||||
* @return array
|
||||
*/
|
||||
public function getBilan($millesime='', $typeBilan='N', $refPart=0, $accesPartenaire=false)
|
||||
{
|
||||
// Get bilan in memory
|
||||
if (count($this->Bilans) > 0 && array_key_exists($typeBilan.$millesime, $this->Bilans)) {
|
||||
return $this->Bilans[$typeBilan.$millesime];
|
||||
}
|
||||
|
||||
$clotureDate = new Zend_Date($millesime, 'dd/MM/yyyy');
|
||||
$clotureDateSql = $clotureDate->toString('yyyyMMdd');
|
||||
if ($accesPartenaire) {
|
||||
// On ne veut pas de bilans "Téléchargés" directement sur Internet
|
||||
$strSansBilansWeb=' AND partenaire<>7 ';
|
||||
} else {
|
||||
$strSansBilansWeb='';
|
||||
}
|
||||
|
||||
$bilan = null;
|
||||
|
||||
$ret = $this->iDb->select('jo.bilans',
|
||||
'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes, partenaire, id, confidentiel, dateInsert',
|
||||
"siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice='$clotureDateSql' $strSansBilansWeb", false, MYSQL_ASSOC);
|
||||
|
||||
// --- Selection du premier bilan
|
||||
if (count($ret) > 0) {
|
||||
$bilan = $ret[0];
|
||||
}
|
||||
|
||||
$tabBilan = $tabBilanPre = $bilanPre = array();
|
||||
|
||||
if ($bilan !== null) {
|
||||
$tabBilan['SIREN'] = $this->siren;
|
||||
$tabBilan['DATE_FRAICHE_BILAN'] = $bilan['dateProvPartenaire']; // SSAAMMJJ
|
||||
$tabBilan['DATE_CLOTURE'] = $bilan['dateExercice']; // SSAAMMJJ
|
||||
$tabBilan['DATE_CLOTURE_PRE'] = $bilan['dateExercicePre']; // SSAAMMJJ
|
||||
$tabBilan['DUREE_MOIS'] = $bilan['dureeExercice'];
|
||||
$tabBilan['DUREE_MOIS_PRE'] = $bilan['dureeExercicePre'];
|
||||
$tabBilan['MONNAIE'] = $bilan['monnaie'];
|
||||
$tabBilan['CONSOLIDE'] = $bilan['typeBilan']; // C = Bilan consolidé
|
||||
$tabBilan['MONNAIE_ORI'] = $bilan['monnaieOrigine'];
|
||||
$tabBilan['MONNAIE_LIV_UNITE'] = $bilan['unite'];
|
||||
$tabBilan['SOURCE'] = $bilan['partenaire'];
|
||||
$tabBilan['ID_BILAN_SD'] = $bilan['id'];
|
||||
$tabBilan['DATE_BILAN_SD'] = $bilan['dateInsert'];
|
||||
$tabBilan['TOP_CONFIDENTIEL'] = $bilan['confidentiel'];
|
||||
|
||||
// --- Devise et Unité
|
||||
if ($bilan['monnaie']=='EUR') $monnaie='€'; else $monnaie=$bilan['monnaie'];
|
||||
switch (strtoupper($bilan['unite'])) {
|
||||
case 'K': $unite='K'; break;
|
||||
case 'U':
|
||||
case ' ':
|
||||
case '' : $unite=''; break;
|
||||
case 'M': $unite='M'; break;
|
||||
default: die('Unite Bilan ('. $bilan['unite'] .') non prise en charge !'); break;
|
||||
}
|
||||
$tabBilan['devise'] = /*$unite.*/$monnaie;
|
||||
|
||||
/** Remplissage du tableau des postes du Bilan avec prise en compte de l'unité de la monnaie **/
|
||||
$tabTmp=explode(';', $bilan['postes']);
|
||||
foreach ($tabTmp as $i=>$strTmp) {
|
||||
$tabTmp2=explode('=', $strTmp);
|
||||
if (isset($tabTmp2[1])) {
|
||||
if ( ($unite=='K' || $unite=='M') && !in_array($tabTmp2[0], array(
|
||||
'YP', 'YP1', '376', // Effectifs 2033 et 2050
|
||||
'M2G', 'M2H', // Autres effectifs
|
||||
'ZK', 'ZK1', // Taux
|
||||
'IJ', 'JG', 'JH', 'JJ', 'ZR', // pour holding/ste mere
|
||||
'XP' // Numero de centre de gestion agréé
|
||||
) ) ) {
|
||||
if ($unite=='K') {
|
||||
$tabBilan[$tabTmp2[0]]=$tabTmp2[1]*1000;
|
||||
} else if ($unite=='M') {
|
||||
$tabBilan[$tabTmp2[0]]=$tabTmp2[1]*1000000;
|
||||
}
|
||||
} else {
|
||||
$tabBilan[$tabTmp2[0]]=$tabTmp2[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Calcul des valeures NET si l'information est absente en base **/
|
||||
if ($tabBilan['CONSOLIDE']=='N' || $tabBilan['CONSOLIDE']=='C') {
|
||||
if (!isset($tabBilan['AA2']) && isset($tabBilan['AA'])) $tabBilan['AA2']=$tabBilan['AA'];
|
||||
if (!isset($tabBilan['AC1']) && (isset($tabBilan['AB'])||isset($tabBilan['AC']))) $tabBilan['AC1']=$tabBilan['AB']-$tabBilan['AC'];
|
||||
if (!isset($tabBilan['AE1']) && (isset($tabBilan['AD'])||isset($tabBilan['AE']))) $tabBilan['AE1']=$tabBilan['AD']-$tabBilan['AE'];
|
||||
if (!isset($tabBilan['AG1']) && (isset($tabBilan['AF'])||isset($tabBilan['AG']))) $tabBilan['AG1']=$tabBilan['AF']-$tabBilan['AG'];
|
||||
if (!isset($tabBilan['AI1']) && (isset($tabBilan['AH'])||isset($tabBilan['AI']))) $tabBilan['AI1']=$tabBilan['AH']-$tabBilan['AI'];
|
||||
if (!isset($tabBilan['AK1']) && (isset($tabBilan['AJ'])||isset($tabBilan['AK']))) $tabBilan['AK1']=$tabBilan['AJ']-$tabBilan['AK'];
|
||||
if (!isset($tabBilan['AM1']) && (isset($tabBilan['AL'])||isset($tabBilan['AM']))) $tabBilan['AM1']=$tabBilan['AL']-$tabBilan['AM'];
|
||||
if (!isset($tabBilan['AO1']) && (isset($tabBilan['AN'])||isset($tabBilan['AO']))) $tabBilan['AO1']=$tabBilan['AN']-$tabBilan['AO'];
|
||||
if (!isset($tabBilan['AQ1']) && (isset($tabBilan['AP'])||isset($tabBilan['AQ']))) $tabBilan['AQ1']=$tabBilan['AP']-$tabBilan['AQ'];
|
||||
if (!isset($tabBilan['AS1']) && (isset($tabBilan['AR'])||isset($tabBilan['AS']))) $tabBilan['AS1']=$tabBilan['AR']-$tabBilan['AS'];
|
||||
if (!isset($tabBilan['AU1']) && (isset($tabBilan['AT'])||isset($tabBilan['AU']))) $tabBilan['AU1']=$tabBilan['AT']-$tabBilan['AU'];
|
||||
if (!isset($tabBilan['AW1']) && (isset($tabBilan['AV'])||isset($tabBilan['AW']))) $tabBilan['AW1']=$tabBilan['AV']-$tabBilan['AW'];
|
||||
if (!isset($tabBilan['AY1']) && (isset($tabBilan['AX'])||isset($tabBilan['AY']))) $tabBilan['AY1']=$tabBilan['AX']-$tabBilan['AY'];
|
||||
if (!isset($tabBilan['CT1']) && (isset($tabBilan['CS'])||isset($tabBilan['CT']))) $tabBilan['CT1']=$tabBilan['CS']-$tabBilan['CT'];
|
||||
if (!isset($tabBilan['CV1']) && (isset($tabBilan['CU'])||isset($tabBilan['CV']))) $tabBilan['CV1']=$tabBilan['CU']-$tabBilan['CV'];
|
||||
if (!isset($tabBilan['BC1']) && (isset($tabBilan['BB'])||isset($tabBilan['BC']))) $tabBilan['BC1']=$tabBilan['BB']-$tabBilan['BC'];
|
||||
if (!isset($tabBilan['BE1']) && (isset($tabBilan['BD'])||isset($tabBilan['BE']))) $tabBilan['BE1']=$tabBilan['BD']-$tabBilan['BE'];
|
||||
if (!isset($tabBilan['BG1']) && (isset($tabBilan['BF'])||isset($tabBilan['BG']))) $tabBilan['BG1']=$tabBilan['BF']-$tabBilan['BG'];
|
||||
if (!isset($tabBilan['BI1']) && (isset($tabBilan['BH'])||isset($tabBilan['BI']))) $tabBilan['BI1']=$tabBilan['BH']-$tabBilan['BI'];
|
||||
if (!isset($tabBilan['BK1']) && (isset($tabBilan['BJ'])||isset($tabBilan['BK']))) $tabBilan['BK1']=$tabBilan['BJ']-$tabBilan['BK'];
|
||||
if (!isset($tabBilan['BM1']) && (isset($tabBilan['BL'])||isset($tabBilan['BM']))) $tabBilan['BM1']=$tabBilan['BL']-$tabBilan['BM'];
|
||||
if (!isset($tabBilan['BO1']) && (isset($tabBilan['BN'])||isset($tabBilan['BO']))) $tabBilan['BO1']=$tabBilan['BN']-$tabBilan['BO'];
|
||||
if (!isset($tabBilan['BQ1']) && (isset($tabBilan['BP'])||isset($tabBilan['BQ']))) $tabBilan['BQ1']=$tabBilan['BP']-$tabBilan['BQ'];
|
||||
if (!isset($tabBilan['BS1']) && (isset($tabBilan['BR'])||isset($tabBilan['BS']))) $tabBilan['BS1']=$tabBilan['BR']-$tabBilan['BS'];
|
||||
if (!isset($tabBilan['BU1']) && (isset($tabBilan['BT'])||isset($tabBilan['BU']))) $tabBilan['BU1']=$tabBilan['BT']-$tabBilan['BU'];
|
||||
if (!isset($tabBilan['BW1']) && (isset($tabBilan['BV'])||isset($tabBilan['BW']))) $tabBilan['BW1']=$tabBilan['BV']-$tabBilan['BW'];
|
||||
if (!isset($tabBilan['BY1']) && (isset($tabBilan['BX'])||isset($tabBilan['BY']))) $tabBilan['BY1']=$tabBilan['BX']-$tabBilan['BY'];
|
||||
if (!isset($tabBilan['CA1']) && (isset($tabBilan['BZ'])||isset($tabBilan['CA']))) $tabBilan['CA1']=$tabBilan['BZ']-$tabBilan['CA'];
|
||||
if (!isset($tabBilan['CC1']) && (isset($tabBilan['CB'])||isset($tabBilan['CC']))) $tabBilan['CC1']=$tabBilan['CB']-$tabBilan['CC'];
|
||||
if (!isset($tabBilan['CE1']) && (isset($tabBilan['CD'])||isset($tabBilan['CE']))) $tabBilan['CE1']=$tabBilan['CD']-$tabBilan['CE'];
|
||||
if (!isset($tabBilan['CG1']) && (isset($tabBilan['CF'])||isset($tabBilan['CG']))) $tabBilan['CG1']=$tabBilan['CF']-$tabBilan['CG'];
|
||||
if (!isset($tabBilan['CI1']) && (isset($tabBilan['CH'])||isset($tabBilan['CI']))) $tabBilan['CI1']=$tabBilan['CH']-$tabBilan['CI'];
|
||||
if (!isset($tabBilan['CK1']) && (isset($tabBilan['CJ'])||isset($tabBilan['CK']))) $tabBilan['CK1']=$tabBilan['CJ']-$tabBilan['CK'];
|
||||
|
||||
if (!isset($tabBilan['CL2']) && isset($tabBilan['CL'])) $tabBilan['CL2']=$tabBilan['CL'];
|
||||
if (!isset($tabBilan['CM2']) && isset($tabBilan['CM'])) $tabBilan['CM2']=$tabBilan['CM'];
|
||||
if (!isset($tabBilan['CN2']) && isset($tabBilan['CN'])) $tabBilan['CN2']=$tabBilan['CN'];
|
||||
|
||||
if (!isset($tabBilan['1A1']) && (isset($tabBilan['CO'])||isset($tabBilan['1A']))) $tabBilan['1A1']=$tabBilan['CO']-$tabBilan['1A'];
|
||||
}
|
||||
elseif ($tabBilan['CONSOLIDE']=='S') {
|
||||
//if (!isset($tabBilan['AC1']) && (isset($tabBilan['AB'])||isset($tabBilan['AC']))) $tabBilan['AC1']=$tabBilan['AB']-$tabBilan['AC'];
|
||||
if (!isset($tabBilan['013']) && (isset($tabBilan['010'])||isset($tabBilan['012']))) $tabBilan['013']=$tabBilan['010']-$tabBilan['012'];
|
||||
if (!isset($tabBilan['017']) && (isset($tabBilan['014'])||isset($tabBilan['016']))) $tabBilan['017']=$tabBilan['014']-$tabBilan['016'];
|
||||
if (!isset($tabBilan['031']) && (isset($tabBilan['028'])||isset($tabBilan['030']))) $tabBilan['031']=$tabBilan['028']-$tabBilan['030'];
|
||||
if (!isset($tabBilan['043']) && (isset($tabBilan['040'])||isset($tabBilan['042']))) $tabBilan['043']=$tabBilan['040']-$tabBilan['042'];
|
||||
if (!isset($tabBilan['049']) && (isset($tabBilan['044'])||isset($tabBilan['048']))) $tabBilan['049']=$tabBilan['044']-$tabBilan['048'];
|
||||
if (!isset($tabBilan['053']) && (isset($tabBilan['050'])||isset($tabBilan['052']))) $tabBilan['053']=$tabBilan['050']-$tabBilan['052'];
|
||||
if (!isset($tabBilan['063']) && (isset($tabBilan['060'])||isset($tabBilan['062']))) $tabBilan['063']=$tabBilan['060']-$tabBilan['062'];
|
||||
if (!isset($tabBilan['067']) && (isset($tabBilan['064'])||isset($tabBilan['066']))) $tabBilan['067']=$tabBilan['064']-$tabBilan['066'];
|
||||
if (!isset($tabBilan['071']) && (isset($tabBilan['068'])||isset($tabBilan['070']))) $tabBilan['071']=$tabBilan['068']-$tabBilan['070'];
|
||||
if (!isset($tabBilan['075']) && (isset($tabBilan['072'])||isset($tabBilan['074']))) $tabBilan['075']=$tabBilan['072']-$tabBilan['074'];
|
||||
if (!isset($tabBilan['083']) && (isset($tabBilan['080'])||isset($tabBilan['082']))) $tabBilan['083']=$tabBilan['080']-$tabBilan['082'];
|
||||
if (!isset($tabBilan['087']) && (isset($tabBilan['084'])||isset($tabBilan['086']))) $tabBilan['087']=$tabBilan['084']-$tabBilan['086'];
|
||||
if (!isset($tabBilan['091']) && (isset($tabBilan['088'])||isset($tabBilan['090']))) $tabBilan['091']=$tabBilan['088']-$tabBilan['090'];
|
||||
if (!isset($tabBilan['095']) && (isset($tabBilan['092'])||isset($tabBilan['094']))) $tabBilan['095']=$tabBilan['092']-$tabBilan['094'];
|
||||
if (!isset($tabBilan['099']) && (isset($tabBilan['096'])||isset($tabBilan['098']))) $tabBilan['099']=$tabBilan['096']-$tabBilan['098'];
|
||||
if (!isset($tabBilan['113']) && (isset($tabBilan['110'])||isset($tabBilan['112']))) $tabBilan['113']=$tabBilan['110']-$tabBilan['112'];
|
||||
}
|
||||
|
||||
// Bilan précédent existe ?
|
||||
if ( $bilan['dateExercicePre']*1==0 || $bilan['dureeExercicePre']*1==0
|
||||
|| ( ($tabBilan['FL1']*1==0 || $tabBilan['EE1']*1==0) && ($tabBilan['CONSOLIDE']=='N' || $tabBilan['CONSOLIDE']=='C') ) // Réel Normal ou Consolidé
|
||||
|| ( ($tabBilan['NA3']*1==0 || $tabBilan['NP3']*1==0) && ($tabBilan['CONSOLIDE']=='A' || $tabBilan['CONSOLIDE']=='B') ) // Banque ou Assurance
|
||||
|| ( ($tabBilan['N15']*1==0 || $tabBilan['N32']*1==0) && $tabBilan['CONSOLIDE']=='S' ) // Réel Simplifié
|
||||
) {
|
||||
|
||||
$cloturePreDate = $clotureDate->subMonth($bilan['dureeExercice']);
|
||||
$cloturePreDateSql = $cloturePreDate->toString('yyyyMM');
|
||||
|
||||
// --- Recherche des infos du bilan précédent
|
||||
$ret = $this->iDb->select('jo.bilans',
|
||||
'dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaie, typeBilan, monnaieOrigine, unite, postes',
|
||||
"siren='$this->siren' AND typeBilan='$typeBilan' AND dateExercice BETWEEN '".$cloturePreDateSql."-01' AND '".$cloturePreDateSql."-31' ORDER BY dateExercice DESC LIMIT 0,1", true);
|
||||
if (count($ret) > 0) {
|
||||
$bilanPre = $ret[0];
|
||||
$tabBilan['DATE_CLOTURE_PRE'] = $bilanPre['dateExercice']; // SSAAMMJJ
|
||||
$tabBilan['DUREE_MOIS_PRE'] = $bilanPre['dureeExercice'];
|
||||
if ($bilanPre['monnaie']=='EUR') {
|
||||
$monnaiePre='€';
|
||||
} else {
|
||||
$monnaiePre=$bilanPre['monnaie'];
|
||||
}
|
||||
switch (strtoupper($bilanPre['unite'])) {
|
||||
case 'K': $unitePre='K'; break;
|
||||
case 'U':
|
||||
case ' ':
|
||||
case '' : $unitePre=''; break;
|
||||
case 'M': $unitePre='M'; break;
|
||||
default: die('Unite Bilan ('. $bilanPre['unite'] .') non prise en charge !'); break;
|
||||
}
|
||||
$tabBilanPre['devise'] = $monnaiePre;
|
||||
|
||||
$tabTmp=explode(';', $bilanPre['postes']);
|
||||
foreach ($tabTmp as $i=>$strTmp) {
|
||||
$tabTmp2=explode('=', $strTmp);
|
||||
if (isset($tabTmp2[1])) {
|
||||
if ( ($unite=='K' || $unite=='M') && !in_array($tabTmp2[0], array(
|
||||
'YP', 'YP1', '376', // Effectifs 2033 et 2050
|
||||
'M2G', 'M2H', // Autres effectifs
|
||||
'ZK', 'ZK1', // Taux
|
||||
'IJ', 'JG', 'JH', 'JJ', 'ZR', // pour holding/ste mere
|
||||
'XP' // Numero de centre de gestion agréé
|
||||
) ) ) {
|
||||
if ($unite=='K') {
|
||||
$tabBilanPre[$tabTmp2[0]]=$tabTmp2[1]*1000;
|
||||
} else if ($unite=='M') {
|
||||
$tabBilanPre[$tabTmp2[0]]=$tabTmp2[1]*1000000;
|
||||
}
|
||||
} else {
|
||||
$tabBilanPre[$tabTmp2[0]]=$tabTmp2[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --- Calcul des valeures NET N-1 si l'information est absente du bilan N-1 en base
|
||||
if ($tabBilan['CONSOLIDE']=='N' || $tabBilan['CONSOLIDE']=='C') {
|
||||
if (!isset($tabBilanPre['AA2']) && isset($tabBilanPre['AA'])) $tabBilanPre['AA2']=$tabBilanPre['AA'];
|
||||
if (!isset($tabBilanPre['AC1']) && (isset($tabBilanPre['AB'])||isset($tabBilanPre['AC']))) $tabBilanPre['AC1']=$tabBilanPre['AB']-$tabBilanPre['AC'];
|
||||
if (!isset($tabBilanPre['AE1']) && (isset($tabBilanPre['AD'])||isset($tabBilanPre['AE']))) $tabBilanPre['AE1']=$tabBilanPre['AD']-$tabBilanPre['AE'];
|
||||
if (!isset($tabBilanPre['AG1']) && (isset($tabBilanPre['AF'])||isset($tabBilanPre['AG']))) $tabBilanPre['AG1']=$tabBilanPre['AF']-$tabBilanPre['AG'];
|
||||
if (!isset($tabBilanPre['AI1']) && (isset($tabBilanPre['AH'])||isset($tabBilanPre['AI']))) $tabBilanPre['AI1']=$tabBilanPre['AH']-$tabBilanPre['AI'];
|
||||
if (!isset($tabBilanPre['AK1']) && (isset($tabBilanPre['AJ'])||isset($tabBilanPre['AK']))) $tabBilanPre['AK1']=$tabBilanPre['AJ']-$tabBilanPre['AK'];
|
||||
if (!isset($tabBilanPre['AM1']) && (isset($tabBilanPre['AL'])||isset($tabBilanPre['AM']))) $tabBilanPre['AM1']=$tabBilanPre['AL']-$tabBilanPre['AM'];
|
||||
if (!isset($tabBilanPre['AO1']) && (isset($tabBilanPre['AN'])||isset($tabBilanPre['AO']))) $tabBilanPre['AO1']=$tabBilanPre['AN']-$tabBilanPre['AO'];
|
||||
if (!isset($tabBilanPre['AQ1']) && (isset($tabBilanPre['AP'])||isset($tabBilanPre['AQ']))) $tabBilanPre['AQ1']=$tabBilanPre['AP']-$tabBilanPre['AQ'];
|
||||
if (!isset($tabBilanPre['AS1']) && (isset($tabBilanPre['AR'])||isset($tabBilanPre['AS']))) $tabBilanPre['AS1']=$tabBilanPre['AR']-$tabBilanPre['AS'];
|
||||
if (!isset($tabBilanPre['AU1']) && (isset($tabBilanPre['AT'])||isset($tabBilanPre['AU']))) $tabBilanPre['AU1']=$tabBilanPre['AT']-$tabBilanPre['AU'];
|
||||
if (!isset($tabBilanPre['AW1']) && (isset($tabBilanPre['AV'])||isset($tabBilanPre['AW']))) $tabBilanPre['AW1']=$tabBilanPre['AV']-$tabBilanPre['AW'];
|
||||
if (!isset($tabBilanPre['AY1']) && (isset($tabBilanPre['AX'])||isset($tabBilanPre['AY']))) $tabBilanPre['AY1']=$tabBilanPre['AX']-$tabBilanPre['AY'];
|
||||
if (!isset($tabBilanPre['CT1']) && (isset($tabBilanPre['CS'])||isset($tabBilanPre['CT']))) $tabBilanPre['CT1']=$tabBilanPre['CS']-$tabBilanPre['CT'];
|
||||
if (!isset($tabBilanPre['CV1']) && (isset($tabBilanPre['CU'])||isset($tabBilanPre['CV']))) $tabBilanPre['CV1']=$tabBilanPre['CU']-$tabBilanPre['CV'];
|
||||
if (!isset($tabBilanPre['BC1']) && (isset($tabBilanPre['BB'])||isset($tabBilanPre['BC']))) $tabBilanPre['BC1']=$tabBilanPre['BB']-$tabBilanPre['BC'];
|
||||
if (!isset($tabBilanPre['BE1']) && (isset($tabBilanPre['BD'])||isset($tabBilanPre['BE']))) $tabBilanPre['BE1']=$tabBilanPre['BD']-$tabBilanPre['BE'];
|
||||
if (!isset($tabBilanPre['BG1']) && (isset($tabBilanPre['BF'])||isset($tabBilanPre['BG']))) $tabBilanPre['BG1']=$tabBilanPre['BF']-$tabBilanPre['BG'];
|
||||
if (!isset($tabBilanPre['BI1']) && (isset($tabBilanPre['BH'])||isset($tabBilanPre['BI']))) $tabBilanPre['BI1']=$tabBilanPre['BH']-$tabBilanPre['BI'];
|
||||
if (!isset($tabBilanPre['BK1']) && (isset($tabBilanPre['BJ'])||isset($tabBilanPre['BK']))) $tabBilanPre['BK1']=$tabBilanPre['BJ']-$tabBilanPre['BK'];
|
||||
if (!isset($tabBilanPre['BM1']) && (isset($tabBilanPre['BL'])||isset($tabBilanPre['BM']))) $tabBilanPre['BM1']=$tabBilanPre['BL']-$tabBilanPre['BM'];
|
||||
if (!isset($tabBilanPre['BO1']) && (isset($tabBilanPre['BN'])||isset($tabBilanPre['BO']))) $tabBilanPre['BO1']=$tabBilanPre['BN']-$tabBilanPre['BO'];
|
||||
if (!isset($tabBilanPre['BQ1']) && (isset($tabBilanPre['BP'])||isset($tabBilanPre['BQ']))) $tabBilanPre['BQ1']=$tabBilanPre['BP']-$tabBilanPre['BQ'];
|
||||
if (!isset($tabBilanPre['BS1']) && (isset($tabBilanPre['BR'])||isset($tabBilanPre['BS']))) $tabBilanPre['BS1']=$tabBilanPre['BR']-$tabBilanPre['BS'];
|
||||
if (!isset($tabBilanPre['BU1']) && (isset($tabBilanPre['BT'])||isset($tabBilanPre['BU']))) $tabBilanPre['BU1']=$tabBilanPre['BT']-$tabBilanPre['BU'];
|
||||
if (!isset($tabBilanPre['BW1']) && (isset($tabBilanPre['BV'])||isset($tabBilanPre['BW']))) $tabBilanPre['BW1']=$tabBilanPre['BV']-$tabBilanPre['BW'];
|
||||
if (!isset($tabBilanPre['BY1']) && (isset($tabBilanPre['BX'])||isset($tabBilanPre['BY']))) $tabBilanPre['BY1']=$tabBilanPre['BX']-$tabBilanPre['BY'];
|
||||
if (!isset($tabBilanPre['CA1']) && (isset($tabBilanPre['BZ'])||isset($tabBilanPre['CA']))) $tabBilanPre['CA1']=$tabBilanPre['BZ']-$tabBilanPre['CA'];
|
||||
if (!isset($tabBilanPre['CC1']) && (isset($tabBilanPre['CB'])||isset($tabBilanPre['CC']))) $tabBilanPre['CC1']=$tabBilanPre['CB']-$tabBilanPre['CC'];
|
||||
if (!isset($tabBilanPre['CE1']) && (isset($tabBilanPre['CD'])||isset($tabBilanPre['CE']))) $tabBilanPre['CE1']=$tabBilanPre['CD']-$tabBilanPre['CE'];
|
||||
if (!isset($tabBilanPre['CG1']) && (isset($tabBilanPre['CF'])||isset($tabBilanPre['CG']))) $tabBilanPre['CG1']=$tabBilanPre['CF']-$tabBilanPre['CG'];
|
||||
if (!isset($tabBilanPre['CI1']) && (isset($tabBilanPre['CH'])||isset($tabBilanPre['CI']))) $tabBilanPre['CI1']=$tabBilanPre['CH']-$tabBilanPre['CI'];
|
||||
if (!isset($tabBilanPre['CK1']) && (isset($tabBilanPre['CJ'])||isset($tabBilanPre['CK']))) $tabBilanPre['CK1']=$tabBilanPre['CJ']-$tabBilanPre['CK'];
|
||||
|
||||
if (!isset($tabBilanPre['CL2']) && isset($tabBilanPre['CL'])) $tabBilanPre['CL2']=$tabBilanPre['CL'];
|
||||
if (!isset($tabBilanPre['CM2']) && isset($tabBilanPre['CM'])) $tabBilanPre['CM2']=$tabBilanPre['CM'];
|
||||
if (!isset($tabBilanPre['CN2']) && isset($tabBilanPre['CN'])) $tabBilanPre['CN2']=$tabBilanPre['CN'];
|
||||
|
||||
if (!isset($tabBilanPre['1A1']) && (isset($tabBilanPre['CO'])||isset($tabBilanPre['1A']))) $tabBilanPre['1A1']=$tabBilanPre['CO']-$tabBilanPre['1A'];
|
||||
|
||||
/** Reprises des valeures N-1 si l'information est absente en base **/
|
||||
// Actif
|
||||
if (!isset($tabBilan['AA3']) && isset($tabBilanPre['AA2'])) $tabBilan['AA3']=$tabBilanPre['AA2'];
|
||||
if (!isset($tabBilan['AC2']) && isset($tabBilanPre['AC1'])) $tabBilan['AC2']=$tabBilanPre['AC1'];
|
||||
if (!isset($tabBilan['AE2']) && isset($tabBilanPre['AE1'])) $tabBilan['AE2']=$tabBilanPre['AE1'];
|
||||
if (!isset($tabBilan['AG2']) && isset($tabBilanPre['AG1'])) $tabBilan['AG2']=$tabBilanPre['AG1'];
|
||||
if (!isset($tabBilan['AI2']) && isset($tabBilanPre['AI1'])) $tabBilan['AI2']=$tabBilanPre['AI1'];
|
||||
if (!isset($tabBilan['AK2']) && isset($tabBilanPre['AK1'])) $tabBilan['AK2']=$tabBilanPre['AK1'];
|
||||
if (!isset($tabBilan['AM2']) && isset($tabBilanPre['AM1'])) $tabBilan['AM2']=$tabBilanPre['AM1'];
|
||||
if (!isset($tabBilan['AO2']) && isset($tabBilanPre['AO1'])) $tabBilan['AO2']=$tabBilanPre['AO1'];
|
||||
if (!isset($tabBilan['AQ2']) && isset($tabBilanPre['AQ1'])) $tabBilan['AQ2']=$tabBilanPre['AQ1'];
|
||||
if (!isset($tabBilan['AS2']) && isset($tabBilanPre['AS1'])) $tabBilan['AS2']=$tabBilanPre['AS1'];
|
||||
if (!isset($tabBilan['AU2']) && isset($tabBilanPre['AU1'])) $tabBilan['AU2']=$tabBilanPre['AU1'];
|
||||
if (!isset($tabBilan['AW2']) && isset($tabBilanPre['AW1'])) $tabBilan['AW2']=$tabBilanPre['AW1'];
|
||||
if (!isset($tabBilan['AY2']) && isset($tabBilanPre['AY1'])) $tabBilan['AY2']=$tabBilanPre['AY1'];
|
||||
if (!isset($tabBilan['CT2']) && isset($tabBilanPre['CT1'])) $tabBilan['CT2']=$tabBilanPre['CT1'];
|
||||
if (!isset($tabBilan['CV2']) && isset($tabBilanPre['CV1'])) $tabBilan['CV2']=$tabBilanPre['CV1'];
|
||||
if (!isset($tabBilan['BC2']) && isset($tabBilanPre['BC1'])) $tabBilan['BC2']=$tabBilanPre['BC1'];
|
||||
if (!isset($tabBilan['BE2']) && isset($tabBilanPre['BE1'])) $tabBilan['BE2']=$tabBilanPre['BE1'];
|
||||
if (!isset($tabBilan['BG2']) && isset($tabBilanPre['BG1'])) $tabBilan['BG2']=$tabBilanPre['BG1'];
|
||||
if (!isset($tabBilan['BI2']) && isset($tabBilanPre['BI1'])) $tabBilan['BI2']=$tabBilanPre['BI1'];
|
||||
if (!isset($tabBilan['BK2']) && isset($tabBilanPre['BK1'])) $tabBilan['BK2']=$tabBilanPre['BK1'];
|
||||
if (!isset($tabBilan['BM2']) && isset($tabBilanPre['BM1'])) $tabBilan['BM2']=$tabBilanPre['BM1'];
|
||||
if (!isset($tabBilan['BO2']) && isset($tabBilanPre['BO1'])) $tabBilan['BO2']=$tabBilanPre['BO1'];
|
||||
if (!isset($tabBilan['BQ2']) && isset($tabBilanPre['BQ1'])) $tabBilan['BQ2']=$tabBilanPre['BQ1'];
|
||||
if (!isset($tabBilan['BS2']) && isset($tabBilanPre['BS1'])) $tabBilan['BS2']=$tabBilanPre['BS1'];
|
||||
if (!isset($tabBilan['BU2']) && isset($tabBilanPre['BU1'])) $tabBilan['BU2']=$tabBilanPre['BU1'];
|
||||
if (!isset($tabBilan['BW2']) && isset($tabBilanPre['BW1'])) $tabBilan['BW2']=$tabBilanPre['BW1'];
|
||||
if (!isset($tabBilan['BY2']) && isset($tabBilanPre['BY1'])) $tabBilan['BY2']=$tabBilanPre['BY1'];
|
||||
if (!isset($tabBilan['CA2']) && isset($tabBilanPre['CA1'])) $tabBilan['CA2']=$tabBilanPre['CA1'];
|
||||
if (!isset($tabBilan['CC2']) && isset($tabBilanPre['CC1'])) $tabBilan['CC2']=$tabBilanPre['CC1'];
|
||||
if (!isset($tabBilan['CE2']) && isset($tabBilanPre['CE1'])) $tabBilan['CE2']=$tabBilanPre['CE1'];
|
||||
if (!isset($tabBilan['CG2']) && isset($tabBilanPre['CG1'])) $tabBilan['CG2']=$tabBilanPre['CG1'];
|
||||
if (!isset($tabBilan['CI2']) && isset($tabBilanPre['CI1'])) $tabBilan['CI2']=$tabBilanPre['CI1'];
|
||||
if (!isset($tabBilan['CK2']) && isset($tabBilanPre['CK1'])) $tabBilan['CK2']=$tabBilanPre['CK1'];
|
||||
if (!isset($tabBilan['CL3']) && isset($tabBilanPre['CL2'])) $tabBilan['CL3']=$tabBilanPre['CL2'];
|
||||
if (!isset($tabBilan['CM3']) && isset($tabBilanPre['CM2'])) $tabBilan['CM3']=$tabBilanPre['CM2'];
|
||||
if (!isset($tabBilan['CN3']) && isset($tabBilanPre['CN2'])) $tabBilan['CN3']=$tabBilanPre['CN2'];
|
||||
if (!isset($tabBilan['1A2']) && isset($tabBilanPre['1A1'])) $tabBilan['1A2']=$tabBilanPre['1A1'];
|
||||
// Passif
|
||||
if (!isset($tabBilan['DA1']) && isset($tabBilanPre['DA'])) $tabBilan['DA1']=$tabBilanPre['DA'];
|
||||
if (!isset($tabBilan['DB1']) && isset($tabBilanPre['DB'])) $tabBilan['DB1']=$tabBilanPre['DB'];
|
||||
if (!isset($tabBilan['DC1']) && isset($tabBilanPre['DC'])) $tabBilan['DC1']=$tabBilanPre['DC'];
|
||||
if (!isset($tabBilan['DD1']) && isset($tabBilanPre['DD'])) $tabBilan['DD1']=$tabBilanPre['DD'];
|
||||
if (!isset($tabBilan['DE1']) && isset($tabBilanPre['DE'])) $tabBilan['DE1']=$tabBilanPre['DE'];
|
||||
if (!isset($tabBilan['DF1']) && isset($tabBilanPre['DF'])) $tabBilan['DF1']=$tabBilanPre['DF'];
|
||||
if (!isset($tabBilan['DG1']) && isset($tabBilanPre['DG'])) $tabBilan['DG1']=$tabBilanPre['DG'];
|
||||
if (!isset($tabBilan['DH1']) && isset($tabBilanPre['DH'])) $tabBilan['DH1']=$tabBilanPre['DH'];
|
||||
if (!isset($tabBilan['DI1']) && isset($tabBilanPre['DI'])) $tabBilan['DI1']=$tabBilanPre['DI'];
|
||||
if (!isset($tabBilan['DJ1']) && isset($tabBilanPre['DJ'])) $tabBilan['DJ1']=$tabBilanPre['DJ'];
|
||||
if (!isset($tabBilan['DK1']) && isset($tabBilanPre['DK'])) $tabBilan['DK1']=$tabBilanPre['DK'];
|
||||
if (!isset($tabBilan['DL1']) && isset($tabBilanPre['DL'])) $tabBilan['DL1']=$tabBilanPre['DL'];
|
||||
if (!isset($tabBilan['DM1']) && isset($tabBilanPre['DM'])) $tabBilan['DM1']=$tabBilanPre['DM'];
|
||||
if (!isset($tabBilan['DN1']) && isset($tabBilanPre['DN'])) $tabBilan['DN1']=$tabBilanPre['DN'];
|
||||
if (!isset($tabBilan['DO1']) && isset($tabBilanPre['DO'])) $tabBilan['DO1']=$tabBilanPre['DO'];
|
||||
if (!isset($tabBilan['DP1']) && isset($tabBilanPre['DP'])) $tabBilan['DP1']=$tabBilanPre['DP'];
|
||||
if (!isset($tabBilan['DQ1']) && isset($tabBilanPre['DQ'])) $tabBilan['DQ1']=$tabBilanPre['DQ'];
|
||||
if (!isset($tabBilan['DR1']) && isset($tabBilanPre['DR'])) $tabBilan['DR1']=$tabBilanPre['DR'];
|
||||
if (!isset($tabBilan['DS1']) && isset($tabBilanPre['DS'])) $tabBilan['DS1']=$tabBilanPre['DS'];
|
||||
if (!isset($tabBilan['DT1']) && isset($tabBilanPre['DT'])) $tabBilan['DT1']=$tabBilanPre['DT'];
|
||||
if (!isset($tabBilan['DU1']) && isset($tabBilanPre['DU'])) $tabBilan['DU1']=$tabBilanPre['DU'];
|
||||
if (!isset($tabBilan['DV1']) && isset($tabBilanPre['DV'])) $tabBilan['DV1']=$tabBilanPre['DV'];
|
||||
if (!isset($tabBilan['DW1']) && isset($tabBilanPre['DW'])) $tabBilan['DW1']=$tabBilanPre['DW'];
|
||||
if (!isset($tabBilan['DX1']) && isset($tabBilanPre['DX'])) $tabBilan['DX1']=$tabBilanPre['DX'];
|
||||
if (!isset($tabBilan['DY1']) && isset($tabBilanPre['DY'])) $tabBilan['DY1']=$tabBilanPre['DY'];
|
||||
if (!isset($tabBilan['DZ1']) && isset($tabBilanPre['DZ'])) $tabBilan['DZ1']=$tabBilanPre['DZ'];
|
||||
if (!isset($tabBilan['EA1']) && isset($tabBilanPre['EA'])) $tabBilan['EA1']=$tabBilanPre['EA'];
|
||||
if (!isset($tabBilan['EB1']) && isset($tabBilanPre['EB'])) $tabBilan['EB1']=$tabBilanPre['EB'];
|
||||
if (!isset($tabBilan['EC1']) && isset($tabBilanPre['EC'])) $tabBilan['EC1']=$tabBilanPre['EC'];
|
||||
if (!isset($tabBilan['ED1']) && isset($tabBilanPre['ED'])) $tabBilan['ED1']=$tabBilanPre['ED'];
|
||||
if (!isset($tabBilan['EE1']) && isset($tabBilanPre['EE'])) $tabBilan['EE1']=$tabBilanPre['EE'];
|
||||
if (!isset($tabBilan['1B1']) && isset($tabBilanPre['1B'])) $tabBilan['1B1']=$tabBilanPre['1B'];
|
||||
if (!isset($tabBilan['1C1']) && isset($tabBilanPre['1C'])) $tabBilan['1C1']=$tabBilanPre['1C'];
|
||||
if (!isset($tabBilan['1D1']) && isset($tabBilanPre['1D'])) $tabBilan['1D1']=$tabBilanPre['1D'];
|
||||
if (!isset($tabBilan['1E1']) && isset($tabBilanPre['1E'])) $tabBilan['1E1']=$tabBilanPre['1E'];
|
||||
if (!isset($tabBilan['EF1']) && isset($tabBilanPre['EF'])) $tabBilan['EF1']=$tabBilanPre['EF'];
|
||||
if (!isset($tabBilan['EG1']) && isset($tabBilanPre['EG'])) $tabBilan['EG1']=$tabBilanPre['EG'];
|
||||
if (!isset($tabBilan['EH1']) && isset($tabBilanPre['EH'])) $tabBilan['EH1']=$tabBilanPre['EH'];
|
||||
// Compte de Résultats
|
||||
if (!isset($tabBilan['FC1']) && isset($tabBilanPre['FC'])) $tabBilan['FC1']=$tabBilanPre['FC'];
|
||||
if (!isset($tabBilan['FF1']) && isset($tabBilanPre['FF'])) $tabBilan['FF1']=$tabBilanPre['FF'];
|
||||
if (!isset($tabBilan['FI1']) && isset($tabBilanPre['FI'])) $tabBilan['FI1']=$tabBilanPre['FI'];
|
||||
if (!isset($tabBilan['FL1']) && isset($tabBilanPre['FL'])) $tabBilan['FL1']=$tabBilanPre['FL'];
|
||||
if (!isset($tabBilan['FM1']) && isset($tabBilanPre['FM'])) $tabBilan['FM1']=$tabBilanPre['FM'];
|
||||
if (!isset($tabBilan['FN1']) && isset($tabBilanPre['FN'])) $tabBilan['FN1']=$tabBilanPre['FN'];
|
||||
if (!isset($tabBilan['FO1']) && isset($tabBilanPre['FO'])) $tabBilan['FO1']=$tabBilanPre['FO'];
|
||||
if (!isset($tabBilan['FP1']) && isset($tabBilanPre['FP'])) $tabBilan['FP1']=$tabBilanPre['FP'];
|
||||
if (!isset($tabBilan['FQ1']) && isset($tabBilanPre['FQ'])) $tabBilan['FQ1']=$tabBilanPre['FQ'];
|
||||
if (!isset($tabBilan['FR1']) && isset($tabBilanPre['FR'])) $tabBilan['FR1']=$tabBilanPre['FR'];
|
||||
if (!isset($tabBilan['FS1']) && isset($tabBilanPre['FS'])) $tabBilan['FS1']=$tabBilanPre['FS'];
|
||||
if (!isset($tabBilan['FT1']) && isset($tabBilanPre['FT'])) $tabBilan['FT1']=$tabBilanPre['FT'];
|
||||
if (!isset($tabBilan['FU1']) && isset($tabBilanPre['FU'])) $tabBilan['FU1']=$tabBilanPre['FU'];
|
||||
if (!isset($tabBilan['FV1']) && isset($tabBilanPre['FV'])) $tabBilan['FV1']=$tabBilanPre['FV'];
|
||||
if (!isset($tabBilan['FW1']) && isset($tabBilanPre['FW'])) $tabBilan['FW1']=$tabBilanPre['FW'];
|
||||
if (!isset($tabBilan['FX1']) && isset($tabBilanPre['FX'])) $tabBilan['FX1']=$tabBilanPre['FX'];
|
||||
if (!isset($tabBilan['FY1']) && isset($tabBilanPre['FY'])) $tabBilan['FY1']=$tabBilanPre['FY'];
|
||||
if (!isset($tabBilan['FZ1']) && isset($tabBilanPre['FZ'])) $tabBilan['FZ1']=$tabBilanPre['FZ'];
|
||||
if (!isset($tabBilan['GA1']) && isset($tabBilanPre['GA'])) $tabBilan['GA1']=$tabBilanPre['GA'];
|
||||
if (!isset($tabBilan['GB1']) && isset($tabBilanPre['GB'])) $tabBilan['GB1']=$tabBilanPre['GB'];
|
||||
if (!isset($tabBilan['GC1']) && isset($tabBilanPre['GC'])) $tabBilan['GC1']=$tabBilanPre['GC'];
|
||||
if (!isset($tabBilan['GD1']) && isset($tabBilanPre['GD'])) $tabBilan['GD1']=$tabBilanPre['GD'];
|
||||
if (!isset($tabBilan['GE1']) && isset($tabBilanPre['GE'])) $tabBilan['GE1']=$tabBilanPre['GE'];
|
||||
if (!isset($tabBilan['GF1']) && isset($tabBilanPre['GF'])) $tabBilan['GF1']=$tabBilanPre['GF'];
|
||||
if (!isset($tabBilan['GG1']) && isset($tabBilanPre['GG'])) $tabBilan['GG1']=$tabBilanPre['GG'];
|
||||
if (!isset($tabBilan['GH1']) && isset($tabBilanPre['GH'])) $tabBilan['GH1']=$tabBilanPre['GH'];
|
||||
if (!isset($tabBilan['GI1']) && isset($tabBilanPre['GI'])) $tabBilan['GI1']=$tabBilanPre['GI'];
|
||||
if (!isset($tabBilan['GJ1']) && isset($tabBilanPre['GJ'])) $tabBilan['GJ1']=$tabBilanPre['GJ'];
|
||||
if (!isset($tabBilan['GK1']) && isset($tabBilanPre['GK'])) $tabBilan['GK1']=$tabBilanPre['GK'];
|
||||
if (!isset($tabBilan['GL1']) && isset($tabBilanPre['GL'])) $tabBilan['GL1']=$tabBilanPre['GL'];
|
||||
if (!isset($tabBilan['GM1']) && isset($tabBilanPre['GM'])) $tabBilan['GM1']=$tabBilanPre['GM'];
|
||||
if (!isset($tabBilan['GN1']) && isset($tabBilanPre['GN'])) $tabBilan['GN1']=$tabBilanPre['GN'];
|
||||
if (!isset($tabBilan['GO1']) && isset($tabBilanPre['GO'])) $tabBilan['GO1']=$tabBilanPre['GO'];
|
||||
if (!isset($tabBilan['GP1']) && isset($tabBilanPre['GP'])) $tabBilan['GP1']=$tabBilanPre['GP'];
|
||||
if (!isset($tabBilan['GQ1']) && isset($tabBilanPre['GQ'])) $tabBilan['GQ1']=$tabBilanPre['GQ'];
|
||||
if (!isset($tabBilan['GR1']) && isset($tabBilanPre['GR'])) $tabBilan['GR1']=$tabBilanPre['GR'];
|
||||
if (!isset($tabBilan['GS1']) && isset($tabBilanPre['GS'])) $tabBilan['GS1']=$tabBilanPre['GS'];
|
||||
if (!isset($tabBilan['GT1']) && isset($tabBilanPre['GT'])) $tabBilan['GT1']=$tabBilanPre['GT'];
|
||||
if (!isset($tabBilan['GU1']) && isset($tabBilanPre['GU'])) $tabBilan['GU1']=$tabBilanPre['GU'];
|
||||
if (!isset($tabBilan['GV1']) && isset($tabBilanPre['GV'])) $tabBilan['GV1']=$tabBilanPre['GV'];
|
||||
if (!isset($tabBilan['GW1']) && isset($tabBilanPre['GW'])) $tabBilan['GW1']=$tabBilanPre['GW'];
|
||||
if (!isset($tabBilan['HA1']) && isset($tabBilanPre['HA'])) $tabBilan['HA1']=$tabBilanPre['HA'];
|
||||
if (!isset($tabBilan['HB1']) && isset($tabBilanPre['HB'])) $tabBilan['HB1']=$tabBilanPre['HB'];
|
||||
if (!isset($tabBilan['HC1']) && isset($tabBilanPre['HC'])) $tabBilan['HC1']=$tabBilanPre['HC'];
|
||||
if (!isset($tabBilan['HD1']) && isset($tabBilanPre['HD'])) $tabBilan['HD1']=$tabBilanPre['HD'];
|
||||
if (!isset($tabBilan['HE1']) && isset($tabBilanPre['HE'])) $tabBilan['HE1']=$tabBilanPre['HE'];
|
||||
if (!isset($tabBilan['HF1']) && isset($tabBilanPre['HF'])) $tabBilan['HF1']=$tabBilanPre['HF'];
|
||||
if (!isset($tabBilan['HG1']) && isset($tabBilanPre['HG'])) $tabBilan['HG1']=$tabBilanPre['HG'];
|
||||
if (!isset($tabBilan['HH1']) && isset($tabBilanPre['HH'])) $tabBilan['HH1']=$tabBilanPre['HH'];
|
||||
if (!isset($tabBilan['HI1']) && isset($tabBilanPre['HI'])) $tabBilan['HI1']=$tabBilanPre['HI'];
|
||||
if (!isset($tabBilan['HJ1']) && isset($tabBilanPre['HJ'])) $tabBilan['HJ1']=$tabBilanPre['HJ'];
|
||||
if (!isset($tabBilan['HK1']) && isset($tabBilanPre['HK'])) $tabBilan['HK1']=$tabBilanPre['HK'];
|
||||
if (!isset($tabBilan['HL1']) && isset($tabBilanPre['HL'])) $tabBilan['HL1']=$tabBilanPre['HL'];
|
||||
if (!isset($tabBilan['HM1']) && isset($tabBilanPre['HM'])) $tabBilan['HM1']=$tabBilanPre['HM'];
|
||||
if (!isset($tabBilan['HN1']) && isset($tabBilanPre['HN'])) $tabBilan['HN1']=$tabBilanPre['HN'];
|
||||
if (!isset($tabBilan['HO1']) && isset($tabBilanPre['HO'])) $tabBilan['HO1']=$tabBilanPre['HO'];
|
||||
if (!isset($tabBilan['HY1']) && isset($tabBilanPre['HY'])) $tabBilan['HY1']=$tabBilanPre['HY'];
|
||||
if (!isset($tabBilan['1G1']) && isset($tabBilanPre['1G'])) $tabBilan['1G1']=$tabBilanPre['1G'];
|
||||
if (!isset($tabBilan['HP1']) && isset($tabBilanPre['HP'])) $tabBilan['HP1']=$tabBilanPre['HP'];
|
||||
if (!isset($tabBilan['HQ1']) && isset($tabBilanPre['HQ'])) $tabBilan['HQ1']=$tabBilanPre['HQ'];
|
||||
if (!isset($tabBilan['1H1']) && isset($tabBilanPre['1H'])) $tabBilan['1H1']=$tabBilanPre['1H'];
|
||||
if (!isset($tabBilan['1J1']) && isset($tabBilanPre['1J'])) $tabBilan['1J1']=$tabBilanPre['1J'];
|
||||
if (!isset($tabBilan['1K1']) && isset($tabBilanPre['1K'])) $tabBilan['1K1']=$tabBilanPre['1K'];
|
||||
if (!isset($tabBilan['HX1']) && isset($tabBilanPre['HX'])) $tabBilan['HX1']=$tabBilanPre['HX'];
|
||||
if (!isset($tabBilan['A11']) && isset($tabBilanPre['A1'])) $tabBilan['A11']=$tabBilanPre['A1'];
|
||||
if (!isset($tabBilan['A21']) && isset($tabBilanPre['A2'])) $tabBilan['A21']=$tabBilanPre['A2'];
|
||||
if (!isset($tabBilan['A31']) && isset($tabBilanPre['A3'])) $tabBilan['A31']=$tabBilanPre['A3'];
|
||||
if (!isset($tabBilan['A41']) && isset($tabBilanPre['A4'])) $tabBilan['A41']=$tabBilanPre['A4'];
|
||||
}
|
||||
elseif ($tabBilan['CONSOLIDE']=='S') {
|
||||
// Calcul des chiffres net N-1 si absent 2033
|
||||
if (!isset($tabBilanPre['013']) && (isset($tabBilanPre['010']) || isset($tabBilanPre['012']))) $tabBilanPre['013']=$tabBilanPre['010']-$tabBilanPre['012'];
|
||||
if (!isset($tabBilanPre['017']) && (isset($tabBilanPre['014']) || isset($tabBilanPre['016']))) $tabBilanPre['017']=$tabBilanPre['014']-$tabBilanPre['016'];
|
||||
if (!isset($tabBilanPre['031']) && (isset($tabBilanPre['028']) || isset($tabBilanPre['030']))) $tabBilanPre['031']=$tabBilanPre['028']-$tabBilanPre['030'];
|
||||
if (!isset($tabBilanPre['043']) && (isset($tabBilanPre['040']) || isset($tabBilanPre['042']))) $tabBilanPre['043']=$tabBilanPre['040']-$tabBilanPre['042'];
|
||||
if (!isset($tabBilanPre['049']) && (isset($tabBilanPre['044']) || isset($tabBilanPre['048']))) $tabBilanPre['049']=$tabBilanPre['044']-$tabBilanPre['048'];
|
||||
if (!isset($tabBilanPre['053']) && (isset($tabBilanPre['050']) || isset($tabBilanPre['052']))) $tabBilanPre['053']=$tabBilanPre['050']-$tabBilanPre['052'];
|
||||
if (!isset($tabBilanPre['063']) && (isset($tabBilanPre['060']) || isset($tabBilanPre['062']))) $tabBilanPre['063']=$tabBilanPre['060']-$tabBilanPre['062'];
|
||||
if (!isset($tabBilanPre['067']) && (isset($tabBilanPre['064']) || isset($tabBilanPre['066']))) $tabBilanPre['067']=$tabBilanPre['064']-$tabBilanPre['066'];
|
||||
if (!isset($tabBilanPre['071']) && (isset($tabBilanPre['068']) || isset($tabBilanPre['070']))) $tabBilanPre['071']=$tabBilanPre['068']-$tabBilanPre['070'];
|
||||
if (!isset($tabBilanPre['075']) && (isset($tabBilanPre['072']) || isset($tabBilanPre['074']))) $tabBilanPre['075']=$tabBilanPre['072']-$tabBilanPre['074'];
|
||||
if (!isset($tabBilanPre['083']) && (isset($tabBilanPre['080']) || isset($tabBilanPre['082']))) $tabBilanPre['083']=$tabBilanPre['080']-$tabBilanPre['082'];
|
||||
if (!isset($tabBilanPre['087']) && (isset($tabBilanPre['084']) || isset($tabBilanPre['086']))) $tabBilanPre['087']=$tabBilanPre['084']-$tabBilanPre['086'];
|
||||
if (!isset($tabBilanPre['091']) && (isset($tabBilanPre['088']) || isset($tabBilanPre['090']))) $tabBilanPre['091']=$tabBilanPre['088']-$tabBilanPre['090'];
|
||||
if (!isset($tabBilanPre['095']) && (isset($tabBilanPre['092']) || isset($tabBilanPre['094']))) $tabBilanPre['095']=$tabBilanPre['092']-$tabBilanPre['094'];
|
||||
if (!isset($tabBilanPre['099']) && (isset($tabBilanPre['096']) || isset($tabBilanPre['098']))) $tabBilanPre['099']=$tabBilanPre['096']-$tabBilanPre['098'];
|
||||
if (!isset($tabBilanPre['113']) && (isset($tabBilanPre['110']) || isset($tabBilanPre['112']))) $tabBilanPre['113']=$tabBilanPre['110']-$tabBilanPre['112'];
|
||||
// Récupération des chiffres N-1 si absent du bilan N
|
||||
// ACTIF 2033
|
||||
if (!isset($tabBilan['N00']) && isset($tabBilanPre['013'])) $tabBilan['N00']=$tabBilanPre['013'];
|
||||
if (!isset($tabBilan['N01']) && isset($tabBilanPre['017'])) $tabBilan['N01']=$tabBilanPre['017'];
|
||||
if (!isset($tabBilan['N02']) && isset($tabBilanPre['031'])) $tabBilan['N02']=$tabBilanPre['031'];
|
||||
if (!isset($tabBilan['N03']) && isset($tabBilanPre['043'])) $tabBilan['N03']=$tabBilanPre['043'];
|
||||
if (!isset($tabBilan['N04']) && isset($tabBilanPre['049'])) $tabBilan['N04']=$tabBilanPre['049'];
|
||||
if (!isset($tabBilan['N05']) && isset($tabBilanPre['053'])) $tabBilan['N05']=$tabBilanPre['053'];
|
||||
if (!isset($tabBilan['N06']) && isset($tabBilanPre['063'])) $tabBilan['N06']=$tabBilanPre['063'];
|
||||
if (!isset($tabBilan['N07']) && isset($tabBilanPre['067'])) $tabBilan['N07']=$tabBilanPre['067'];
|
||||
if (!isset($tabBilan['N08']) && isset($tabBilanPre['071'])) $tabBilan['N08']=$tabBilanPre['071'];
|
||||
if (!isset($tabBilan['N09']) && isset($tabBilanPre['075'])) $tabBilan['N09']=$tabBilanPre['075'];
|
||||
if (!isset($tabBilan['N10']) && isset($tabBilanPre['083'])) $tabBilan['N10']=$tabBilanPre['083'];
|
||||
if (!isset($tabBilan['N11']) && isset($tabBilanPre['087'])) $tabBilan['N11']=$tabBilanPre['087'];
|
||||
if (!isset($tabBilan['N12']) && isset($tabBilanPre['091'])) $tabBilan['N12']=$tabBilanPre['091'];
|
||||
if (!isset($tabBilan['N13']) && isset($tabBilanPre['095'])) $tabBilan['N13']=$tabBilanPre['095'];
|
||||
if (!isset($tabBilan['N14']) && isset($tabBilanPre['099'])) $tabBilan['N14']=$tabBilanPre['099'];
|
||||
if (!isset($tabBilan['N15']) && isset($tabBilanPre['113'])) $tabBilan['N15']=$tabBilanPre['113'];
|
||||
// PASSIF 2033
|
||||
if (!isset($tabBilan['N16']) && isset($tabBilanPre['120'])) $tabBilan['N16']=$tabBilanPre['120'];
|
||||
if (!isset($tabBilan['N17']) && isset($tabBilanPre['124'])) $tabBilan['N17']=$tabBilanPre['124'];
|
||||
if (!isset($tabBilan['N18']) && isset($tabBilanPre['126'])) $tabBilan['N18']=$tabBilanPre['126'];
|
||||
if (!isset($tabBilan['N19']) && isset($tabBilanPre['130'])) $tabBilan['N19']=$tabBilanPre['130'];
|
||||
if (!isset($tabBilan['N20']) && isset($tabBilanPre['132'])) $tabBilan['N20']=$tabBilanPre['132'];
|
||||
if (!isset($tabBilan['N21']) && isset($tabBilanPre['134'])) $tabBilan['N21']=$tabBilanPre['134'];
|
||||
if (!isset($tabBilan['N22']) && isset($tabBilanPre['136'])) $tabBilan['N22']=$tabBilanPre['136'];
|
||||
if (!isset($tabBilan['N23']) && isset($tabBilanPre['140'])) $tabBilan['N23']=$tabBilanPre['140'];
|
||||
if (!isset($tabBilan['N24']) && isset($tabBilanPre['142'])) $tabBilan['N24']=$tabBilanPre['142'];
|
||||
if (!isset($tabBilan['N25']) && isset($tabBilanPre['154'])) $tabBilan['N25']=$tabBilanPre['154'];
|
||||
if (!isset($tabBilan['N26']) && isset($tabBilanPre['156'])) $tabBilan['N26']=$tabBilanPre['156'];
|
||||
if (!isset($tabBilan['N27']) && isset($tabBilanPre['164'])) $tabBilan['N27']=$tabBilanPre['164'];
|
||||
if (!isset($tabBilan['N28']) && isset($tabBilanPre['166'])) $tabBilan['N28']=$tabBilanPre['166'];
|
||||
if (!isset($tabBilan['N29']) && isset($tabBilanPre['172'])) $tabBilan['N29']=$tabBilanPre['172'];
|
||||
if (!isset($tabBilan['N30']) && isset($tabBilanPre['174'])) $tabBilan['N30']=$tabBilanPre['174'];
|
||||
if (!isset($tabBilan['N31']) && isset($tabBilanPre['176'])) $tabBilan['N31']=$tabBilanPre['176'];
|
||||
if (!isset($tabBilan['N32']) && isset($tabBilanPre['180'])) $tabBilan['N32']=$tabBilanPre['180'];
|
||||
// COMPTE DE RESULTAT 2033
|
||||
if (!isset($tabBilan['N33']) && isset($tabBilanPre['210'])) $tabBilan['N33']=$tabBilanPre['210'];
|
||||
if (!isset($tabBilan['N34']) && isset($tabBilanPre['214'])) $tabBilan['N34']=$tabBilanPre['214'];
|
||||
if (!isset($tabBilan['N35']) && isset($tabBilanPre['218'])) $tabBilan['N35']=$tabBilanPre['218'];
|
||||
if (!isset($tabBilan['N36']) && isset($tabBilanPre['222'])) $tabBilan['N36']=$tabBilanPre['222'];
|
||||
if (!isset($tabBilan['N37']) && isset($tabBilanPre['224'])) $tabBilan['N37']=$tabBilanPre['224'];
|
||||
if (!isset($tabBilan['N38']) && isset($tabBilanPre['226'])) $tabBilan['N38']=$tabBilanPre['226'];
|
||||
if (!isset($tabBilan['N39']) && isset($tabBilanPre['230'])) $tabBilan['N39']=$tabBilanPre['230'];
|
||||
if (!isset($tabBilan['N40']) && isset($tabBilanPre['232'])) $tabBilan['N40']=$tabBilanPre['232'];
|
||||
if (!isset($tabBilan['N41']) && isset($tabBilanPre['234'])) $tabBilan['N41']=$tabBilanPre['234'];
|
||||
if (!isset($tabBilan['N42']) && isset($tabBilanPre['236'])) $tabBilan['N42']=$tabBilanPre['236'];
|
||||
if (!isset($tabBilan['N43']) && isset($tabBilanPre['238'])) $tabBilan['N43']=$tabBilanPre['238'];
|
||||
if (!isset($tabBilan['N44']) && isset($tabBilanPre['240'])) $tabBilan['N44']=$tabBilanPre['240'];
|
||||
if (!isset($tabBilan['N45']) && isset($tabBilanPre['242'])) $tabBilan['N45']=$tabBilanPre['242'];
|
||||
if (!isset($tabBilan['N46']) && isset($tabBilanPre['244'])) $tabBilan['N46']=$tabBilanPre['244'];
|
||||
if (!isset($tabBilan['N47']) && isset($tabBilanPre['250'])) $tabBilan['N47']=$tabBilanPre['250'];
|
||||
if (!isset($tabBilan['N48']) && isset($tabBilanPre['252'])) $tabBilan['N48']=$tabBilanPre['252'];
|
||||
if (!isset($tabBilan['N49']) && isset($tabBilanPre['254'])) $tabBilan['N49']=$tabBilanPre['254'];
|
||||
if (!isset($tabBilan['N50']) && isset($tabBilanPre['256'])) $tabBilan['N50']=$tabBilanPre['256'];
|
||||
if (!isset($tabBilan['N51']) && isset($tabBilanPre['262'])) $tabBilan['N51']=$tabBilanPre['262'];
|
||||
if (!isset($tabBilan['N52']) && isset($tabBilanPre['264'])) $tabBilan['N52']=$tabBilanPre['264'];
|
||||
if (!isset($tabBilan['N53']) && isset($tabBilanPre['270'])) $tabBilan['N53']=$tabBilanPre['270'];
|
||||
if (!isset($tabBilan['N54']) && isset($tabBilanPre['280'])) $tabBilan['N54']=$tabBilanPre['280'];
|
||||
if (!isset($tabBilan['N55']) && isset($tabBilanPre['290'])) $tabBilan['N55']=$tabBilanPre['290'];
|
||||
if (!isset($tabBilan['N56']) && isset($tabBilanPre['294'])) $tabBilan['N56']=$tabBilanPre['294'];
|
||||
if (!isset($tabBilan['N57']) && isset($tabBilanPre['300'])) $tabBilan['N57']=$tabBilanPre['300'];
|
||||
if (!isset($tabBilan['N58']) && isset($tabBilanPre['306'])) $tabBilan['N58']=$tabBilanPre['306'];
|
||||
if (!isset($tabBilan['N59']) && isset($tabBilanPre['310'])) $tabBilan['N59']=$tabBilanPre['310'];
|
||||
}
|
||||
elseif ($tabBilan['CONSOLIDE']=='A' || $tabBilan['CONSOLIDE']=='B') {
|
||||
// BANQUES
|
||||
if (!isset($tabBilan['NA1']) && isset($tabBilanPre['AA1'])) $tabBilan['NA1']=$tabBilanPre['AA1'];
|
||||
if (!isset($tabBilan['NA2']) && isset($tabBilanPre['AA2'])) $tabBilan['NA2']=$tabBilanPre['AA2'];
|
||||
if (!isset($tabBilan['NA3']) && isset($tabBilanPre['AA3'])) $tabBilan['NA3']=$tabBilanPre['AA3'];
|
||||
if (!isset($tabBilan['NP1']) && isset($tabBilanPre['AP1'])) $tabBilan['NP1']=$tabBilanPre['AP1'];
|
||||
if (!isset($tabBilan['NP2']) && isset($tabBilanPre['AP2'])) $tabBilan['NP2']=$tabBilanPre['AP2'];
|
||||
if (!isset($tabBilan['NP3']) && isset($tabBilanPre['AP3'])) $tabBilan['NP3']=$tabBilanPre['AP3'];
|
||||
if (!isset($tabBilan['NP4']) && isset($tabBilanPre['AP4'])) $tabBilan['NP4']=$tabBilanPre['AP4'];
|
||||
if (!isset($tabBilan['NP5']) && isset($tabBilanPre['AP5'])) $tabBilan['NP5']=$tabBilanPre['AP5'];
|
||||
if (!isset($tabBilan['NP6']) && isset($tabBilanPre['AP6'])) $tabBilan['NP6']=$tabBilanPre['AP6'];
|
||||
if (!isset($tabBilan['NP7']) && isset($tabBilanPre['AP7'])) $tabBilan['NP7']=$tabBilanPre['AP7'];
|
||||
if (!isset($tabBilan['NP8']) && isset($tabBilanPre['AP8'])) $tabBilan['NP8']=$tabBilanPre['AP8'];
|
||||
if (!isset($tabBilan['NP9']) && isset($tabBilanPre['AP9'])) $tabBilan['NP9']=$tabBilanPre['AP9'];
|
||||
if (!isset($tabBilan['NR1']) && isset($tabBilanPre['AR1'])) $tabBilan['NR1']=$tabBilanPre['AR1'];
|
||||
if (!isset($tabBilan['NR2']) && isset($tabBilanPre['AR2'])) $tabBilan['NR2']=$tabBilanPre['AR2'];
|
||||
if (!isset($tabBilan['NR3']) && isset($tabBilanPre['AR3'])) $tabBilan['NR3']=$tabBilanPre['AR3'];
|
||||
// ASSURANCE
|
||||
if (!isset($tabBilan['NR4']) && isset($tabBilanPre['AR4'])) $tabBilan['AR4']=$tabBilanPre['AR4'];
|
||||
}
|
||||
} // --- Fin traitement bilan précédent
|
||||
}
|
||||
|
||||
//Put Result in memory
|
||||
$this->Bilans[$typeBilan.$millesime] = $tabBilan;
|
||||
}
|
||||
|
||||
return $tabBilan;
|
||||
}
|
||||
|
||||
/**
|
||||
* Conversion des bilans Simplifiés en Réels Normal
|
||||
* @param $bilanRS array Bilan au format réel simplifé (2033)
|
||||
* @return array Bilan au format réel Normal (2050)
|
||||
*/
|
||||
public function bilanSimplifie2Normal($bilanRS)
|
||||
{
|
||||
$bilanRN=array();
|
||||
foreach ($this->tabBS2BN as $posteRN => $formule) {
|
||||
if (preg_match('/\+|\-/', $formule)) {
|
||||
$tabTmp = preg_split('/\+|\-/', $formule, -1, PREG_SPLIT_OFFSET_CAPTURE);
|
||||
//$bilanRN[$posteRN]=0;
|
||||
$scalc='';
|
||||
foreach ($tabTmp as $i=>$tab) {
|
||||
if ($i==0) {
|
||||
$bilanRN[$posteRN]=$bilanRS[$tab[0]];
|
||||
$scalc.=$bilanRS[$tab[0]];
|
||||
}
|
||||
else {
|
||||
$signe=$formule[$tab[1]-1];
|
||||
$scalc.=$signe;
|
||||
if ($signe=='+') $bilanRN[$posteRN]+=$bilanRS[$tab[0]];
|
||||
elseif ($signe=='-') $bilanRN[$posteRN]-=$bilanRS[$tab[0]];
|
||||
$scalc.=$bilanRS[$tab[0]];
|
||||
}
|
||||
}
|
||||
$bilanRN[$posteRN]=$bilanRN[$posteRN];
|
||||
}
|
||||
else $bilanRN[$posteRN]=$bilanRS[$formule];
|
||||
}
|
||||
|
||||
//Variation de stock (matières premières et approvisionnement)
|
||||
if ( is_numeric($bilanRS['240']) && $bilanRS['240'] != 0 ) {
|
||||
$bilanRN['BL'] = $bilanRS['050'];
|
||||
$bilanRN['BM'] = $bilanRS['052'];
|
||||
$bilanRN['BM1'] = $bilanRS['053'];
|
||||
$bilanRN['BM2'] = $bilanRS['N05'];
|
||||
unset($bilanRN['BN']);
|
||||
unset($bilanRN['BO']);
|
||||
unset($bilanRN['BO1']);
|
||||
unset($bilanRN['BO2']);
|
||||
} else {
|
||||
unset($bilanRN['BL']);
|
||||
unset($bilanRN['BM']);
|
||||
unset($bilanRN['BM1']);
|
||||
unset($bilanRN['BM2']);
|
||||
$bilanRN['BN'] = $bilanRS['050'];
|
||||
$bilanRN['BO'] = $bilanRS['052'];
|
||||
$bilanRN['BO1'] = $bilanRS['053'];
|
||||
$bilanRN['BO2'] = $bilanRS['N05'];
|
||||
}
|
||||
|
||||
if ( is_numeric($bilanRS['070']) && $bilanRS['070'] != 0
|
||||
|| is_numeric($bilanRS['074']) && $bilanRS['074'] != 0
|
||||
|| is_numeric($bilanRS['052']) && $bilanRS['052'] != 0
|
||||
|| is_numeric($bilanRS['062']) && $bilanRS['062'] != 0 ) {
|
||||
$bilanRN['GC'] = $bilanRS['256'];
|
||||
} elseif ( $bilanRS['070'] == 0
|
||||
&& $bilanRS['074'] == 0
|
||||
&& $bilanRS['052'] == 0
|
||||
&& $bilanRS['062'] == 0
|
||||
&& intval($bilanRS['254']) > 0 ) {
|
||||
$bilanRN['GD'] = $bilanRS['256'];
|
||||
}
|
||||
|
||||
if ( is_numeric($bilanRS['584']) && $bilanRS['584'] != 0 ) {
|
||||
$bilanRN['HB'] = $bilanRS['584'];
|
||||
$bilanRN['HA'] = $bilanRS['290'] - $bilanRS['584'];
|
||||
} else {
|
||||
$bilanRN['HA'] = $bilanRS['290'];
|
||||
}
|
||||
|
||||
if ( is_numeric($bilanRS['582']) && $bilanRS['582'] != 0 ) {
|
||||
$bilanRN['HF'] = $bilanRS['582'];
|
||||
$bilanRN['HE'] = $bilanRS['582'] - $bilanRS['300'];
|
||||
} else {
|
||||
$bilanRN['HE'] = $bilanRS['300'];
|
||||
}
|
||||
|
||||
return $bilanRN;
|
||||
}
|
||||
}
|
255
library/Metier/Partenaires/MBilansInput.php
Normal file
255
library/Metier/Partenaires/MBilansInput.php
Normal file
@ -0,0 +1,255 @@
|
||||
<?php
|
||||
class Metier_Partenaires_MBilansInput
|
||||
{
|
||||
public $CtrlEcartMax = 10;
|
||||
|
||||
public $Ctrl = array (
|
||||
// --- Bilan Simplifié
|
||||
'S' => array(
|
||||
// Actif Simplifié
|
||||
'010-012=013'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)',
|
||||
'014-016=017'=>'Immos incorpo. autres (Brut,Amor/Prov et Net incohérents)',
|
||||
'028-030=031'=>'Immos corpo. (Brut,Amor/Prov et Net incohérents)',
|
||||
'040-042=043'=>'Immos finan. (Brut,Amor/Prov et Net incohérents)',
|
||||
'044-048=049'=>'Total (I) Actif Immos (Brut,Amor/Prov et Net incohérents)',
|
||||
'010+014+028+040=044'=>'Total Actif immobilisé Brut',
|
||||
'012+016+030+042=048'=>'Total Actif immobilisé Amor/Prov',
|
||||
'013+017+031+043=049'=>'Total Actif immobilisé Net',
|
||||
'050-052=053'=>'Stocks MP (Brut,Amor/Prov et Net incohérents)',
|
||||
'060-062=063'=>'Stocks Marchandises (Brut,Amor/Prov et Net incohérents)',
|
||||
'064-066=067'=>'Avances et acomptes/cmds (Brut,Amor/Prov et Net incohérents)',
|
||||
'068-070=071'=>'Créances clients et CR (Brut,Amor/Prov et Net incohérents)',
|
||||
'072-074=075'=>'Autres créances (Brut,Amor/Prov et Net incohérents)',
|
||||
'080-082=083'=>'VMP (Brut,Amor/Prov et Net incohérents)',
|
||||
'084-086=087'=>'Disponibilités (Brut,Amor/Prov et Net incohérents)',
|
||||
'088-090=091'=>' (Brut,Amor/Prov et Net incohérents)',
|
||||
'092-094=095'=>'Ch. constatées d\'avance (Brut,Amor/Prov et Net incohérents)',
|
||||
'096-098=099'=>'Total (II) Actif Circulant (Brut,Amor/Prov et Net incohérents)',
|
||||
'110-112=113'=>'Total ACTIF (Brut,Amor/Prov et Net incohérents)',
|
||||
'050+060+064+068+072+080+084+088+092=096'=>'Total Actif circulant Brut',
|
||||
'052+062+066+070+074+082+086+090+094=098'=>'Total Actif circulant Amor/Prov',
|
||||
'053+063+067+071+075+083+087+091+092=099'=>'Total Actif circulant Net',
|
||||
'044+096=110'=>'Total ACTIF Brut',
|
||||
'048+098=112'=>'Total ACTIF Amor/Prov',
|
||||
'049+099=113'=>'Total ACTIF Net',
|
||||
// Passif Simplifié
|
||||
'120+124+126+130+132+134+136+140=142'=>'Total Capitaux Propres',
|
||||
'156+164+166+172+174=176'=>'Total Dettes',
|
||||
'142+154+176=180'=>'Total Passif',
|
||||
'113=180'=>'Actif=Passif',
|
||||
// CDR Simplifié
|
||||
'210+214+218+222+224+226+230=232'=>'Total des produits d\'exploitation',
|
||||
'234+236+238+240+242+244+250+252+254+256+262=264'=>'Total des charges d\'exploitation',
|
||||
'210+214+218+222+224+226+230=232'=>'Total des produits d\'exploitation',
|
||||
'232-264=270'=>'Résultat d\'exploitation',
|
||||
'232+280+290-264-294-300-306=310'=>'Résultat d\'exploitation',
|
||||
),
|
||||
// --- Bilan Réel Normal
|
||||
'N' => array(
|
||||
// Actif immobilisé
|
||||
'AA=AA2'=>'Capital souscrit non appelé',
|
||||
'AB-AC=AC1'=>'Frais d\'étab. (Brut,Amor/Prov et Net incohérents)',
|
||||
'AD-AE=AE1'=>'Frais de R&D (Brut,Amor/Prov et Net incohérents)',
|
||||
'AF-AG=AG1'=>'Brevets (Brut,Amor/Prov et Net incohérents)',
|
||||
'AH-AI=AI1'=>'Fonds commercial (Brut,Amor/Prov et Net incohérents)',
|
||||
'AJ-AK=AK1'=>'Autres immo inc. (Brut,Amor/Prov et Net incohérents)',
|
||||
'AL-AM=AM1'=>'Acomptes immo inc. (Brut,Amor/Prov et Net incohérents)',
|
||||
'AN-AO=AO1'=>'Terrains (Brut,Amor/Prov et Net incohérents)',
|
||||
'AP-AQ=AQ1'=>'Constructions (Brut,Amor/Prov et Net incohérents)',
|
||||
'AR-AS=AS1'=>'Installations (Brut,Amor/Prov et Net incohérents)',
|
||||
'AT-AU=AU1'=>'Autres immo corp. (Brut,Amor/Prov et Net incohérents)',
|
||||
'AV-AW=AW1'=>'Immos en cours (Brut,Amor/Prov et Net incohérents)',
|
||||
'AX-AY=AY1'=>'Acomptes immo corp. (Brut,Amor/Prov et Net incohérents)',
|
||||
'CS-CT=CT1'=>'Immo Fi participations/équiv. (Brut,Amor/Prov et Net incohérents)',
|
||||
'CU-CV=CV1'=>'Autres participations (Brut,Amor/Prov et Net incohérents)',
|
||||
'BB-BC=BC1'=>'Créances rattachées à des particip. (Brut,Amor/Prov et Net incohérents)',
|
||||
'BD-BE=BE1'=>'Autres titres immo. (Brut,Amor/Prov et Net incohérents)',
|
||||
'BF-BG=BG1'=>'Prêts (Brut,Amor/Prov et Net incohérents)',
|
||||
'BH-BI=BI1'=>'Autres Immo Financières (Brut,Amor/Prov et Net incohérents)',
|
||||
'BJ-BK=BK1'=>'Total de l\'Actif Immobilisé (Brut,Amor/Prov et Net incohérents)',
|
||||
'AB+AD+AF+AH+AJ+AL+AN+AP+AR+AT+AV+AX+CS+CU+BB+BD+BF+BH=BJ'=>'Total des Immobilisations (Brut)',
|
||||
'AC+AE+AG+AI+AK+AM+AO+AQ+AS+AU+AW+AY+CT+CV+BC+BE+BG+BI=BK'=>'Total des Immobilisations (Amor.)',
|
||||
'AC1+AE1+AG1+AI1+AK1+AM1+AO1+AQ1+AS1+AU1+AW1+AY1+CT1+CV1+BC1+BE1+BG1+BI1=BK1'=>'Total des Immobilisations (Net)',
|
||||
// Actif circulant
|
||||
'BL-BM=BM1'=>'Stocks de MP (Brut,Amor/Prov et Net incohérents)',
|
||||
'BN-BO=BO1'=>'Stocks en cours de prod. biens (Brut,Amor/Prov et Net incohérents)',
|
||||
'BP-BQ=BQ1'=>'Stocks en cours de prod. services (Brut,Amor/Prov et Net incohérents)',
|
||||
'BR-BS=BS1'=>'Stocks produits finis (Brut,Amor/Prov et Net incohérents)',
|
||||
'BT-BU=BU1'=>'Stocks de marchandises (Brut,Amor/Prov et Net incohérents)',
|
||||
'BV-BW=BW1'=>'Avances et acomptes/cmds (Brut,Amor/Prov et Net incohérents)',
|
||||
'BX-BY=BY1'=>'Créances clients (Brut,Amor/Prov et Net incohérents)',
|
||||
'BZ-CA=CA1'=>'Autres créances (Brut,Amor/Prov et Net incohérents)',
|
||||
'CB-CC=CC1'=>'Capital souscrit appelé non versé (Brut,Amor/Prov et Net incohérents)',
|
||||
'CD-CE=CE1'=>'VMP (Brut,Amor/Prov et Net incohérents)',
|
||||
'CF-CG=CG1'=>'Disponibilités (Brut,Amor/Prov et Net incohérents)',
|
||||
'CH-CI=CI1'=>'Charges Const. d\'avance(Brut,Amor/Prov et Net incohérents)',
|
||||
'CJ-CK=CK1'=>'Total de l\'Actif Circulant (Brut,Amor/Prov et Net incohérents)',
|
||||
'BL+BN+BP+BR+BT+BV+BX+BZ+CB+CD+CF+CH=CJ'=>'Total l\'Actif Circulant (Brut)',
|
||||
'BM+BO+BQ+BS+BU+BW+BY+CA+CC+CE+CG+CI=CK'=>'Total l\'Actif Circulant (Amor.)',
|
||||
'BM1+BO1+BQ1+BS1+BU1+BW1+BY1+CA1+CC1+CE1+CG1+CI1=CK1'=>'Total l\'Actif Circulant (Net)',
|
||||
'CL=CL2'=>'Charges / plus. ex. (Brut<>Net)',
|
||||
'CM=CM2'=>'Primes de Rbt obligations (Brut<>Net)',
|
||||
'CN=CN2'=>'Ecarts de conversion d\'actif (Brut<>Net)',
|
||||
'CO-1A=1A1'=>'Total Actif (Brut,Amor/Prov et Net incohérents)',
|
||||
'AA+BJ+CJ+CL+CM+CN=CO'=>'Total Actif Brut',
|
||||
'BK+CK=1A'=>'Total Actif (Amor.)',
|
||||
'AA2+BK1+CK1+CL2+CM2+CN2=1A1'=>'Total Actif Net',
|
||||
// PASSIF
|
||||
'DA+DB+DC+DD+DE+DF+DG+DH+DI+DJ+DK=DL'=>'Passif : s/total I (Capitaux Propres)',
|
||||
'DM+DN=DO'=>'Passif : s/total II (Autres fonds propres)',
|
||||
'DP+DQ=DR'=>'Passif : s/total III (Provisions)',
|
||||
'DS+DT+DU+DV+DW+DX+DY+DZ+EA+EB=EC'=>'Passif : s/total IV (Dettes+Cpt régul. PCA)',
|
||||
'DL+DO+DR+EC+ED=EE'=>'Total Passif',
|
||||
'EE=1A1'=>'Total Actif=Total Passif',
|
||||
// CDR
|
||||
'FA+FB=FC'=>'Total Ventes de marchandises',
|
||||
'FD+FE=FF'=>'Total Production vendue de biens',
|
||||
'FG+FH=FI'=>'Total Production vendue de services',
|
||||
'FJ+FK=FL'=>'Total Chiffe d\'Affaires France+Export',
|
||||
'FA+FD+FG=FJ'=>'Total C.A. France',
|
||||
'FB+FE+FH=FK'=>'Total C.A. Export',
|
||||
'FC+FF+FI=FL'=>'Total C.A. Total (Vtes+Biens+Services)',
|
||||
'FL+FM+FN+FO+FP+FQ=FR'=>'Total I : Produits d\'Exploitation',
|
||||
'FS+FT+FU+FV+FW+FX+FY+FZ+GA+GB+GC+GD+GE=GF'=>'Total II :Charges d\'Exploitation',
|
||||
'FR-GF=GG'=>'1 - Résultat d\'Exploitation',
|
||||
'GJ+GK+GL+GM+GN+GO=GP'=>'Total V : Produits Financiers',
|
||||
'GQ+GR+GS+GT=GU'=>'Total VI : Charges Financières',
|
||||
'GP-GU=GV'=>'2 - Résultat Financier',
|
||||
'GG+GH-GI+GV=GW'=>'3 - R.C.A.I.',
|
||||
'HA+HB+HC=HD'=>'Total VII : Produits Exceptionnels',
|
||||
'HE+HF+HG=HH'=>'Total VIII : Charges Exceptionnels',
|
||||
'HD-HH=HI'=>'4 - Résultat Exceptionnel',
|
||||
'FR+GH+GP+HD=HL'=>'CDR : Total des Produits',
|
||||
'GF+GI+GU+HH+HJ+HK=HM'=>'CDR : Total des Charges',
|
||||
'HL-HM=HN'=>'5 - Résultat de l\'exercice',
|
||||
),
|
||||
);
|
||||
|
||||
public $LibCodeCtrl = array(
|
||||
'_0' => '-',
|
||||
'_1' => 'Corrigé',
|
||||
'_3' => 'Capital',
|
||||
'_5' => 'Calculs', // Anciennement 2 mais maintenant >=5 correspond à une erreur grave
|
||||
'_7' => 'Effectif',
|
||||
'_9' => 'Unité',
|
||||
);
|
||||
|
||||
public $LibCodeSaisie = array(
|
||||
// Code Saisie Bilans par Infogreffe
|
||||
'_00' => 'Bilan saisi sans anomalie',
|
||||
'_01' => 'Bilan saisi avec des incohérences comptables à la source du document (issues du remettant)',
|
||||
'_02' => 'Bilan avec Actif, Passif ou Compte de Résultat nul',
|
||||
'_03' => 'Bilan incomplet (des pages manquent)',
|
||||
'_04' => 'Bilan complet non détaillé (seuls les totaux et sous totaux sont renseignés)',
|
||||
'_05' => 'Bilan reçu en double exemplaire',
|
||||
'_06' => 'Bilan intermédiaire - Situation provisoire',
|
||||
'_07' => 'Bilan illisible',
|
||||
'_A7' => 'Bilan illisible, présentant un cadre gris très foncés (dans lesquels sont inscrits en général les totaux)',
|
||||
'_B7' => 'Bilan manuscrits',
|
||||
'_C7' => 'Bilan illisible, présentant des caractères trop gras',
|
||||
'_D7' => 'Bilan scanné en biais ou qui présentent des pages rognées',
|
||||
'_E7' => 'Bilan numérisés trop clairement (comme une imprimante dont la cartouche est presque vide)',
|
||||
'_F7' => 'Bilan illisible',
|
||||
'_08' => 'Bilan consolidé',
|
||||
'_09' => 'Déclaration d\'impôts',
|
||||
'_10' => 'Document autre que bilan',
|
||||
'_11' => 'Bilan de clôture de liquidation',
|
||||
'_12' => 'Bilan de Société financière',
|
||||
'_13' => 'Bilan de Société d\'assurance',
|
||||
'_14' => 'Bilan de Société immobilière',
|
||||
'_15' => 'Bilan de Société étrangère',
|
||||
// Codes saisie de Bilans spécifique às S&D
|
||||
'_70' => 'Document relatif à une autre société',
|
||||
);
|
||||
|
||||
/**
|
||||
* Décompose le tableau de controle
|
||||
* @param string $type (S | N)
|
||||
* Type du bilan
|
||||
* @return array
|
||||
* Retourne un tableau
|
||||
* [
|
||||
* operation => Chaine de caractère contenant l'operation à effectuer sur les postes
|
||||
* total => Code du poste résultant de l'operation pour comparaison
|
||||
* ]
|
||||
*/
|
||||
protected function formules($type)
|
||||
{
|
||||
$formules = array();
|
||||
if ( array_key_exists($type, $this->Ctrl) ) {
|
||||
foreach ( $this->Ctrl[$type] as $formule => $lib ) {
|
||||
$posEgal = strpos($formule, '=');
|
||||
$partLeft = substr($formule, 0, $posEgal);
|
||||
preg_match_all('/([A-Z0-9]+|(\+|\-))/', $partLeft, $matches);
|
||||
$total = substr($formule, $posEgal+1);
|
||||
$formules[] = array(
|
||||
'operation' => $matches[0],
|
||||
'total' => $total,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return $formules;
|
||||
}
|
||||
|
||||
/**
|
||||
* Control les postes
|
||||
* @param string $type (S | N)
|
||||
* Type du bilan
|
||||
* @param array $postes
|
||||
* Tableau des postes d'un bilan Code => Valeur
|
||||
* @throws Exception
|
||||
* @return boolean
|
||||
*/
|
||||
public function control($type, $postes = array() )
|
||||
{
|
||||
$formules = $this->formules($type);
|
||||
|
||||
if ( count($formules) > 0 ) {
|
||||
foreach ( $formules as $formule ) {
|
||||
$checkPostes = array();
|
||||
|
||||
// --- Réaliser le calcul
|
||||
$calc = 0;
|
||||
$signe = null;
|
||||
foreach ( $formule['operation'] as $operation ) {
|
||||
if ( $operation == '-' ) {
|
||||
$signe = '-';
|
||||
} elseif ( $operation == '+' ) {
|
||||
$signe = '+';
|
||||
} else {
|
||||
$checkPostes[] = $operation;
|
||||
// --- Vérification valeur poste
|
||||
if ( !array_key_exists($operation, $postes) ) {
|
||||
$postes[$operation] = 0;
|
||||
}
|
||||
// --- Calcul
|
||||
if ( empty($signe) ) {
|
||||
$calc = $postes[$operation];
|
||||
} elseif ( $signe == '+' ) {
|
||||
$calc+= $postes[$operation];
|
||||
} elseif ( $signe == '-' ) {
|
||||
$calc-= $postes[$operation];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$checkPostes[] = $formule['total'];
|
||||
// --- Effecteur la vérification avec le total
|
||||
if ( !array_key_exists($formule['total'], $postes) ) {
|
||||
$total = 0;
|
||||
} else {
|
||||
$total = $postes[$formule['total']];
|
||||
}
|
||||
if ($calc != $total && !( ($calc - $this->CtrlEcartMax < $total) && ($calc + $this->CtrlEcartMax > $total) ) ) {
|
||||
throw new Exception(join(';',$checkPostes));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
178
library/Metier/Partenaires/MBourse.php
Normal file
178
library/Metier/Partenaires/MBourse.php
Normal file
@ -0,0 +1,178 @@
|
||||
<?php
|
||||
class Metier_Partenaires_MBourse
|
||||
{
|
||||
protected $siren = false;
|
||||
protected $iDb;
|
||||
|
||||
public function __construct($siren=0, $db = null)
|
||||
{
|
||||
$this->siren = $siren;
|
||||
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
public function getLibSource($source)
|
||||
{
|
||||
switch ($source) {
|
||||
case 'B': return 'Business Wire'; break;
|
||||
case 'H': return 'Hugin'; break;
|
||||
case 'A': return 'ActusNews'; break;
|
||||
case 'D': return 'DiRelease'; break;
|
||||
case 'E': return 'Les Echos'; break;
|
||||
default: return 'N/C'; break;
|
||||
}
|
||||
}
|
||||
|
||||
/** Vérifie la validité de la structure d'un code ISIN
|
||||
**
|
||||
** @param string $isin
|
||||
** @return bool
|
||||
**/
|
||||
function isIsin($isin)
|
||||
{
|
||||
if (strlen(trim($isin))) {
|
||||
$cle = substr($isin, -1);
|
||||
$isinLeft = substr($isin, 0, strlen($isin)-1);
|
||||
$letter2number = array('A'=>10, 'B'=>11, 'C'=>12, 'D'=>13, 'E'=>14, 'F'=>15, 'G'=>16, 'H'=>17, 'I'=>18, 'J'=>19, 'K'=>20, 'L'=>21, 'M'=>22, 'N'=>23, 'O'=>24, 'P'=>25, 'Q'=>26, 'R'=>27, 'S'=>28, 'T'=>29, 'U'=>30, 'V'=>31, 'W'=>32, 'X'=>33, 'Y'=>34, 'Z'=>35);
|
||||
$isinConvertion = strtr($isinLeft, $letter2number);
|
||||
$sum = '';
|
||||
$sumFinal = 0;
|
||||
for($i=0; $i<strlen($isinConvertion); ++$i) $sum .= (($i % 2) ? 1 : 2)*$isinConvertion[$i];
|
||||
for($i=0; $i<strlen($sum); ++$i) $sumFinal += $sum[$i];
|
||||
if ($sumFinal % 10){
|
||||
$cleVerif = ((int)($sumFinal/10) + 1)*10-$sumFinal;
|
||||
} else {
|
||||
$cleVerif = 0;
|
||||
}
|
||||
if ($cle == $cleVerif) {
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
} else return false;
|
||||
}
|
||||
|
||||
/** Obtenir le code ISIN à partir d'un siren
|
||||
**
|
||||
** @param integer $siren
|
||||
** @return string
|
||||
**/
|
||||
function getCodeIsin($siren=false)
|
||||
{
|
||||
if (!$siren)
|
||||
$siren=$this->siren;
|
||||
|
||||
$tabTmp = $this->iDb->select('jo.infos_entrep', 'isin', "siren=$siren AND isin<>''", false, MYSQL_ASSOC);
|
||||
return trim(@$tabTmp[0]['isin']);
|
||||
}
|
||||
|
||||
/** Obtenir le SIREN à partir d'un code ISIN
|
||||
**
|
||||
** @param string $isin Code ISIN
|
||||
** @return integer
|
||||
**/
|
||||
function getCodeSiren($isin)
|
||||
{
|
||||
$tabTmp = $this->iDb->select('jo.infos_entrep', 'siren', "isin='$isin' AND siren<>0", false, MYSQL_ASSOC);
|
||||
return trim($tabTmp[0]['siren']);
|
||||
}
|
||||
|
||||
/** A partir d'un siren, récupère les informations règlementés
|
||||
**
|
||||
** @param integer $siren
|
||||
** @param integer $id
|
||||
** @return unknown
|
||||
**/
|
||||
function getInfosReg($siren=false, $id=null)
|
||||
{
|
||||
if (!$siren) $siren = $this->siren;
|
||||
|
||||
$isin = $this->getCodeIsin($siren);
|
||||
$tabRet=array();
|
||||
if ($isin!='') {
|
||||
|
||||
$sqlID = '';
|
||||
if (null !== $id) {
|
||||
$sqlID=" AND id=$id ";
|
||||
}
|
||||
|
||||
$bodacc = $this->iDb->select(
|
||||
'presse.articles',
|
||||
'id, companyName, companyIsin, companySiren, companyWebSite, pressReleaseDate, pressReleaseTitle, '.
|
||||
'pressReleaseText, pressReleaseHtml, pressReleaseAttachments, pressReleaseUrl, source, dateInsert',
|
||||
"companyIsin='$isin' $sqlID ORDER BY pressReleaseDate DESC", true, MYSQL_ASSOC);
|
||||
if (count($bodacc)>0) {
|
||||
foreach ($bodacc as $k=>$ann) {
|
||||
if ($id)
|
||||
$tabRet[$k]=array(
|
||||
'id'=>$ann['id'],
|
||||
'source'=>$this->getLibSource($ann['source']),
|
||||
'DateParution'=>$ann['pressReleaseDate'],
|
||||
'raisonSociale'=>$ann['companyName'],
|
||||
'titre'=>$ann['pressReleaseTitle'],
|
||||
'communique'=>$ann['pressReleaseText'],
|
||||
'communiqueHtml'=>$ann['pressReleaseHtml'],
|
||||
'pj'=>$ann['pressReleaseAttachments'],
|
||||
'url'=>$ann['pressReleaseUrl'],
|
||||
'dateInsertionSD'=>$ann['dateInsert'],
|
||||
);
|
||||
else
|
||||
$tabRet[$k]=array(
|
||||
'id'=>$ann['id'],
|
||||
'source'=>$this->getLibSource($ann['source']),
|
||||
'DateParution'=>$ann['pressReleaseDate'],
|
||||
'raisonSociale'=>$ann['companyName'],
|
||||
'titre'=>$ann['pressReleaseTitle'],
|
||||
'pj'=>$ann['pressReleaseAttachments'],
|
||||
'url'=>$ann['pressReleaseUrl'],
|
||||
'dateInsertionSD'=>$ann['dateInsert'],
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
/** A partir d'un siren, récupère les informations boursières
|
||||
**
|
||||
** @param integer $siren
|
||||
** @return unknown
|
||||
**/
|
||||
function getInfosBourse($siren=false)
|
||||
{
|
||||
global $timer;
|
||||
|
||||
if (!$siren)
|
||||
$siren=$this->siren;
|
||||
|
||||
$isin=$this->getCodeIsin($siren);
|
||||
$timer['infosBoursieres-getCodeIsin']=microtime(true);
|
||||
$tabRet=array();
|
||||
if ($isin<>'') {
|
||||
$tabRes = $this->iDb->select(
|
||||
'sdv1.bourse_isin b, sdv1.bourse_cours c',
|
||||
'siren, raisonSociale, adresse, effectif, code_sicovam, code_mnemo, code_bloomberg, code_datastream, code_isin, logo, code_ric, '.
|
||||
'dateIntroduction, dateDerAG, dateRadiation, autre_isin, eligibleSRD, eligiblePEA, nombreTitres, tel1, tel2, fax1, fax2, web, mail, '.
|
||||
'marche, placeCotation, description, secteur, activite, activiteDet, dirigeants, actionnaires, chiffresTrim, '.
|
||||
'c.autre, c.`date`, c.`heure`, c.`open` , c.`high` , c.`low` , c.`close` , c.`volume`',
|
||||
"code_isin='$isin' /*OR siren=$siren)*/ AND b.code_isin=c.isin AND c.autre IN('','e','f','g','m','s','u') ORDER BY c.`date` DESC, c.`heure` DESC LIMIT 0,1", false, MYSQL_ASSOC);
|
||||
|
||||
$tabRet=$tabRes[0];
|
||||
$timer['infosBoursieres-infosIsin']=microtime(true);
|
||||
|
||||
$tabRes = $this->iDb->select('sdv1.bourse_cours',
|
||||
'min(close) AS coursMin, avg(close) AS coursMoy, max(close) AS coursMax',
|
||||
"isin='$isin' GROUP BY isin", false, MYSQL_ASSOC);
|
||||
$tabTmp=$tabRes[0];
|
||||
$tabRet['coursMin']=$tabTmp['coursMin'];
|
||||
$tabRet['coursMoy']=$tabTmp['coursMoy'];
|
||||
$tabRet['coursMax']=$tabTmp['coursMax'];
|
||||
$timer['infosBoursieres-derniersCours']=microtime(true);
|
||||
}
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
}
|
280
library/Metier/Partenaires/MCadastre.php
Normal file
280
library/Metier/Partenaires/MCadastre.php
Normal file
@ -0,0 +1,280 @@
|
||||
<?php
|
||||
class Metier_Partenaires_MCadastre
|
||||
{
|
||||
protected $siren = false;
|
||||
protected $iDb;
|
||||
|
||||
/** Droits des locaux **/
|
||||
private static $tabCodeDroit=array(
|
||||
'P'=>'Propriétaire',
|
||||
'U'=>'Usufruitier', // (associé avec N)
|
||||
'N'=>'Nu-propriétaire', // (associé avec U)
|
||||
'B'=>'Bailleur à construction', // (associé avec R)
|
||||
'R'=>'Preneur à construction', // (associé avec B)
|
||||
'F'=>'Foncier', // (associé avec D ou T)
|
||||
'T'=>'Tenuyer', // (associé avec F)
|
||||
'D'=>'Domanier', // (associé avec F)
|
||||
'V'=>'Bailleur d\'un bail à réhabilitation', // (associé avec W)
|
||||
'W'=>'Preneur d\'un bail à réhabilitation', // (associé avec V)
|
||||
'A'=>'Locataire-Attributaire', // (associé avec P)
|
||||
'E'=>'Emphytéote', // (associé avec P)
|
||||
'K'=>'Antichrésiste', // (associé avec P)
|
||||
'L'=>'Fonctionnaire logé',
|
||||
'G'=>'Gérant, mandataire, gestionnaire',
|
||||
'S'=>'Syndic de copropriété',
|
||||
'H'=>'Associé dans une société en transparence fiscale',// (associé avec P)
|
||||
'O'=>'Autorisation d\'occupation temporaire (70 ans)',
|
||||
'J'=>'Jeune agriculteur',
|
||||
'Q'=>'Gestionnaire taxe sur les bureaux (Ile-de-France)',
|
||||
'X'=>'La Poste Occupant et propriétaire',
|
||||
'Y'=>'La Poste Occupant et non propriétaire',
|
||||
'C'=>'Fiduciaire',
|
||||
);
|
||||
|
||||
/** Nature des locaux **/
|
||||
private static $tabNatureLoc=array(
|
||||
'AP'=>'Appartement',
|
||||
'AT'=>'Antenne téléphone',
|
||||
'AU'=>'Autoroute',
|
||||
'CA'=>'Commerce sans boutique',
|
||||
'CB'=>'Local divers',
|
||||
'CD'=>'Dépendance commerciale',
|
||||
'CH'=>'Chantier',
|
||||
'CM'=>'Commerce avec boutique',
|
||||
'DC'=>'Dépendance lieux communs',
|
||||
'DE'=>'Dépendance bâtie isolée',
|
||||
'LC'=>'Local commun',
|
||||
'MA'=>'Maison',
|
||||
'ME'=>'Maison exceptionnelle',
|
||||
'MP'=>'Maison partagée par une limite territoriale',
|
||||
'SM'=>'Sol de maison',
|
||||
'U' =>'Etablissement industriel',
|
||||
'U1'=>'Gare',
|
||||
'U2'=>'Gare - Triage',
|
||||
'U3'=>'Gare - Atelier matériel',
|
||||
'U4'=>'Gare - Atelier magasin',
|
||||
'U5'=>'Gare - Dépôt Titulaire',
|
||||
'U6'=>'Gare - Dépôt Réel',
|
||||
'U7'=>'Gare - Matériel transport',
|
||||
'U8'=>'Gare - Entretien matériel roulant',
|
||||
'U9'=>'Gare - Station usine',
|
||||
'UE'=>'Transformateur électrique',
|
||||
'UG'=>'Appareil à gaz',
|
||||
'UN'=>'Usine nucléaire',
|
||||
'US'=>'Etablissement industriel',
|
||||
);
|
||||
|
||||
/** Code Affectation des PEV (Partie d'EValuation) **/
|
||||
private static $tabCodePEV=array(
|
||||
'B'=>'Bâtiment industriel',
|
||||
'C'=>'Commerce',
|
||||
'H'=>'Habitation',
|
||||
'K'=>'Locaux administratifs non passibles de la Taxe d\'Habitation',
|
||||
'L'=>'Hôtel',
|
||||
'P'=>'Professionnel',
|
||||
'S'=>'Biens divers passibles de la Taxe d\'Habitation',
|
||||
'T'=>'Terrain industriel',
|
||||
);
|
||||
|
||||
/** Code Groupes Personnes Morales **/
|
||||
private static $tabGrpPerMor=array(
|
||||
0=>'Personne morale', // non remarquable
|
||||
1=>'Etat',
|
||||
2=>'Région',
|
||||
3=>'Département',
|
||||
4=>'Commune',
|
||||
5=>'Office HLM',
|
||||
6=>'Personne morale représentant des sociétés',
|
||||
7=>'Copropriétaire',
|
||||
8=>'Associé',
|
||||
9=>'Etablissement public ou organismes assimilés',
|
||||
|
||||
);
|
||||
|
||||
/** Nature des parcelles (cultures) **/
|
||||
private static $tabNaturePar=array(
|
||||
'AB'=>'Terrains à batir',
|
||||
'AG'=>'Terrains d\'agrément',
|
||||
'B' =>'Bois',
|
||||
'BF'=>'Futaies feuillues',
|
||||
'BM'=>'Futaies mixtes',
|
||||
'BO'=>'Oseraies',
|
||||
'BP'=>'Peupleraies',
|
||||
'BR'=>'Futaies résineuses',
|
||||
'BS'=>'Taillies sous futaies',
|
||||
'BT'=>'Taillies simples',
|
||||
'CA'=>'Carrières',
|
||||
'CH'=>'Chemins de fer, Canaux de Navigation',
|
||||
'E' =>'Eaux',
|
||||
'J' =>'Jardins',
|
||||
'L' =>'Landes',
|
||||
'LB'=>'Landes Boisées',
|
||||
'P' =>'Prés',
|
||||
'PA'=>'Pâtures ou Pâturages',
|
||||
'PC'=>'Pacages ou Pâtis',
|
||||
'PE'=>'Prés d\'embouche',
|
||||
'PH'=>'Herbages',
|
||||
'PP'=>'Prés, Pâtures ou Herbages plantes',
|
||||
'S' =>'Sols',
|
||||
'T' =>'Terre',
|
||||
'TP'=>'Terres plantées',
|
||||
'VE'=>'Vergers',
|
||||
'VI'=>'Vignes',
|
||||
);
|
||||
|
||||
public function __construct($siren=0, $db = null)
|
||||
{
|
||||
$this->siren = $siren;
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $siren
|
||||
* @return array
|
||||
*/
|
||||
function getLocaux($siren=false)
|
||||
{
|
||||
if (!$siren) $siren=$this->siren;
|
||||
|
||||
$tabTmp=$this->iDb->select(
|
||||
'sdv1.cad_perloc l, sdv1.cad_permor e',
|
||||
'e.INTCIF, e.DNUPER, e.CCOGRM, e.DDENPM, e.DSIPMO, e.DFORME, e.FILLER, e.DSIREN, e.DLIGN3, e.DLIGN4, e.DLIGN5, e.DLIGN6, e.CCODEP, e.CCOCOM,
|
||||
l.CCODRO, l.CCOCOM, l.CCOPRF, l.CCOSEC, l.DNUPLA, l.DNUBAT, l.DESC, l.DNIV, l.DPOR, l.CCONLC, l.CCOAFF0, l.DSUPOD0, l.CCOAFF1, l.DSUPOD1, l.CCOAFF2, l.DSUPOD2, l.CCOAFF3, l.DSUPOD3, l.CCOAFF4, l.DSUPOD4, l.CCOAFF5, l.DSUPOD5, l.CCOAFF6, l.DSUPOD6, l.CCOAFF7, l.DSUPOD7, l.CCOAFF8, l.DSUPOD8, l.CCOAFF9, l.DSUPOD9, l.CCODEP, l.DLICOM, l.CCORIV, l.CNAVOI, l.DLIVOI, l.DNUVOI, l.DLTNUV',
|
||||
"e.DSIREN='$siren' AND e.INTCIF=l.INTCIF AND e.DNUPER=l.DNUPER", false, MYSQL_ASSOC);
|
||||
$tabRet=array();
|
||||
if (count($tabTmp)>0 ) {
|
||||
foreach ($tabTmp as $i=>$loc) {
|
||||
$tabLoc = array(
|
||||
'idCentre'=>$loc['INTCIF'],
|
||||
'idPmMajic'=>$loc['DNUPER'],
|
||||
'pmGroupe'=>trim($loc['CCOGRM']),
|
||||
'pmGroupeLib'=>self::$tabGrpPerMor[trim($loc['CCOGRM'])],
|
||||
'pmNom'=>trim($loc['DDENPM']),
|
||||
'pmSigle'=>trim($loc['DSIPMO']),
|
||||
'pmFJ'=>$loc['DFORME'], // $loc['FILLER'],
|
||||
'siren'=>trim($loc['DSIREN']),
|
||||
'pmAdrL3'=>trim($loc['DLIGN3']),
|
||||
'pmAdrL4'=>trim($loc['DLIGN4']),
|
||||
'pmAdrL5'=>trim($loc['DLIGN5']),
|
||||
'pmAdrL6'=>trim($loc['DLIGN6']),
|
||||
'pmAdrDep'=>trim($loc['CCODEP']),
|
||||
'pmAdrCom'=>trim($loc['CCOCOM']),
|
||||
'localDroit'=>trim($loc['CCODRO']),
|
||||
'localDroitLib'=>self::$tabCodeDroit[trim($loc['CCODRO'])],
|
||||
'localDep'=>trim($loc['CCODEP']),
|
||||
'localCom'=>trim($loc['CCOCOM']),
|
||||
'localComLib'=>trim($loc['DLICOM']),
|
||||
'localComAbs'=>trim($loc['CCOPRF']),
|
||||
'localRivoli'=>trim($loc['CCORIV']),
|
||||
'localNumVoie'=>trim($loc['DNUVOI']),
|
||||
'localIndVoie'=>trim($loc['DLTNUV']),
|
||||
'localTypVoie'=>trim($loc['CNAVOI']),
|
||||
'localLibVoie'=>trim($loc['DLIVOI']),
|
||||
'localSection'=>trim($loc['CCOSEC']),
|
||||
'localNumPlan'=>trim($loc['DNUPLA']),
|
||||
'localNumBat'=>trim($loc['DNUBAT']),
|
||||
'localEntEsc'=>trim($loc['DESC']),
|
||||
'localNumPlan'=>trim($loc['DNIV']),
|
||||
'localNumBat'=>trim($loc['DPOR']),
|
||||
'localEntEsc'=>trim($loc['CCONLC']),
|
||||
'localPEV'=>array(),
|
||||
);
|
||||
$surface=0;
|
||||
for($j=0;$j<10;$j++) {
|
||||
$pevCode=trim($loc['CCOAFF'.$j]);
|
||||
$pevSurf=trim($loc['DSUPOD'.$j])*1;
|
||||
if ($pevCode<>'' && $pevSurf>0) {
|
||||
$tabLoc['localPEV'][$j]=array(
|
||||
'pevCode'=>$pevCode,
|
||||
'pevType'=>self::$tabCodePEV[$pevCode],
|
||||
'pevSurface'=>$pevSurf,
|
||||
);
|
||||
$surface+=$pevSurf;
|
||||
}
|
||||
}
|
||||
$tabLoc['localSurface']=$surface;
|
||||
$tabRet[]=$tabLoc;
|
||||
/**
|
||||
* CADBAT_NB_TOT nombre Cadastre nombre de postes BATIMENT du SIREN toutes addresses
|
||||
* CADTER_NB_TOT nombre Cadastre nombre de postes TERRAIN du SIREN toutes addresses
|
||||
* CADBAT_NB_PROP nombre Cadastre nombre de postes BATIMENT à l'adresse dont elle est propriétaire
|
||||
* CADTER_NB_PROP nombre Cadastre nombre de postes TERRAIN à l'adresse dont elle est propriétaire
|
||||
* CADBAT_NB_NONPROP nombre Cadastre nombre de postes BATIMENT à l'adresse dont elle n'est pas propriétaire
|
||||
* CADTER_NB_NONPROP nombre Cadastre nombre de postes TERRAINS à l'adresse dont elle n'est pas propriétaire
|
||||
* CADBAT_SURF_CUM nombre Cadastre Cumul Surfaces des batiments à l'addresse
|
||||
* CADBAT_SURF_TOT nombre Cadastre Surface totale des batiments du SIREN
|
||||
* CADTER_SURF_CUM nombre Cadastre Cumul Surfaces des terrains à l'addresse
|
||||
* CADTER_SURF_TOT nombre Cadastre Surface totale des terrains du SIREN
|
||||
*/
|
||||
}
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
function getParcelles($siren=false) {
|
||||
if (!$siren)
|
||||
$siren=$this->siren;
|
||||
|
||||
$tabTmp=$this->iDb->select(
|
||||
'sdv1.cad_perpar p, sdv1.cad_permor e',
|
||||
'e.INTCIF, e.DNUPER, e.CCOGRM, e.DDENPM, e.DSIPMO, e.DFORME, e.FILLER, e.DSIREN, e.DLIGN3, e.DLIGN4, e.DLIGN5, e.DLIGN6, e.CCODEP, e.CCOCOM,
|
||||
p.CCODRO, p.CCOCOM, p.CCOPRF, p.CCOSEC, p.DNUPLA, p.DCNPAR, p.DSGRPF0, p.DCNSUF0, p.DSGRPF1, p.DCNSUF1, p.DSGRPF2, p.DCNSUF2, p.DSGRPF3, p.DCNSUF3, p.DSGRPF4, p.DCNSUF4, p.DSGRPF5, p.DCNSUF5, p.DSGRPF6, p.DCNSUF6, p.DSGRPF7, p.DCNSUF7, p.DSGRPF8, p.DCNSUF8, p.DSGRPF9, p.DCNSUF9, p.CCODEP, p.DLICOM, p.CCORIV, p.CNAVOI, p.DLIVOI, p.DNUVOI, p.DLTNUV',
|
||||
"e.DSIREN='$siren' AND e.INTCIF=p.INTCIF AND e.DNUPER=p.DNUPER", false, MYSQL_ASSOC);
|
||||
$tabRet=array();
|
||||
foreach ($tabTmp as $i=>$loc) {
|
||||
$tabLoc=array( 'idCentre'=>$loc['INTCIF'],
|
||||
'idPmMajic'=>$loc['DNUPER'],
|
||||
'pmGroupe'=>trim($loc['CCOGRM']),
|
||||
'pmGroupeLib'=>self::$tabGrpPerMor[trim($loc['CCOGRM'])],
|
||||
'pmNom'=>trim($loc['DDENPM']),
|
||||
'pmSigle'=>trim($loc['DSIPMO']),
|
||||
'pmFJ'=>$loc['DFORME'], // $loc['FILLER'],
|
||||
'siren'=>trim($loc['DSIREN']),
|
||||
'pmAdrL3'=>trim($loc['DLIGN3']),
|
||||
'pmAdrL4'=>trim($loc['DLIGN4']),
|
||||
'pmAdrL5'=>trim($loc['DLIGN5']),
|
||||
'pmAdrL6'=>trim($loc['DLIGN6']),
|
||||
'pmAdrDep'=>trim($loc['CCODEP']),
|
||||
'pmAdrCom'=>trim($loc['CCOCOM']),
|
||||
'parcelDroit'=>trim($loc['CCODRO']),
|
||||
'parcelDroitLib'=>self::$tabCodeDroit[trim($loc['CCODRO'])],
|
||||
'parcelDep'=>trim($loc['CCODEP']),
|
||||
'parcelCom'=>trim($loc['CCOCOM']),
|
||||
'parcelComLib'=>trim($loc['DLICOM']),
|
||||
'parcelComAbs'=>trim($loc['CCOPRF']),
|
||||
'parcelRivoli'=>trim($loc['CCORIV']),
|
||||
'parcellNumVoie'=>trim($loc['DNUVOI']),
|
||||
'parcelIndVoie'=>trim($loc['DLTNUV']),
|
||||
'parcelTypVoie'=>trim($loc['CNAVOI']),
|
||||
'parcelLibVoie'=>trim($loc['DLIVOI']),
|
||||
'parcelSection'=>trim($loc['CCOSEC']),
|
||||
'parcelNumPlan'=>trim($loc['DNUPLA']),
|
||||
'parcelSurface'=>trim($loc['DCNPAR'])*1,
|
||||
'parcelTer'=>array(),
|
||||
);
|
||||
$surface=0;
|
||||
for($j=0;$j<10;$j++) {
|
||||
$pevCode=trim($loc['DSGRPF'.$j]);
|
||||
$pevSurf=trim($loc['DCNSUF'.$j])*1;
|
||||
if ($pevCode<>'' && $pevSurf>0) {
|
||||
$tabLoc['parcelTer'][$j]=array( 'terCode'=>$pevCode,
|
||||
'terType'=>self::$tabCodePEV[$pevCode],
|
||||
'terSurface'=>$pevSurf,
|
||||
);
|
||||
$surface+=$pevSurf;
|
||||
}
|
||||
}
|
||||
$tabLoc['parcelSurfaceCalc']=$surface;
|
||||
$tabRet[]=$tabLoc;
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
388
library/Metier/Partenaires/MCoface.php
Normal file
388
library/Metier/Partenaires/MCoface.php
Normal file
@ -0,0 +1,388 @@
|
||||
<?php
|
||||
require_once 'framework/common/curl.php';
|
||||
|
||||
class Metier_Partenaires_MCoface
|
||||
{
|
||||
public $body = '';
|
||||
public $header = '';
|
||||
public $codeRetour = 0;
|
||||
|
||||
public $nscrl = 0; // Numéro interne SCRL
|
||||
public $rcsVille='';
|
||||
public $rcsType='';
|
||||
|
||||
public $rSocAdrCPVille=''; // RaisonSocialeAdresseVille (utile pour le débug)
|
||||
public $raisonSociale=''; // Raison Sociale
|
||||
public $adresse=''; // Adresse complète (avec CP et Cille)
|
||||
|
||||
public $sigle='';
|
||||
public $enseigne='';
|
||||
public $nbEtab='';
|
||||
|
||||
public $adrNumVoie;
|
||||
public $adrIndRep;
|
||||
public $adrTypeVoie;
|
||||
public $adrLibVoie;
|
||||
public $adrCP;
|
||||
public $adrVille;
|
||||
|
||||
public $tel='';
|
||||
public $fax='';
|
||||
public $web='';
|
||||
public $mail='';
|
||||
public $activite=''; // Activité Déclarée au bodacc
|
||||
public $naf=''; // NAF
|
||||
public $nafLib='';
|
||||
|
||||
public $bourseIsin='';
|
||||
public $bourseMarche='';
|
||||
public $bourseVille='';
|
||||
|
||||
public $tabInfos=array();
|
||||
public $tabBilans=array();
|
||||
|
||||
public $infoEco=false;
|
||||
public $capitalType='';
|
||||
public $capitalMontant='';
|
||||
public $capitalDevise ='';
|
||||
public $steInactive = '';
|
||||
public $dateCreation=''; // Notion INSEE
|
||||
public $dateImmatriculation=''; // Notion Greffe et RNCS uniquement
|
||||
public $fj='';
|
||||
public $nationalite='';
|
||||
public $enBourse='';
|
||||
public $effectif='';
|
||||
public $tabDirigeants=array();
|
||||
public $strLiensFi='';
|
||||
public $strElemsFi='';
|
||||
|
||||
public $derExerciceAnnee='';
|
||||
public $derExerciceDuree='';
|
||||
public $derExerciceDClot='';
|
||||
public $derExerciceCA='';
|
||||
public $derExerciceResultat='';
|
||||
public $derExerciceDevise='';
|
||||
|
||||
public $dateFermeture='';
|
||||
public $score_pouey='';
|
||||
public $score_conan='';
|
||||
public $score_afdcc='';
|
||||
public $vigilance='';
|
||||
public $tabJug=array();
|
||||
public $tabAct=array();
|
||||
public $tabFil=array();
|
||||
public $tabEtab=array();
|
||||
|
||||
function __construct($siren)
|
||||
{
|
||||
$referer='';
|
||||
$url='http://www.cofacerating.fr/portail/entreprise_identite/identite.asp?ip=pagespro&lg=fr&nsiren='.$siren;
|
||||
$page=getUrl($url, '', '', $referer, false, 'www.cofacerating.fr', '', 10);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
$this->header=$page['header'];
|
||||
$this->nscrl=@getTextInHtml($this->body, '&nscrl=', '=','&');
|
||||
$this->rSocAdrCPVille=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>', $this->rSocAdrCPVille);
|
||||
$this->raisonSociale=trim($tmp[0]);
|
||||
unset($tmp[0]);
|
||||
$this->adresse=trim(strip_tags(implode(',', $tmp)));
|
||||
$this->tel=trim(@getTextInHtml($this->body, '<td bgcolor="#F3E5CC" class="tabligne"><b>Téléphone<br>', '<td bgcolor="#FFF3DE" class="tabval" valign="top">', '<br>'));
|
||||
$this->fax=trim(@getTextInHtml($this->body, 'Télécopie</b></td>', '<br>', '</td>'));
|
||||
$this->web=trim(@getTextInHtml($this->body, '<td bgcolor="#F3E5CC" class="tabligne"><b>Adresse internet <br>', ' class="tabval"><a class="tabval" HREF="', '" target="_new">'));
|
||||
$this->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);
|
||||
$this->bourseIsin=trim($tmp[0]);
|
||||
$this->bourseMarche=trim($tmp[1]);
|
||||
$this->bourseVille=trim($tmp[2]);
|
||||
|
||||
$infosDispo=trim(@getTextInHtml($this->body, '<b>Liste Produits</b><br></td>', '<br></td><td class="menu3"><img src="../images/vide.gif" border="0"><br></td><td colspan="2" class="menu3">', 'Un secteur ou une région en France</a><br></td>'));
|
||||
$tabTmp=explode('<a href="', $infosDispo);
|
||||
foreach ($tabTmp as $k=>$lien) {
|
||||
preg_match('/^(.*)">(.*)<\/a>/i', $lien, $matches);
|
||||
if ($matches[2]<>'') $this->tabInfos[$matches[2]]=$matches[1];
|
||||
if (substr($matches[2], 0, 12)=='rapport éco.') $this->infoEco='http://www.cofacerating.fr/portail/entreprise_identite/'.$matches[1];//ip=pagespro&
|
||||
elseif (substr($matches[2], 0, 6)=='bilan ') $this->tabBilans[]=substr($matches[2], 6,strlen($matches[2])-6);
|
||||
}
|
||||
$this->activite=trim(str_replace(chr(160), ' ', html_entity_decode(utf8_encode(@getTextInHtml($this->body, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne" valign="top"><b>Libellé code activité </b></td>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval">', '</td>')))));
|
||||
$this->naf=trim(@getTextInHtml($this->body, '<a href="../chaineeco_dynaeco/DynaEco.asp?cnaf=', 'cnaf=', '&'));
|
||||
|
||||
/**
|
||||
** Recherche du NIC sur Société .com
|
||||
**/
|
||||
|
||||
/*
|
||||
$refererS='http://www.societe.com/';
|
||||
$urlS='http://www.societe.com/cgi-bin/recherche?rncs='.$siren.'&vu=1';
|
||||
$page=getUrl($urlS, '', '', $refererS, false, 'www.societe.com');
|
||||
$ste=$page['body'];
|
||||
$this->nic=trim(@getTextInHtml($ste, 'SIRET</div><div class="ficheAltCol2 size11">', $siren, '</div>'));
|
||||
|
||||
$strTmp=trim(@getTextInHtml($ste, '<b><span class="size10">RCS', 'RCS ', ' '.substr($siren,0,3)));
|
||||
$tabTmp=explode(' ', $strTmp);
|
||||
$this->rcsVille=$tabTmp[0];//<td class="txtBlanc" align="left"><b><span class="size10">RCS Paris B 552 144 503<br></span></b></td>
|
||||
$this->rcsType=$tabTmp[1];
|
||||
|
||||
$strTmp=trim(@getTextInHtml($ste, '<div class="ficheAltCol1 size11">Code activité</div>', '<div class="ficheAltCol2 size11">', '</div>'));
|
||||
$tabTmp=explode(' - ', $strTmp);
|
||||
$this->naf=$tabTmp[0];
|
||||
$this->nafLib=$tabTmp[1];
|
||||
|
||||
// <div class="ficheAltCol1 size11">Siège social</div><div class="ficheAltCol2 size11">75 Avenue la Grande Armee - 75116 PARIS 16</div>
|
||||
|
||||
$strTmp=trim(@getTextInHtml($ste, '<div class="ficheAltCol1 size11">Capital social', '<div class="ficheAltCol2 size11">', '</div>'));
|
||||
$this->capitalType='social';
|
||||
$tabTmp=explode(' ', $strTmp);
|
||||
$this->capitalMontant=str_replace(',', '.', str_replace('.', '', $tabTmp[0]));
|
||||
$this->capitalDevise =$tabTmp[1];
|
||||
|
||||
$this->fj=trim(@getTextInHtml($ste, '<div class="ficheAltCol1 size11">Forme juridique', '<div class="ficheAltCol2 size11">', '</div>'));
|
||||
$this->nationalite=trim(@getTextInHtml($ste, '<div class="ficheAltCol1 size11">Nationalité</div>', '<div class="ficheAltCol2 size11">', '</div>'));
|
||||
|
||||
$strTmp=trim(@getTextInHtml($ste, ' DIRIGEANT(S) </span></span></div>', '<div class="ficheCadre" style="min-height:85px;">', '<div class="spacer"></div>'));
|
||||
$tabTmp=explode('<div class="h1bleu2"></div>', $strTmp);
|
||||
foreach ($tabTmp as $k=>$dir) {
|
||||
if (trim($dir)=='') break;
|
||||
$tabTmp1=explode('</div><div class="ficheAltCol2 size11">', $dir);
|
||||
$tabTmp2=explode('représenté par', $tabTmp1[1]);
|
||||
if (isset($tabTmp2[1]) && $tabTmp2[1]<>'') {
|
||||
$soc=trim($tabTmp2[0]);
|
||||
$diri=trim($tabTmp2[1]);
|
||||
} else {
|
||||
$soc='';
|
||||
$diri=trim($tabTmp1[1]);
|
||||
}
|
||||
preg_match("/^(Mme|M\.|Mlle|Mle|M) ([A-Z\s]*) ([A-Z][a-z\s]*)/", $diri, $matches);
|
||||
//print_r($matches);
|
||||
$this->tabDirigeants[]=array('FONCTION'=>trim(strip_tags($tabTmp1[0])), 'SOCIETE'=>$soc, 'GENRE'=>$matches[1], 'PRENOM'=>trim($matches[3]), 'NOM'=>trim($matches[2]));
|
||||
}
|
||||
|
||||
$this->dateImmatriculation=trim(@getTextInHtml($ste, '<div class="ficheAltCol1 size11"> Immatriculation', '<div class="ficheAltCol2 size11">', '</div>'));
|
||||
//06-03-2007</div>
|
||||
/* Date Creation = ""
|
||||
En bourse = ""
|
||||
Effectif societe = ""
|
||||
Dirigeants :
|
||||
**/
|
||||
$urlRacine='http://infobilan.decideur.com/';
|
||||
$tabPost=array( 'choix'=>'1',
|
||||
'pagePrecedente'=>'recherche_entreprise.html',
|
||||
'nomsocRech'=>'',
|
||||
'cpRech'=>'',
|
||||
'villeRech'=>'',
|
||||
'nomdirRech'=>'',
|
||||
'predirRech'=>'',
|
||||
'sirenRech'=>$siren,
|
||||
'telRech'=>'',);
|
||||
// 'Rechercher'=>'',
|
||||
$url=$urlRacine.'liste_result.html';
|
||||
$referer=$urlRacine.'recherche_entreprise.html';
|
||||
$page=getUrl($url,'', $tabPost, $referer, false, 'infobilan.decideur.com');
|
||||
$this->body=$page['body'];
|
||||
$strCookie=$page['header']['Set-Cookie'];
|
||||
$refererInfoD=$url;
|
||||
|
||||
if(preg_match_all('/<a href="choix_pdt\.html\?(.*)" class="tt1">(.*)<\/a><\/span><br>/i', $page['body'], $matches))
|
||||
$urlInfoD=$urlRacine.'choix_pdt.html?'.$matches[1][0];
|
||||
else
|
||||
$urlInfoD='';
|
||||
|
||||
$page=getUrl($this->infoEco, '', '', $url, false, 'www.cofacerating.fr');
|
||||
if (strpos($page['body'], '<b>Choix du mode de paiement</b>')===false) { // Le rapport éco. est cadeau !!!
|
||||
$this->infoEco=true;
|
||||
$eco=$page['body'];
|
||||
//die ($eco);
|
||||
$strTmp=strip_tags(@getTextInHtml($eco, ' class="tabligne" > Capital   (', '(', '</tr><tr>'));
|
||||
$tabTmp=explode(')', $strTmp);
|
||||
$this->capitalType=$tabTmp[0];
|
||||
$tabTmp=explode(' ', $tabTmp[1]);
|
||||
$this->capitalMontant=trim(str_replace(chr(160), '', $tabTmp[0]));
|
||||
$this->capitalDevise =trim(str_replace(chr(160), '', $tabTmp[1]));
|
||||
|
||||
$this->steInactive=trim(@getTextInHtml($eco, ' class="tabligne" > Société inactive</td>', 'class="tabval" >', '</td>'));
|
||||
|
||||
$this->dateCreation=trim(@getTextInHtml($eco, ' class="tabligne" > Date de création</td>', 'class="tabval" >', '</td>'));
|
||||
$this->fj=trim(@getTextInHtml($eco, ' class="tabligne" > Forme juridique</td>', 'class="tabval" >', '</td>'));
|
||||
$this->effectif=trim(@getTextInHtml($eco, ' class="tabligne" > Effectif', 'class="tabval" >', '</td>'));
|
||||
|
||||
if (count($this->tabDirigeants)==0) { // Si il y a déjà des dirigeants on garde ceux de Société.com !!!
|
||||
$strTmp=trim(@getTextInHtml($eco, ' class="tabligne" > Cotation en bourse</td>', '<td bgcolor="#F3E5CC" class="tabligne" >', '<td bgcolor="#F3E5CC" class="tabligne" > Effectif'));
|
||||
$tabTmp=explode('<td bgcolor="#F3E5CC" class="tabligne" >', $strTmp);
|
||||
foreach ($tabTmp as $k=>$dir) {
|
||||
$tabTmp1=explode('<td bgcolor="#FFF3DE" class="tabval" >', $dir);
|
||||
$tabTmp2=explode(' ', trim(strip_tags($tabTmp1[1])));
|
||||
$this->tabDirigeants[]=array('FONCTION'=>trim(strip_tags($tabTmp1[0])), 'GENRE'=>trim($tabTmp2[0]), 'PRENOM'=>trim($tabTmp2[1]), 'NOM'=>trim($tabTmp2[2]));
|
||||
}
|
||||
}
|
||||
|
||||
$this->strLiensFi=trim(strip_tags(@getTextInHtml($eco, '<td class="tabtot">LIENS FINANCIERS</td>', '<tr>', '</td></tr>')));
|
||||
$this->strElemsFi=trim(strip_tags(@getTextInHtml($eco, '<td class="tabtot">ELEMENTS FINANCIERS</td>', '<tr>', '</td></tr>')));
|
||||
}
|
||||
|
||||
$refererP='http://www.score3.fr/';
|
||||
$urlP='http://www.score3.fr/entreprise.shtml?siren='.$siren;
|
||||
$page=getUrl($urlP, '', '', $refererP, false, 'www.score3.fr');
|
||||
$pou=$page['body'];
|
||||
$fp=fopen('./pouet.html', 'w');
|
||||
fwrite($fp, $pou);
|
||||
fclose($fp);
|
||||
|
||||
if ($urlInfoD<>'') {
|
||||
$page=getUrl($urlInfoD,$strCookie,'', $refererInfoD, false, 'infobilan.decideur.com');
|
||||
$referer=$urlInfoD;
|
||||
if ($this->nscrl==0) $this->nscrl=@getTextInHtml($url, 'nscrlP=', '=','&');
|
||||
|
||||
$url=$urlRacine.'fiche_ident.html';
|
||||
$page=getUrl($url,$strCookie,'', $referer, false, 'infobilan.decideur.com');
|
||||
$this->body=$page['body'];
|
||||
|
||||
if ($this->raisonSociale=='')
|
||||
$this->raisonSociale=trim(@getTextInHtml($this->body, '<span class="libelle2">Société', ' :', '</span>'));
|
||||
|
||||
if ($this->adresse=='')
|
||||
$this->adresse=trim(@getTextInHtml($this->body, '<span class="libelle2">Adresse</span> <strong>:', '</strong>', '</td>'));
|
||||
|
||||
if ($this->tel=='')
|
||||
$this->tel=trim(@getTextInHtml($this->body, '<td valign="top"><span class="libelle2">Tél', '</span>', '<br>'));
|
||||
if ($this->fax=='')
|
||||
$this->fax=trim(@getTextInHtml($this->body, '<span class="libelle2">Fax</span>', ' :', '<br>'));
|
||||
if ($this->web=='')
|
||||
$this->web=trim(@getTextInHtml($this->body, '<span class="libelle2">Site Web</span>', '<a href="', '" target="_blank">'));
|
||||
if ($this->mail=='')
|
||||
$this->mail=trim(@getTextInHtml($this->body, '<span class="libelle2">E-mail</span>', '<a href="mailto:', '">'));
|
||||
if ($this->naf=='')
|
||||
$this->naf=trim(@getTextInHtml($this->body, '<span class="libelle2">Code NAF</span>', ' :', '</td>'));
|
||||
|
||||
if(preg_match('/<td valign="top"><span class="libelle2">Capital social<\/span> : (\d*)(.*)<br>/isU', $this->body, $matches)
|
||||
&& ($this->capitalMontant=='' || $this->capitalDevise=='')) {
|
||||
$this->capitalMontant=trim($matches[1]);
|
||||
$this->capitalDevise=trim($matches[2]);
|
||||
}
|
||||
|
||||
if ($this->fj=='')
|
||||
$this->fj=trim(@getTextInHtml($this->body, '<span class="libelle2">Forme juridique</span>', ' :', '<br>'));
|
||||
if ($this->nationalite=='')
|
||||
$this->nationalite=trim(@getTextInHtml($this->body, '<span class="libelle2">Nationalité</span>', ' :', '</td>'));
|
||||
if ($this->effectif=='')
|
||||
$this->effectif=trim(@getTextInHtml($this->body, '<td valign="top"><span class="libelle2">Effectif</span>', ' :', '<br>'));
|
||||
if ($this->activite=='')
|
||||
$this->activite=trim(@getTextInHtml($this->body, '<span class="libelle2">Activité</span>', ' :', '<br>'));
|
||||
|
||||
/** Actionnaires **/
|
||||
$strTmp=trim(@getTextInHtml($this->body, 'ACTIONNAIRES<br>', '</div></h1>', '<h1>'));
|
||||
if(preg_match_all('/<p><span class="libelle2">(.*)<\/span> - <span class="libelle2">Participation<\/span> : (.*) %<br>(.*)<\/p>/isU', $strTmp, $matches)) {
|
||||
foreach ($matches[1] as $i=>$nom) {
|
||||
$this->tabAct[$i]['nom']=trim($nom);
|
||||
$this->tabAct[$i]['pct']=trim($matches[2][$i]);
|
||||
$this->tabAct[$i]['rcs']=trim(str_replace('RCS : ','',strip_tags($matches[3][$i])));
|
||||
}
|
||||
}
|
||||
|
||||
/** Filiales **/
|
||||
$strTmp=trim(@getTextInHtml($this->body, 'FILIALES<br>', '</div></h1>', '<h1>'));
|
||||
if(preg_match_all('/<p><span class="libelle2">(.*)<\/span> - <span class="libelle2">Participation<\/span> :(.*)%<br>(.*)<\/p>/isU', $strTmp, $matches)) {
|
||||
foreach ($matches[1] as $i=>$nom) {
|
||||
$this->tabFil[$i]['nom']=trim($nom);
|
||||
$this->tabFil[$i]['pct']=trim($matches[2][$i]);
|
||||
$this->tabFil[$i]['rcs']=trim(str_replace('RCS :','',strip_tags($matches[3][$i])));
|
||||
}
|
||||
}
|
||||
|
||||
/** CA et Résultat **/
|
||||
$strTmp=trim(@getTextInHtml($this->body, '<h1>PRINCIPAUX ELEMENTS FINANCIERS<br>', '</div></h1>', '</p>'));
|
||||
if(preg_match('/<p><span class="libelle2">CA (.*)<\/span>(.*)<br>/isU', $strTmp, $matches)) {
|
||||
$this->derExerciceAnnee=trim($matches[1]);
|
||||
$this->derExerciceCA=trim(str_replace(':',' ', $matches[2]));
|
||||
}
|
||||
if(preg_match('/<span class="libelle2">Résultat(.*)<\/span>(.*)$/isU', $strTmp, $matches)) {
|
||||
$this->derExerciceResultat=trim(str_replace(':',' ', $matches[2]));
|
||||
}
|
||||
|
||||
$infoBilan=print_r($page, true);
|
||||
$fp=fopen('./infobilan.html', 'w');
|
||||
fwrite($fp, $infoBilan);
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
if ($this->nbEtab=='' || $this->nbEtab=='0') {
|
||||
$this->nbEtab=trim(strip_tags(str_replace('afficher la liste...', '', @getTextInHtml($pou, '<tr><td class="ligne1_2">Etablissements </td>', '<td class="ligne2_2">', '</td></tr>'))));
|
||||
$urlPEtab='http://www.score3.fr/etablissements.shtml?page=1&siren='.$siren;
|
||||
$refererPEtab=$urlP;
|
||||
$page=getUrl($urlPEtab, '', '', $refererPEtab, false, 'www.score3.fr');
|
||||
$pou2=$page['body'];
|
||||
if(preg_match_all('/<tr bgcolor="(?:\S*)"><td class="ligne1b" align="center" width="10%">(\d*)<\/td><td class="ligne2" height="50"><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td class="infos">(.*)<\/td><\/tr><\/table>/isU', $pou2, $matches)) {
|
||||
foreach ($matches[1] as $i=>$nic) {
|
||||
$strEtab=$matches[2][$i];
|
||||
$this->tabEtab[$i]['siren']=$siren;
|
||||
$this->tabEtab[$i]['nic']=$nic;
|
||||
$this->tabEtab[$i]['siret']=$siren.$nic;
|
||||
|
||||
$this->tabEtab[$i]['enseigne']=trim(str_replace(chr(160),' ',utf8_decode(strip_tags(@getTextInHtml($strEtab, '<span class="titre3">', '">', '</span>')))));
|
||||
$this->tabEtab[$i]['adresse']=trim(str_replace(chr(160),' ',utf8_decode(strip_tags(@getTextInHtml($strEtab, '<span class="infos">', '">', '<br>')))));
|
||||
$strTmp=trim(str_replace(chr(160),' ',utf8_decode(strip_tags(@getTextInHtml($strEtab, '<span class="infos">', '<br>', '</span>')))));
|
||||
$tabTmp=explode(' ', $strTmp);
|
||||
$this->tabEtab[$i]['cp']=$tabTmp[0];
|
||||
unset($tabTmp[0]);
|
||||
$this->tabEtab[$i]['ville']=implode(' ',$tabTmp);
|
||||
$strTmp=trim(strip_tags(@getTextInHtml($strEtab, '<td class="infos" align="right" valign="top">', '">', ')')));
|
||||
$tabTmp=explode('(', $strTmp);
|
||||
$this->tabEtab[$i]['naf_code']=$tabTmp[1];
|
||||
$this->tabEtab[$i]['naf_lib']=trim(str_replace(chr(160),' ',utf8_decode($tabTmp[0])));
|
||||
if (preg_match('/<br>T.l\.(.*)$/i',$strEtab,$matches2))
|
||||
$this->tabEtab[$i]['tel']=trim(str_replace(chr(160),' ',utf8_decode($matches2[1])));
|
||||
else $this->tabEtab[$i]['tel']='';
|
||||
}
|
||||
}
|
||||
$this->nbEtab=count($this->tabEtab);
|
||||
$fp=fopen('./pouet_etab.html', 'w');
|
||||
fwrite($fp, $pou2);
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
if ($this->effectif=='' || $this->effectif=='0' || $this->effectif=='NC')
|
||||
$this->effectif=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Effectifs</td>', '<td class="ligne2_2">', '</td></tr>'));
|
||||
|
||||
if ($this->dateImmatriculation=='' || $this->dateImmatriculation=='0')
|
||||
$this->dateImmatriculation=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Date d\'immatriculation</td>', '<td class="ligne2_2">', '</td></tr>'));
|
||||
if ($this->dateFermeture=='' || $this->dateFermeture=='0')
|
||||
$this->dateFermeture=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Date de fin d\'exploitation</td>', '<td class="ligne2_2">', '</td></tr>'));
|
||||
|
||||
if ($this->tel=='' || $this->tel=='0')
|
||||
$this->tel=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Téléphone</td>', '<td class="ligne2_2">', '</td></tr>'));
|
||||
|
||||
if ($this->fax=='' || $this->fax=='0')
|
||||
$this->fax=trim(@getTextInHtml($pou, '<tr><td class="ligne1_2">Fax</td>', '<td class="ligne2_2">', '</td></tr>'));
|
||||
|
||||
$strTmp=trim(@getTextInHtml($pou, 'Procédures collectives</td></tr>', '</table></td>', '</td><td background'));
|
||||
if(preg_match_all('/<tr><td class="ligne1_2">(.*)<\/td><td class="ligne2_2">(.*)<\/td><\/tr>/isU', $strTmp, $matches)) {
|
||||
foreach ($matches[1] as $i=>$jug) {
|
||||
$this->tabJug[$i]['date']=$matches[1][$i];
|
||||
$this->tabJug[$i]['juge']=$matches[2][$i];
|
||||
}
|
||||
}
|
||||
|
||||
$this->score_pouey=trim(@getTextInHtml($pou, '<param name="movie" value="cadran.swf?rotation=', '&type=pouey&valeur=', '">'));
|
||||
$this->score_conan=trim(@getTextInHtml($pou, '<param name="movie" value="cadran.swf?rotation=', '&type=ch&valeur=', '">'));
|
||||
$this->score_afdcc=trim(@getTextInHtml($pou, '<param name="movie" value="cadran.swf?rotation=', '&type=afdcc&valeur=', '">'));
|
||||
$this->vigilance =trim(@getTextInHtml($pou, '<param name="movie" value="vigilance.swf', 'degre=', '">'));
|
||||
|
||||
if(preg_match('/Date de l\'exercice<\/td><td class="ligne2_2">(.*) sur (\d*) mois<\/td><\/tr>/isU', $pou, $matches)) {
|
||||
$this->derExerciceDClot=trim($matches[1]);
|
||||
$this->derExerciceDuree=trim($matches[2]);
|
||||
}
|
||||
|
||||
/* Siret SIEGE
|
||||
2 Fonction, Nom Prénoù ET Date NAissance du PP
|
||||
5 Liste des actes
|
||||
*/
|
||||
if ($this->codeRetour==200)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
406
library/Metier/Partenaires/MFacto.php
Normal file
406
library/Metier/Partenaires/MFacto.php
Normal file
@ -0,0 +1,406 @@
|
||||
<?php
|
||||
/*
|
||||
2. Concernant la date de fin de CS, devons nous comprendre les cas suivants de la sorte :
|
||||
A. 026 820 043 I 2009-10-31 La CS était valide jusq'au 31/10/2009... L'entreprise n'a plus de CS ? ou la CS est encore à prendre en compte ?
|
||||
Lorsqu'une cs manuelle arrive à échéance, elle est soumise à l'examen de l'analyste chaque mois. Si l'analyste n'intervient pas l'acheteur reste en cs.
|
||||
B. 077 250 025 I 0000-00-00 La CS I n'est plus à prendre en compte ou au contraire, elle n'a pas de date de fin ?
|
||||
L'acheteur a été sorti de cs entre le traitement de fin de mois et l'extraction ( qui a été déclenchée tardivement à la main ). L'acheteur n'est donc plus en cs.
|
||||
C. 067 103 598 I 2999-12-31 La CS I n'a pas de date de fin sauf changement ultérieur de CS
|
||||
Ce cas fait partie des nettoyages à faire par le Crédit ( échéance illimitée sur une cs qui ne le justifie pas ).
|
||||
D. 067 200 329 I 2010-06-30 La CS est valide jusq'au 30/06/2010... Quid après ?
|
||||
Cette cs ayant été positionnée par l'analyste, elle sera de nouveau soumise à son examen.
|
||||
|
||||
3. Globalement, j'ai l'impression que la CS "Paiements" à une durée de 6-12 mois et la CS "Privilèges" de 12-24 mois ?
|
||||
La cs paiement a une durée de 6 ou 12 mois pour les cas graves.
|
||||
La cs privilège a une durée de 27 mois ( sauf bien sur les cs manuelles qui sont à la convenance de l'analyste, en général 12 mois ).
|
||||
*/
|
||||
class Metier_Partenaires_MFacto
|
||||
{
|
||||
public $risqueImpaye=false; // Y a t'il un risque d'impayé ?
|
||||
public $risqueImpayeMois=0;
|
||||
public $profilPayeur=0; // 0:N/D, 1:Excellent, 2=Bon, 3=Normal, 4=Lent, 5=Mauvais ou Défaut
|
||||
|
||||
private $typeFlux = 0; // Type de flux en chargement 0:Acheteur, 1=CS, 2=Paiements
|
||||
private $iDb;
|
||||
|
||||
public $DELAIPAY=0;
|
||||
public $DELAIPAYp='';
|
||||
public $DELAIPAY_MMAA='';
|
||||
|
||||
private $tabInfoCS = array(
|
||||
'_00' => array('risque'=>0,'type'=>'OK', 'libInt'=>'Néant', 'libExt'=>'Aucune difficulté significative ne nous a été signalée'),
|
||||
'_10' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé BDF', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
|
||||
'_11' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Retard de paiement - Prorogation', 'libExt'=>'A suivre. Retard(s) de paiement(s) signalé(s)'),
|
||||
'_12' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé Groupe Facto', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
|
||||
'_13' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayé BDF (sup. à limite)', 'libExt'=>"A surveiller. Présence d'impayé(s)"),
|
||||
'_15' => array('risque'=>3,'type'=>'PR', 'libInt'=>'PRIVILEGES URSSAF', 'libExt'=>'A surveiller. Présence de privilèges'),
|
||||
'_16' => array('risque'=>3,'type'=>'PR', 'libInt'=>'AUTRES PRIVILEGES', 'libExt'=>'A surveiller. Présence de Privilèges'),
|
||||
'_20' => array('risque'=>4,'type'=>'BL', 'libInt'=>'LIQUIDATION JUDICIAIRE', 'libExt'=>'Liquidation Judiciaire'),
|
||||
'_21' => array('risque'=>1,'type'=>'BC', 'libInt'=>'CESSATION D\'ACTIVITE', 'libExt'=>'A suivre. Informations terrain. Risque de fermeture'),
|
||||
'_22' => array('risque'=>1,'type'=>'BD', 'libInt'=>'RADIATION RCS', 'libExt'=>'Radiation du RCS'),
|
||||
'_23' => array('risque'=>1,'type'=>'BG', 'libInt'=>'LOCATION GERANCE', 'libExt'=>'Prise en location Gérance'),
|
||||
'_24' => array('risque'=>2,'type'=>'RG', 'libInt'=>'GROUPE EN DIFFICULTE', 'libExt'=>'A suivre. Entreprise(s) du groupe à suivre'),
|
||||
'_25' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'INFORMATIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_26' => array('risque'=>4,'type'=>'BP', 'libInt'=>'PLAN DE CESSION / DE REDRESSEMENT ', 'libExt'=>'Plan de cession/redressement'),
|
||||
'_27' => array('risque'=>4,'type'=>'BR', 'libInt'=>'REDRESSEMENT JUDICIAIRE', 'libExt'=>'Redressement Judiciaire'),
|
||||
'_28' => array('risque'=>4,'type'=>'BH', 'libInt'=>'HOMOLOGATION CONCILIATION / REG.AMIABLE', 'libExt'=>'Conciliation, Homologation ou règlement amiable'),
|
||||
'_29' => array('risque'=>1,'type'=>'BF', 'libInt'=>'FUSION - ABSORPTION', 'libExt'=>'Fusion/Absorption'),
|
||||
'_30' => array('risque'=>3,'type'=>'IP', 'libInt'=>'MAUVAISE COTE BDF : .8 ou .9', 'libExt'=>"Présence d'impayé(s)"),
|
||||
'_31' => array('risque'=>1,'type'=>'TC', 'libInt'=>'CESSATION ANNONCEE', 'libExt'=>'Fin d\'activité programmée'),
|
||||
'_33' => array('risque'=>4,'type'=>'BS', 'libInt'=>'PROCEDURE DE SAUVEGARDE JUGEMENT', 'libExt'=>'Procédure de Sauvegarde'),
|
||||
'_34' => array('risque'=>4,'type'=>'BV', 'libInt'=>'PLAN DE SAUVEGARDE', 'libExt'=>'Plan de sauvegarde'),
|
||||
'_35' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'ANALYSE FINANCIERE NEGATIVE', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_36' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'BILAN NEGATIF', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_37' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'TRESORERIE SERREE', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_39' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'PREVISIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_43' => array('risque'=>2,'type'=>'LC', 'libInt'=>'LC SFAC', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
|
||||
'_45' => array('risque'=>2,'type'=>'LC', 'libInt'=>'REFUS SFAC DOM-TOM', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
|
||||
//'_47' =>array('risque'=>2,'type'=>'LC', 'libInt'=>'LISTE CONFIDENTIELLE LEASER', 'libExt'=>"A suivre. Garantie d'assurance crédit limitée"),
|
||||
'_50' => array('risque'=>2,'type'=>'KO', 'libInt'=>'LIENS AVEC UNE ORGANISATION TERRORISTE', 'libExt'=>'Attention, liens internationaux très risqués'),
|
||||
//Nouveaux regroupements GE
|
||||
'_I' => array('risque'=>3,'type'=>'IP', 'libInt'=>'Impayés', 'libExt'=>"A surveiller. Présence d'impayé(s) dans les 12 derniers mois"),
|
||||
'_P' => array('risque'=>3,'type'=>'PR', 'libInt'=>'PRIVILEGES', 'libExt'=>'A surveiller. Présence de privilèges dans les 24 derniers mois'),
|
||||
'_D' => array('risque'=>2,'type'=>'DEF', 'libInt'=>'PREVISIONS NEGATIVES', 'libExt'=>'A suivre. Informations terrain récentes négatives'),
|
||||
'_T' => array('risque'=>2,'type'=>'LC', 'libInt'=>'LC Quelconque', 'libExt'=>"Nombreuses demandes d'avis de crédit"),
|
||||
);
|
||||
|
||||
private $tabTranches = array(
|
||||
0=>6,
|
||||
30=>36,
|
||||
60=>66,
|
||||
90=>96,
|
||||
120=>126,
|
||||
150=>156,
|
||||
180=>999,
|
||||
);
|
||||
|
||||
private $tabMontants = array(
|
||||
1=>500,
|
||||
2=>2000,
|
||||
10=>10000,
|
||||
20=>20000,
|
||||
50=>50000,
|
||||
100=>100000,
|
||||
200=>200000,
|
||||
999=>999999
|
||||
);
|
||||
|
||||
public function __construct($db = null)
|
||||
{
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
public function setTypeFic($typeFic)
|
||||
{
|
||||
$this->typeFlux = $typeFic;
|
||||
}
|
||||
|
||||
public function readFic($a)
|
||||
{
|
||||
switch ($this->typeFlux)
|
||||
{
|
||||
case 0: // Acheteur GESCDCLT - Line length (120 + CRLF = 122)
|
||||
$tab = array(
|
||||
'NUMACH'=> trim(substr($a, 0, 7)), // 0-7 | 7
|
||||
'SIRENE'=> trim(substr($a, 7, 9)), // 7-16 | 9
|
||||
'RAISOC'=> trim(substr($a, 16, 35)), // 16-51 | 35
|
||||
'NUMVOI'=> trim(substr($a, 51, 4)), // 51-55 | 4
|
||||
'TYPVOI'=> trim(substr($a, 55, 3)), // 55-58 | 3
|
||||
'LIBVOI'=> trim(substr($a, 58, 30)), // 58-88 | 30
|
||||
'VILLE'=> trim(substr($a, 88, 26)), // 88-114 | 26
|
||||
'CODPOS'=> trim(substr($a,114, 5)), // 114-119 | 5
|
||||
'FILLER'=> trim(substr($a,119, 2)), // 119-120 | 1
|
||||
);
|
||||
break;
|
||||
case 1: // CS - GESDACH - Line Length (19 + CRLF = 21)
|
||||
$tab = array(
|
||||
'siren' => trim(substr($a, 0, 9)), // 0-9 | 9
|
||||
'cs' => trim(substr($a, 9, 2)), // 9-11 | 2
|
||||
'dateFin'=> trim(substr($a, 11, 8)), // 11-9 | 8
|
||||
);
|
||||
break;
|
||||
case 2: // Paiements - GESCDMVT - Line length (73 + CRLF = 75)
|
||||
$tab = array(
|
||||
'NUMACH'=> trim(substr($a, 0, 7)), // 0-7 | 7
|
||||
'DATPIE'=> substr($a, 7, 8), // 7-15 | 8
|
||||
'DATECH'=> substr($a, 15, 8), // 15-23 | 8
|
||||
'DATPAI'=> substr($a, 23, 8), // 23-31 | 8
|
||||
'MNTPIE'=> trim(substr($a, 31, 13)), // 31-44 | 13
|
||||
'MNTFRF'=> trim(substr($a, 44, 13)), // 44-57 | 13
|
||||
'MNTLIT'=> trim(substr($a, 57, 13)), // 57-70 | 13
|
||||
'CODDEV'=> trim(substr($a, 70, 3)), // 70-73 | 3
|
||||
);
|
||||
break;
|
||||
}
|
||||
return $tab;
|
||||
}
|
||||
|
||||
|
||||
public function getCoteSpeciale($siren)
|
||||
{
|
||||
$ret=$this->iDb->select(
|
||||
'sdv1.ge_cs2',
|
||||
'siren, cs, dateFin, dateInsert, dateConf',
|
||||
"siren=$siren AND (dateSuppr=0 OR dateConf>dateSuppr) AND (dateFin=0 OR dateFin>NOW()) AND cs NOT IN (20,22,27,33,34) ORDER BY dateConf DESC, dateInsert DESC", false, MYSQL_ASSOC);
|
||||
$tabRet=array();
|
||||
foreach ($ret as $i=>$tabCS)
|
||||
{
|
||||
$dateEven=$tabCS['dateConf'];
|
||||
if ($dateEven=='0000-00-00') {
|
||||
$dateEven=$tabCS['dateInsert'];
|
||||
}
|
||||
$tabRet[]=array(
|
||||
'DateEven' => $dateEven,
|
||||
'DateFin' => $tabCS['dateFin'],
|
||||
'CoteCS' => $tabCS['cs'],
|
||||
//'CoteCSpre' => $tabCS['CSAVAN'],
|
||||
'LibCS' => $this->tabInfoCS['_'.$tabCS['cs']]['libExt'],
|
||||
//'LibCSpre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['libExt'],
|
||||
'NivRisque' => $this->tabInfoCS['_'.$tabCS['cs']]['risque'],
|
||||
//'NivRisquePre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['risque'],
|
||||
'CodeRisque' => $this->tabInfoCS['_'.$tabCS['cs']]['type'],
|
||||
);
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
public function getCoteSpecialeOld($siren)
|
||||
{
|
||||
$ret=$this->iDb->select( 'sdv1.ge_cs c LEFT JOIN sdv1.ge_acheteurs a ON a.NUMACH=c.NUMGFH',
|
||||
'DATMAJ1, NUMGFH, CSAVAN, CSAPRE, SIRENE',
|
||||
"a.SIRENE=$siren ORDER BY a.SIRENE ASC, c.DATMAJ1 DESC", false, MYSQL_ASSOC);
|
||||
$tabRet=array();
|
||||
foreach ($ret as $i=>$tabCS) {
|
||||
$tabRet[]=array(
|
||||
'DateEven' => $tabCS['DATMAJ1'],
|
||||
'CoteCS' => $tabCS['CSAPRE'],
|
||||
'CoteCSpre' => $tabCS['CSAVAN'],
|
||||
'LibCS' => $this->tabInfoCS[$tabCS['CSAPRE']*1]['libExt'],
|
||||
'LibCSpre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['libExt'],
|
||||
'NivRisque' => $this->tabInfoCS[$tabCS['CSAPRE']*1]['risque'],
|
||||
'NivRisquePre' => $this->tabInfoCS[$tabCS['CSAVAN']*1]['risque'],
|
||||
'CodeRisque' => $this->tabInfoCS[$tabCS['CSAPRE']*1]['type'],
|
||||
);
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
public function getPaiements($siren, $echelle='mois')
|
||||
{
|
||||
if ($echelle=='jour')
|
||||
$strGroupBy="GROUP BY p.DATPIE ";
|
||||
elseif ($echelle=='' || $echelle=='mois')
|
||||
$strGroupBy="GROUP BY mois HAVING nbPieces>2 ";
|
||||
elseif ($echelle=='trim')
|
||||
$strGroupBy="GROUP BY trimestre HAVING nbPieces>2 ";
|
||||
else // En mois par défaut
|
||||
$strGroupBy="GROUP BY mois HAVING nbPieces>2 ";
|
||||
|
||||
$ret=$this->iDb->select( 'sdv1.ge_paiements p LEFT JOIN sdv1.ge_acheteurs a ON a.NUMACH=p.NUMACH',
|
||||
"p.NUMACH, DATE_FORMAT(p.DATPIE, '%Y-%m') AS mois,
|
||||
CONCAT(DATE_FORMAT(p.DATPIE,'%Y'),'-',IF(DATE_FORMAT(p.DATPIE,'%m')<4,1,IF(DATE_FORMAT(p.DATPIE,'%m')<7,2,IF(DATE_FORMAT(p.DATPIE,'%m')<10,3,4)))) AS trimestre,
|
||||
count(*) AS nbPieces,
|
||||
AVG(DATEDIFF(NOW(), p.DATECH)) AS nbJourRetard, AVG(DATEDIFF(p.DATPAI, p.DATECH)) AS nbJourPaiement,
|
||||
ROUND(AVG(DATEDIFF(NOW(), p.DATECH) - DATEDIFF(p.DATPAI, p.DATECH))) AS nbJourMoyens,
|
||||
IF(AVG(DATEDIFF(NOW(), p.DATECH) - DATEDIFF( p.DATPAI, p.DATECH ) ) <6, 0, if( AVG( DATEDIFF( NOW( ) , p.DATECH ) - DATEDIFF( p.DATPAI, p.DATECH ) ) <36, 30, if( AVG( DATEDIFF( NOW( ) , p.DATECH ) - DATEDIFF( p.DATPAI, p.DATECH ) ) <66, 60, if( AVG( DATEDIFF( NOW( ) , p.DATECH ) - DATEDIFF( p.DATPAI, p.DATECH ) ) <96, 90, 120 ) ) ) ) AS nbJours,
|
||||
SUM(p.MNTPIE) AS mtPieces, SUM(p.MNTFRF) AS mtPaiements, SUM(p.MNTLIT) AS mtLitiges,
|
||||
p.CODDEV, a.SIRENE, a.RAISOC, a.CODPOS, a.VILLE",
|
||||
"a.SIRENE=$siren AND DATEDIFF(NOW(),p.DATECH)<736 AND p.DATECH<NOW() $strGroupBy ORDER BY p.DATPIE DESC", false, MYSQL_ASSOC);
|
||||
$tabRet=array();
|
||||
foreach ($ret as $i=>$tabPai)
|
||||
{
|
||||
$nbJoursMoyen=$tabPai['nbJourRetard']-$tabPai['nbJourPaiement'];
|
||||
if ($nbJoursMoyen<6) $tranche=0;
|
||||
elseif ($nbJoursMoyen<36) $tranche=30;
|
||||
elseif ($nbJoursMoyen<66) $tranche=60;
|
||||
elseif ($nbJoursMoyen<96) $tranche=90;
|
||||
elseif ($nbJoursMoyen<126) $tranche=120;
|
||||
elseif ($nbJoursMoyen<156) $tranche=150;
|
||||
else $tranche=180;
|
||||
|
||||
$tabRet[]=array(
|
||||
'trimestre' => $tabPai['trimestre'],
|
||||
'mois' => $tabPai['mois'],
|
||||
'nbPieces' => $tabPai['nbPieces'],
|
||||
'nbJourRetard' => $tabPai['nbJourRetard'],
|
||||
'nbJourPaiement'=> $tabPai['nbJourPaiement'],
|
||||
'nbJourMoyen' => $nbJoursMoyen,
|
||||
'nbJourMoyen2' => $tabPai['nbJourMoyens'],
|
||||
'tranchePaiement'=>$tranche,
|
||||
'tranchePaie90' =>$tabPai['nbJours'],
|
||||
'mtPieces' => $tabPai['mtPieces'],
|
||||
'mtPaiements' => $tabPai['mtPaiements'],
|
||||
'mtLitiges' => $tabPai['mtLitiges'],
|
||||
'devise' => $tabPai['CODDEV'],
|
||||
);
|
||||
}
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
public function getProfilPayeur($siren)
|
||||
{
|
||||
if ($siren<1000) return '';
|
||||
$libProfil='';
|
||||
/*if ($this->siren==$siren)
|
||||
$tabPaie=$this->tabPaiements;
|
||||
else*/
|
||||
$tabPaie=$this->getPaiements($siren);
|
||||
if (count($tabPaie)>=3) {
|
||||
$tabProfil=array();
|
||||
$paie_min=180;
|
||||
$paie_max=$totFactures=$totPaiements=$totLitiges=0;
|
||||
foreach ($tabPaie as $i=>$tabPai) {
|
||||
if ($i==0) { $this->risqueImpayeMois=$tabPai['mois'];
|
||||
// Dernier délai de paiement en jour
|
||||
$this->DELAIPAY=$tabPai['tranchePaiement'];
|
||||
} elseif ($this->DELAIPAYp=='' && $tabPai['tranchePaiement']<>$this->DELAIPAY ) {
|
||||
$this->DELAIPAYp=$tabPai['tranchePaiement'];
|
||||
$this->DELAIPAY_MMAA=$tabPai['mois'];
|
||||
}
|
||||
$tabProfil[$i]=$tabPai['tranchePaiement'];
|
||||
$totFactures+=$tabPai['mtPieces'];
|
||||
$totPaiements+=$tabPai['mtPaiements'];
|
||||
$totLitiges+=$tabPai['mtLitiges'];
|
||||
if ($tabPai['tranchePaiement']<$paie_min) $paie_min=$tabPai['tranchePaiement'];
|
||||
if ($tabPai['tranchePaiement']>$paie_max) $paie_max=$tabPai['tranchePaiement'];
|
||||
}
|
||||
$tauxLitige=$totLitiges/$totFactures;
|
||||
|
||||
if ($tauxLitige>=0.5) $libProfil.='Litiges très importants. ';
|
||||
elseif ($tauxLitige>0.25) $libProfil.='Litiges importants. ';
|
||||
elseif ($tauxLitige>0.05) $libProfil.='Présence de litiges. ';
|
||||
|
||||
if ($tabProfil[0]==$tabProfil[1] && $tabProfil[1]==$tabProfil[2]) {
|
||||
if ($tranche=0) { $libProfil.='Paiements à échéance'; $this->profilPayeur=1; }
|
||||
elseif ($tranche<=30) { $libProfil.='Paiements à 30 jours maximum'; $this->profilPayeur=2; }
|
||||
elseif ($tranche<=60) { $libProfil.='Paiements à 60 jours maximum'; $this->profilPayeur=3; }
|
||||
elseif ($tranche<=90) { $libProfil.='Paiements à 90 jours maximum'; $this->profilPayeur=4; $this->risqueImpaye=true;}
|
||||
else { $libProfil.='Paiements à plus de 90 jours'; $this->profilPayeur=4; $this->risqueImpaye=true;}
|
||||
} elseif ( ($tabProfil[0]<>$tabProfil[1] && $tabProfil[1]==$tabProfil[2]) ||
|
||||
($tabProfil[0]==$tabProfil[1] && $tabProfil[1]<>$tabProfil[2]) ) {
|
||||
// Récent changement de profil payeur
|
||||
$tranche=$tabProfil[0];
|
||||
$tr_prec=$tabProfil[1];
|
||||
$tr_prec2=$tabProfil[2];
|
||||
if ($tranche<$tr_prec) $libProfil.='Amélioration des délais. ';
|
||||
elseif ($tranche==$tr_prec && $tr_prec<$tr_prec2) $libProfil.='Amélioration des délais. ';
|
||||
else { $this->risqueImpaye=true; $libProfil.='Allongement des délais. '; }
|
||||
|
||||
if ($tranche=0) { $libProfil.='Paiements à échéance'; $this->profilPayeur=1; }
|
||||
elseif ($tranche<=30) { $libProfil.='Paiements à 30 jours maximum'; $this->profilPayeur=2; }
|
||||
elseif ($tranche<=60) { $libProfil.='Paiements à 60 jours maximum'; $this->profilPayeur=3; }
|
||||
elseif ($tranche<=90) { $libProfil.='Paiements à 90 jours maximum'; $this->profilPayeur=4; $this->risqueImpaye=true;}
|
||||
else { $libProfil.='Paiements à plus de 90 jours'; $this->profilPayeur=4; $this->risqueImpaye=true;}
|
||||
} else {
|
||||
if ($paie_max<=30) $this->profilPayeur=1;
|
||||
elseif ($paie_max<=60) $this->profilPayeur=2;
|
||||
elseif ($paie_max<=90) $this->profilPayeur=3;
|
||||
elseif ($paie_max>90) $this->profilPayeur=4;
|
||||
$libProfil.="Paiements entre $paie_min et $paie_max jour(s)";
|
||||
}
|
||||
}
|
||||
|
||||
if (trim($libProfil)=='' && $siren<>552100554 && $siren<>552144503 && $siren<>479974115
|
||||
&& $siren<>0 && $siren<>494967938 ) {
|
||||
$ret=$this->iDb->select('jo.surveillances_listes',
|
||||
'ref, dateAjout, dateConf, dateSuppr, dateDerEnvoi',
|
||||
"idClient='SURBODPRDFTSRECOCASH' AND siren=$siren AND dateSuppr=0
|
||||
AND ABS(DATEDIFF(dateAjout, NOW()))<365
|
||||
ORDER BY dateConf DESC, dateAjout DESC", false, MYSQL_ASSOC);
|
||||
foreach ($ret as $i=>$tabCS) {
|
||||
$dateMAJ = Metier_Util_Date::dateT('Y-m-d', 'M Y', $tabCS['dateAjout']);
|
||||
$libProfil="En date du $dateMAJ : Contentieux importants.";
|
||||
$this->risqueImpaye=true;
|
||||
$this->risqueImpayeMois=Metier_Util_Date::dateT('Y-m', 'Ym', $tabCS['dateAjout']);
|
||||
$this->profilPayeur=4;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return $libProfil;
|
||||
}
|
||||
|
||||
public function getTabPaiements($siren)
|
||||
{
|
||||
if ($siren<1000) return false;
|
||||
|
||||
$tabNbr=array(); // Tableau de travail du nombre de factures par trimestre et par tranches de délais de paiements
|
||||
$tabMtAn=array(); // Tableau de travail du nombre de factures par montant et par tranches de délais de paiements
|
||||
|
||||
$tabNbr2=array(); // Tableau retour du nombre de factures par trimestre et par tranches de délais de paiements
|
||||
$tabMtAn2=array(); // Tableau retour du nombre de factures par montant et par tranches de délais de paiements
|
||||
|
||||
$tabPaie=$this->getPaiements($siren, 'jour');
|
||||
foreach ($tabPaie as $i=>$tabPai)
|
||||
{
|
||||
@$tabNbr[$tabPai['trimestre']]['d='.$tabPai['tranchePaiement']]+=$tabPai['nbPieces'];
|
||||
@$tabNbr[$tabPai['trimestre']]['all']+=$tabPai['nbPieces'];
|
||||
$mt=$tabPai['mtPieces']/$tabPai['nbPieces'];
|
||||
//echo "$i\t".$tabPai['trimestre']." (".$tabPai['tranchePaiement']." j)\t$mt=".$tabPai['mtPieces'].'/'.$tabPai['nbPieces'].PHP_EOL;
|
||||
if ($mt<500) { @$tabMtAn[1]['d='.$tabPai['tranchePaiement']]++; @$tabMtAn[1]['all']++; }
|
||||
elseif ($mt<2000) { @$tabMtAn[2]['d='.$tabPai['tranchePaiement']]++; @$tabMtAn[2]['all']++; }
|
||||
elseif ($mt<10000) { @$tabMtAn[10]['d='.$tabPai['tranchePaiement']]++; @$tabMtAn[10]['all']++; }
|
||||
elseif ($mt<20000) { @$tabMtAn[20]['d='.$tabPai['tranchePaiement']]++; @$tabMtAn[20]['all']++; }
|
||||
elseif ($mt<50000) { @$tabMtAn[50]['d='.$tabPai['tranchePaiement']]++; @$tabMtAn[50]['all']++; }
|
||||
elseif ($mt<100000) { @$tabMtAn[100]['d='.$tabPai['tranchePaiement']]++; @$tabMtAn[100]['all']++; }
|
||||
elseif ($mt<200000) { @$tabMtAn[200]['d='.$tabPai['tranchePaiement']]++; @$tabMtAn[200]['all']++; }
|
||||
else { @$tabMtAn[999]['d='.$tabPai['tranchePaiement']]++; @$tabMtAn[999]['all']++; }
|
||||
//@$tabMtAn['all'][$tabPai['tranchePaiement']]++;
|
||||
}
|
||||
|
||||
// Recalcul des délais par Trimestre
|
||||
foreach ($tabNbr as $trim=>$tabTranche)
|
||||
{
|
||||
ksort($tabTranche);
|
||||
// Initialisation des tranches à 0
|
||||
foreach ($this->tabTranches as $tranche=>$vide)
|
||||
$tabNbr2[$trim]['nb']=$tabNbr2[$trim]['d='.$tranche]=0;
|
||||
foreach ($tabTranche as $tranche=>$mt3)
|
||||
{
|
||||
$tranche=str_replace('d=','',$tranche);
|
||||
if ($tranche=='all') $tabNbr2[$trim]['nb']=$mt3;
|
||||
else $tabNbr2[$trim]['d='.$tranche]=round(($mt3/$tabNbr2[$trim]['nb'])*100,1);
|
||||
}
|
||||
}
|
||||
|
||||
// Initialisation des tranches à 0 par Montants
|
||||
foreach ($this->tabMontants as $mt=>$vide)
|
||||
{
|
||||
$tabMtAn2['_'.$mt]['nb']=0;
|
||||
foreach ($this->tabTranches as $tranche=>$vide)
|
||||
$tabMtAn2['_'.$mt]['d='.$tranche]=0;
|
||||
}
|
||||
// Recalcul des délais par Montants
|
||||
ksort($tabMtAn);
|
||||
foreach ($tabMtAn as $mt=>$tabTranche)
|
||||
{
|
||||
ksort($tabTranche);
|
||||
foreach ($tabTranche as $tranche=>$mt2)
|
||||
{
|
||||
$tranche=str_replace('d=','',$tranche);
|
||||
if ($tranche=='all') $tabMtAn2['_'.$mt]['nb']=$mt2;
|
||||
else $tabMtAn2['_'.$mt]['d='.$tranche]=round(($mt2/$tabMtAn2['_'.$mt]['nb'])*100,1);
|
||||
}
|
||||
}
|
||||
|
||||
return array(
|
||||
'parMont'=>$tabMtAn2,
|
||||
'parTrim'=>$tabNbr2
|
||||
);
|
||||
}
|
||||
|
||||
public function getLibInfoCS($cs)
|
||||
{
|
||||
return array(
|
||||
'CoteCS' => $cs,
|
||||
'LibCS' => $this->tabInfoCS["_$cs"]['libExt'],
|
||||
'NivRisque' => $this->tabInfoCS["_$cs"]['risque'],
|
||||
'CodeRisque' => $this->tabInfoCS["_$cs"]['type'],
|
||||
);
|
||||
}
|
||||
}
|
244
library/Metier/Partenaires/MFedaso.php
Normal file
244
library/Metier/Partenaires/MFedaso.php
Normal file
@ -0,0 +1,244 @@
|
||||
<?php
|
||||
class Metier_Partenaires_MFedaso {
|
||||
|
||||
private $tabCodeRetour=array(0 => 'Traitement OK',
|
||||
100 => 'Document illisible',
|
||||
101 => 'Document partiellement lisible',
|
||||
102 => 'Document inattendu',
|
||||
103 => 'Page blanche',
|
||||
104 => 'Fichier absent',
|
||||
105 => 'page partiellement scannée',
|
||||
106 => 'Document complémentaire concernant une autre société',
|
||||
107 => 'Page(s) manquante(s)',//NEW
|
||||
108 => 'Document(s) non Francophone',
|
||||
200 => 'Aucune information dirigeants',
|
||||
210 => 'Aucune information actionnaire',
|
||||
211 => 'Aucune information capitalistique',
|
||||
220 => 'Aucune information RIB',
|
||||
221 => 'Code guichet inconnu',
|
||||
250 => 'Raison Sociale absente',//NEW
|
||||
251 => 'Raison Sociale en double : entête retenue',//NEW
|
||||
252 => 'Raison Sociale en double : entête non retenue',//NEW
|
||||
300 => 'Code pays absent du réferentiel',
|
||||
301 => 'Code devise absent du référentiel',
|
||||
201 => 'Code fonction inexistant',
|
||||
);
|
||||
|
||||
public function getRefCodeRetour($sep=',', $eol=PHP_EOL) {
|
||||
$str='codRetour'.$sep.'libRetour'.$eol;
|
||||
foreach ($this->tabCodeRetour as $key=>$value)
|
||||
$str.=$key.$sep.$value.$eol;
|
||||
return $str;
|
||||
}
|
||||
|
||||
public function getRefCodeVoie($sep=',', $eol=PHP_EOL) {
|
||||
$tabCodeVoie = array(
|
||||
'ABE' => "Abbaye",
|
||||
'AGL' => "Agglomération",
|
||||
'AIRE' => "Aire",
|
||||
'ALL' => "Allée",
|
||||
'ALL' => "Allee",
|
||||
'ACH' => "Ancien chemin",
|
||||
'ART' => "Ancienne route",
|
||||
'ANSE' => "Anse",
|
||||
'ARC' => "Arcade",
|
||||
'AUT' => "Autoroute",
|
||||
'AV' => "Avenue",
|
||||
'BRE' => "Barrière",
|
||||
'BCH' => "Bas chemin",
|
||||
'BSTD' => "Bastide",
|
||||
'BAST' => "Baston",
|
||||
'BEGI' => "Beguinage",
|
||||
'BER' => "Berge",
|
||||
'BOIS' => "Bois",
|
||||
'BCLE' => "Boucle",
|
||||
'BD' => "Boulevard",
|
||||
'BRG' => "Bourg",
|
||||
'BUT' => "Butte",
|
||||
'CALE' => "Cale",
|
||||
'CAMP' => "Camp",
|
||||
'CGNE' => "Campagne",
|
||||
'CPG' => "Camping",
|
||||
'CARR' => "Carré",
|
||||
'CAU' => "Carreau",
|
||||
'CAR' => "Carrefour",
|
||||
'CARE' => "Carrière",
|
||||
'CST' => "Castel",
|
||||
'CAV' => "Cavée",
|
||||
'CTRE' => "Central",
|
||||
'CTRE' => "Centre",
|
||||
'CHL' => "Chalet",
|
||||
'CHP' => "Chapelle",
|
||||
'CHI' => "Charmille",
|
||||
'CHT' => "Château",
|
||||
'CHS' => "Chaussée",
|
||||
'CHE' => "Chemin",
|
||||
'CHV' => "Chemin vicinaux",
|
||||
'CHV' => "Chemin vicinal",
|
||||
'CHEM' => "Cheminement",
|
||||
'CITE' => "Cîte",
|
||||
'CLOI' => "Cloître",
|
||||
'CLOS' => "Clos",
|
||||
'COL' => "Col",
|
||||
'COLI' => "Colline",
|
||||
'CTR' => "Contour",
|
||||
'COR' => "Corniche",
|
||||
'COTE' => "Côte",
|
||||
'COTT' => "Cottage",
|
||||
'COUR' => "Cour",
|
||||
'CRS' => "Cours",
|
||||
'DARS' => "Darse",
|
||||
'DEG' => "Degré",
|
||||
'DSG' => "Descente",
|
||||
'DSC' => "Descente",
|
||||
'DIG' => "Digue",
|
||||
'DOM' => "Domaine",
|
||||
'ECA' => "Ecart",
|
||||
'ECL' => "Ecluse",
|
||||
'EGL' => "Eglise",
|
||||
'EN' => "Enceinte",
|
||||
'ENV' => "Enclave",
|
||||
'ENC' => "Enclos",
|
||||
'ESC' => "Escalier",
|
||||
'ESPA' => "Espace",
|
||||
'ESP' => "Esplanade",
|
||||
'ETING' => "Etang",
|
||||
'FG' => "Faubourg",
|
||||
'FRM' => "Ferme",
|
||||
'FON' => "Fontaine",
|
||||
'FORT' => "Fort",
|
||||
'FORM' => "Forum",
|
||||
'FOS' => "Fosse",
|
||||
'FOYR' => "Foyer",
|
||||
'GAL' => "Galerie",
|
||||
'GARE' => "Gare",
|
||||
'GARN' => "Garenne",
|
||||
'GBD' => "Grand boulevard",
|
||||
'GDEN' => "Grande ensemble",
|
||||
'GR' => "Grande rue",
|
||||
'GRI' => "Grille",
|
||||
'GRIM' => "Grimpette",
|
||||
'GPE' => "Groupe",
|
||||
'GPT' => "Groupement",
|
||||
'HLE' => "Halle",
|
||||
'HAM' => "Hameau",
|
||||
'HCH' => "Haut chemin",
|
||||
'HIP' => "Hippodrome",
|
||||
'HLM' => "HLM",
|
||||
'ILE' => "Ile",
|
||||
'IMM' => "Immeuble",
|
||||
'IMP' => "Impasse",
|
||||
'JARD' => "Jardin",
|
||||
'JTE' => "Jetée",
|
||||
'LEVE' => "Levée",
|
||||
'LD' => "Lieu dit",
|
||||
'LD' => "Lieudit",
|
||||
'LOT' => "Lotissement",
|
||||
'MAIL' => "Mail",
|
||||
'MF' => "Maison forestière",
|
||||
'MAN' => "Manoir",
|
||||
'MAR' => "Marche",
|
||||
'MAS' => "Mas",
|
||||
'MET' => "Métro",
|
||||
'MTE' => "Montée",
|
||||
'MLN' => "Moulin",
|
||||
'MUS' => "Musée",
|
||||
'NTE' => "Nouvelle route",
|
||||
'PAL' => "Palais",
|
||||
'PARC' => "Parc",
|
||||
'PKG' => "Parking",
|
||||
'PRV' => "Parvis",
|
||||
'PAS' => "Passage",
|
||||
'PN' => "Passage à niveau",
|
||||
'PASS' => "Passe",
|
||||
'PLE' => "Passerelle",
|
||||
'PAT' => "Patio",
|
||||
'PAV' => "Pavillon",
|
||||
'PERI' => "Périphérique",
|
||||
'PSTY' => "Péristyle",
|
||||
'PTA' => "Petites allée",
|
||||
'PCH' => "Petit chemin",
|
||||
'PAE' => "Petite avenue",
|
||||
'PIM' => "Petite impasse",
|
||||
'PRT' => "Petite route",
|
||||
'PTR' => "Petite rue",
|
||||
'PL' => "Place",
|
||||
'PLCI' => "Placis",
|
||||
'PLAG' => "Plage",
|
||||
'PLN' => "Plaine",
|
||||
'PLAN' => "Plan",
|
||||
'PLT' => "Plateau",
|
||||
'PNT' => "Pointe",
|
||||
'PONT' => "Pont",
|
||||
'PCH' => "Porche",
|
||||
'PORT' => "Port",
|
||||
'PTE' => "Porte",
|
||||
'PORQ' => "Portique",
|
||||
'POT' => "Poterne",
|
||||
'POUR' => "Pourtour",
|
||||
'PRE' => "Pré",
|
||||
'PRQ' => "Presqu'île",
|
||||
'PROM' => "Promenade",
|
||||
'QU' => "Quai",
|
||||
'QUAI' => "Quai",
|
||||
'QUA' => "Quartier",
|
||||
'RAC' => "Raccourci",
|
||||
'RAID' => "Raidillon",
|
||||
'RPE' => "Rampe",
|
||||
'REM' => "Rempart",
|
||||
'RES' => "Résidence",
|
||||
'ROC' => "Roc",
|
||||
'ROC' => "Rocade",
|
||||
'RPT' => "Rond point",
|
||||
'ROQT' => "Roquet",
|
||||
'RTD' => "Rotonde",
|
||||
'RTE' => "Route",
|
||||
'R' => "Rue",
|
||||
'RUE' => "Rue",
|
||||
'RLE' => "Ruelle",
|
||||
'SEN' => "Sente",
|
||||
'SEN' => "Sentier",
|
||||
'SQ' => "Square",
|
||||
'STDE' => "Stade",
|
||||
'STA' => "Station",
|
||||
'TPL' => "Terre plein",
|
||||
'TRN' => "Terrain",
|
||||
'TSSE' => "Terrasse",
|
||||
'TRT' => "Tertre",
|
||||
'TOUR' => "Tour",
|
||||
'TRA' => "Traverse",
|
||||
'VAL' => "Vallon",
|
||||
'VAL' => "Vallée",
|
||||
'VEN' => "Venelle",
|
||||
'VIA' => "Via",
|
||||
'VTE' => "Vieille route",
|
||||
'VCHE' => "Vieux chemin",
|
||||
'VLA' => "Villa",
|
||||
'VGE' => "Village",
|
||||
'VLGE' => "Village",
|
||||
'VOI' => "Voie",
|
||||
'VOIE' => "Voie",
|
||||
'ZONE' => "Zone",
|
||||
'ZAC' => "Zone d'aménagement concerté",
|
||||
'Z A C' => "Zone d'aménagement concerté",
|
||||
'ZAD' => "Zone d'aménagement différé",
|
||||
'Z A D' => "Zone d'aménagement différé",
|
||||
'ZA' => "Zone artisanale",
|
||||
'Z A' => "Zone artisanale",
|
||||
'ZI' => "Zone industrielle",
|
||||
'Z I' => "Zone industrielle",
|
||||
'ZUP' => "Zone à urbaniser en priorité",
|
||||
'Z U P' => "Zone à urbaniser en priorité",
|
||||
);
|
||||
|
||||
$str='codVoie'.$sep.'libVoie'.$eol;
|
||||
foreach ($tabCodeVoie as $k => $v) {
|
||||
$str.=$k.$sep.$v.$eol;
|
||||
}
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
123
library/Metier/Partenaires/MGreffes.php
Normal file
123
library/Metier/Partenaires/MGreffes.php
Normal file
@ -0,0 +1,123 @@
|
||||
<?php
|
||||
class Metier_Partenaires_MGreffes
|
||||
{
|
||||
public $iDb;
|
||||
|
||||
public function __construct($db = null)
|
||||
{
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne Identite Greffe
|
||||
* @param string $siren
|
||||
*/
|
||||
public function getIdentite($siren)
|
||||
{
|
||||
$id = false;
|
||||
|
||||
$res = $this->iDb->select('jo.greffes_identite',
|
||||
'id, siren, nom, nomCommercial, adresse, adresse2, cp, ville, enseigne, siege, fj, fjLib, naf, nafLib, numRC, numRC2, typeRCS, numGreffe, libGreffe, dateCreation, dateRadiation, dateCloture, ca, res, eff, dateInsert',
|
||||
"siren=$siren");
|
||||
if (count($res) > 0) {
|
||||
$ent=$res[0];
|
||||
$id=$ent['id'];
|
||||
$siren=$ent['siren'];
|
||||
$siege=$ent['siege'];
|
||||
$nom=$ent['nom'];
|
||||
$nomCom=$ent['nomCommercial'];
|
||||
$ens=$ent['ens'];
|
||||
$adr=$ent['adresse'];
|
||||
$adr2=$ent['adresse2'];
|
||||
$cp=$ent['cp'];
|
||||
$ville=$ent['ville'];
|
||||
$cj=$ent['fj'];
|
||||
$cjLib=$ent['fjLib'];
|
||||
$naf=$ent['naf'];
|
||||
$nafLib=$ent['nafLib'];
|
||||
$numRC=$ent['numRC'];
|
||||
$numRC2=$ent['numRC2'];
|
||||
$greffe_num=$ent['numGreffe'];
|
||||
$typeRCS=$ent['typeRCS'];
|
||||
$dateCre=$ent['dateCreation'];
|
||||
$dateRad=$ent['dateRadiation'];
|
||||
$dateCloture=$ent['dateCloture'];
|
||||
$dateInsert=$ent['dateInsert'];
|
||||
}
|
||||
|
||||
if ($id) {
|
||||
$tabRet = array(
|
||||
'id' => $id,// A calculer après insert
|
||||
'Pertinence' => 100,
|
||||
'Siret' => $siren.'00000',
|
||||
'Siege' => $siege,
|
||||
'Nom' => $nom,
|
||||
'Nom2' => $nomCom,
|
||||
'Sigle' => '',
|
||||
'Enseigne' => $ens,
|
||||
'Adresse' => $adr,
|
||||
'Adresse2' => $adr2,
|
||||
'CP' => $cp,
|
||||
'Ville' => $ville,
|
||||
'Tel' => '',
|
||||
'Fax' => '',
|
||||
'FJ' => $cj,
|
||||
'FJLib' => $cjLib,
|
||||
'Siren' => $siren,
|
||||
'Nic' => '00000',
|
||||
'Actif' => 0,
|
||||
'NafEtab' => $naf,
|
||||
'NafEtabLib' => $nafLib,
|
||||
'NafEnt' => $naf,
|
||||
'NafEntLib' => $nafLib,
|
||||
'NumRC' => $numRC,
|
||||
'NumRC2' => $numRC2,
|
||||
'NumGreffe' => $greffe_num,
|
||||
'DateCreation' => $dateCre,
|
||||
'DateRadiation' => $dateRad,
|
||||
'DateCloture' => $dateCloture,
|
||||
'DateUpdate' => substr($dateInsert,0,10),
|
||||
);
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cession
|
||||
* @param string $siren
|
||||
*/
|
||||
public function getInfosCessions($siren)
|
||||
{
|
||||
$ret=$this->iDb->select('jo.greffes_cessions', 'id, siren, nom, libGreffe, inscrit, etat, dateImmat, dateJuge, dateConv, dateLJS, dateInventaire, dateBodacc, caDeclare, effectif, descriptif, pdfLink, pdfSize, pdfVer, pdfPage, descDateDepot, dateLimite, mandataire, dateInsert', "siren=$siren", false, MYSQL_ASSOC);
|
||||
if (count($ret)>0) {
|
||||
$tabCes=$ret[0];
|
||||
if (count($ret)>1) {
|
||||
$mail = new Metier_Common_Mail();
|
||||
$mail->send('debug@scores-decisions.com', 'ylenaour@scores-decisions.com', "classMGreffes.php : Debug getInfosCessions $siren", "Plus de 1 cession pour ce siren");
|
||||
}
|
||||
return array(
|
||||
'cessJuge'=> $tabCes['etat'],
|
||||
'cessDateJuge'=>$tabCes['dateJuge'],
|
||||
'cessDateConv'=>$tabCes['dateConv'],
|
||||
'cessDateLJS'=> $tabCes['dateLJS'],
|
||||
'cessDateInv'=> $tabCes['dateInventaire'],
|
||||
'cessDateBod'=> $tabCes['dateBodacc'],
|
||||
'cessCAdec'=> $tabCes['caDeclare'],
|
||||
'cessEffectif'=>$tabCes['effectif'],
|
||||
'cessDesc'=> $tabCes['descriptif'],
|
||||
'cessDateDesc'=>$tabCes['descDateDepot'],
|
||||
'cessDateLim'=> $tabCes['dateLimite'],
|
||||
'cessMand'=> $tabCes['mandataire'],
|
||||
);
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
1027
library/Metier/Partenaires/MLiens.php
Normal file
1027
library/Metier/Partenaires/MLiens.php
Normal file
File diff suppressed because it is too large
Load Diff
1212
library/Metier/Partenaires/MMap.php
Normal file
1212
library/Metier/Partenaires/MMap.php
Normal file
File diff suppressed because it is too large
Load Diff
1947
library/Metier/Partenaires/MMarques.php
Normal file
1947
library/Metier/Partenaires/MMarques.php
Normal file
File diff suppressed because it is too large
Load Diff
291
library/Metier/Partenaires/MOrias.php
Normal file
291
library/Metier/Partenaires/MOrias.php
Normal file
@ -0,0 +1,291 @@
|
||||
<?php
|
||||
require_once 'framework/common/curl.php';
|
||||
|
||||
class Metier_Partenaires_MOrias
|
||||
{
|
||||
private $referer ='';
|
||||
private $body = '';
|
||||
private $header = '';
|
||||
private $cookie = '';
|
||||
private $codeRetour = 0;
|
||||
private $accesDist=true;
|
||||
private $iDb;
|
||||
|
||||
public $enCache=false;
|
||||
public $force=false;
|
||||
public $annee=0;
|
||||
public $erreur='';
|
||||
|
||||
function __construct($accesDist = true, $db = null)
|
||||
{
|
||||
$this->accesDist = $accesDist;
|
||||
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
public function getMaxOrias($annee=0)
|
||||
{
|
||||
if ($annee*1>0 && $annee*1<100) {
|
||||
$this->annee='20'.$annee;
|
||||
$annee++;
|
||||
$strWhere="(numOrias/1000000)<=$annee";
|
||||
} elseif ($annee*1>1900 && $annee*1<9999) {
|
||||
$this->annee=$annee;
|
||||
$annee=substr(''.$annee,2,2)*1+1;
|
||||
$strWhere="(numOrias/1000000)<=$annee";
|
||||
} else {
|
||||
$strWhere='1';
|
||||
$this->annee=date('Y')*1;
|
||||
}
|
||||
|
||||
$ret=$this->iDb->select('sdv1.orias','MAX(numOrias) AS numOrias', $strWhere, false, MYSQL_ASSOC);
|
||||
//die($strWhere);
|
||||
return sprintf('%08d',$ret[0]['numOrias']);
|
||||
}
|
||||
|
||||
public function getInfosOrias($siren, $numOrias=0)
|
||||
{
|
||||
//die('numOrias 1:"'.$numOrias.'"');
|
||||
if ($siren*1>1000)
|
||||
$strWhere="siren=$siren";
|
||||
elseif ($numOrias*1>0) {
|
||||
// $numOrias=preg_replace('/[^0-9]/','',$numOrias);
|
||||
// $numOrias=substr($numOrias,0,2).' '.substr($numOrias,2,3).' '.substr($numOrias,5,3);
|
||||
$strWhere="numOrias=$numOrias";
|
||||
// die($strWhere);
|
||||
//die('numOrias 2:"'.$numOrias.'"');
|
||||
} else return false;
|
||||
|
||||
/* echo "=================================================================================================".PHP_EOL;
|
||||
echo "==== SELECT siren, id, nom, cp, ville, adresse, numOrias FROM orias WHERE $strWhere;".PHP_EOL;
|
||||
echo "=================================================================================================".PHP_EOL;
|
||||
*/
|
||||
$ret=$this->iDb->select('sdv1.orias','siren, id, nom, cp, ville, adresse, numOrias, numOriasAttribue', $strWhere, false, MYSQL_ASSOC);
|
||||
if (!$this->force && count($ret)>0) {
|
||||
$this->enCache=true;
|
||||
$tabRet=$ret[0];//array();
|
||||
$ret=$this->iDb->select('sdv1.orias','categorie, cat, dateInscription, typeStatut, rcsVille, rcsCode, rcsSiren, contact, encaissement, nature, paysPresta, paysEtab',$strWhere, false, MYSQL_ASSOC);
|
||||
foreach ($ret as $i=>$tabTmp)
|
||||
$tabRet['categories'][]=$tabTmp;
|
||||
//die('numOrias 3:"'.$numOrias.'"');
|
||||
} elseif ($this->accesDist==true) {
|
||||
$this->enCache=false;
|
||||
|
||||
// Initialisation Cookies
|
||||
if ($numOrias>0) $this->referer='http://www.orias.fr/orias/public/index.jsp';
|
||||
else $this->referer='http://www.orias.fr/orias/public/rechercheavance.html';
|
||||
$page=getUrl($this->referer, '', '', '', false, '', '', 15);
|
||||
//print_r($page);
|
||||
if ($page['code']==200) {
|
||||
$this->cookie=str_replace(' Path=/orias', '',$page['header']['Set-Cookie']);
|
||||
if(preg_match('/id="javax\.faces\.ViewState" value="(.*)"/Ui', $page['body'], $matches))
|
||||
$this->codeRetour=$matches[1];
|
||||
else {
|
||||
echo 'Erreur Url='.$this->referer.PHP_EOL;
|
||||
print_r($page['body']);
|
||||
return false;
|
||||
}
|
||||
} else return false;
|
||||
|
||||
if ($numOrias>0) {
|
||||
$url='http://www.orias.fr/orias/public/index.html';
|
||||
$post=array('menu%3AiasSearchForm'=>'menu%3AiasSearchForm',
|
||||
'menu%3AiasSearchForm%3AiasInputText'=>sprintf('%08s',$numOrias),
|
||||
'javax.faces.ViewState'=>$this->codeRetour,
|
||||
'menu%3AiasSearchForm%3AiasSearch'=>'menu%3AiasSearchForm%3AiasSearch',
|
||||
);
|
||||
} else {
|
||||
// Recherche avec Siren
|
||||
$url='http://www.orias.fr/orias/public/rechercheavance.html';
|
||||
$post=array('j_id_id45'=>'j_id_id45',
|
||||
'j_id_id45%3Aj_id_id52'=>'',
|
||||
'j_id_id45%3AtagRCS'=>'',
|
||||
'j_id_id45%3AtagSIREN'=>$siren,//441921574,
|
||||
'j_id_id45%3Aj_id_id160'=>'',
|
||||
'j_id_id45%3Aj_id_id167'=>'',
|
||||
'j_id_id45%3Aj_id_id175'=>'',
|
||||
'javax.faces.ViewState'=>$this->codeRetour,
|
||||
'j_id_id45%3Aj_id_id203'=>'j_id_id45%3Aj_id_id203');
|
||||
$this->referer='http://www.orias.fr/orias/public/list.html';
|
||||
}
|
||||
sleep(rand(1, 2));
|
||||
$page=getUrl($url, $this->cookie, $post, $this->referer, false, '', '', 15);
|
||||
$this->referer=$url;
|
||||
if ($page['code']==302) $url=$page['header']['Location'];
|
||||
else {
|
||||
if (preg_match("/Le numéro d'immatriculation n'existe pas/", $page['body'])) {
|
||||
$tabInsert=array( 'actif'=>0,
|
||||
'numOrias'=>$numOrias,
|
||||
'numOriasAttribue'=>0,
|
||||
'dateInsert'=>date('YmdHis'));
|
||||
$this->erreur='Numéro Orias inexistant';
|
||||
// On enregistre ce numéro comme non attribué si < au dernier numéro attribué
|
||||
if ($numOrias<$this->getMaxOrias())
|
||||
$this->iDb->insert('sdv1.orias', $tabInsert);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($url=='http://www.orias.fr/orias/public/intermediaire.html') {
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, '', '', 24);
|
||||
$this->referer=$url;
|
||||
$this->body=$page['body'];
|
||||
echo "Recherche par Orias : url=$url".PHP_EOL;
|
||||
die(print_r($page));
|
||||
} /* else { */
|
||||
|
||||
// Liste contenant l'entreprise
|
||||
$url='http://www.orias.fr/orias/public/list.html';
|
||||
sleep(rand(1, 2));
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, '', '', 24);
|
||||
$this->referer=$url;
|
||||
$this->body=$page['body'];
|
||||
|
||||
if (preg_match('/<td>R\é\;sultat\(s\) de votre recherche \:(?:.*)<strong>(.*)<(?:.*)Interm\é\;diaire\(s\)/Uis',$this->body, $matches)) {
|
||||
$nbInter=trim($matches[1])*1;
|
||||
if ($nbInter==0) return false;
|
||||
if ($nbInter>1) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Initalisation du tableau retour
|
||||
$tabRet=array('siren'=>$siren);
|
||||
|
||||
//id="formResult:intermediariesList:13910
|
||||
|
||||
if (preg_match('/<td class="dr-table-cell rich-table-cell haut " id="formResult\:intermediariesList\:(.*)\:j_id_id117">(?:.*)<center>(.*)<\/center>/Uis',$this->body, $matches)) {
|
||||
$tabRet['id']=trim($matches[1]);
|
||||
$tabRet['nom']=html_entity_decode(trim($matches[2]));
|
||||
}
|
||||
if (preg_match('/<td class="dr-table-cell rich-table-cell r.cp_ville " id="formResult\:intermediariesList\:(?:.*)\:j_id_id124">(?:.*)<center>(.*)<\/center>/Uis',$this->body, $matches)) {
|
||||
$tabTmp=explode(' ',$matches[1]);
|
||||
$tabRet['cp']=trim($tabTmp[0]);
|
||||
$tabRet['ville']=html_entity_decode(trim($tabTmp[1]));
|
||||
//$tabRet['cpVille']=explotrim(str_replace(' ',' ',$matches[1]));
|
||||
}
|
||||
if (preg_match('/<td class="dr-table-cell rich-table-cell r.adresse " id="formResult\:intermediariesList\:(?:.*)\:j_id_id133">(.*)<\/td>/Uis',$this->body, $matches))
|
||||
$tabRet['adresse']=html_entity_decode(trim($matches[1]));
|
||||
|
||||
$tabRet['actif']=1;
|
||||
$tabRet['numOriasAttribue']=1;
|
||||
if (preg_match('/<td class="dr-table-cell rich-table-cell r.immat " id="formResult\:intermediariesList\:(?:.*)\:j_id_id138">(?:.*|)(<span style="white-space\: no-wrap;">|Radi\é\; le \:)(.*)(?:<\/span>|<\/td>)/Uis',$this->body, $matches)) {
|
||||
$str=trim(strtr($matches[2],array(' '=>'',' '=>'')));
|
||||
if (html_entity_decode(trim(str_replace(':','', $matches[1])))=='Radié le') {
|
||||
$tabRet['actif']=0;
|
||||
$tabRet['numOrias']=$numOrias;
|
||||
$tabRet['dateRadiation']=$str;
|
||||
}
|
||||
else
|
||||
$tabRet['numOrias']=$str;
|
||||
}
|
||||
|
||||
if (preg_match('/ id="javax\.faces\.ViewState" value="(.*)" /Uis',$this->body, $matches))
|
||||
$this->codeRetour=$matches[1];
|
||||
|
||||
$tabTmp=explode("<a href=\"#\" onclick=\"if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('formResult'),{'", $this->body);
|
||||
// die($this->body);
|
||||
|
||||
foreach ($tabTmp as $i=>$strCat) {
|
||||
if ($i==0) {
|
||||
if (count($tabTmp)==1) {
|
||||
$tabInsert=array_merge($tabRet, array('dateInsert'=>date('YmdHis')));
|
||||
//print_r($tabInsert);
|
||||
$this->iDb->insert('sdv1.orias', $tabInsert);
|
||||
}
|
||||
$tabRet['categories']=array();
|
||||
continue;
|
||||
}
|
||||
$tabCat=array();
|
||||
//echo "$i:$strCat";
|
||||
//die();
|
||||
//:formResult:intermediariesList:107501:j_id_id159:0:j_id_id166':'formResult:intermediariesList:107501:j_id_id159:0:j_id_id166','intermediaryIdParam':'107501','intermediaryRoleIdParam':'Mia'},'');}return false">
|
||||
|
||||
if (preg_match('/<span style="text-align\: left">(.*)<\/span>/Ui',$strCat, $matches))
|
||||
$tabCat['categorie']=html_entity_decode(trim($matches[1]));
|
||||
if (preg_match('/intermediaryRoleIdParam\'\:\'(.*)\'/Uis',$strCat, $matches))
|
||||
$tabCat['cat']=$matches[1];
|
||||
//print_r($tabCat);
|
||||
|
||||
if ($i==1) { // Tout est dans la même page Html
|
||||
// Construction du lien vers la fiche d'identité de l'entreprise
|
||||
$url='http://www.orias.fr/orias/public/list.html';
|
||||
$post=array('formResult'=>'formResult',
|
||||
'formResult%3AajaxLoadingModalBoxOpenedState'=>'',
|
||||
'javax.faces.ViewState'=>$this->codeRetour,
|
||||
'intermediaryIdParam'=>$tabRet['id'],
|
||||
'intermediaryRoleIdParam'=>$tabCat['cat'],
|
||||
);
|
||||
if (preg_match('/(formResult\:intermediariesList\:(?:.*)),intermediaryIdParam,/Ui',$strCat, $matches)) {
|
||||
$tabTmp2=explode(',', $matches[1]);
|
||||
$post[urlencode($tabTmp2[0])]=urlencode($tabTmp2[1]);
|
||||
/* echo "$i";
|
||||
print_r($tabCat);
|
||||
print_r($matches);*/
|
||||
}
|
||||
sleep(rand(1, 2));
|
||||
$page=getUrl($url, $this->cookie, $post, $this->referer, false, '', '', 24);
|
||||
//$this->referer=$url;
|
||||
$tmpCat=explode('class="dr-tbpnl-cntnt-pstn rich-tabpanel-content-position"', $page['body']);
|
||||
//die(print_r($page,1));
|
||||
}
|
||||
|
||||
if (preg_match('/<dd class="col3">Date d\'inscription \: <strong>(.*)<\/strong><\/dd>/Uis',$tmpCat[$i], $matches))
|
||||
$tabCat['dateInscription']=/*Metier_Util_Date::dateT('d/m/y', 'Y-m-d', */trim($matches[1]);//);
|
||||
if (preg_match('/<td align="right"(?: |)>Statut \:<\/td>(.*)<\/strong>/Uis',$tmpCat[$i], $matches))
|
||||
$tabCat['typeStatut']=trim(strip_tags($matches[1]));
|
||||
if (preg_match('/<td align="right">RCS \:<\/td>(?:.*)<td width="5%"><\/td>(?:.*)<td width="70%"><strong>(.*)<\/strong>(.*)SIREN \:(?:.*)<strong>(.*)<\/strong>/Uis',$tmpCat[$i], $matches)) {
|
||||
$tabCat['rcsVille']=trim($matches[1]);
|
||||
$tabCat['rcsCode']=trim(strtr(strip_tags($matches[2]), array(' '=>'',' '=>'',chr(160)=>'',"\r"=>'',"\n"=>'')));
|
||||
$tabCat['rcsSiren']=trim($matches[3]);
|
||||
if ($siren==0) $tabRet['siren']=$tabCat['rcsSiren'];
|
||||
}
|
||||
/*<td align="right">Contact</td>
|
||||
<td></td>
|
||||
<td><strong> François Meunier
|
||||
</strong></td>
|
||||
*/
|
||||
if (preg_match('/<td align="right">Contact<\/td>(.*)<\/tr>/Uis',$tmpCat[$i], $matches)) {
|
||||
$tabCat['contact']=html_entity_decode(trim(strip_tags($matches[1])));
|
||||
/* <td></td>
|
||||
<td>
|
||||
<strong>
|
||||
JEAN-PIERRE CHAUSSAT
|
||||
</strong>
|
||||
</td>
|
||||
</table>*/
|
||||
}
|
||||
//print_r($tmpCat[$i]);
|
||||
if (preg_match("/<strong>(.*)Cet intermédiaire n'est pas autorisé à encaisser les primes ou cotisations d'assurances(.*)<\/strong>/Uis", $tmpCat[$i]))
|
||||
$tabCat['encaissement']=0;
|
||||
else
|
||||
$tabCat['encaissement']=1;
|
||||
|
||||
if (preg_match('/<span class="txt_ssTitre">(?:.*)Nature de l\'activit\é\; d\'interm\é\;diation(.*)<\/dd>/Uis',$tmpCat[$i], $matches))
|
||||
$tabCat['nature']=html_entity_decode(trim(strip_tags($matches[1])));
|
||||
|
||||
if (preg_match('/<td width="50%" valign="top" align="left">\- Etats dans lesquels cet interm\é\;diaire exerce en libre prestation de service(.*)<\/table>(.*)<\/tr>/Uis',$tmpCat[$i], $matches))
|
||||
$tabCat['paysPresta']=trim(strip_tags($matches[1]));
|
||||
|
||||
if (preg_match('/<td width="222" align="left">\- Etats dans lesquels cet interm\é\;diaire exerce en libert\é\; d\'\é\;tablissement(.*)<\/table>(.*)<\/tr>/Uis',$tmpCat[$i], $matches))
|
||||
$tabCat['paysEtab']=trim(strip_tags($matches[1]));
|
||||
|
||||
$tabRet['categories'][]=$tabCat;
|
||||
|
||||
$tabInsert=$tabRet;
|
||||
unset($tabInsert['categories']);
|
||||
$tabInsert=array_merge($tabInsert, $tabCat, array('dateInsert'=>date('YmdHis')));
|
||||
//print_r($tabInsert);
|
||||
$this->iDb->insert('sdv1.orias', $tabInsert);
|
||||
//echo $tmpCat[$i];
|
||||
}
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
146
library/Metier/Partenaires/MPrivileges.php
Normal file
146
library/Metier/Partenaires/MPrivileges.php
Normal file
@ -0,0 +1,146 @@
|
||||
<?php
|
||||
class Metier_Partenaires_MPrivileges
|
||||
{
|
||||
protected $iDb;
|
||||
public $tabCodeAR = array(
|
||||
'00'=>"Surveillance RCS posée/Demande de suppression acceptée/Surveillance PRIV posée : pas d'inscription existante sur le dossier",
|
||||
'01'=>"Surveillance PRIV posée : inscription existante sur le dossier",
|
||||
'02'=>"GAGI,GREFTEL,INTERGREFFE-code 1-surveillance acceptée mais qui n'a pas encore fait l'objet d'un AR",
|
||||
'03'=>"GAGI,GREFTEL,INTERGREFFE-code 2 - surveillance acceptée avec CREATION d'une fiche débiteur, qui n'a pas fait l'objet d'un AR",
|
||||
'04'=>"GAGI-surveillance en attente envoyée au GAGI",
|
||||
'05'=>"Surveillance en attente de validation au greffe",
|
||||
'06'=>"Erreur de chargement",
|
||||
'10'=>"Surveillance impossible car société radiée",
|
||||
'11'=>"Surveillance impossible car société transférée dans un autre greffe",
|
||||
'12'=>"SIREN inconnu",
|
||||
'13'=>"Raison sociale erronée",
|
||||
'14'=>"Adresse erronée",
|
||||
'15'=>"Surveillance impossible sur un établissement secondaire",
|
||||
'16'=>"Demande incomplète ou incorrecte",
|
||||
'17'=>"Surveillance Privilège impossible",
|
||||
'18'=>"Surveillance impossible par le greffe",
|
||||
'19'=>"Surveillance RCS impossible",
|
||||
'20'=>"Cette surveillance concerne un autre Greffe",
|
||||
'21'=>"Surveillance BILAN impossible car la ste n'est pas tenue de déposer ses Comptes Annuels (ste de droit étranger)",
|
||||
'22'=>"Plusieurs Bottins (débiteurs) (GAGI)",
|
||||
'23'=>"Société de fait (GAGI) : Société non enregistrée au Registre du Commerce",
|
||||
'24'=>"Surveillance impossible car société en liquidation judiciaire",
|
||||
'25'=>"Greffe inconnu",
|
||||
'26'=>"Millésime bilan à surveiller incorrect",
|
||||
'27'=>"Références EXTELIA erronées ou incomplètes (ces reférences sont obligatoires en cas de demande de suppression)",
|
||||
'28'=>"Surveillance impossible sur un dossier non informatisé (dossier dit non repris ou figé)",
|
||||
'30'=>"Siren absent (ne concerne que les surveillances de type WebService)",
|
||||
'31'=>"Surveillance BILAN impossible sur une société non commerciale (statut <> B)",
|
||||
'50'=>"Ce greffe ne traite pas les surveillances car le groupement de ce greffe n'est pas surveillé",
|
||||
'51'=>"Etablissement non trouvé",
|
||||
'52'=>"Code catalogue de la surveillance non renseigné ou incorrect",
|
||||
'53'=>"le siren est déjà sous surveillance",
|
||||
'54'=>"DOSSIER AGORA : votre prestation ne comprend pas la couverture de ce groupement",
|
||||
'55'=>"DOSSIER INTERGREFFE : votre prestation ne comprend pas la couverture de ce groupement de greffes",
|
||||
'56'=>"Le siren est déjà en attente de validation par le greffe",
|
||||
'57'=>"Surveillance impossible sur un dossier dit non inscrit au RCS (statut F:artisan)",
|
||||
'58'=>"Surveillance impossible sur un agent commercial (statut P ou M)",
|
||||
'59'=>'Surveillance impossible sur une société non RCS ?',
|
||||
'88'=>"Rejet temporaire : surveillance sur un greffe absorbé rejetée pendant la phase de rechargement",
|
||||
'99'=>"Surveillance impossible pour raisons à examiner",
|
||||
);
|
||||
|
||||
public $tabTypePriv = array(
|
||||
'01'=>"NANTISSEMENTS DU FONDS DE COMMERCE",
|
||||
'02'=>"PRIVILEGES DE VENDEUR ET ACTION RESOLUTOIRE",
|
||||
'03'=>"PRIVILEGES DE LA SECURITE SOCIALE ET DES REGIMES COMPLEMENTAIRES",
|
||||
'04'=>"PRIVILEGES DU TRESOR PUBLIC",
|
||||
'05'=>"OPERATIONS DE CREDIT-BAIL EN MATIERE MOBILIERE",
|
||||
'06'=>"PROTETS",
|
||||
'07'=>"NANTISSEMENTS DE L'OUTILLAGE, MATERIEL ET EQUIPEMENT",
|
||||
'08'=>"WARRANTS (HOTELIER, PETROLIER, INDUSTRIEL OU AGRICOLE)",
|
||||
'10'=>"NANTISSEMENTS DE PARTS DE SOCIETE CIVILE",
|
||||
'17'=>"PUBLICITES DE CONTRATS DE LOCATION",
|
||||
'18'=>"PUBLICITES DE CLAUSES DE RESERVE DE PROPRIETE",
|
||||
'19'=>"PRETS ET DELAIS",
|
||||
'20'=>"DECLARATIONS DE CREANCES",
|
||||
'21'=>"NANTISSEMENTS JUDICIAIRES",
|
||||
'23'=>"BIENS INALIENABLES",
|
||||
'24'=>"HYPOTHEQUES FLUVIALES",
|
||||
'25'=>"NANTISSEMENTS DU FONDS ARTISANAL",
|
||||
'27'=>"GAGE SANS DEPOSSESSION",
|
||||
'28'=>"GAGE DES STOCKS",
|
||||
);
|
||||
|
||||
public function __construct($db = null)
|
||||
{
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
public function getPrivilegesDetail($siren, $tabTypes=array('03','04'))
|
||||
{
|
||||
$strTypes=implode("','", $tabTypes);
|
||||
if ($strTypes<>'') $strTypes=" AND i.insType IN ('$strTypes') ";
|
||||
$fields = "i.id, i.dateEven, i.greffe , i.numDebiteur, i.sirenage, i.typeEven, i.dateFraiche, i.codeRev , i.debRaisonSociale , i.debSigle , i.debCiv , i.debNom , i.debPrenom , i.debConjoint , i.debUsage , i.debEnseigne , i.debActivite , i.debFj , i.debFjLib , i.debResidence , i.debNumVoie , i.debTypVoie , i.debLibVoie , i.debAdrComp , i.debCP , i.debVille , i.debPays , i.insType , i.insLib , i.insNum , i.insDate , i.insObjet , i.insMontant , i.insDev , i.insDateEch , i.insDateFin , i.insNanTx , i.insNanTitre , i.insNanOppo , i.insProNat , i.insProHui , i.insProRep , i.insNSCA , i.insNSCParts , i.insNSCSigni , i.creNom , i.creNumVoi, i.creTypVoi, i.creLibVoi, i.creAdrComp1, i.creAdrComp2, i.creCP, i.creVille, i.crePays, i.creAutres, i.radDate, i.radMention, i.radPartiel, i.radPartMt, i.radDev, i.radDiv, i.idFichier, i.dateInsert";
|
||||
$where = "i.siren=$siren $strTypes AND ( (i.insType='03' AND DATEDIFF(NOW(),i.insDate)<=900) /** Durée de vie PRIV Sécu **/ OR (i.insType='04' AND DATEDIFF(NOW(),i.insDate)<=1460) /** Durée de vie PRIV Trésor **/ )";
|
||||
$where.= " ORDER BY i.dateFraiche DESC, i.insType ASC, i.insDate ASC;";
|
||||
$tables = "jo.greffes_privileges i";
|
||||
|
||||
$iRncs = new Metier_Partenaires_MRncs($this->iDb);
|
||||
$tabRet = array();
|
||||
$tabPriv = $this->iDb->select($tables, $fields, $where, true, MYSQL_ASSOC);
|
||||
foreach ($tabPriv as $i=>$priv) {
|
||||
if ($i>0 && $priv['dateFraiche']<>$dateFraiche) break;
|
||||
$tabRet[] = array(
|
||||
'numDebiteur' => $priv['numDebiteur'],
|
||||
'greffe' => $priv['greffe'],
|
||||
'greffeLib' => $iRncs->getLibTribunal($priv['greffe']),
|
||||
'dateEven' => $priv['dateEven'],
|
||||
'dateFraiche' => $priv['dateFraiche'],
|
||||
'dateSD' => $priv['dateInsert'],
|
||||
'insType' => $priv['insType'],
|
||||
'insTypeLib' => $this->tabTypePriv[$priv['insType']],
|
||||
'insNum' => $priv['insNum'],
|
||||
'insDate' => $priv['insDate'],
|
||||
'insDateEch' => $priv['insDateEch'],
|
||||
'insObjet' => $priv['insObjet'],
|
||||
'insMontant' => $priv['insMontant'],
|
||||
'insDev' => $priv['insDev'],
|
||||
'insDateFin' => $priv['insDateFin'],
|
||||
'radDate' => $priv['radDate'],
|
||||
'radMention' => $priv['radMention'],
|
||||
'radPartiel' => $priv['radPartiel'],
|
||||
'radPartMt' => $priv['radPartMt'],
|
||||
'radDev' => $priv['radDev'],
|
||||
'creNom' => $priv['creNom'],
|
||||
'creAdresse1' => trim(preg_replace('/ +/', ' ', $priv['creNumVoi'].' '.$priv['creTypVoi'].' '.$priv['creLibVoi'])),
|
||||
'creAdresse2' => $priv['creAdrComp1'],
|
||||
'creAdresse3' => $priv['creAdrComp2'],
|
||||
'creCP' => $priv['creCP'],
|
||||
'creVille' => $priv['creVille'],
|
||||
'crePays' => $priv['crePays'],
|
||||
'creAutres' => $priv['creAutres'],
|
||||
);
|
||||
$dateFraiche=$priv['dateFraiche'];
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
public function getPrivilegesCumul($siren, $tabTypes=array('03','04'))
|
||||
{
|
||||
$iRncs = new Metier_Partenaires_MRncs($this->iDb);
|
||||
$tabRet = array();
|
||||
$tabTmp = $this->getPrivilegesDetail($siren, $tabTypes);
|
||||
foreach($tabTmp as $i=>$priv) {
|
||||
@$tabRet[$priv['insType']]['nb']++;
|
||||
$tabRet[$priv['insType']]['insTypeLib'] = $priv['insTypeLib'];
|
||||
$tabRet[$priv['insType']]['dateFraiche'] = $priv['dateFraiche'];
|
||||
$tabRet[$priv['insType']]['dateDerInsc'] = $priv['insDate'];
|
||||
$tabRet[$priv['insType']]['nomDerCre'] = $priv['creNom'];
|
||||
$tabRet[$priv['insType']]['numDebiteur'] = $priv['numDebiteur'];
|
||||
$tabRet[$priv['insType']]['greffeLib'] = $iRncs->getLibTribunal($priv['greffe']);
|
||||
$tabRet[$priv['insType']]['dateMajSD'] = $priv['dateSD'];
|
||||
@$tabRet[$priv['insType']]['insCumul'] += $priv['insMontant'];
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
}
|
343
library/Metier/Partenaires/MQualibat.php
Normal file
343
library/Metier/Partenaires/MQualibat.php
Normal file
@ -0,0 +1,343 @@
|
||||
<?php
|
||||
|
||||
class Metier_Partenaires_MQualibat {
|
||||
|
||||
private $referer ='';
|
||||
private $body = '';
|
||||
private $header = '';
|
||||
private $cookie = '';
|
||||
private $codeRetour = 0;
|
||||
private $accesDist=true;
|
||||
private $iDb;
|
||||
private $iBodacc;
|
||||
private $iInsee;
|
||||
|
||||
public $enCache=false;
|
||||
public $force=false;
|
||||
public $annee=0;
|
||||
|
||||
function __construct($accesDist=true) {// $adresse, $cp, $ville, $pays='France') {
|
||||
$this->accesDist=$accesDist;
|
||||
$this->iDb=new WDB();
|
||||
$this->iBodacc=new Metier_Bodacc_MBodacc();
|
||||
$this->$iInsee=new Metier_Insee_MInsee();
|
||||
}
|
||||
|
||||
private function getCodeFctDirigeant($strLibDirigeant, $siren=0) {
|
||||
$tabTmp=$this->iBodacc->getDirigeants($strLibDirigeant);
|
||||
if (isset($tabTmp[0]['fonction']) && $tabTmp[0]['fonction']>0)
|
||||
return $tabTmp[0]['fonction'];
|
||||
else {
|
||||
if (preg_match("/directeur.{1,6}agence/iu")) return 8;
|
||||
elseif (preg_match("/directeur.{1,6}ETABLISSEMENT/iu")) return 8;
|
||||
elseif (preg_match("/directeur.{1,6}technique/iu")) return 19;
|
||||
elseif (preg_match("/chef.{1,8}agence/iu")) return 38;
|
||||
elseif (preg_match("/cadre.{1,8}Comptable/iu")) return 55;
|
||||
elseif (preg_match("/Charg.{1,6}affair/iu")) return 60;
|
||||
elseif (preg_match("/chef.{1,8}Atelier/iu")) return 60;
|
||||
elseif (preg_match("/(conducteur|chef).{1,9}travaux/iu")) return 61;
|
||||
elseif (preg_match("/directeur.{1,6}technique/iu")) return 19;
|
||||
elseif (preg_match("/resp.{1,16}technique/iu")) return 49;
|
||||
elseif (preg_match("/resp.{1,16}Expl/iu")) return 37;
|
||||
elseif (preg_match("/di.{1,16}Expl/iu")) return 7;
|
||||
elseif (preg_match("/Chef.{1,6}Ent/iu")) {
|
||||
$tabTmp=$this->iInsee->getIdentiteLight($siren);
|
||||
if ($tabTmp['FJ']>=1000 && $tabTmp['FJ']<2000) return 1050;
|
||||
else die($tabTmp);
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
|
||||
/*
|
||||
"1","- DIRECTEUR GENERAL"
|
||||
"1","- P.d.g."
|
||||
"1","- PRESIDENT CONSEIL D''ADMINISTRATION"
|
||||
"2","-co-gerant"
|
||||
"1","Administrateur"
|
||||
"2","Artisan"
|
||||
"1","AssociÉ"
|
||||
"1","Associes"
|
||||
"24","Co Gerant"
|
||||
"1","Co Gerante"
|
||||
"1","CO GERANTS"
|
||||
"109","Co-gérant"
|
||||
"12","Co-gérante"
|
||||
"1","Dg Delegue"
|
||||
"1","Dir. General Delegue"
|
||||
"32","Directeur"
|
||||
"1","Directeur Adjoint"
|
||||
"1","Directeur Administratif et Financier"
|
||||
"1","Directeur Gal DÉlÉguÉ"
|
||||
"61","Directeur Général"
|
||||
"11","DIRECTEUR GENERAL DELEGUE"
|
||||
"1","Directeur Général Unique"
|
||||
"1","Directrice"
|
||||
"2","DIRIG."
|
||||
"4","Dirigeant"
|
||||
"38","Gér"
|
||||
"857","Gerant"
|
||||
"3","Gerant -"
|
||||
"13","Gérant Associé"
|
||||
"1","Gérant Associé En Non Collectif"
|
||||
"1","GERANT MAJORITAIRE"
|
||||
"2","Gérant Non Associé"
|
||||
"56","Gérante"
|
||||
"4","P D G"
|
||||
"1","P.d.g"
|
||||
"1","PCA"
|
||||
"168","PRESIDENT"
|
||||
"1","President Conseil De Surveillance"
|
||||
"1","PRESIDENT CONSEIL SURVEILLANCE"
|
||||
"63","Président Directeur Général"
|
||||
"1","PRESIDENT DIRECTOIRE"
|
||||
"16","Président du conseil d'administration"
|
||||
"1","Président Du Conseil De Surveillance"
|
||||
"5","President Du Directoire"
|
||||
"10","Presidente"
|
||||
"1","ReprÉsentant SociÉtÉ PrÉsidente"
|
||||
"1","Vice-président"
|
||||
|
||||
Gérer en fonction du code CJ
|
||||
"128","Chef D'entreprise"
|
||||
"2","Chef Ent."
|
||||
"3","Chef Entr."
|
||||
|
||||
"1","Conjoint Collaborateur"=>0500
|
||||
|
||||
|
||||
|
||||
"1","Metreur"
|
||||
"1","Président De Commission"
|
||||
*/
|
||||
}
|
||||
|
||||
public function getMaxQualibat() {
|
||||
$ret=$this->iDb->select('sdv1.qualibat','MAX(id) AS id', '1', false, MYSQL_ASSOC);
|
||||
return $ret[0]['id'];
|
||||
}
|
||||
|
||||
public function getTabQualibatManquants() {
|
||||
$tabRet=$tabQualibatCalc=$tabQualibatBase=array();
|
||||
// Liste des Qualibat Calculés
|
||||
$maxQualibat=$this->getMaxQualibat();
|
||||
for($i=1; $i<=$maxQualibat; $i++)
|
||||
$tabQualibatCalc[]=$i;
|
||||
|
||||
// Liste des Qualibat en base
|
||||
$ret=$this->iDb->select('sdv1.qualibat','id', '1 ORDER BY id ASC', false, MYSQL_ASSOC);
|
||||
foreach ($ret as $i=>$res)
|
||||
$tabQualibatBase[]=$res['id'];
|
||||
|
||||
return array_diff($tabQualibatCalc, $tabQualibatBase);
|
||||
}
|
||||
|
||||
public function getInfosQualibat($siren, $idQualibat=0) {
|
||||
if ($siren*1>1000)
|
||||
$strWhere="siren=$siren";
|
||||
elseif ($idQualibat*1>0) {
|
||||
$strWhere="id=$idQualibat";
|
||||
} else return false;
|
||||
|
||||
$ret=$this->iDb->select('sdv1.qualibat','siren, actif, id, nom, adresse, cp, ville, tel, fax, email, web,
|
||||
eff, teff, ca, tca, libFJ, nace, dateFondation, dateDeb, dateFin, dateInsert', $strWhere, false, MYSQL_ASSOC);
|
||||
if (!$this->force && count($ret)>0) {
|
||||
$this->enCache=true;
|
||||
$tabRet=$ret[0];//array();
|
||||
|
||||
// Ajout des qualifications
|
||||
$ret=$this->iDb->select('sdv1.qualibatqualif','code, periodQualif, niveauQualif, mentions, nomQualif, dateAttrib, dateEch', $strWhere, false, MYSQL_ASSOC);
|
||||
foreach ($ret as $i=>$tabTmp)
|
||||
$tabRet['qualifications'][]=$tabTmp;
|
||||
|
||||
// Ajout des dirigeants
|
||||
$ret=$this->iDb->select('sdv1.qualibatdir','civNomPrenom, civilite, nom, prenom, fonction', $strWhere, false, MYSQL_ASSOC);
|
||||
foreach ($ret as $i=>$tabTmp)
|
||||
$tabRet['dirigeants'][]=$tabTmp;
|
||||
} elseif ($this->accesDist==true) {
|
||||
$this->enCache=false;
|
||||
|
||||
// Initialisation Cookies
|
||||
$this->referer='http://www.qualibat.com/Views/EntreprisesRechercheDetail.aspx?id='.$idQualibat;
|
||||
$page=getUrl($this->referer, '', '', '', false, '', '', 3);
|
||||
if ($page['code']<>200) {
|
||||
if ($page['code']==500) {
|
||||
$tabInsert=array( 'actif'=>0,
|
||||
'id'=>$idQualibat,
|
||||
'idQualibatAttribue'=>0,
|
||||
'dateInsert'=>date('YmdHis'));
|
||||
$this->erreur='Numéro Qualibat inexistant';
|
||||
// On enregistre ce numéro comme non attribué si < au dernier numéro attribué
|
||||
if ($idQualibat<$this->getMaxQualibat())
|
||||
$this->iDb->insert('sdv1.qualibat', $tabInsert);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
$body=$page['body'];
|
||||
//die($body);
|
||||
$tabRet['id']=$idQualibat;
|
||||
|
||||
if (preg_match('/<th>(?:.*)Raison sociale(?:.*)<\/th>(?:.*)<td>(.*)<\/td>/Uis',$body, $matches))
|
||||
$tabRet['nom']=utf8_decode(trim(strip_tags($matches[1])));
|
||||
|
||||
if (preg_match('/<th>(?:.*)Adresse(?:.*)<\/th>(?:.*)<td>(.*)<br \/>(.*)<\/td>/Uis',$body, $matches)) {
|
||||
$tabRet['adresse']=strtoupper(utf8_decode(trim($matches[1])));
|
||||
$adresse2=trim(preg_replace('/ +/',' ',strtr(strip_tags($matches[2]),"\r\n\t".chr(160),' ')));
|
||||
$tabRet['cp']=substr($adresse2,0,5);
|
||||
$tabRet['ville']=utf8_decode(trim(substr($adresse2,5)));
|
||||
}
|
||||
|
||||
if (preg_match('/<th>(?:.*)Téléphone(?:.*)<\/th>(?:.*)<td>(.*)<\/td>/Uisu',$body, $matches))
|
||||
$tabRet['tel']=trim(str_replace(' ','',$matches[1]));
|
||||
|
||||
if (preg_match('/<th>(?:.*)Fax(?:.*)<\/th>(?:.*)<td>(.*)<\/td>/Uis',$body, $matches))
|
||||
$tabRet['fax']=trim(str_replace(' ','',$matches[1]));
|
||||
|
||||
if (preg_match('/<th>E-mail<\/th><td>(?:.*)<a href= "mailto\:(.*)">/Uis',$body, $matches))
|
||||
$tabRet['email']=utf8_decode(trim($matches[1]));
|
||||
|
||||
if (preg_match('/<th>(?:.*)SIREN(?:.*)<\/th>(?:.*)<td>(.*)<\/td>/Uis',$body, $matches))
|
||||
$tabRet['siren']=$siren=trim(str_replace(' ','',$matches[1]));
|
||||
|
||||
if (preg_match('/<th>(?:.*)Effectif total(?:.*)<\/th>(?:.*)<td>(.*)\(Classification - (.*)\)(?:.*)<\/td>/Uis',$body, $matches)) {
|
||||
$tabRet['eff']=trim(str_replace(' ','',$matches[1]));
|
||||
$tabRet['teff']=trim($matches[2]);
|
||||
}
|
||||
|
||||
if (preg_match('/<th>(?:.*)CA total(?:.*)<\/th>(?:.*)<td >(.*)\(Classification - (.*)\)(?:.*)<\/td>/Uis',$body, $matches)) {
|
||||
$tabRet['ca']=trim(str_replace(' ','',$matches[1]));
|
||||
if ($tabRet['ca']=='') $tabRet['ca']=NULL;
|
||||
$tabRet['tca']=trim($matches[2]);
|
||||
if ($tabRet['tca']=='') $tabRet['tca']=NULL;
|
||||
}
|
||||
|
||||
if (preg_match('/<th>(?:.*)Forme Juridique(?:.*)<\/th>(?:.*)<td>(.*)<\/td>/Uis',$body, $matches))
|
||||
$tabRet['libFJ']=utf8_decode(trim($matches[1]));
|
||||
|
||||
if (preg_match('/<th>(?:.*)NACE(?:.*)<\/th>(?:.*)<td>(.*)<\/td>/Uis',$body, $matches))
|
||||
$tabRet['nace']=trim($matches[1]);
|
||||
|
||||
if (preg_match('/<th>(?:.*)Fondation(?:.*)<\/th>(?:.*)<td>(.*)<\/td>/Uis',$body, $matches))
|
||||
$tabRet['dateFondation']=Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim($matches[1]));
|
||||
|
||||
if (preg_match('/<tr><td align="center"><img src="(?:.*)internet_contact\.gif(?:.*)<\/td><td> <a href= "(.*)" target="_blank">/Uis',$body, $matches))
|
||||
$tabRet['web']=utf8_decode(trim($matches[1]));
|
||||
|
||||
/** Qualifications ? **/
|
||||
$qualifs='';
|
||||
if (preg_match('/<table class="recherche_entreprise_detail">(?:.*)<th colspan="4">(?:.*)(Qualifications professionnelles|Certifications m..tier)(?:.*)<tbody>(.*)<\/table>/Uisu',$body, $matches)) {
|
||||
$typeQualifs=trim(utf8_decode($matches[1]));
|
||||
$qualifs=trim($matches[2]);
|
||||
}
|
||||
|
||||
if (preg_match('/<th>(?:.*)Fondation(?:.*)<\/th>(?:.*)<td>(.*)<\/td>(.*)<div class="buttons">/Uis',$body, $matches)) {
|
||||
$tabRet['tmpDirQualif']=trim($matches[2]);
|
||||
$tabRet['tmpLenDirQualif']=strlen(trim($matches[2]));
|
||||
}
|
||||
|
||||
$tabDateAttrib=$tabDateFin=array();
|
||||
if (preg_match_all('/<tr>(?:.*)<td>(.*)<\/td>(?:.*)<td>(.*)<\/td>(?:.*)<td>(.*)<\/td>(?:.*)<td>(.*)<\/td>(?:.*)<\/tr>/Uis',$qualifs, $matches)) {
|
||||
foreach ($matches[1] as $i=>$code) {
|
||||
$tabTmp=explode(' ',trim($code));
|
||||
$nomQualif=utf8_decode(trim($matches[2][$i]));
|
||||
if (preg_match("/\(Tech?nicit. (.*)\)/Uiu", $nomQualif, $matches2))
|
||||
$niveau=trim($matches2[1]);
|
||||
else $niveau='';
|
||||
$tabMentions=array();
|
||||
if (preg_match_all('/Mention (.*)(?:,|$)/Uis',$nomQualif, $matches2)) {
|
||||
foreach ($matches2[1] as $i2=>$mention)
|
||||
$tabMentions[]=$mention;
|
||||
}
|
||||
$tabRet['qualifications'][$i]=array(
|
||||
'code'=>trim($tabTmp[0]),
|
||||
'periodQualif'=>trim($tabTmp[1]),
|
||||
'nomQualif'=>$nomQualif,
|
||||
'niveauQualif'=>$niveau,
|
||||
'typeQualif'=>$typeQualifs,
|
||||
'mentions'=>implode(', ', $tabMentions),
|
||||
'dateAttrib'=>Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim($matches[3][$i])),
|
||||
'dateEch'=>Metier_Util_Date::dateT('d/m/Y', 'Y-m-d', trim($matches[4][$i])));
|
||||
$tabDateAttrib[]=Metier_Util_Date::dateT('d/m/Y', 'Ymd', trim($matches[3][$i]))*1;
|
||||
$tabDateFin[]=Metier_Util_Date::dateT('d/m/Y', 'Ymd', trim($matches[4][$i]))*1;
|
||||
}
|
||||
}
|
||||
sort($tabDateAttrib);
|
||||
rsort($tabDateFin);
|
||||
|
||||
/** Dirigeants ? **/
|
||||
$dirs='';
|
||||
if (preg_match('/<table class="recherche_entreprise_detail">(?:.*)<th colspan="2">(?:.*)Dirigeants(?:.*)<tbody>(.*)<\/table>/Uis',$body, $matches))
|
||||
$dirs=trim($matches[1]);
|
||||
/* <tr>
|
||||
<td>
|
||||
Monsieur EPP Olivier
|
||||
</td>
|
||||
<td>
|
||||
Gérant
|
||||
</td>
|
||||
</tr>*/
|
||||
if (preg_match_all('/<tr>(?:.*)<td>(.*)<\/td>(?:.*)<td>(.*)<\/td>(?:.*)<\/tr>/Uis',$dirs, $matches)) {
|
||||
foreach ($matches[1] as $i=>$nom) {
|
||||
$strNom=utf8_decode(trim($nom));
|
||||
switch(strtoupper(substr($strNom,0,6))) {
|
||||
case 'MONSIE': $civ='M'; $pDeb=8; break;
|
||||
case 'MADAME': $civ='MME'; $pDeb=6; break;
|
||||
case 'MADEMO': $civ='MLLE';$pDeb=12; break;
|
||||
default: $civ=''; $pDeb=0; break;
|
||||
}
|
||||
$libFonction=ucwords(strtolower(utf8_decode(trim($matches[2][$i]))));
|
||||
$tabRet['dirigeants'][$i]=array(
|
||||
'civNomPrenom'=>$strNom,
|
||||
'civilite'=>$civ,
|
||||
'nom'=>strtoupper(trim(substr($strNom,$pDeb,65))),
|
||||
'prenom'=>ucwords(strtolower(trim(substr($strNom,$pDeb+66)))),
|
||||
'fonction'=>$libFonction,
|
||||
'fonctionCode'=>$this->getCodeFctDirigeant($libFonction, $siren),
|
||||
);
|
||||
}
|
||||
//print_r($tabRet['dirigeants']);
|
||||
//die();
|
||||
}
|
||||
|
||||
/** Insertion de l'entreprise
|
||||
**/
|
||||
$tabInsert=array_merge($tabRet,
|
||||
array( 'idQualibatAttribue'=>1,
|
||||
'dateInsert'=>date('YmdHis'),
|
||||
'dateDeb'=>@$tabDateAttrib[0],
|
||||
'dateFin'=>@$tabDateFin[0]));
|
||||
unset($tabInsert['qualifications']);
|
||||
if (!$this->iDb->insert('sdv1.qualibat', $tabInsert)) {
|
||||
$this->iDb->update('sdv1.qualibat', $tabInsert, "id=$idQualibat");
|
||||
}
|
||||
|
||||
|
||||
/** Insertion des qualifications
|
||||
**/
|
||||
if (isset($tabRet['qualifications']) && count($tabRet['qualifications'])>0)
|
||||
foreach ($tabRet['qualifications'] as $i=>$tabInsert) {
|
||||
$tabInsert['id']=$idQualibat;
|
||||
$tabInsert['siren']=$siren;
|
||||
$tabInsert['dateInsert']=date('YmdHis');
|
||||
if (!$this->iDb->insert('sdv1.qualibatqualif', $tabInsert)) {
|
||||
$this->iDb->update('sdv1.qualibatqualif', $tabInsert, "id=$idQualibat AND code='".$tabInsert['code']."' AND periodQualif='".$tabInsert['periodQualif']."'");
|
||||
}
|
||||
}
|
||||
|
||||
/** Insertion des dirigeants
|
||||
**/
|
||||
if (isset($tabRet['dirigeants']) && count($tabRet['dirigeants'])>0)
|
||||
foreach ($tabRet['dirigeants'] as $i=>$tabInsert) {
|
||||
$tabInsert['id']=$idQualibat;
|
||||
$tabInsert['siren']=$siren;
|
||||
$tabInsert['dateInsert']=date('YmdHis');
|
||||
if (!$this->iDb->insert('sdv1.qualibatdir', $tabInsert)) {
|
||||
$this->iDb->update('sdv1.qualibatdir', $tabInsert, "id=$idQualibat AND civNomPrenom='".addslashes($tabInsert['civNomPrenom'])."' AND fonction='".addslashes($tabInsert['fonction'])."'");
|
||||
}
|
||||
unset($tabRet['dirigeants'][$i]['civNomPrenom']);
|
||||
}
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
959
library/Metier/Partenaires/MRncs.php
Normal file
959
library/Metier/Partenaires/MRncs.php
Normal file
@ -0,0 +1,959 @@
|
||||
<?php
|
||||
|
||||
class Metier_Partenaires_MRncs
|
||||
{
|
||||
public $tabFctDir=array(
|
||||
100 =>array('codeSd'=>'1300', 'lib'=>'Président'),
|
||||
110 =>array('codeSd'=>'1306', 'lib'=>'Président du conseil d\'administration'),
|
||||
120 =>array('codeSd'=>'1301', 'lib'=>'Président directeur Général'),
|
||||
140 =>array('codeSd'=>'1650', 'lib'=>'Gouverneur'),
|
||||
150 =>array('codeSd'=>'1651', 'lib'=>'Sous-gouverneur'),
|
||||
200 =>array('codeSd'=>'0900', 'lib'=>'Gérant'),
|
||||
210 =>array('codeSd'=>'0912', 'lib'=>'Gérant non associé'),
|
||||
300 =>array('codeSd'=>'0400', 'lib'=>'Co-gérant'),
|
||||
400 =>array('codeSd'=>'0709', 'lib'=>'Directeur général'),
|
||||
410 =>array('codeSd'=>'0713', 'lib'=>'Directeur général non administrateur'),
|
||||
420 =>array('codeSd'=>'0708', 'lib'=>'Directeur général unique'),
|
||||
430 =>array('codeSd'=>'0704', 'lib'=>'Directeur général délégué'),
|
||||
500 =>array('codeSd'=>'1800', 'lib'=>'Vice-président'),
|
||||
600 =>array('codeSd'=>'0100', 'lib'=>'Administrateur'),
|
||||
610 =>array('codeSd'=>'0101', 'lib'=>'Administrateur délégué'),
|
||||
700 =>array('codeSd'=>'1308', 'lib'=>'Président du directoire'),
|
||||
900 =>array('codeSd'=>'1307', 'lib'=>'Président du conseil de surveillance'),
|
||||
1200=>array('codeSd'=>'0209', 'lib'=>'Associé-gérant'),
|
||||
1300=>array('codeSd'=>'0603', 'lib'=>'Contrôleur de gestion'),
|
||||
4000=>array('codeSd'=>'A', 'lib'=>'Administrateur judiciaire'),
|
||||
4100=>array('codeSd'=>'1900', 'lib'=>'Liquidateur'),
|
||||
4300=>array('codeSd'=>'0108', 'lib'=>'Administrateur provisoire'),
|
||||
4400=>array('codeSd'=>'1401', 'lib'=>'Représentant en France d\'une société étrangère'),
|
||||
7000=>array('codeSd'=>'U', 'lib'=>'Curateur'),
|
||||
7100=>array('codeSd'=>'C', 'lib'=>'Commissaire au plan'),
|
||||
7200=>array('codeSd'=>'S', 'lib'=>'Syndic'),
|
||||
7300=>array('codeSd'=>'D', 'lib'=>'Commissaire au concordat'),
|
||||
7500=>array('codeSd'=>'R', 'lib'=>'Représentant des créanciers'),
|
||||
7600=>array('codeSd'=>'M', 'lib'=>'Mandataire judiciaire'),
|
||||
7800=>array('codeSd'=>'M', 'lib'=>'Mandataire judiciaire'),
|
||||
9100=>array('codeSd'=>'T', 'lib'=>'Conciliateur'),
|
||||
);
|
||||
|
||||
public $tabDevises=array();
|
||||
public $tabPays=array();
|
||||
public $tabTribunaux=array();
|
||||
public $tabMandataires=array();
|
||||
public $tabJugements=array();
|
||||
private $iDb;
|
||||
|
||||
/** Partie Extranet IMR Infogreffe **/
|
||||
public $body='';
|
||||
public $referer='';
|
||||
public $codeRetour='';
|
||||
public $libErreur='';
|
||||
public $cookie='';
|
||||
public $infoIMR=array();
|
||||
public $maxDemJour=10;
|
||||
public $matching=NULL;
|
||||
|
||||
public function __construct($db = null)
|
||||
{
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
$this->tabDevises = $this->getTabDevisesInpi();
|
||||
$this->tabPays = $this->getTabPaysInpi();
|
||||
$this->tabTribunaux = $this->getTabTribunaux();
|
||||
$this->tabMandataires = $this->getTabMandataires();
|
||||
$this->tabJugements = $this->getTabJugements();
|
||||
}
|
||||
|
||||
public function getLibFctDir($codeFonctionDirectionRncs)
|
||||
{
|
||||
$codeFonctionDirectionRncs=$codeFonctionDirectionRncs*1;
|
||||
return $this->tabFctDir[$codeFonctionDirectionRncs]['lib'];
|
||||
}
|
||||
|
||||
public function getCodFctBodaccFctDir($codeFonctionDirectionRncs)
|
||||
{
|
||||
$codeFonctionDirectionRncs=$codeFonctionDirectionRncs*1;
|
||||
return $this->tabFctDir[$codeFonctionDirectionRncs]['codeSd'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation du tableau privé des devises Inpi <=> ISO
|
||||
* @return array
|
||||
*/
|
||||
private function getTabDevisesInpi()
|
||||
{
|
||||
$cache = dirname(__FILE__) . '/../Table/DevisesInpi.php';
|
||||
if ( file_exists($cache) ) {
|
||||
return include $cache;
|
||||
} else {
|
||||
$rep=$this->iDb->select('jo.tabDevises', 'devInpi, devIso', 'devInpi>0', false, MYSQL_ASSOC);
|
||||
$tabDevises=array();
|
||||
foreach($rep as $k=>$dev)
|
||||
$tabDevises[$dev['devInpi']*1]=$dev['devIso'];
|
||||
|
||||
return $tabDevises;
|
||||
}
|
||||
}
|
||||
|
||||
/** Récupération du code ISO de la devise numérique de l'Inpi
|
||||
**
|
||||
** @param integer $devise
|
||||
** @return string Devise ISO
|
||||
**/
|
||||
public function getDeviseInpi($numDeviseInpi) {
|
||||
if ($numDeviseInpi*1>0 && isset($this->tabDevises[$numDeviseInpi*1]))
|
||||
return $this->tabDevises[$numDeviseInpi*1];
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getTabJugements()
|
||||
{
|
||||
$cache = dirname(__FILE__) . '/../Table/Jugements.php';
|
||||
if ( file_exists($cache) ) {
|
||||
return include $cache;
|
||||
} else {
|
||||
$rep=$this->iDb->select('jo.tabJugeRncs', 'codJugement, codEven', '1', false, MYSQL_ASSOC);
|
||||
$tabJug=array();
|
||||
foreach($rep as $k=>$dev)
|
||||
$tabJug[$dev['codJugement']*1]=$dev['codEven'];
|
||||
|
||||
return $tabJug;
|
||||
}
|
||||
}
|
||||
|
||||
public function getCodeEvenJugementInpi($codJugementInpi) {
|
||||
if ($codJugementInpi*1>0 && isset($this->tabJugements[$codJugementInpi*1]))
|
||||
return $this->tabJugements[$codJugementInpi*1];
|
||||
else
|
||||
return $codJugementInpi;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation du tableau privé des pays Inpi <=> ISO
|
||||
* @return array
|
||||
*/
|
||||
private function getTabPaysInpi()
|
||||
{
|
||||
$cache = dirname(__FILE__) . '/../Table/PaysInpi.php';
|
||||
if ( file_exists($cache) ) {
|
||||
return include $cache;
|
||||
} else {
|
||||
$rep=$this->iDb->select('jo.tabPays', 'codePaysInpi, codPays', 'codePaysInpi>0', false, MYSQL_ASSOC);
|
||||
$tabPays=array();
|
||||
foreach($rep as $k=>$dev)
|
||||
$tabPays[$dev['codePaysInpi']*1]=$dev['codPays'];
|
||||
|
||||
return $tabPays;
|
||||
}
|
||||
}
|
||||
|
||||
/** Tableau des mandataires suceptibles d'être tranmis par l'INPI
|
||||
**/
|
||||
private function getTabMandataires() {
|
||||
$tabTmp=$this->iDb->select('jo.tabMandataires', "UPPER(CONCAT(SUBSTRING(Nom,1,4),'-',SUBSTRING(Prenom,1,3))) AS NomPre, SUBSTRING(cp,1,2) AS dep, COUNT(*) AS Nb, sirenMand, id, sirenGrp, Nom, Prenom, type, coursAppel, tribunal, Statut, adresse, adresseComp, cp, ville, tel, fax, email, web, contact", "TYPE IN ('A', 'M') GROUP BY NomPre, dep, sirenMand ORDER BY NomPre ASC", true, MYSQL_ASSOC);
|
||||
$tabMandSD=array();
|
||||
foreach ($tabTmp as $mand) {
|
||||
$tabMandSD[]=array( 'id' => $mand['id'],
|
||||
'siren' => $mand['sirenMand'],
|
||||
'nom' => $mand['Nom'],
|
||||
'prenom'=> $mand['Prenom'],
|
||||
'type' => $mand['type'],
|
||||
'adr1' => $mand['adresse'],
|
||||
'adr2' => $mand['adresseComp'],
|
||||
'cp' => $mand['cp'],
|
||||
'ville' => $mand['ville'],
|
||||
'tel' => $mand['tel'],
|
||||
'fax' => $mand['fax'],
|
||||
'email' => $mand['email'],
|
||||
);
|
||||
}
|
||||
return $tabMandSD;
|
||||
}
|
||||
|
||||
/**
|
||||
* Donne l'id du mandataire en fonction de son libellé INPI
|
||||
* @param unknown $strNomPrenom
|
||||
* @param string $adresse
|
||||
* @param string $cp
|
||||
* @param string $ville
|
||||
* @param string $debug
|
||||
* @return boolean|Ambigous <multitype:>
|
||||
*/
|
||||
public function getIdMandataireInpi($strNomPrenom, $adresse='', $cp='', $ville='', $debug=false)
|
||||
{
|
||||
$id=false;
|
||||
$cp2=substr($cp,0,2);
|
||||
$this->matching=NULL;
|
||||
if (trim($strNomPrenom)=='') return false;
|
||||
|
||||
//echo "Recherche de '$strNomPrenom, $adresse, $cp $ville' dans les mandataires S&D :".PHP_EOL;
|
||||
|
||||
$tabTmp=$this->iDb->select( 'jo.tabMandataires',
|
||||
"id, Nom, Prenom, adresse, adresseComp, cp, ville, MATCH (Nom, Prenom, adresse, adresseComp, ville) AGAINST ('$strNomPrenom $adresse $ville' IN NATURAL LANGUAGE MODE) AS score",
|
||||
"TYPE IN ('A', 'M') AND (Nom<>'' OR Prenom <>'') AND MATCH (Nom, Prenom, adresse, adresseComp, ville) AGAINST ('$strNomPrenom $adresse $ville' IN NATURAL LANGUAGE MODE) ORDER BY score DESC LIMIT 0,10",false, MYSQL_ASSOC);
|
||||
$nbRet=count($tabTmp);
|
||||
if ($nbRet==0) {
|
||||
return false;
|
||||
} elseif($nbRet==1) {
|
||||
//print_r($tabTmp);
|
||||
$this->matching=$tabTmp[0]['score'];
|
||||
return $tabTmp[0]['id'];
|
||||
} else {
|
||||
foreach($tabTmp as $i=>$iRet) {
|
||||
// echo "Recherche de '$strNomPrenom, $adresse, $cp $ville' dans les mandataires S&D :".PHP_EOL;
|
||||
if ($debug) echo "je compare '$cp' avec '".$iRet['cp']."' et '$ville' avec '".$iRet["ville"]."' (score=".$iRet['score'].")".PHP_EOL;
|
||||
if ((($iRet['cp']==$cp || substr($iRet['cp'],0,2)==$cp2) && ($iRet["ville"]==$ville || preg_replace('/ 0/', ' ',$iRet["ville"])==$ville) || (strpos($iRet["ville"],$ville)>0 && $nbRet==1) || $iRet["score"]>17 ) ||
|
||||
($cp=='' && $ville=='' && $iRet["score"]>6.88 )) {
|
||||
//print_r($iRet);
|
||||
$this->matching=$iRet['score'];
|
||||
return $iRet['id'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $id;
|
||||
}
|
||||
|
||||
/** Récupération du code ISO du code pays numérique de l'Inpi
|
||||
**
|
||||
** @param integer $pays
|
||||
** @return string Devise ISO
|
||||
**/
|
||||
public function getPaysInpi($numPays) {
|
||||
if ($numPays*1>0)
|
||||
return $this->tabPays[$numPays*1];
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation du tableau privé des codes tribunaux Greffes/Inpi avec le libellé Bodacc
|
||||
* @return array
|
||||
*/
|
||||
private function getTabTribunaux()
|
||||
{
|
||||
$cache = dirname(__FILE__) . '/../Table/Tribunaux.php';
|
||||
if ( file_exists($cache) ) {
|
||||
return include $cache;
|
||||
} else {
|
||||
$rep=$this->iDb->select('jo.tribunaux', 'triNumGreffe, triNom, triId, triCode', 'triNumGreffe IS NOT NULL', false, MYSQL_ASSOC);
|
||||
$tabTribunaux=array();
|
||||
foreach($rep as $k=>$dev) {
|
||||
$tabTribunaux[$dev['triNumGreffe']*1]['Id']=$dev['triId'];
|
||||
$tabTribunaux[$dev['triNumGreffe']*1]['Nom']=$dev['triNom'];
|
||||
$tabTribunaux[$dev['triNumGreffe']*1]['Code']=$dev['triCode'];
|
||||
}
|
||||
return $tabTribunaux;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Libellé des FJ
|
||||
* @param unknown $code_forme_juridique
|
||||
* @return string
|
||||
*/
|
||||
private function getLibelleFJ($code_forme_juridique)
|
||||
{
|
||||
$fj=$code_forme_juridique*1;
|
||||
if ($fj>0 && $fj<10000) {
|
||||
$tmp=$this->iDb->select('jo.tabFJur', 'libelle AS LibFJ', "code=$fj");
|
||||
return @$tmp[0][0];
|
||||
} else
|
||||
return 'En instance de chiffrement';
|
||||
}
|
||||
|
||||
/**
|
||||
* Libellé des NAF
|
||||
* @param unknown $codeNaf
|
||||
* @return Ambigous <>
|
||||
*/
|
||||
private function getLibelleNaf($codeNaf)
|
||||
{
|
||||
$ret = $this->iDb->query("SELECT libNaf700 AS LibNaf FROM jo.tabNaf4 WHERE codNaf700='$codeNaf'
|
||||
UNION SELECT libNaf5 AS LibNaf FROM jo.tabNaf5 WHERE codNaf5='$codeNaf'");
|
||||
$res = $this->iDb->fetch(MYSQL_ASSOC);
|
||||
return $res['LibNaf'];
|
||||
}
|
||||
|
||||
/** Récupération du libellé du code numérique du tribunal Greffe ou Inpi
|
||||
**
|
||||
** @param integer $numTribunal
|
||||
** @return string Nom du tribunal
|
||||
**/
|
||||
public function getLibTribunal($numTribunal) {
|
||||
if ($numTribunal*1>0)
|
||||
return $this->tabTribunaux[$numTribunal*1]['Nom'];
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
/** Récupération du code Bodacc du code numérique du tribunal Greffe ou Inpi
|
||||
**
|
||||
** @param integer $numTribunal
|
||||
** @return string Code Bodacc du tribunal
|
||||
**/
|
||||
public function getCodeBodaccTribunal($numTribunal) {
|
||||
if ($numTribunal*1>0)
|
||||
return $this->tabTribunaux[$numTribunal*1]['Code'];
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
/** Récupération de l'identifiant S&D du code numérique du tribunal Greffe ou Inpi
|
||||
**
|
||||
** @param integer $numTribunal
|
||||
** @return string Numéro interne de tribunal S&D
|
||||
**/
|
||||
public function getIdTribunal($numTribunal) {
|
||||
if ($numTribunal*1>0)
|
||||
return $this->tabTribunaux[$numTribunal*1]['Id'];
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
/** Retourne les informations de l'établissements demandé ou du siège actif ou dernier siège inactif
|
||||
*
|
||||
* @param integer $siren Siren de l'entreprise
|
||||
* @param integer $nic Nic de l'établissement. Si absent, renvoi les informations du siège actif ou du dernier siège actif
|
||||
* @return array
|
||||
*/
|
||||
public function getIdentiteEtab($siren, $nic=0)
|
||||
{
|
||||
$siren=$siren*1;
|
||||
$nic=$nic*1;
|
||||
if ($nic>0) $strSql=" AND nic=$nic";
|
||||
else $strSql=" AND siege=1 ORDER BY actif DESC, nic DESC";
|
||||
|
||||
$rep=$this->iDb->select('jo.rncs_etab', 'siren, nic, siege, actif, enseigne, nomCommercial, adrNumVoie, adrIndRep, adrLibVoie, adrTypeVoie, adrVoie, cp, commune, adrComp, adresse1, adresse2, adresse3, naf, dateFermeture, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren $strSql", false, MYSQL_ASSOC);
|
||||
if ( count($rep)==0 ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$entrep = $rep[0];
|
||||
|
||||
if ($entrep['jourUpdate']<>'0000-00-00') $dateMaj=$entrep['jourUpdate'];
|
||||
else $dateMaj=$entrep['flux'];
|
||||
|
||||
if (trim($entrep['adresse1'])=='') $adresse1=trim(preg_replace('/ +/',' ', $entrep['adrNumVoie'].' '.strtoupper($entrep['adrIndRep']).' '. strtoupper($entrep['adrLibVoie'])));
|
||||
else $adresse1=trim(strtoupper($entrep['adresse1']));
|
||||
if (trim($entrep['adresse2'])=='') $adresse2=trim(strtoupper($entrep['adrComp']));
|
||||
else $adresse2=trim(strtoupper($entrep['adresse2']));
|
||||
if (trim($entrep['adresse3'])=='') $adresse3='';
|
||||
else $adresse3=trim(strtoupper($entrep['adresse3']));
|
||||
$tabIdentite=array(
|
||||
'siren' => $entrep['siren'],
|
||||
'nic' => $entrep['nic'],
|
||||
'siret' => $entrep['siren'].$entrep['nic'],
|
||||
'actif' => $entrep['actif'],
|
||||
'actifEt' => $entrep['actif'],
|
||||
'siege' => $entrep['siege'],
|
||||
'enseigne' => strtoupper($entrep['enseigne']),
|
||||
'nomCommercial' => strtoupper($entrep['nomCommercial']),
|
||||
'adrNumVoie' => $entrep['adrNumVoie'],
|
||||
'adrIndRep' => strtoupper($entrep['adrIndRep']),
|
||||
'adrLibVoie' => strtoupper($entrep['adrLibVoie']),
|
||||
'adrTypeVoie' => strtoupper($entrep['adrTypeVoie']),
|
||||
'adrVoie' => strtoupper($entrep['adrVoie']),
|
||||
'adrComp' => strtoupper($entrep['adrComp']),
|
||||
'cp' => strtoupper($entrep['cp']),
|
||||
'commune' => strtoupper($entrep['commune']),
|
||||
'adresse1' => $adresse1,
|
||||
'adresse2' => $adresse2,
|
||||
'adresse3' => $adresse3,
|
||||
'nafEtab' => $entrep['naf'],
|
||||
'nafEtabLib' => $this->getLibelleNaf($entrep['naf']),
|
||||
'dateFerEtab' => $entrep['dateFermeture'],
|
||||
'dateMajEtab' => $dateMaj,
|
||||
);
|
||||
return array_merge($tabIdentite, $this->getInfosEntrep($siren));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param unknown $siren
|
||||
* @return multitype:number unknown mixed string Ambigous Ambigous <>
|
||||
*/
|
||||
public function getInfosEntrep($siren)
|
||||
{
|
||||
$siren=$siren*1;
|
||||
$rep = $this->iDb->select('jo.rncs_entrep', 'siren, sirenValide, actif, numGreffe, triCode, triId, numRC, numRC2, raisonSociale, nom, prenom, nomUsage, sigle, dateNaiss, lieuNaiss, sexe, nationalite, pays, naf, cj, capitalMontant, capitalDevise, capitalDevIso, dateImma, dateRad, capitalType, capitalCent, provisoires, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren", false, MYSQL_ASSOC);
|
||||
|
||||
if (count($rep)>0) {
|
||||
$entrep=$rep[0];
|
||||
|
||||
if ($entrep['jourUpdate']<>'0000-00-00') $dateMaj=$entrep['jourUpdate'];
|
||||
else $dateMaj=$entrep['flux'];
|
||||
|
||||
$tabIdentite = array(
|
||||
'siren' => $entrep['siren'],
|
||||
'sirenValide' => $entrep['sirenValide'],
|
||||
'actif' => $entrep['actif'],
|
||||
'actifEn' => $entrep['actif'],
|
||||
'numGreffe' => $entrep['numGreffe'],
|
||||
'triCode' => $entrep['triCode'],
|
||||
'triId' => $entrep['triId'],
|
||||
'libGreffe' => preg_replace('/^(TC |TGI |TGIcc |TMX |Tribunal Inconnu)/Ui','', $this->getLibTribunal($entrep['numGreffe']*1)),
|
||||
'numRC' => $entrep['numRC2'],
|
||||
'raisonSociale' => strtoupper($entrep['raisonSociale']),
|
||||
'nom' => strtoupper($entrep['nom']),
|
||||
'prenom' => strtoupper($entrep['prenom']),
|
||||
'nomUsage' => strtoupper($entrep['nomUsage']),
|
||||
'sigle' => strtoupper($entrep['sigle']),
|
||||
'dateNaiss' => $entrep['dateNaiss'],
|
||||
'lieuNaiss' => strtoupper($entrep['lieuNaiss']),
|
||||
'sexe' => $entrep['sexe'],
|
||||
'pays' => $entrep['pays'],
|
||||
'cj' => $entrep['cj'],
|
||||
'cjLib' => $this->getLibelleFJ($entrep['cj']),
|
||||
'nafEnt' => $entrep['naf'],
|
||||
'nafEntLib' => $this->getLibelleNaf($entrep['naf']),
|
||||
'capital' => $entrep['capitalMontant']+($entrep['capitalCent']/100),
|
||||
'capitalDev' => $entrep['capitalDevIso'],
|
||||
'capitalType' => $entrep['capitalType'],
|
||||
'dateImma' => $entrep['dateImma'],
|
||||
'dateRad' => $entrep['dateRad'],
|
||||
'provisoires' => $entrep['provisoires'],
|
||||
'dateMajEnt' => $dateMaj,
|
||||
);
|
||||
|
||||
return $tabIdentite;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $siren
|
||||
* @param string $dateDepot AAAA-MM-JJ
|
||||
* @return array
|
||||
*/
|
||||
public function getListeDepots($siren, $dateDepot = null)
|
||||
{
|
||||
$where = "e.siren=$siren ORDER BY e.dateDepot DESC, e.codeInterne ASC";
|
||||
if (null != $dateDepot) {
|
||||
$where = "e.siren=$siren AND e.dateDepot='$dateDepot'";
|
||||
}
|
||||
|
||||
$rep=$this->iDb->select(
|
||||
'jo.rncs_even e LEFT JOIN jo.tabEvenRncs l ON e.codeEven=l.codeEven',
|
||||
'e.siren, e.codeInterne, e.dateDepot, e.codeEven, l.libEven, e.flux, DATE(e.dateInsert) AS dateInsert',
|
||||
$where, false, MYSQL_ASSOC);
|
||||
|
||||
$tabDepots=array();
|
||||
if (count($rep)>0) {
|
||||
foreach ($rep as $iDepot=>$depot) {
|
||||
$tabDepots[] = array(
|
||||
'codDepot' => $depot['codeEven'],
|
||||
'libDepot' => $depot['libEven'],
|
||||
'datDepot' => $depot['dateDepot'],
|
||||
'refDepot' => $depot['codeInterne'],
|
||||
'datRncs' => $depot['flux'],
|
||||
'datSed' => $depot['dateInsert'],
|
||||
);
|
||||
}
|
||||
}
|
||||
return $tabDepots;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param unknown $siren
|
||||
* @return multitype:multitype:NULL unknown Ambigous <multitype:>
|
||||
*/
|
||||
public function getListeJugements($siren)
|
||||
{
|
||||
$siren=$siren*1;
|
||||
$rep=$this->iDb->select(
|
||||
'jo.rncs_jugements j, jo.tabJugeRncs l, jo.tabEvenements e',
|
||||
'siren, j.dateEffet, j.codeJugement, j.flux, l.libJugement, e.codEven, e.libEven,
|
||||
adm1id, adm1codeFct, adm1type, adm1nom, adm1adrNum, adm1adrInd, adm1adrType, adm1adrLibVoie, adm1adrVoie, adm1adr1, adm1adr2, adm1adr3, adm1adrCP, adm1adrVille,
|
||||
adm2id, adm2codeFct, adm2type, adm2nom, adm2adrNum, adm2adrInd, adm2adrType, adm2adrLibVoie, adm2adrVoie, adm2adr1, adm2adr2, adm2adr3, adm2adrCP, adm2adrVille',
|
||||
"j.siren=$siren AND j.codeJugement=l.codJugement AND l.codEven=e.codEven ORDER BY j.dateEffet DESC", false, MYSQL_ASSOC);
|
||||
$tabDepots=array();
|
||||
foreach ($rep as $iDepot=>$depot) {
|
||||
$tabDepots[]=array(
|
||||
'codEven' => $depot['codEven'],
|
||||
'libEven' => $depot['libEven'],
|
||||
'dateEffet' => $depot['dateEffet'],
|
||||
'adm1id' => $depot['adm1id'],
|
||||
'adm1code' => $depot['adm1codeFct'],
|
||||
'adm1type' => $depot['adm1type'],
|
||||
'adm1fonction' => @$this->getLibFctDir($depot['adm1codeFct']),
|
||||
'adm1nom' => $depot['adm1nom'],
|
||||
'adm1adrNum' => $depot['adm1adrNum'],
|
||||
'adm1adrInd' => $depot['adm1adrInd'],
|
||||
'adm1adrType' => $depot['adm1adrType'],
|
||||
'adm1adrVoie' => $depot['adm1adrLibVoie'], // @todo : adm1adr1, , adm1adr3,
|
||||
'adm1adr2' => $depot['adm1adr2'],
|
||||
'adm1adrCP' => $depot['adm1adrCP'],
|
||||
'adm1adrVille' => $depot['adm1adrVille'],
|
||||
'adm2id' => $depot['adm2id'],
|
||||
'adm2code' => $depot['adm2codeFct'],
|
||||
'adm2type' => $depot['adm2type'],
|
||||
'adm2fonction' => @$this->getLibFctDir($depot['adm2codeFct']),
|
||||
'adm2nom' => $depot['adm2nom'],
|
||||
'adm2adrNum' => $depot['adm2adrNum'],
|
||||
'adm2adrInd' => $depot['adm2adrInd'],
|
||||
'adm2adrType' => $depot['adm2adrType'],
|
||||
'adm2adrVoie' => $depot['adm2adrLibVoie'], // @todo : adm1adr1, adm1adr2, adm1adr3,
|
||||
'adm2adr2' => $depot['adm2adr2'],
|
||||
'adm2adrCP' => $depot['adm2adrCP'],
|
||||
'adm2adrVille' => $depot['adm2adrVille'],
|
||||
);
|
||||
}
|
||||
return $tabDepots;
|
||||
}
|
||||
|
||||
public function getEvenements($siren, $nic=0, $type='', $dateDeb='', $dateFin='')
|
||||
{
|
||||
$tabEven=array(
|
||||
'p120'=>'Réactivation de l\'entreprise',
|
||||
'p410'=>'Cessation juridique de l\'entreprise',
|
||||
'pCAP'=>'Modification du capital social',
|
||||
'pCAT'=>'Modification du type de capital',
|
||||
'pCJ' =>'Modification de la forme juridique',
|
||||
'pIMM'=>'Modification de la date d\'immatriculation',
|
||||
'pRAD'=>'Modification de la date de radiation',
|
||||
'pNTR'=>'Modification du greffe d\'enregistrement',
|
||||
'pNRC'=>'Modification du numéro du RC',
|
||||
'pNOM'=>'Modification de la dénomination',
|
||||
);
|
||||
$tabRet=array();
|
||||
$siren=$siren*1;
|
||||
if ($nic>0) $strNic =" AND nic=$nic ";
|
||||
if ($type<>'') $strType=" AND champs='$type' ";
|
||||
if ($dateDeb<>'') $strDateDeb=" AND flux>='$dateDeb' ";
|
||||
if ($dateFin<>'') $strDateFin=" AND flux<='$dateFin' ";
|
||||
|
||||
$rep=$this->iDb->select(
|
||||
'jo.rncs_modifs',
|
||||
'siren, nic, `table`, champs, valeur, flux, dateInsert',
|
||||
"siren=$siren $strNic $strType $strDateDeb $strDateFin AND `table`='rncs_entrep' ORDER BY flux DESC", false, MYSQL_ASSOC);
|
||||
foreach ($rep as $iModif=>$modif) {
|
||||
$codEve=array();
|
||||
switch($modif['champs']) {
|
||||
case 'actif':
|
||||
if ($modif['valeur']*1==0) $codEve[]='410'; // Cessation
|
||||
elseif ($modif['valeur']*1==1) $codEve[]='120'; // Réactivation
|
||||
break;
|
||||
case 'raisonSociale': $codEve[]='NOM'; break;
|
||||
case 'capitalMontant': $codEve[]='CAP'; break;
|
||||
case 'capitalType': $codEve[]='CAT'; break;
|
||||
case 'cj': $codEve[]='CJ'; break;
|
||||
case 'dateImma': $codEve[]='IMM'; break;
|
||||
case 'dateRad': $codEve[]='RAD'; break;
|
||||
case 'numGreffe': $codEve[]='NTR'; break;
|
||||
case 'numRC2': $codEve[]='NRC'; break;
|
||||
}
|
||||
foreach ($codEve as $even) {
|
||||
$tabRet[]=array(
|
||||
'codeEven' => 'P'.$even,
|
||||
'nic' => 0,
|
||||
'siretAssocie'=>0,
|
||||
'typeSiretAss'=>0,
|
||||
'siege' => 1,
|
||||
'libEven' => $tabEven['p'.trim($even)],
|
||||
'libEvenDet'=> '',
|
||||
'dateMAJ' => $modif['dateInsert'],
|
||||
'dateEven' => $modif['flux'],
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getIntervenants($siren)
|
||||
{
|
||||
$tabJuge=$this->getListeJugements($siren);
|
||||
$tabDepots=$tabDeja=array();
|
||||
$tabAdm=array( 'A'=>'Administrateur judiciaire',
|
||||
'C'=>'Commissaire au plan',
|
||||
'D'=>'Commissaire au concordat',
|
||||
'H'=>'Huissier',
|
||||
'J'=>'Juge Commissaire',
|
||||
'K'=>'Juge Commissaire suppléant',
|
||||
'L'=>'Liquidateur',
|
||||
'M'=>'Mandataire judiciaire',
|
||||
'N'=>'Notaire',
|
||||
'O'=>'Opposition',
|
||||
'R'=>'Représentant des créanciers',
|
||||
'S'=>'Syndic',
|
||||
'T'=>'Conciliateur',
|
||||
'U'=>'Curateur',
|
||||
'V'=>'Avocat',
|
||||
);
|
||||
foreach ($tabJuge as $iDepot=>$depot) {
|
||||
if ($depot['adm1code']>0 && !in_array($depot['adm1code'], $tabDeja)) {
|
||||
$tabDepots[]=array( 'codEven' => $depot['codEven'],
|
||||
'libEven' => $depot['libEven'],
|
||||
'dateEffet' => $depot['dateEffet'],
|
||||
'admid' => $depot['adm1id'],
|
||||
'admcode' => $depot['adm1code'],
|
||||
'admtype' => $depot['adm1type'],
|
||||
'admfonction' => $depot['adm1fonction'],
|
||||
'admnom' => $depot['adm1nom'],
|
||||
'admadrNum' => $depot['adm1adrNum'],
|
||||
'admadrInd' => $depot['adm1adrInd'],
|
||||
'admadrType' => $depot['adm1adrType'],
|
||||
'admadrVoie' => $depot['adm1adrVoie'], // @todo : adm1adr1, adm1adr2, adm1adr3,
|
||||
'admadr2' => $depot['adm1adr2'],
|
||||
'admadrCP' => $depot['adm1adrCP'],
|
||||
'admadrVille' => $depot['adm1adrVille'],
|
||||
);
|
||||
$tabDeja[]=$depot['adm1code'];
|
||||
}
|
||||
if ($depot['adm2code']>0 && !in_array($depot['adm2code'], $tabDeja)) {
|
||||
$tabDepots[]=array( 'codEven' => $depot['codEven'],
|
||||
'libEven' => $depot['libEven'],
|
||||
'dateEffet' => $depot['dateEffet'],
|
||||
'admid' => $depot['adm2id'],
|
||||
'admcode' => $depot['adm2code'],
|
||||
'admtype' => $depot['adm2type'],
|
||||
'admfonction' => $depot['adm2fonction'],
|
||||
'admnom' => $depot['adm2nom'],
|
||||
'admadrNum' => $depot['adm2adrNum'],
|
||||
'admadrInd' => $depot['adm2adrInd'],
|
||||
'admadrType' => $depot['adm2adrType'],
|
||||
'admadrVoie' => $depot['adm2adrVoie'], // @todo : adm1adr1, adm1adr2, adm1adr3,
|
||||
'admadr2' => $depot['adm2adr2'],
|
||||
'admadrCP' => $depot['adm2adrCP'],
|
||||
'admadrVille' => $depot['adm2adrVille'],
|
||||
);
|
||||
$tabDeja[]=$depot['adm2code'];
|
||||
}
|
||||
}
|
||||
if (count($tabDepots)>0) {
|
||||
$strTypes="IN ('J','K','H','V','N')";
|
||||
$forceRecherche=false;
|
||||
$strDates="AND ABS(DATEDIFF(dateJugement, '".$depot['dateEffet']."'))<60 ";
|
||||
} else {
|
||||
$strTypes="<>''";
|
||||
$forceRecherche=true;
|
||||
$strDates='';
|
||||
}
|
||||
|
||||
$tabTmp=$this->iDb->select('jo.annonces', 'id, siren, typeEven, dateJugement, dateCessationPaiement, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, inter4type, inter4id, inter4nom,
|
||||
dateSource, dateInsert, source, tribunal, raisonSociale',"siren=$siren $strDates AND ( inter1type $strTypes OR inter2type $strTypes OR inter3type $strTypes OR inter4type $strTypes ) AND typeEven BETWEEN 1000 AND 2000 ORDER BY dateJugement DESC", false, MYSQL_ASSOC);
|
||||
if (isset($tabTmp[0])) {
|
||||
$depot=$tabTmp[0];
|
||||
$tabRet['dateCessationPaiement']=$depot['dateCessationPaiement'];
|
||||
for($i=1; $i<4; $i++) {
|
||||
if ( ($forceRecherche && !in_array($tabTmp['inter'.$i.'type'], $tabDeja)) ||
|
||||
( $tabTmp['inter'.$i.'type']=='J' || $tabTmp['inter'.$i.'type']=='K' ||
|
||||
$tabTmp['inter'.$i.'type']=='H' || $tabTmp['inter'.$i.'type']=='V' ||
|
||||
$tabTmp['inter'.$i.'type']=='N') ) {
|
||||
$tabDepots[]=array( 'codEven' => $depot['typeEven'],
|
||||
'libEven' => $depot['typeEven'],
|
||||
'dateEffet' => $depot['dateJugement'],
|
||||
'admid' => $depot['inter'.$i.'id'],
|
||||
'admcode' => $depot['inter'.$i.'id'],
|
||||
'admtype' => $depot['inter'.$i.'type'],
|
||||
'admfonction' => $tabAdm[$depot['inter'.$i.'type']],
|
||||
'admnom' => $depot['inter'.$i.'nom'],
|
||||
'admadrNum' => '',
|
||||
'admadrInd' => '',
|
||||
'admadrType' => '',
|
||||
'admadrVoie' => '',
|
||||
'admadr2' => '',
|
||||
'admadrCP' => '',
|
||||
'admadrVille' => '',
|
||||
);
|
||||
$tabDeja[]=$tabTmp['inter'.$i.'type'];
|
||||
}
|
||||
}
|
||||
}
|
||||
return $tabDepots;
|
||||
}
|
||||
|
||||
/** Mettre à jour un dossier IMR dans le prochain Flux
|
||||
* @param $siren Siren de l'entreprise à mettre à jour dans les IMR
|
||||
* @param $origineDemande Origine de la demande ('client', 'interne', 'privileges', 'ancienort')
|
||||
* @param $focerMAJ Forcer la mise à jour même si dossier déjà transmit
|
||||
*/
|
||||
public function majDossierIMR($siren, $origineDemande='', $focerMAJ=false) {
|
||||
|
||||
$this->infoIMR=array();
|
||||
if ($siren*1==0) {
|
||||
$this->libErreur='Siren invalide !';
|
||||
return false;
|
||||
}
|
||||
$query_timeout=5;
|
||||
$query_proxy='221.130.13.39';
|
||||
$query_proxy='61.35.191.250:8080';
|
||||
$query_proxy='198.7.242.41:3128';
|
||||
$query_proxy='';
|
||||
if (INFOGREFFE_DISPO_WEB) {
|
||||
/** Accueil **/
|
||||
$url='http://www.infogreffe.fr/ged-extranet/accueil.do';
|
||||
while (1) {
|
||||
//echo date('YmdHis')." - 1. Deb $url ".$this->codeRetour.PHP_EOL;
|
||||
$page=getUrl($url, '', '', $this->referer, false, 'www.infogreffe.fr', false, '', $query_proxy, $query_timeout);
|
||||
$this->codeRetour=$page['code'];
|
||||
//echo date('YmdHis')." - 1. FIN $url ".$this->codeRetour.PHP_EOL;
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
print_r($page);
|
||||
$this->libErreur='Erreur Infogreffe 200a !';
|
||||
return false;
|
||||
}
|
||||
$this->cookie=$page['header']['Set-Cookie'];
|
||||
$this->referer=$url;
|
||||
sleep(1);
|
||||
|
||||
/** Formulaire de login **/
|
||||
$url='http://www.infogreffe.fr/ged-extranet/connexion.do';
|
||||
while (1) {
|
||||
//echo date('YmdHis')." - 2. Deb $url ".$this->codeRetour.PHP_EOL;
|
||||
$page=getUrl($url, '', '', $this->referer, false, 'www.infogreffe.fr', false, '', $query_proxy, $query_timeout);
|
||||
//echo date('YmdHis')." - 2. FIN $url ".$this->codeRetour.PHP_EOL;
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
print_r($page);
|
||||
$this->libErreur='Erreur Infogreffe 200b !';
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
sleep(1);
|
||||
|
||||
/** Etape de logon **/
|
||||
$url='http://www.infogreffe.fr/ged-extranet/login.do';
|
||||
$postData=array('codeClient'=>'0034',
|
||||
'codeAbonne'=>'0002',
|
||||
'password'=>'369852',
|
||||
);
|
||||
while (1) {
|
||||
//echo date('YmdHis')." - 3. Deb $url ".$this->codeRetour.PHP_EOL;
|
||||
$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.infogreffe.fr', false, '', $query_proxy, $query_timeout);
|
||||
$this->codeRetour=$page['code'];
|
||||
//echo date('YmdHis')." - 3. FIN $url ".$this->codeRetour.PHP_EOL;
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
print_r($page);
|
||||
$this->libErreur='Erreur Infogreffe 200c !';
|
||||
return false;
|
||||
}
|
||||
if (!preg_match('/Bienvenue SCORES ET DECISIONS/', $this->body)) {
|
||||
$this->libErreur='Erreur Infogreffe Extranet : Connexion incorrecte !';
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
sleep(1);
|
||||
|
||||
/** Page de formulaire de demande de réémission de dossier IMR **/
|
||||
$url='http://www.infogreffe.fr/ged-extranet/demandeReemissions.do';
|
||||
while (1) {
|
||||
//echo date('YmdHis')." - 4. Deb $url ".$this->codeRetour.PHP_EOL;
|
||||
$page=getUrl($url, $this->cookie, '', $this->referer, false, 'www.infogreffe.fr', false, '', $query_proxy, $query_timeout);
|
||||
$this->codeRetour=$page['code'];
|
||||
//echo date('YmdHis')." - 4. FIN $url ".$this->codeRetour.PHP_EOL;
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
print_r($page);
|
||||
$this->libErreur='Erreur Infogreffe 200d !';
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
sleep(1);
|
||||
|
||||
/** Saisie du siren à contrôler dans le formulaire AJAX adéquat **/
|
||||
$url='http://www.infogreffe.fr/ged-extranet/rechercheReemissions.do';
|
||||
$postData=array('siren'=>$siren);
|
||||
//$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.infogreffe.fr', false, '', '', 5);
|
||||
while (1) {
|
||||
//echo date('YmdHis')." - 5. Deb $url ".$this->codeRetour.PHP_EOL;
|
||||
$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.infogreffe.fr', false, '', $query_proxy, $query_timeout);
|
||||
$this->codeRetour=$page['code'];
|
||||
//echo date('YmdHis')." - 5. FIN $url ".$this->codeRetour.PHP_EOL;
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
print_r($page);
|
||||
$this->libErreur='Erreur Infogreffe 200e !';
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
|
||||
// Le retour AJAX est il positif ?
|
||||
if (preg_match('/<div class="message-erreur">(.*)<\/div>/Uis', $this->body, $matches))
|
||||
$this->infoIMR['message-erreur']=trim(preg_replace('/ +/',' ',strip_tags($matches[1])));
|
||||
|
||||
if (preg_match('/<div class="titreEntreprise">(?:.*)<b>(.*)<\/b>(?:.*)<\/div>/Uis', $this->body, $matches))
|
||||
$this->infoIMR['titreEntreprise']=trim(preg_replace('/ +/',' ',strip_tags($matches[1])));
|
||||
|
||||
if (preg_match('/<div id="adresse">(.*)<\/div>/Uis', $this->body, $matches))
|
||||
$this->infoIMR['adresse']=trim(preg_replace('/ +/',' ',strip_tags($matches[1])));
|
||||
|
||||
if (preg_match('/<div class="struct-erreur">(?:.*)<b>(.*)<\/b>(?:.*)<\/div>/Uis', $this->body, $matches))
|
||||
$this->infoIMR['struct-erreur']=trim(preg_replace('/ +/',' ',strtr(strip_tags($matches[1]),"\r\n\t".chr(160),' ')));
|
||||
|
||||
if (preg_match('/Cliquez sur le bouton VALIDER pour confirmer votre demande de/', $this->body, $matches))
|
||||
$this->infoIMR['validation']=true;
|
||||
else {
|
||||
$this->infoIMR['validation']=false;
|
||||
if (preg_match('/Aucune entreprise trouv.e pour ce num.ro SIREN/u', $this->body)) {
|
||||
$tabInsert=$this->infoIMR;
|
||||
$tabInsert['siren']=$siren;
|
||||
$tabInsert['dateDemande']=date('Ymd');
|
||||
if ($origineDemande<>'')
|
||||
$tabInsert['origineDemande']=$origineDemande;
|
||||
$this->iDb->insert('jo.rncs_demandes', $tabInsert, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (preg_match('/atteint le nombre maximal de(.*)Veuillez renouveler votre demande demain/',
|
||||
$this->infoIMR['message-erreur']))
|
||||
return false;
|
||||
|
||||
if ($this->infoIMR['validation'] && $this->infoIMR['message-erreur']=='') {
|
||||
/** Doit on forcer la maj si l'entreprise a été transmise récemment ? **/
|
||||
if ($this->infoIMR['struct-erreur']<>'' && !$focerMAJ)
|
||||
return true;
|
||||
|
||||
sleep(1);
|
||||
/** Validation du siren à réémettre en IMR **/
|
||||
$url='http://www.infogreffe.fr/ged-extranet/validerDemandeReemission.do';
|
||||
$postData=array('numIdentification'=>$siren);
|
||||
//$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.infogreffe.fr', false, '', '', 5);
|
||||
while (1) {
|
||||
//echo date('YmdHis')." - 6. Deb $url ".$this->codeRetour.PHP_EOL;
|
||||
$page=getUrl($url, $this->cookie, $postData, $this->referer, false, 'www.infogreffe.fr', false, '', $query_proxy, $query_timeout);
|
||||
$this->codeRetour=$page['code'];
|
||||
//echo date('YmdHis')." - 6. FIN $url ".$this->codeRetour.PHP_EOL;
|
||||
if ($this->codeRetour<>'400') break;
|
||||
sleep(1);
|
||||
}
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
if ($this->codeRetour<>'200') {
|
||||
$this->libErreur='Erreur Infogreffe 200f !';
|
||||
return false;
|
||||
}
|
||||
$this->referer=$url;
|
||||
// Lecture du retour
|
||||
if (preg_match('/<div class="message-erreur">(.*)<\/div>/Uis', $this->body, $matches))
|
||||
$this->infoIMR['validation-erreur']=trim(preg_replace('/ +/',' ',strip_tags($matches[1])));
|
||||
if (preg_match('/<b class="texte-bleu">(.*)<\/b>/Uis', $this->body, $matches))
|
||||
$this->infoIMR['validation-ok']=trim(preg_replace('/ +/',' ',strip_tags($matches[1])));
|
||||
|
||||
$tabInsert=$this->infoIMR;
|
||||
$tabInsert['siren']=$siren;
|
||||
$tabInsert['dateDemande']=date('Ymd');
|
||||
if ($origineDemande<>'')
|
||||
$tabInsert['origineDemande']=$origineDemande;
|
||||
$this->iDb->insert('jo.rncs_demandes', $tabInsert, false);
|
||||
|
||||
// Une erreur ?
|
||||
if ($this->infoIMR['validation-erreur']<>'')
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
} else
|
||||
$this->libErreur='Infogreffe indisponible !';
|
||||
return false;
|
||||
}
|
||||
|
||||
function getDirigeantsPrin($siren, $nbDirs=2) {
|
||||
$siren=$siren*1;
|
||||
$tabRet=array();
|
||||
$dirs=$this->iDb->select(
|
||||
'jo.rncs_dirigeants',
|
||||
'siren, raisonSociale, dirRS, civilite, nom, prenom, naissance_nom, naissance_date, naissance_lieu, fonction_code, fonction_lib, cinf, dateFin, flux, dateInsert',
|
||||
"siren=$siren AND actif%10=1 ORDER BY fonction_code DESC", true, MYSQL_ASSOC);
|
||||
$numDir=0;
|
||||
foreach ($dirs as $k=>$dir) {
|
||||
$numDir++;
|
||||
if ($dir['naissance_date']<>'0000-00-00')
|
||||
$dateNaiss=Metier_Util_Date::dateT('Y-m-d','d/m/Y', $dir['naissance_date']);
|
||||
else
|
||||
$dateNaiss='';
|
||||
if ($dir['flux']<>'0000-00-00')
|
||||
$dateModif=Metier_Util_Date::dateT('Y-m-d','d/m/Y', $dir['flux']);
|
||||
else
|
||||
$dateModif=Metier_Util_Date::dateT('Y-m-d','d/m/Y', $dir['dateInsert']);
|
||||
$nom=trim($dir['nom']);
|
||||
$nomUsage='';
|
||||
if (trim($dir['naissance_nom'])<>'') {
|
||||
$nom=trim($dir['naissance_nom']);
|
||||
$nomUsage=trim($dir['nom']);
|
||||
}
|
||||
$tabRet[]=array( 'Fonction' =>$dir['fonction_code'],
|
||||
'Titre' =>$dir['fonction_lib'],
|
||||
'Societe' =>$dir['dirRS'],
|
||||
'Civilite' =>$dir['civilite'],
|
||||
'Nom' =>$nom,
|
||||
'Prenom' =>$dir['prenom'],
|
||||
'NomUsage' =>$nomUsage,
|
||||
'NaissDate' =>$dateNaiss,
|
||||
'NaissVille' =>$dir['naissance_lieu'],
|
||||
'NaissDepPays' =>'', // 25
|
||||
'Ancien' =>0,
|
||||
'DateFct' =>$dateModif,
|
||||
'Cinf' =>$dir['cinf'],
|
||||
);
|
||||
if ($numDir>=$nbDirs) break;
|
||||
}
|
||||
if ($numDir==0) {
|
||||
$dirs=$this->iDb->select(
|
||||
'jo.rncs_entrep',
|
||||
"siren, raisonSociale, '' AS dirRS, IF(sexe='M', 'M', IF(sexe='F', 'MME', '')) AS civilite, nom, prenom, nomUsage AS naissance_nom, dateNaiss AS naissance_date, lieuNaiss AS naissance_lieu, 1050 AS fonction_code, 'Personne Physique' AS fonction_lib, 0 AS cinf, dateFer AS dateFin, flux, dateInsert",
|
||||
"siren=$siren", true, MYSQL_ASSOC);
|
||||
$numDir=0;
|
||||
foreach ($dirs as $k=>$dir) {
|
||||
$numDir++;
|
||||
if ($dir['naissance_date']<>'0000-00-00')
|
||||
$dateNaiss=Metier_Util_Date::dateT('Y-m-d','d/m/Y', $dir['naissance_date']);
|
||||
else
|
||||
$dateNaiss='';
|
||||
if ($dir['flux']<>'0000-00-00')
|
||||
$dateModif=Metier_Util_Date::dateT('Y-m-d','d/m/Y', $dir['flux']);
|
||||
else
|
||||
$dateModif=Metier_Util_Date::dateT('Y-m-d','d/m/Y', $dir['dateInsert']);
|
||||
$nom=trim($dir['nom']);
|
||||
$nomUsage='';
|
||||
if (trim($dir['naissance_nom'])<>'') {
|
||||
$nom=trim($dir['naissance_nom']);
|
||||
$nomUsage=trim($dir['nom']);
|
||||
}
|
||||
$tabRet[]=array( 'Fonction' =>$dir['fonction_code'],
|
||||
'Titre' =>$dir['fonction_lib'],
|
||||
'Societe' =>$dir['dirRS'],
|
||||
'Civilite' =>$dir['civilite'],
|
||||
'Nom' =>$nom,
|
||||
'Prenom' =>$dir['prenom'],
|
||||
'NomUsage' =>$nomUsage,
|
||||
'NaissDate' =>$dateNaiss,
|
||||
'NaissVille' =>$dir['naissance_lieu'],
|
||||
'NaissDepPays' =>'', // 25
|
||||
'Ancien' =>0,
|
||||
'DateFct' =>$dateModif,
|
||||
'Cinf' =>$dir['cinf'],
|
||||
);
|
||||
}
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
}
|
||||
?>
|
715
library/Metier/Partenaires/MRnvp.php
Normal file
715
library/Metier/Partenaires/MRnvp.php
Normal file
@ -0,0 +1,715 @@
|
||||
<?php
|
||||
class Metier_Partenaires_MRnvp
|
||||
{
|
||||
protected $iDb;
|
||||
protected $iInsee;
|
||||
|
||||
public $tabDevises=array();
|
||||
public $nomTronque=0;
|
||||
|
||||
protected $tabAdrCQ=array(
|
||||
10=>'Adresse correcte',
|
||||
20=>'Adresse correcte (Voie non reconue dans un CEDEX ou BP)',
|
||||
21=>'Adresse correcte mais numéro de facade hors borne (petite ville)',
|
||||
22=>'Adresse correcte mais numéro de facade absent (petite ville)',
|
||||
23=>'Adresse correcte mais numéro de facade hors borne (grande ville)',
|
||||
24=>'Adresse correcte mais numéro de facade absent (grande ville)',
|
||||
30=>'Voie non reconnue (petite ville)',
|
||||
31=>'Voie non reconnue (petite ville, quartier reconnu)',
|
||||
40=>'Voie absente (petite ville, quartier reconnu)',
|
||||
41=>'Voie absente (petite ville)',
|
||||
50=>'Voie non reconnue (grande ville)',
|
||||
51=>'Voie non reconnue (grande ville, quartier reconnu)',
|
||||
60=>'Voie absente (grande ville, quartier reconnu)',
|
||||
61=>'Voie absente (grande ville)',
|
||||
70=>'Voie présente mais Cp/Ville non corrigeable',
|
||||
80=>'Voie absente et Cp/Ville non corrigeable',
|
||||
90=>'Adresse à l\'étranger',
|
||||
);
|
||||
|
||||
function __construct() {
|
||||
$this->iDb = new WDB();
|
||||
$this->iInsee = new Metier_Insee_MInsee($this->iDb);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation du tableau privé des devises Inpi <=> ISO
|
||||
* @return multitype:Ambigous <multitype:>
|
||||
*/
|
||||
protected function getTabDevisesInpi()
|
||||
{
|
||||
$rep=$this->iDb->select('jo.tabDevises', 'devInpi, devIso', 'devInpi>0', false, MYSQL_ASSOC);
|
||||
$tabDevises=array();
|
||||
foreach($rep as $k=>$dev)
|
||||
$tabDevises[$dev['devInpi']*1]=$dev['devIso'];
|
||||
|
||||
return $tabDevises;
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupération du code ISO de la devise numérique de l'Inpi
|
||||
* @param integer $numDeviseInpi
|
||||
* @return multitype:|string
|
||||
*/
|
||||
public function getDeviseInpi($numDeviseInpi)
|
||||
{
|
||||
if ($numDeviseInpi*1>0 && isset($this->tabDevises[$numDeviseInpi*1]))
|
||||
return $this->tabDevises[$numDeviseInpi*1];
|
||||
else
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @todo Corriger les adresses présentes dans CEDEXA (toutes les lignes)
|
||||
* @todo Ligne 3, acheter HEXALIGNE3
|
||||
* @param unknown $adrL1
|
||||
* @param unknown $adrL2
|
||||
* @param unknown $adrL3
|
||||
* @param unknown $adrL4
|
||||
* @param unknown $adrL5
|
||||
* @param unknown $adrL6
|
||||
* @param string $adrL7
|
||||
* @param number $norme
|
||||
* @param string $debug
|
||||
* @return multitype:string number |string|unknown
|
||||
*/
|
||||
public function normaliseAdresse($adrL1, $adrL2, $adrL3, $adrL4, $adrL5, $adrL6, $adrL7='', $norme=38, $debug=false)
|
||||
{
|
||||
$tDeb=microtime(1);
|
||||
$erreur=false;
|
||||
if ($norme<>32 && $norme<>38) {
|
||||
return array(
|
||||
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||
'errRNVPcode'=>'I8',
|
||||
'errRNVPlib'=>'La norme doit être 32 ou 38 caractères (38 par défaut)'
|
||||
);
|
||||
}
|
||||
|
||||
$adrL=$tabRetI=$tabRetV=$tabRetR=$tabRetE=array();
|
||||
$L1tr=$L2tr=$L3tr=0; // Par défaut, les lignes ne sont pas indiquées comme tronquées
|
||||
$adrL[1]=$adrL1=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL1)))));
|
||||
$adrL[2]=$adrL2=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL2)))));
|
||||
$adrL[3]=$adrL3=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL3)))));
|
||||
$adrL[4]=$adrL4=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL4)))));
|
||||
$adrL[5]=$adrL5=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL5)))));
|
||||
$adrL[6]=$adrL6=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL6)))));
|
||||
$adrL[7]=$adrL7=trim(preg_replace('/\s+/',' ',preg_replace('/[^a-z\d ]/i', ' ', strtoupper(trimAccent($adrL7)))));
|
||||
$dureeM=round(microtime(1)-$tDeb,3);
|
||||
if ($adrL7<>'' || $adrL7<>'FRANCE' || $adrL7<>'MONACO')
|
||||
|
||||
$L1=$adrL1;
|
||||
$L2=$adrL2;
|
||||
|
||||
// Ligne 3, acheter HEXALIGNE3
|
||||
$L3=$adrL3;
|
||||
|
||||
// Ligne 5 et 7 par défaut
|
||||
$L7=$adrL7;
|
||||
$L5=$adrL5;
|
||||
|
||||
// Ligne 6 : CP + Localité
|
||||
$idAdr56=false;
|
||||
$tabAdr56k=$tabAdr56L=array();
|
||||
$cp=substr(trim($adrL6),0,5);
|
||||
if ($cp*1>0) {
|
||||
$cp2=substr($cp,0,2);
|
||||
$ville=trim(strtr(substr($adrL6,5),array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
|
||||
} else {
|
||||
$cp=$cp2='';
|
||||
$ville=trim(strtr($adrL6,array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
|
||||
}
|
||||
|
||||
$ville=preg_replace('/ CEDEX\s?.*$/ui','',$ville);
|
||||
$tabRetI=array(
|
||||
'operateurRnvp'=>'SED',
|
||||
'in_cp'=>$cp,
|
||||
'in_dep'=>$cp2,
|
||||
'in_ville'=>$ville,
|
||||
'in_L1'=>$adrL1,
|
||||
'in_L2'=>$adrL2,
|
||||
'in_L3'=>$adrL3,
|
||||
'in_L4'=>$adrL4,
|
||||
'in_L5'=>$adrL5,
|
||||
'in_L6'=>$adrL6,
|
||||
'in_L7'=>$adrL7);
|
||||
//$dureeM=round(microtime(1)-$tDeb,3);
|
||||
|
||||
$tD=microtime(1);
|
||||
$ret=$this->iDb->select('villes.hexaviaVilles',
|
||||
"idAdr56, codeInseeCom, libCom$norme, codeInseeGlobal, indPluridis, libLigne5n$norme, indRoudis, codePostal, libLigne6n$norme, codeInseePre, codeMaj$norme, dateMaj$norme, MATCH (codePostal, libCom38) AGAINST ('$cp $ville' IN NATURAL LANGUAGE MODE) AS score",
|
||||
"(MATCH (codePostal, libCom38) AGAINST ('$cp $ville' IN NATURAL LANGUAGE MODE) OR MATCH (codePostal, libCom38) AGAINST ('$cp2 $ville' IN NATURAL LANGUAGE MODE)) ORDER BY score DESC /*OR codePostal='$cp' AND libCom$norme='$ville'*/",false, MYSQL_ASSOC);
|
||||
$nbRet=count($ret);
|
||||
if ($nbRet==0) {
|
||||
$tabRetE=array(
|
||||
'dureeV'=> round(microtime(1)-$tD,3),
|
||||
'errRNVPcode'=>'V0',
|
||||
'errRNVPlib'=> "Aucune correspondance CP VILLE (cp=$cp, ville=$ville)");
|
||||
$erreur=true;
|
||||
} else {
|
||||
foreach($ret as $i=>$iRet) {
|
||||
if ($debug) echo "je compare '$cp' avec '".$iRet['codePostal']."' et '$ville' avec '".$iRet["libCom$norme"]."' (".$iRet['idAdr56'].", score=".$iRet['score'].")".PHP_EOL;
|
||||
if (($iRet['codePostal']==$cp || substr($iRet['codePostal'],0,2)==$cp2) && ($iRet["libCom$norme"]==$ville || preg_replace('/ 0/', ' ',$iRet["libCom$norme"])==$ville) || (strpos($iRet["libCom$norme"],$ville)>0 && $nbRet==1)) {
|
||||
$idAdr56=$iRet['idAdr56'];
|
||||
$dateMajHexavia=$iRet["dateMaj$norme"];
|
||||
$codeMajHexaviaVille=$iRet["codeMaj$norme"];
|
||||
$hexaViaComCod=$iRet['codeInseeCom'];
|
||||
$hexaViaComLib=$iRet["libCom$norme"];
|
||||
$hexaViaCP=$iRet['codePostal'];
|
||||
$L5=$iRet["libLigne5n$norme"];
|
||||
$L6=$iRet['codePostal'].' '.$iRet["libLigne6n$norme"];
|
||||
$L7='';
|
||||
$tabAdr56k[]=$idAdr56;
|
||||
$tabAdr56L['_'.$idAdr56]=array('L5'=>$L5,'L6'=>$L6,'L7'=>$L7,);
|
||||
$tabRetV=array(
|
||||
'HexaviaDateRef'=> $dateMajHexavia,
|
||||
'HexaviaCMAJVille'=>$codeMajHexaviaVille,
|
||||
'HexaviaComCod'=> $hexaViaComCod,
|
||||
'HexaviaComLib'=> $hexaViaComLib,
|
||||
'HexaviaCP'=> $hexaViaCP,
|
||||
'codeInseeGlobal'=> $iRet['codeInseeGlobal'],
|
||||
'codeInseePre'=> $iRet['codeInseePre'],
|
||||
'indPluridis'=> $iRet['indPluridis'],
|
||||
'indRoudis'=> $iRet['indRoudis'],
|
||||
'libLigne5'=> $iRet["libLigne5n$norme"],
|
||||
'libLigne6'=> $iRet["libLigne6n$norme"],
|
||||
'dureeV'=> round(microtime(1)-$tD,3),
|
||||
);
|
||||
// if ($iRet['score']>17) break;
|
||||
}
|
||||
}
|
||||
if (!$idAdr56) {
|
||||
$iRet=$ret[0];
|
||||
if ($debug) echo "On prend le score le + élevé s'il est > à 15 : je compare '$cp' avec '".$iRet['codePostal']."' et '$ville' avec '".$iRet["libCom$norme"]."' (".$iRet['idAdr56'].")".PHP_EOL;
|
||||
//echo '['.trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$iRet["libCom$norme"])) .'-v/s-'.trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$ville)).']'.PHP_EOL;
|
||||
if (($iRet['codePostal']==$cp || substr($iRet['codePostal'],0,2)==$cp2) && ($iRet["libCom$norme"]==$ville || (substr(trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$iRet["libCom$norme"])),0,26)==trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$ville)) && $iRet['score']>15) || (strpos($iRet["libCom$norme"],$ville)>0 && $nbRet==1))) {
|
||||
$idAdr56=$iRet['idAdr56'];
|
||||
$dateMajHexavia=$iRet["dateMaj$norme"];
|
||||
$hexaViaComCod=$iRet['codeInseeCom'];
|
||||
$hexaViaComLib=$iRet["libCom$norme"];
|
||||
$hexaViaCP=$iRet['codePostal'];
|
||||
$L5=$iRet["libLigne5n$norme"];
|
||||
$L6=$iRet['codePostal'].' '.$iRet["libLigne6n$norme"];
|
||||
$L7='';
|
||||
$tabAdr56k[]=$idAdr56;
|
||||
$tabAdr56L['_'.$idAdr56]=array('L5'=>$L5,'L6'=>$L6,'L7'=>$L7,);
|
||||
$tabRetV=array(
|
||||
'HexaviaDateRef'=> $dateMajHexavia,
|
||||
'HexaviaCMAJVille'=>$codeMajHexaviaVille,
|
||||
'HexaviaComCod'=> $hexaViaComCod,
|
||||
'HexaviaComLib'=> $hexaViaComLib,
|
||||
'HexaviaCP'=> $hexaViaCP,
|
||||
'codeInseeGlobal'=> $iRet['codeInseeGlobal'],
|
||||
'codeInseePre'=> $iRet['codeInseePre'],
|
||||
'indPluridis'=> $iRet['indPluridis'],
|
||||
'indRoudis'=> $iRet['indRoudis'],
|
||||
'libLigne5'=> $iRet["libLigne5n$norme"],
|
||||
'libLigne6'=> $iRet["libLigne6n$norme"],
|
||||
'dureeV'=> round(microtime(1)-$tD,3),
|
||||
);
|
||||
} else {
|
||||
if ($debug) print_r($ret);
|
||||
$erreur = true;
|
||||
$tabRetE = array(
|
||||
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||
'errRNVPcode'=>'V2',
|
||||
'errRNVPlib'=>"Plusieurs correspondances CP VILLE pour $cp $ville"
|
||||
);
|
||||
//return 'Plusieurs correspondances CP VILLE'.PHP_EOL;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($erreur) return array_merge($tabRetI,$tabRetE);
|
||||
|
||||
// Ligne 4 : Découpage N° Répétition TypeVoie et LibelléVoie
|
||||
$tD=microtime(1);
|
||||
$matriculeHexavia=false;
|
||||
$tabAdr=$this->iInsee->structureVoie($adrL4);
|
||||
$numVoie=@$tabAdr['num'];
|
||||
$indRep=@$tabAdr['indRep'];
|
||||
$typeVoie=@$tabAdr['typeVoie'];
|
||||
$libVoie=@$tabAdr['libVoie'];
|
||||
$libVoie5=trim(substr($libVoie,0,5));
|
||||
$derMot='';
|
||||
if (preg_match('/([a-z\d]{1,20})$/i', $libVoie, $matches2))
|
||||
$derMot=trim($matches2[1]);
|
||||
$derMot5=trim(substr($derMot,0,5));
|
||||
|
||||
$strAdr56=implode("','", $tabAdr56k);
|
||||
$ret=$this->iDb->select(
|
||||
'villes.hexaviaVoies',
|
||||
"idAdr56, codeVoie, derElemVoie, libVoie$norme, typeVoie, descLibVoie, indStand$norme, indScind, indHomo, codePostal, codeRoudis, codeMaj$norme, dateMaj$norme,
|
||||
numImpMin, numImpMinExt, numImpMax, numImpMaxExt, numPairMin, numPairMinExt, numPairMax, numPairMaxExt, MATCH (codeInseeCom, libVoie38) AGAINST ('$hexaViaComCod $typeVoie $libVoie' IN NATURAL LANGUAGE MODE) AS score",
|
||||
"idAdr56 IN ('$strAdr56') AND (MATCH (codeInseeCom, libVoie38) AGAINST ('$hexaViaComCod $typeVoie $libVoie' IN NATURAL LANGUAGE MODE) OR derElemVoie LIKE '$derMot5%') ORDER BY score DESC LIMIT 0,20
|
||||
/*AND typeVoie='$typeVoie' AND derElemVoie='$derMot'*/",false, MYSQL_ASSOC
|
||||
);
|
||||
$nbRet=count($ret);
|
||||
if ($nbRet==0) {
|
||||
// Vérifier si la commune à des voies normées 98816
|
||||
$ret=$this->iDb->select( 'villes.hexaviaVoies', "codeVoie", "idAdr56 IN('$strAdr56')",false, MYSQL_ASSOC);
|
||||
$nbVoiesCom=count($ret);
|
||||
if ($nbVoiesCom==0) {
|
||||
$erreur=true;
|
||||
if ($debug) echo "Aucune Voie recensée dans cette commune ('$strAdr56') !".PHP_EOL;
|
||||
$tabRetE=array(
|
||||
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||
'errRNVPcode'=>'R0',
|
||||
'errRNVPlib'=>"Aucune Voie recensée dans cette commune ('$strAdr56')"
|
||||
);
|
||||
} else {
|
||||
$tabRetE=array(
|
||||
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||
'errRNVPcode'=>'R1',
|
||||
'errRNVPlib'=>"Aucune correspondance Voie pour '$adrL4', '$libVoie' ($nbVoiesCom voies dans la commune #$idAdr56)"
|
||||
);
|
||||
}
|
||||
return array_merge($tabRetI,$tabRetV,$tabRetE);
|
||||
} else {
|
||||
foreach($ret as $i=>$iRet) {
|
||||
$libVoieRet=preg_replace('/^[A-Z]{1,4}\s+/','', $iRet["libVoie$norme"]);
|
||||
if ($debug) echo "je compare '$typeVoie $libVoie' avec '".$iRet["typeVoie"]." $libVoieRet' ainsi que '$derMot' avec '". $iRet['derElemVoie']."'";
|
||||
if ($iRet['typeVoie']==$typeVoie && ($iRet["libVoie$norme"]==$libVoie || $iRet['derElemVoie']==$derMot || substr($iRet['derElemVoie'],0,5)==$derMot5)) {
|
||||
// echo ' OK';
|
||||
$idAdr56=$iRet['idAdr56'];
|
||||
$L4=preg_replace('/\s+/', ' ', trim($numVoie.' '.$indRep.' '.$iRet["libVoie$norme"]));
|
||||
$L4=preg_replace('/^0+/','',$L4);
|
||||
$hexaViaVoie=$iRet["libVoie$norme"];
|
||||
if (strlen($L4)>$norme) return "Taille de la ligne 4 générée en sortie plus longue que $norme !".PHP_EOL;
|
||||
$matriculeHexavia=$iRet['codeVoie'];
|
||||
$codeRoudis=$iRet['codeRoudis'];
|
||||
$L5=$tabAdr56L['_'.$idAdr56]['L5'];
|
||||
$L6=$tabAdr56L['_'.$idAdr56]['L6'];
|
||||
$L7=$tabAdr56L['_'.$idAdr56]['L7'];
|
||||
// Si c'est le meilleur score trouvé on sort
|
||||
if ($iRet['score']>17 && isset($ret[$i+1]) && $iRet['score']>$ret[$i+1]['score']) break;
|
||||
}
|
||||
}
|
||||
|
||||
$dureeR=round(microtime(1)-$tD,3);
|
||||
|
||||
if (!$matriculeHexavia) {
|
||||
if ($debug) print_r($ret);
|
||||
if ($debug) echo ("Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56') !".PHP_EOL);
|
||||
//die("Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56') !".PHP_EOL);
|
||||
$tabRetE=array( 'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||
'errRNVPcode'=>'R2',
|
||||
'errRNVPlib'=>"Plusieurs correspondances Voies pour $adrL4 $adrL6 dans cette commune ('$strAdr56')");
|
||||
|
||||
return array_merge($tabRetI,$tabRetV,$tabRetE);
|
||||
}
|
||||
}
|
||||
|
||||
if (!$matriculeHexavia && @strlen($L4)==0) $L4=$adrL4;
|
||||
|
||||
$tD=microtime(1);
|
||||
$tabLen=$tabMaxLen=array();
|
||||
$tabLen[1]=strlen($L1);
|
||||
if ($tabLen[1]>$norme) {
|
||||
$L1=$this->normaliseRS($L1, $norme);
|
||||
if ($this->nomTronque==1) $L1tr=1;
|
||||
$tabLen[1]=strlen($L1); if ($tabLen[1]>$norme) $tabMaxLen[]=1;
|
||||
}
|
||||
$tabLen[2]=strlen($L2);
|
||||
if ($tabLen[2]>$norme) {
|
||||
$L2=$this->normaliseRS($L2, $norme);
|
||||
if ($this->nomTronque==1) $L2tr=1;
|
||||
$tabLen[2]=strlen($L2); if ($tabLen[2]>$norme) $tabMaxLen[]=2;
|
||||
}
|
||||
$tabLen[3]=strlen($L3);
|
||||
if ($tabLen[3]>$norme) {
|
||||
$L3=$this->normaliseRS($L3, $norme);
|
||||
if ($this->nomTronque==1) $L3tr=1;
|
||||
$tabLen[3]=strlen($L3); if ($tabLen[3]>$norme) $tabMaxLen[]=3;
|
||||
}
|
||||
$tabLen[4]=strlen($L4); if ($tabLen[4]>$norme) $tabMaxLen[]=4;
|
||||
$tabLen[5]=strlen($L5); if ($tabLen[5]>$norme) $tabMaxLen[]=5;
|
||||
$tabLen[6]=strlen($L6); if ($tabLen[6]>$norme) $tabMaxLen[]=6;
|
||||
$tabLen[7]=strlen($L7); if ($tabLen[7]>$norme) $tabMaxLen[]=7;
|
||||
$tabRetE=array(
|
||||
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||
'errRNVPcode'=>'00',
|
||||
'errRNVPlib'=>"Normalisation OK"
|
||||
);
|
||||
if (count($tabMaxLen)>0) {
|
||||
/*foreach($tabMaxLen as $j) {
|
||||
echo "La ligne n°$j fait ".$tabLen[$j]." caractères : '".$adrL[$j]."'".PHP_EOL;
|
||||
}*/
|
||||
if ($j>1) {
|
||||
$tabRetE = array(
|
||||
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||
'errRNVPcode'=>'O0',
|
||||
'errRNVPlib'=>"Une des lignes fait plus de $norme caractères !"
|
||||
);
|
||||
}
|
||||
}
|
||||
$dureeN=round(microtime(1)-$tD,3);
|
||||
|
||||
$tabRetR = array(
|
||||
'L1'=>$L1,
|
||||
'L2'=>$L2,
|
||||
'L3'=>$L3,
|
||||
'L4'=>$L4,
|
||||
'L5'=>$L5,
|
||||
'L6'=>$L6,
|
||||
'L7'=>$L7,
|
||||
'L1_tr'=>$L1tr,
|
||||
'L2_tr'=>$L2tr,
|
||||
'L3_tr'=>$L3tr,
|
||||
'HexaVia56'=>$idAdr56,
|
||||
'HexaViaVoie'=>$hexaViaVoie,
|
||||
'HexaViaMat'=>$matriculeHexavia,
|
||||
'RoudisId'=>$codeRoudis,
|
||||
'dureeR'=>$dureeR,
|
||||
'dureeN'=>$dureeN,
|
||||
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||
'dureeM'=>$dureeM*1.0,
|
||||
);
|
||||
|
||||
$tabRet = array_merge($tabRetI,$tabRetV,$tabRetR,$tabRetE);
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
/** Retourne le tableau des abbréviations existantes par type d'abréviation
|
||||
*/
|
||||
function getAbreviations($typeAbrev)
|
||||
{
|
||||
$tabRet=array();
|
||||
if ($typeAbrev=='P') {
|
||||
$ret=$this->iDb->select('villes.tabPrenoms',
|
||||
"prenom",
|
||||
"LENGTH(prenom)>3 AND nbTot>0 ORDER BY LENGTH(prenom) DESC",false, MYSQL_ASSOC);
|
||||
foreach($ret as $iRet) {
|
||||
$tabTmp=explode('-',$iRet['prenom']);
|
||||
$tabTmp2=array();
|
||||
foreach($tabTmp as $subPrenom)
|
||||
$tabTmp2[]=substr($subPrenom,0,1);
|
||||
$tabRet[$iRet['prenom']]=implode('-', $tabTmp2);
|
||||
}
|
||||
} else {
|
||||
$ret=$this->iDb->select('villes.tabAbreviations',
|
||||
"abrCode, abrLib",
|
||||
"abrType='$typeAbrev' AND dateSuppr=0 AND idSuppr=0 ORDER BY LENGTH(abrLib) DESC, LENGTH(abrCode) ASC",false, MYSQL_ASSOC);
|
||||
foreach($ret as $iRet) {
|
||||
$tabTmp=explode('/', $iRet['abrLib']);
|
||||
foreach($tabTmp as $abrLib) {
|
||||
if ($typeAbrev=='A')
|
||||
$tabRet[$abrLib]='';
|
||||
else
|
||||
$tabRet[$abrLib]=$iRet['abrCode'];
|
||||
}
|
||||
}
|
||||
}
|
||||
//print_r($tabRet);die();
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
/** Normalise une raison sociale ou un nom
|
||||
**/
|
||||
function normaliseRS($nomLong, $taille=38, $debug=false)
|
||||
{
|
||||
$nomCourt=preg_replace('/[^A-Z0-9%@&\'\(\)\"\-\*\/\s\+]/','',trim(strtoupper($nomLong)));
|
||||
$tabMots=split("[^[:alpha:]]+", $nomCourt);
|
||||
$passage=0;
|
||||
$this->nomTronque=0;
|
||||
echo $nomCourt.PHP_EOL;
|
||||
while (strlen($nomCourt)>$taille) {
|
||||
// 1. Remplacement des Libellés de Voies par leurs code Voie
|
||||
$tabTmp=$this->getAbreviations('V');
|
||||
foreach ($tabTmp as $lib=>$abr) {
|
||||
$nomCourt=trim(str_replace(" $lib".'ES ', ' '.$abr.' ', " $nomCourt "));
|
||||
$nomCourt=trim(str_replace(" $lib".'E ', ' '.$abr.' ', " $nomCourt "));
|
||||
$nomCourt=trim(str_replace(" $lib".'S ', ' '.$abr.' ', " $nomCourt "));
|
||||
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
|
||||
if (strlen($nomCourt)<=$taille) break;
|
||||
}
|
||||
if ($debug) echo "1-Voies=$nomCourt".PHP_EOL;
|
||||
if (strlen($nomCourt)<=$taille) break;
|
||||
|
||||
//print_r($tabMots);
|
||||
// 2. Remplacement des Titres par leurs abréviation
|
||||
$tabTmp=$this->getAbreviations('T');
|
||||
foreach ($tabTmp as $lib=>$abr) {
|
||||
$nomCourt=trim(str_replace(" $lib".'ES ', ' '.$abr.' ', " $nomCourt "));
|
||||
$nomCourt=trim(str_replace(" $lib".'E ', ' '.$abr.' ', " $nomCourt "));
|
||||
$nomCourt=trim(str_replace(" $lib".'S ', ' '.$abr.' ', " $nomCourt "));
|
||||
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
|
||||
if (strlen($nomCourt)<=$taille) break;
|
||||
}
|
||||
if ($debug) echo "2a-Titres=$nomCourt".PHP_EOL;
|
||||
if (strlen($nomCourt)<=$taille) break;
|
||||
|
||||
// 2. Remplacement des Formes Juridiques
|
||||
$tabTmp=$this->getAbreviations('J');
|
||||
foreach ($tabTmp as $lib=>$abr)
|
||||
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
|
||||
if ($debug) echo "2b-FJ=$nomCourt".PHP_EOL;
|
||||
if (strlen($nomCourt)<=$taille) break;
|
||||
|
||||
// 4. Suppression des articles
|
||||
$tabTmp=$this->getAbreviations('A');
|
||||
foreach ($tabTmp as $lib=>$abr) {
|
||||
if (strpos($lib,"'")>0)
|
||||
$nomCourt=trim(str_replace(' '.$lib, ' ', " $nomCourt "));
|
||||
else
|
||||
$nomCourt=trim(str_replace(" $lib ", ' ', " $nomCourt "));
|
||||
if (strlen($nomCourt)<=$taille) break;
|
||||
}
|
||||
if ($debug) echo "4-Articles=$nomCourt".PHP_EOL;
|
||||
if (strlen($nomCourt)<=$taille) break;
|
||||
|
||||
// 3. Remplacement des Prénoms par leurs initiales
|
||||
$tabTmp=$this->getAbreviations('P');
|
||||
foreach ($tabTmp as $lib=>$abr) {
|
||||
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
|
||||
if (strlen($nomCourt)<=$taille) break;
|
||||
}
|
||||
if ($debug) echo "3-Prenoms=$nomCourt".PHP_EOL;
|
||||
if (strlen($nomCourt)<=$taille) break;
|
||||
|
||||
$tabTmp=$this->getAbreviations('N');
|
||||
foreach ($tabTmp as $lib=>$abr) {
|
||||
$nomCourt=trim(str_replace(" $lib".'ES ', ' '.$abr.' ', " $nomCourt "));
|
||||
$nomCourt=trim(str_replace(" $lib".'E ', ' '.$abr.' ', " $nomCourt "));
|
||||
$nomCourt=trim(str_replace(" $lib".'S ', ' '.$abr.' ', " $nomCourt "));
|
||||
$nomCourt=trim(str_replace(" $lib ", ' '.$abr.' ', " $nomCourt "));
|
||||
if (strlen($nomCourt)<=$taille) break;
|
||||
}
|
||||
if ($debug) echo "5-Autres Noms=$nomCourt".PHP_EOL;
|
||||
if (strlen($nomCourt)<=$taille) break;
|
||||
|
||||
$nomCourt=substr($nomCourt,0,$taille);
|
||||
$this->nomTronque=1;
|
||||
|
||||
//die($nomCourt);
|
||||
/** @todo A finir
|
||||
Tronquer ou abréger dans cette ordre
|
||||
- type de voie
|
||||
- titres
|
||||
- initiale du prénom
|
||||
- supprimez les articles (mais pas les particules dans un nom propre)
|
||||
- tronquer à 4 caractères les types de voie non normalisés
|
||||
- tronquer les extensions de voie
|
||||
- réduire le nom de la voie en supprimant les mots de la gauche vers la droite
|
||||
|
||||
Gérer les pluriels pour les voies, nom, titres, et formes juridiques
|
||||
**/
|
||||
$passage++;
|
||||
}
|
||||
return $nomCourt;
|
||||
}
|
||||
|
||||
|
||||
// Code Insee de la commune libCom32 Libellé de la commune (Ancienne norme 32) libCom38 Libellé
|
||||
function getLibCommune($codeInsee, $norme=38) {
|
||||
if ($norme<>32 && $norme<>38) {
|
||||
return 'La norme doit être 32 ou 38 caractères (38 par défaut)'.PHP_EOL;
|
||||
}
|
||||
|
||||
$ret=$this->iDb->select('villes.hexaviaVilles',
|
||||
"libCom32 , libCom38",
|
||||
"codeInseeCom='$codeInsee' LIMIT 0,1",false, MYSQL_ASSOC);
|
||||
$nbRet=count($ret);
|
||||
if ($nbRet==0 && $codeInsee>99000) {
|
||||
$codePaysInsee=substr($codeInsee,2,3);
|
||||
$ret=$this->iDb->select('jo.tabPays',
|
||||
"SUBSTRING(libPays,1,32) AS libCom32, SUBSTRING(libPays,1,38) AS libCom38",
|
||||
"codePaysInsee='$codeInsee' ORDER BY dependance ASC LIMIT 0,1",false, MYSQL_ASSOC);
|
||||
$nbRet=count($ret);
|
||||
}
|
||||
if ($nbRet==0) return 'Aucune correspondance VILLE';
|
||||
elseif ($norme==32) return $ret[0]['libCom32'];
|
||||
else return $ret[0]['libCom38'];
|
||||
}
|
||||
|
||||
function getCPCommune($codeInsee)
|
||||
{
|
||||
$ret=$this->iDb->select('villes.hexaviaVilles',
|
||||
"codePostal",
|
||||
"codeInseeCom='$codeInsee' GROUP BY codePostal",false, MYSQL_ASSOC);
|
||||
$nbRet=count($ret);
|
||||
if ($nbRet==1) return $ret[0]['codePostal'];
|
||||
return false;
|
||||
}
|
||||
|
||||
function getCodCommune($libelleCommune, $depOuCp='', $debug=false)
|
||||
{
|
||||
$norme=38;
|
||||
$codeCommune=false;
|
||||
$cp=$depOuCp;
|
||||
$cp2=substr($cp,0,2);
|
||||
$ret=$this->iDb->select('villes.hexaviaVilles',
|
||||
"idAdr56, codeInseeCom, libCom$norme, codeInseeGlobal, indPluridis, libLigne5n$norme, indRoudis, codePostal, libLigne6n$norme, codeInseePre, codeMaj$norme, dateMaj$norme, MATCH (codePostal, libCom38) AGAINST ('$depOuCp $libelleCommune' IN NATURAL LANGUAGE MODE) AS score",
|
||||
"MATCH (codePostal, libCom38) AGAINST ('$depOuCp $libelleCommune' IN NATURAL LANGUAGE MODE) ORDER BY score DESC",false, MYSQL_ASSOC);
|
||||
// print_r($ret);
|
||||
$nbRet=count($ret);
|
||||
if ($nbRet==0)
|
||||
return false;
|
||||
else {
|
||||
foreach($ret as $i=>$iRet) {
|
||||
if ($debug) echo "je compare '$depOuCp' avec '".$iRet['codePostal']."' et '$libelleCommune' avec '".$iRet["libCom$norme"]."' (".$iRet['idAdr56'].", score=".$iRet['score'].")".PHP_EOL;
|
||||
if (($depOuCp<>'' && ($iRet['codePostal']==$cp || substr($iRet['codePostal'],0,2)==$cp2)) && ($iRet["libCom$norme"]==$libelleCommune || preg_replace('/ 0/', ' ',$iRet["libCom$norme"])==$libelleCommune) || (strpos($iRet["libCom$norme"],$libelleCommune)>0 && $nbRet==1)) {
|
||||
$codeCommune=$iRet['codeInseeCom'];
|
||||
if ($iRet['score']>17) break;
|
||||
}
|
||||
}
|
||||
if (!$codeCommune) {
|
||||
$iRet=$ret[0];
|
||||
if ($debug) echo "On prend le score le + élevé s'il est > à 15 : je compare '$cp' avec '".$iRet['codePostal']."' et '$libelleCommune' avec '".$iRet["libCom$norme"]."' (".$iRet['idAdr56'].")".PHP_EOL;
|
||||
if ($debug) echo '['.trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$iRet["libCom$norme"])) .'-v/s-'.trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$libelleCommune)).']'.PHP_EOL;
|
||||
if (($depOuCp<>'' && ($iRet['codePostal']==$cp || substr($iRet['codePostal'],0,2)==$cp2)) && ($iRet["libCom$norme"]==$libelleCommune || (substr(trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$iRet["libCom$norme"])),0,26)==trim(preg_replace('/ (1ER|2EME|3EME|\d+)/', ' ',$libelleCommune)) && $iRet['score']>15) || (strpos($iRet["libCom$norme"],$libelleCommune)>0 && $nbRet==1))) {
|
||||
$codeCommune=$iRet['codeInseeCom'];
|
||||
}
|
||||
}
|
||||
//die("Code commune de $libelleCommune ($depOuCp) = $codeCommune".PHP_EOL);
|
||||
}
|
||||
return $codeCommune;
|
||||
}
|
||||
|
||||
function normaliseAdresse76310($L1,$L2,$L3,$L4,$L5,$L6,$L7='')
|
||||
{
|
||||
$tDeb=microtime(1);
|
||||
$tabRetR=$tabRetE=array();
|
||||
|
||||
$cp=substr(trim($L6),0,5);
|
||||
$cp2=substr($cp,0,2);
|
||||
$ville=trim(strtr(substr($L6,5),array(' SAINT '=>' ST ',' SAINTE '=>' STE ')));
|
||||
$ville=preg_replace('/ CEDEX\s?.*$/ui','',$ville);
|
||||
$tabRetI=array( 'operateurRnvp'=>'76310WEB',
|
||||
'in_cp'=>$cp,
|
||||
'in_dep'=>$cp2,
|
||||
'in_ville'=>$ville,
|
||||
'in_L1'=>trim($L1),
|
||||
'in_L2'=>trim($L2),
|
||||
'in_L3'=>trim($L3),
|
||||
'in_L4'=>trim($L4),
|
||||
'in_L5'=>trim($L5),
|
||||
'in_L6'=>trim($L6),
|
||||
'in_L7'=>trim($L7));
|
||||
|
||||
//$client = new SoapClient('http://www.rnvp-en-ligne.com/service.asmx?wsdl');
|
||||
$client = new SoapClient('http://www.rnvp-en-ligne.com/service_v5.asmx?wsdl');
|
||||
$nbEssais=1;
|
||||
|
||||
$array = array (
|
||||
'pi_session' => '-1',
|
||||
'pi_user' => 'SDPROD',
|
||||
'pi_password' => '7631014530',
|
||||
'pi_codedossier' => '0001',
|
||||
'pi_numfichier' => '1',
|
||||
'pi_rsoc' => utf8_encode($L1),
|
||||
//'pio_civ' => '',
|
||||
//'pio_nom' => '',
|
||||
//'pio_prenom' => '',
|
||||
'pio_cnom' => utf8_encode($L2), // Ligne 2
|
||||
'pio_cadrs' => utf8_encode($L3), // Ligne 3
|
||||
'pio_adresse' => utf8_encode($L4), // Ligne 4
|
||||
'pio_lieudit' => utf8_encode($L5), // Ligne 5
|
||||
'pio_cpville' => utf8_encode($L6), // Ligne 6
|
||||
'pio_pays' => utf8_encode($L7), // Ligne 7
|
||||
/* 'po_tnp' => '',
|
||||
'po_sex' => '',
|
||||
'po_civlong' => '',
|
||||
'po_cp' => '',
|
||||
'po_ville' => '',
|
||||
'po_insee' => '',
|
||||
'po_cqtnp' => '',
|
||||
'po_cqadrs' => '',
|
||||
'po_risquerestru' => '',
|
||||
'po_poidsmodif' => '',
|
||||
'po_rejet' => '',
|
||||
'po_etranger' => ''*/
|
||||
);
|
||||
while(1) {
|
||||
try {
|
||||
//$result = $client->Elfyweb_RNVP_Standard($array);
|
||||
$result = $client->Elfyweb_RNVP_Expert_V50($array);
|
||||
//print_r($result);
|
||||
$tabRetR=array( 'L1'=>$L1,
|
||||
'L2'=>$L2,
|
||||
'L3'=>strtoupper(utf8_decode($result->pio_cadrs)),
|
||||
'L4'=>strtoupper(utf8_decode($result->pio_adresse)),
|
||||
'L5'=>strtoupper(utf8_decode($result->pio_lieudit)),
|
||||
'L6'=>strtoupper(utf8_decode($result->pio_cpville)),
|
||||
/* [po_risquerestru] => 0
|
||||
[po_poidsmodif] => 0
|
||||
[po_rejet] =>
|
||||
[po_etranger] =>*/
|
||||
'Cp'=>$result->po_cp,
|
||||
'Ville'=>$result->po_ville,
|
||||
'Insee'=>$result->po_insee,
|
||||
/*'CQadrs'=>$result->po_cqadrs,
|
||||
'CQadrsLib'=>$this->tabAdrCQ[$result->po_cqadrs],
|
||||
'CQAdrRnvp'=>$this->getLibQualiteAdresse76310($result->po_cqadrs, $result->rejet),*/
|
||||
'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||
);
|
||||
if (@$result->pio_pays<>'FRA') $tabRet['L7']=$result->pio_pays;
|
||||
break;
|
||||
} catch (SoapFault $fault) {
|
||||
$nbEssais++;
|
||||
if ($nbEssai<5) continue;
|
||||
$tabRetE=array( 'dureeRnvp'=>round(microtime(1)-$tDeb,3),
|
||||
'errRNVPcode'=>'S0',
|
||||
'errRNVPlib'=>"Erreur SOAP : ".print_r($fault,1));
|
||||
}
|
||||
}
|
||||
$tabRet=array_merge($tabRetI,$tabRetR,$tabRetE);
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
function getLibQualiteAdresse76310($cqadrs, $correctionDouteuse)
|
||||
{
|
||||
switch ($cqadrs*1) {
|
||||
case 10: // Adresse correcte
|
||||
case 20: // Adresse correcte (Voie non reconue dans un CEDEX ou BP)
|
||||
case 21: // Adresse correcte mais numéro de facade hors borne (petite ville)
|
||||
case 22: // Adresse correcte mais numéro de facade absent (petite ville)
|
||||
case 23: // Adresse correcte mais numéro de facade hors borne (grande ville)
|
||||
case 24: // Adresse correcte mais numéro de facade absent (grande ville)
|
||||
$cqRnvpSed=1;
|
||||
break;
|
||||
case 31: // Voie non reconnue (petite ville, quartier reconnu)
|
||||
case 51: // Voie non reconnue (grande ville, quartier reconnu)
|
||||
$cqRnvpSed=2;
|
||||
break;
|
||||
case 30: // Voie non reconnue (petite ville)
|
||||
case 50: // Voie non reconnue (grande ville)
|
||||
$cqRnvpSed=3;
|
||||
break;
|
||||
case 40: // Voie absente (petite ville, quartier reconnu)
|
||||
case 41: // Voie absente (petite ville)
|
||||
case 60: // Voie absente (grande ville, quartier reconnu)
|
||||
case 61: // Voie absente (grande ville)
|
||||
$cqRnvpSed=4;
|
||||
break;
|
||||
case 70: // Voie présente mais Cp/Ville non corrigeable
|
||||
case 80: // Voie absente et Cp/Ville non corrigeable
|
||||
$cqRnvpSed=5;
|
||||
break;
|
||||
default:
|
||||
$cqRnvpSed=0;
|
||||
break;
|
||||
}
|
||||
|
||||
if ($correctionDouteuse=='D') $cqRnvpSed=0;
|
||||
return $cqRnvpSed;
|
||||
}
|
||||
|
||||
function getAdresseRnvpSource($source, $source_id, $num=0)
|
||||
{
|
||||
$ret=$this->iDb->select(
|
||||
'villes.rnvpSources',
|
||||
'id, source, source_id, num, L1rnvp, L2rnvp, L3rnvp, L4rnvp, L5rnvp, L6rnvp, L7rnvp, Pays, dateInsert,
|
||||
operateurRnvp, dateEnvoiRnvp, dateRetourRnvp, codeRetour, NumVoie, BisTer, TypeVoieCourt, TypeVoieLong, LibVoie,
|
||||
Cp, Ville, Insee, CQadrs, CorrectionImportante, CorrectionDouteuse, HexaCle, CQL3, InseeGlobal, OldInsee,
|
||||
IsInseeReconstitue, NumDept, IdHexavia, IdHexaposte, Iris_Rivoli, Iris_Ilot99, Iris_CodeIris, Iris_Canton,
|
||||
Iris_Zus, Iris_Zfu, CqIris, dateUpdate',
|
||||
"source=$source AND source_id=$source_id AND num=$num LIMIT 0,1",false, MYSQL_ASSOC);
|
||||
$tabRet=$ret[0];
|
||||
$tabRet['CQadrsLib']=$this->tabAdrCQ[$tabRet['CQadrs']];
|
||||
|
||||
$tabRet['CQAdrRnvp']=$this->getLibQualiteAdresse76310($tabRet['CQadrs'], $tabRet['CorrectionDouteuse']);
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
}
|
||||
?>
|
294
library/Metier/Partenaires/MTel.php
Normal file
294
library/Metier/Partenaires/MTel.php
Normal file
@ -0,0 +1,294 @@
|
||||
<?php
|
||||
require_once 'framework/common/curl.php';
|
||||
|
||||
class Metier_Partenaires_MTel
|
||||
{
|
||||
public $body = '';
|
||||
public $header = '';
|
||||
public $codeRetour = 0;
|
||||
|
||||
public $cookie='';
|
||||
public $urlBase='http://www.pagespro.com/recherche.php';
|
||||
public $url='';
|
||||
public $referer='';
|
||||
public $enCache=false;
|
||||
private $accesDistant=false;
|
||||
|
||||
public $iDb;
|
||||
|
||||
public function __construct($accesDistant=false, $db=null)
|
||||
{
|
||||
$this->accesDistant=$accesDistant;
|
||||
$this->accesDistant=false; // Accès bloqué par "pagespro"
|
||||
if ($this->accesDistant) {
|
||||
$this->url=$this->urlBase;
|
||||
$page=getUrl($this->url,$this->cookie,'',$this->referer, false, '', '', 3);
|
||||
$this->referer=$this->url;
|
||||
$this->cookie=$page['header']['Set-Cookie'];
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
}
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Information contact
|
||||
* @param string $siret
|
||||
* @param string $nic
|
||||
* @param boolean $last
|
||||
* @param int $actif
|
||||
* @return array Retourne une liste de téléphone
|
||||
*/
|
||||
public function getTel($siret, $nic=0, $last=false, $actif=null)
|
||||
{
|
||||
$tabRet=array();
|
||||
|
||||
if (strlen($siret)>9) {
|
||||
$nic = substr($siret,-5)*1;
|
||||
$siren = round($siret/100000)*1;
|
||||
} else {
|
||||
$siren=$siret*1;
|
||||
}
|
||||
|
||||
if ($siren<1000) return $tabRet;
|
||||
|
||||
/** Si le siren est de taille < à 9, on ajoute des 0 significatifs **/
|
||||
if (strlen($siren)<=9) {
|
||||
$siren = str_pad($siren, 9, '0', STR_PAD_LEFT);
|
||||
}
|
||||
if (strlen($nic)>0) {
|
||||
$nic = str_pad($nic, 5, '0', STR_PAD_LEFT);
|
||||
}
|
||||
|
||||
$strNic='';
|
||||
if ($nic*1>0) $strNic="AND (nic=$nic OR nic=0)";
|
||||
$strActif='';
|
||||
if ($actif==1) $strActif=" AND actif=1 ";
|
||||
elseif($actif==0) $strActif=" AND actif=0 ";
|
||||
|
||||
$ret=$this->iDb->select(
|
||||
'jo.telephonie',
|
||||
'siren,nic,dateProvPartenaire,typeTel,infoTel,LPAD(telephone,10,0) AS telephone,actif,partenaire,idUtilisateur,dateInsert,dateInsert*1 AS dateInsertYmd,dateConfPartenaire,partenaireConf,nbConf,idUpdate,dateUpdate,dateUpdate*1 AS dateUpdateYmd',
|
||||
"siren=$siren $strNic $strActif AND dateSuppr=0 ORDER BY typeTel ASC, nbConf DESC", false, MYSQL_ASSOC);
|
||||
if (count($ret)>0)
|
||||
{
|
||||
$this->enCache=true;
|
||||
foreach ($ret as $tabTel)
|
||||
{
|
||||
if ($tabTel['typeTel']=='an8' && $tabTel['infoTel']*1>0) {
|
||||
$an8=$tabTel['infoTel']*1;
|
||||
$retTmp=$this->iDb->select('jo.tabAn8', 'libAn8', "codAn8='$an8'", false, MYSQL_ASSOC);
|
||||
$infoTel=ucfirst(strtolower($retTmp[0]['libAn8']));
|
||||
} else {
|
||||
$infoTel=$tabTel['infoTel'];
|
||||
}
|
||||
|
||||
if ($tabTel['partenaireConf']>0) $source=$tabTel['partenaireConf'];
|
||||
else $source=$tabTel['partenaire'];
|
||||
if ($tabTel['dateUpdateYmd']>$tabTel['dateInsertYmd']) $dateMAJ=$tabTel['dateUpdateYmd'];
|
||||
else $dateMAJ=$tabTel['dateInsertYmd'];
|
||||
|
||||
$tabR = array(
|
||||
'siren'=>$siren,
|
||||
'nic'=>$tabTel['nic'],
|
||||
'typeTel'=>$tabTel['typeTel'],
|
||||
'infoTel'=>$infoTel,
|
||||
'telephone'=>$tabTel['telephone'],
|
||||
'actif'=>$tabTel['actif'],
|
||||
'source'=>$source,
|
||||
'dateMAJ'=>$dateMAJ,
|
||||
);
|
||||
$tabRet[]=$tabR;
|
||||
if ($last) {
|
||||
if ($source==175 && !@isset($tabLast[$tabTel['typeTel']][1])) @$tabLast[$tabTel['typeTel']][1]=$tabR;
|
||||
elseif(($source==118 ||
|
||||
$source==250 ||
|
||||
$source==253) && !@isset($tabLast[$tabTel['typeTel']][2])) @$tabLast[$tabTel['typeTel']][2]=$tabR;
|
||||
elseif ($source<>2 && !@isset($tabLast[$tabTel['typeTel']][3])) @$tabLast[$tabTel['typeTel']][3]=$tabR;
|
||||
elseif ($source==2 && !@isset($tabLast[$tabTel['typeTel']][4])) @$tabLast[$tabTel['typeTel']][4]=$tabR;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
elseif ($this->accesDistant)
|
||||
{
|
||||
$this->enCache=false;
|
||||
$tabPost = array(
|
||||
'p_ACTION'=>'',
|
||||
'p_ORDRE'=>'AfficheRes',
|
||||
'a_PAGE'=>'1',
|
||||
'a_TAG'=>'',
|
||||
'a_OccRecherche'=>'',
|
||||
'typeRecherche'=>'express',
|
||||
'satellite'=>'siret',
|
||||
'a_activ'=>'',
|
||||
'a_rai_soc'=>'',
|
||||
'a_naf'=>'',
|
||||
'a_siren'=>$siret,
|
||||
'a_tel'=>'',
|
||||
'a_geo'=>'',
|
||||
'typeTri'=>'',
|
||||
'ordreTri'=>'',
|
||||
'a_session'=>'',
|
||||
);
|
||||
//$page=getUrl($this->url,$this->cookie,'',$this->referer, false, '', '', 3);
|
||||
$page=getUrl($this->url,$this->cookie,$tabPost,$this->referer,false,'','',3);
|
||||
$this->referer=$this->url;
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
|
||||
$nbResults=0;
|
||||
if (preg_match('/<b class="total_responses_nr">(.*)réponses<\/b>/Uisu', $this->body, $matches))
|
||||
$nbResults=trim(strtr(strip_tags($matches[1]), array(' '=>'','–'=>'')));
|
||||
|
||||
if ($nbResults>0) {
|
||||
$tabResultsHtml=explode('<div class="results_part1">', $this->body);
|
||||
for ($i=1; isset($tabResultsHtml[$i]);$i++) {
|
||||
$res=$tabTel=array();
|
||||
$body=$tabResultsHtml[$i];
|
||||
$res['nom']=trim(htm2txt(@getTextInHtml($body, '<div class="results_title">', '_title">', '</div>')));
|
||||
$res['adresse']=trim(htm2txt(@getTextInHtml($body, '<div class="coordonnees">','<div>','<table id="t_coord_')));
|
||||
|
||||
$res['urlSite']=trim(htm2txt(@getTextInHtml($body, '<b class="siteweb">Site Web :</b> ', "javascript:SiteURL('", "','")));
|
||||
$res['urlMail']=trim(htm2txt(@getTextInHtml($body, '<b>E-mail :</b>', "&mail=", "', ")));
|
||||
$res['urlLogo']=trim(htm2txt(@getTextInHtml($body, '<div class="results_inset_logo">', '" src="', '" border="')));
|
||||
$res['tefet']=trim(htm2txt(@getTextInHtml($body, '<b>Effectif établ : </b>','</b>','</div>')));
|
||||
|
||||
$res['tefet']=trim(htm2txt(@getTextInHtml($body, '<b>Effectif établ : </b>','</b>','</div>')));
|
||||
$res['siret']=trim(htm2txt(@getTextInHtml($body, '<b>Siret : </b>','</b>','</div>')));
|
||||
$res['nafet']=trim(htm2txt(strip_tags(@getTextInHtml($body, '<b>Code NAF : </b>','</b>','</div>'))));
|
||||
|
||||
$res['domaines']=trim(preg_replace('/ +/', ' ', preg_replace('/\r+|\n+|\s+/',' ',htm2txt(strip_tags(@getTextInHtml($body, '<div class="puce_domaine">','<strong>','</div>'))))));
|
||||
|
||||
if ($res['urlSite']<>'') {
|
||||
$this->iDb->insert('jo.telephonie', array(
|
||||
'siren'=>$siren,
|
||||
'nic'=>substr($res['siret'],-5),
|
||||
'dateProvPartenaire'=>date('Ymd'),
|
||||
'typeTel'=>'web',
|
||||
'infoTel'=>$res['urlSite'],
|
||||
'telephone'=>0,
|
||||
'actif'=>1,
|
||||
'partenaire'=>253,
|
||||
));
|
||||
$tabRet[] = array(
|
||||
'siren'=>$siren,
|
||||
'nic'=>substr($res['siret'],-5),
|
||||
'typeTel'=>'web',
|
||||
'infoTel'=>$res['urlSite'],
|
||||
'telephone'=>0,
|
||||
);
|
||||
}
|
||||
if ($res['urlLogo']<>'') {
|
||||
$this->iDb->insert('jo.telephonie', array(
|
||||
'siren'=>$siren,
|
||||
'nic'=>substr($res['siret'],-5),
|
||||
'dateProvPartenaire'=>date('Ymd'),
|
||||
'typeTel'=>'logo',
|
||||
'infoTel'=>$res['urlLogo'],
|
||||
'telephone'=>0,
|
||||
'actif'=>1,
|
||||
'partenaire'=>253,
|
||||
));
|
||||
$tabRet[] = array(
|
||||
'siren'=>$siren,
|
||||
'nic'=>substr($res['siret'],-5),
|
||||
'typeTel'=>'logo',
|
||||
'infoTel'=>$res['urlLogo'],
|
||||
'telephone'=>0,
|
||||
);
|
||||
}
|
||||
if ($res['domaines']<>'') {
|
||||
$this->iDb->insert('jo.telephonie', array(
|
||||
'siren'=>$siren,
|
||||
'nic'=>substr($res['siret'],-5),
|
||||
'dateProvPartenaire'=>date('Ymd'),
|
||||
'typeTel'=>'domaines',
|
||||
'infoTel'=>$res['domaines'],
|
||||
'telephone'=>0,
|
||||
'actif'=>1,
|
||||
'partenaire'=>253,
|
||||
));
|
||||
$tabRet[]=array(
|
||||
'siren'=>$siren,
|
||||
'nic'=>substr($res['siret'],-5),
|
||||
'typeTel'=>'domaines',
|
||||
'infoTel'=>$res['domaines'],
|
||||
'telephone'=>0,
|
||||
);
|
||||
}
|
||||
if ($res['urlMail']<>'') {
|
||||
$this->iDb->insert('jo.telephonie', array(
|
||||
'siren'=>$siren,
|
||||
'nic'=>substr($res['siret'],-5),
|
||||
'dateProvPartenaire'=>date('Ymd'),
|
||||
'typeTel'=>'mail',
|
||||
'infoTel'=>$res['urlMail'],
|
||||
'telephone'=>0,
|
||||
'actif'=>1,
|
||||
'partenaire'=>253,
|
||||
));
|
||||
$tabRet[]=array(
|
||||
'siren'=>$siren,
|
||||
'nic'=>substr($res['siret'],-5),
|
||||
'typeTel'=>'mail',
|
||||
'infoTel'=>$res['urlMail'],
|
||||
'telephone'=>0,
|
||||
);
|
||||
}
|
||||
|
||||
if (preg_match_all('/<tr>(?:.*)<th>(?:.*)<span>(.*)(tél|fax)(?:.*)<\/span>(?:.*)<\/th>(?:.*)<td>(?:.*)<span>(.*)<\/span>(?:.*)<\/td>(?:.*)<\/tr>/Uis', $body, $matches))
|
||||
{
|
||||
foreach ($matches[2] as $j=>$tmp)
|
||||
{
|
||||
$lib=$tmp;
|
||||
$precis=trim(strtr($matches[1][$j], array('-'=>' ')));
|
||||
$num=trim(strtr($matches[3][$j],array(' '=>'','<br />'=>'')));
|
||||
$tabTel["$lib-$num"]=array('telFax'=>$lib,'type'=>$precis, 'telNum'=>$num);
|
||||
}
|
||||
$tabTel=array_values($tabTel);
|
||||
|
||||
foreach ($tabTel as $tabT)
|
||||
{
|
||||
$tabRet[]=array(
|
||||
'siren'=>$siren,
|
||||
'nic'=>substr($res['siret'],-5),
|
||||
'typeTel'=>trimAccent($tabT['telFax']),
|
||||
'infoTel'=>$tabT['type'],
|
||||
'telephone'=>$tabT['telNum'],
|
||||
'actif'=>1,
|
||||
);
|
||||
$this->iDb->insert('jo.telephonie', array(
|
||||
'siren'=>$siren,
|
||||
'nic'=>substr($res['siret'],-5),
|
||||
'dateProvPartenaire'=>date('Ymd'),
|
||||
'typeTel'=>trimAccent($tabT['telFax']),
|
||||
'infoTel'=>$tabT['type'],
|
||||
'telephone'=>$tabT['telNum'],
|
||||
'actif'=>1,
|
||||
'partenaire'=>253,
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($last) {
|
||||
$tabRet = array();
|
||||
if ($tabLast != null && count($tabLast) > 0 ) {
|
||||
foreach($tabLast as $typeTel=>$tabPriorite) {
|
||||
ksort($tabPriorite);
|
||||
$tabRet[]=current($tabPriorite);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $tabRet;
|
||||
}
|
||||
|
||||
}
|
267
library/Metier/Partenaires/MTva.php
Normal file
267
library/Metier/Partenaires/MTva.php
Normal file
@ -0,0 +1,267 @@
|
||||
<?php
|
||||
require_once 'framework/common/curl.php';
|
||||
|
||||
class Metier_Partenaires_MTva
|
||||
{
|
||||
public $vatNumber = ''; // Numéro de TVA retourné
|
||||
public $vatDefined = false; // Le numéro de TVA est il validé ?
|
||||
public $errnum = 0; // Numéro de l'erreur en cas d'erreur
|
||||
public $errmsg = ''; // Message de l'erreur en cas d'erreur
|
||||
|
||||
private $siren;
|
||||
protected $iDb;
|
||||
|
||||
public function __construct($siren, $accesDist=true, $db = null)
|
||||
{
|
||||
$sirenIn = $siren*1;
|
||||
if ( $sirenIn<000001000 ) {
|
||||
$this->vatNumber = 'FR00000000000';
|
||||
$this->vatDefined = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( $db === null ) {
|
||||
$this->iDb = new WDB();
|
||||
} else {
|
||||
$this->iDb = $db;
|
||||
}
|
||||
|
||||
$siren = str_pad($siren, 9, '0', STR_PAD_LEFT);
|
||||
|
||||
$this->siren = $siren;
|
||||
$cleAlgo=$this->genereCleFr();
|
||||
|
||||
if ($cleAlgo<10) $cleAlgo='0'.$cleAlgo;
|
||||
else $cleAlgo=''.$cleAlgo;
|
||||
|
||||
$tabRep=array();
|
||||
if (!$this->valideSiren($siren) && substr($siren,0,4)<>'0000') {
|
||||
$this->errnum=102;
|
||||
$this->errmsg='Siren invalide';
|
||||
return false;
|
||||
}
|
||||
|
||||
$info = $this->iDb->select('sdv1.siren_tva', "LPAD(cle,2,0) AS cle, DATE_FORMAT(dateMod,'%Y%m%d') as DateMAJ", "siren=$siren", false, MYSQL_ASSOC);
|
||||
$tab=$info[0];
|
||||
if (count($tab)>0) {
|
||||
if ( $tab['cle']<>NULL || ( $tab['cle']==NULL && $tab['DateMAJ']>=date('Ymd',mktime(0,0,0,date('m')-6,date('d'),date('Y'))) )) {
|
||||
$cle=$tab['cle'];
|
||||
if ($cle==NULL) { $attribue=false; $cle=$cleAlgo; }
|
||||
else $attribue=true;
|
||||
$this->vatNumber="FR$cle$siren";
|
||||
$this->vatDefined=$attribue;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
$cle=$cleAlgo;
|
||||
$nbIndispo=0;
|
||||
if ($accesDist) {
|
||||
while(true) {
|
||||
$postData=array( //'Lang'=>'FR',
|
||||
'ms'=>'FR',
|
||||
'iso'=>'FR',
|
||||
'vat'=>$cle.$siren,
|
||||
'BtnSubmitVat'=>'Verify');
|
||||
/*$postData=array(
|
||||
* 'Lang'=>'FR',
|
||||
'VAT'=>$cle.$siren,
|
||||
'ISO'=>'FR',
|
||||
'MS'=>'FR'
|
||||
);*/
|
||||
$tdeb = microtime(true);
|
||||
// $url='http://ec.europa.eu/taxation_customs/vies/cgi-bin/viesquer';
|
||||
// $referer='http://ec.europa.eu/taxation_customs/vies/fr/vieshome.htm';
|
||||
$url='http://ec.europa.eu/taxation_customs/vies/viesquer.do';
|
||||
$referer='http://ec.europa.eu/taxation_customs/vies/';
|
||||
|
||||
$page=getUrl($url, '', $postData, $referer, false, 'ec.europa.eu', '', 15);
|
||||
$duree = round(microtime(true)-$tdeb, 3);
|
||||
if ($page['err_num']<>0) {
|
||||
Metier_Util_Log::write('W', 'TVA Erreur CURL n°'. $page['err_num'] .', '. $page['err_msg'] ." sur le Siren $siren, numéro de TVA = FR $cle $siren. Durée = $duree s !", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
$this->vatNumber="FR$cle$siren";
|
||||
$this->vatDefined=false;
|
||||
return true;
|
||||
}
|
||||
$code=$page['code'];// Code réponse Serveur
|
||||
$body=$page['body'];
|
||||
$header=$page['header'];
|
||||
if (preg_match('/Yes, valid VAT number/i', $body)) {
|
||||
$tabInsert=array('siren'=>$siren,'cle'=>$cle, 'duree'=>$duree);
|
||||
$tabUpdate=array('cle'=>$cle, 'duree'=>$duree);
|
||||
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert))
|
||||
if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$siren"))
|
||||
Metier_Util_Log::write('W', "Siren $siren, numéro de TVA = FR $cle $siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
//echo date ('Y/m/d - H:i:s') ." - Ligne $k/$nbk, N°TVA FR $cle $siren validé .".$eol;
|
||||
Metier_Util_Log::write('I', "Siren $siren, numéro de TVA = FR $cle $siren ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
$this->vatNumber="FR$cle$siren";
|
||||
$this->vatDefined=true;
|
||||
return true;
|
||||
//return array('error'=>array('errnum'=>0, 'errmsg'=>''), 'result'=>array('siren'=>$siren, 'vatNumber'=>"FR$cle$siren", 'vatDefined'=>true));
|
||||
} elseif (strpos($body, 'Service non disponible')>0 || strpos($body, 'ponse trop long.')>0) {
|
||||
$nbIndispo++;
|
||||
if ($nbIndispo<3) {
|
||||
//echo date ('Y/m/d - H:i:s') .' - '.$eol;
|
||||
Metier_Util_Log::write('I', "TVA Siren $siren, Service de l'état membre indisponible. Mise en sommeil...", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
sleep(rand(1, 2));
|
||||
$nbIndispo=0;
|
||||
//echo date ('Y/m/d - H:i:s') .' - Reprise du Siren = '. $siren . $eol;
|
||||
} else {
|
||||
$tabInsert=array('siren'=>$siren,'cle'=>'NULL', 'duree'=>$duree);
|
||||
$tabUpdate=array('cle'=>'NULL', 'duree'=>$duree);
|
||||
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert))
|
||||
if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$siren"))
|
||||
Metier_Util_Log::write('W', "Siren $siren, numéro de TVA = FR $cle $siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
Metier_Util_Log::write('I', "Siren $siren, numéro de TVA = FR $cle $siren vérification non disponible ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
$this->vatNumber="FR$cle$siren";
|
||||
$this->vatDefined=false;
|
||||
return true;
|
||||
}
|
||||
//echo date ('Y/m/d - H:i:s') .' - Temporisation n°'.$nbIndispo . $eol;
|
||||
} else {
|
||||
$tabInsert=array('siren'=>$siren,'cle'=>'NULL', 'duree'=>$duree);
|
||||
$tabUpdate=array('cle'=>'NULL', 'duree'=>$duree);
|
||||
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert))
|
||||
if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$siren"))
|
||||
Metier_Util_Log::write('W', "Siren $siren, numéro de TVA = FR $cle $siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
Metier_Util_Log::write('I', "Siren $siren, numéro de TVA = FR $cle $siren non attribué ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
$this->vatNumber="FR$cle$siren";
|
||||
$this->vatDefined=false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$this->errnum=999;
|
||||
$this->errmsg="Pas d'accès à la base TVA";
|
||||
$this->vatNumber="FR$cle$siren";
|
||||
$this->vatDefined=false;
|
||||
return true;
|
||||
}
|
||||
Metier_Util_Log::write('W', "Erreur impossible (car l'algo ne devrait pas passer par ici) sur le Siren $siren, numéro de TVA = FR $cle $siren. Durée = $duree s. Cas impossible !", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
|
||||
return true;//array('error'=>array('errnum'=>800, 'errmsg'=>'Erreur SGBDR'), 'result'=>$tabRet);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
** Génère la clé du numéro de TVA pour le siren fournit
|
||||
** (la validité du numéro de siren et son existance n'est pas effectué par cette méthode)
|
||||
**
|
||||
** @param integer $siren Siren dont il faut générer la clé
|
||||
** @return La clé du numéro de TVA
|
||||
**/
|
||||
private function genereCleFr() {
|
||||
|
||||
$siren=$this->siren;
|
||||
|
||||
// Position du chiffre SIREN (1 à 9)
|
||||
$tabFirst=array();
|
||||
$tabFirst[0]=array( 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
$tabFirst[1]=array(62,47,94,89,40,06,22,43,16);
|
||||
$tabFirst[2]=array(14,81,78,68,67,96,31,73,19);
|
||||
$tabFirst[3]=array(63,18,62,47,94,89,40,06,22);
|
||||
$tabFirst[4]=array(15,52,46,26,24,82,49,36,25);
|
||||
$tabFirst[5]=array(64,86,30,05,51,75,58,66,28);
|
||||
$tabFirst[6]=array(16,23,14,81,78,68,67,96,31);
|
||||
$tabFirst[7]=array(65,57,95,60,08,61,76,29,34);
|
||||
$tabFirst[8]=array(17,91,79,39,35,54,85,59,37);
|
||||
$tabFirst[9]=array(66,28,63,18,62,47,94,89,40);
|
||||
|
||||
// Chiffre 0 à 9
|
||||
$tabPoids=array(1,34,-16,-21,27,-7,9,30,3);
|
||||
$cle=$first=0;
|
||||
for($pos=0; $pos<9; $pos++) {
|
||||
$chiffre=$siren[$pos];
|
||||
if ($first==0) {
|
||||
$first=$cle=$tabFirst[$chiffre][$pos];
|
||||
} else {
|
||||
$cle+=$tabPoids[$pos]*$chiffre;
|
||||
}
|
||||
}
|
||||
while(true) {
|
||||
if ($cle>96) $cle=$cle-97;
|
||||
elseif ($cle<0) $cle=$cle+97;
|
||||
else break;
|
||||
}
|
||||
if ($cle==0) return 96;
|
||||
return ($cle-1);
|
||||
}
|
||||
|
||||
|
||||
/** Test de la validité du siren demandé
|
||||
** @param int SIREN à tester
|
||||
** @param int NIC (facultatif)
|
||||
** @param mixed Message textuel d'erreur à afficher en cas d'erreur ou false
|
||||
** @return mixed true, false ou Message d'erreur passé en paramètre
|
||||
**/
|
||||
private function valideSiren($siren, $nic='', $erreur=false) {
|
||||
|
||||
/** Si le siren est de taille < à 9, on ajoute des 0 significatifs **/
|
||||
switch (strlen($siren)) {
|
||||
case 1: $siren='00000000'.$siren; break;
|
||||
case 2: $siren='0000000'.$siren; break;
|
||||
case 3: $siren='000000'.$siren; break;
|
||||
case 4: $siren='00000'.$siren; break;
|
||||
case 5: $siren='0000'.$siren; break;
|
||||
case 6: $siren='000'.$siren; break;
|
||||
case 7: $siren='00'.$siren; break;
|
||||
case 8: $siren='0'.$siren; break;
|
||||
}
|
||||
|
||||
if (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 (!Metier_Util_String::valideData($siren, 9, 9,'N')) //Siren non précisé ou incorrect.
|
||||
return $erreur;
|
||||
elseif ($siren*1==0) // Siren vide
|
||||
return $erreur;
|
||||
else
|
||||
{
|
||||
if (!isset($nic) || trim($nic)=='')
|
||||
{
|
||||
$somme=0;
|
||||
for ($i=0; $i<=8; $i+=2) // Traitement IMPAIR
|
||||
$somme+=(integer)substr($siren,$i,1);
|
||||
|
||||
for ($i=1; $i<=7; $i+=2)
|
||||
{ // Traitement PAIR
|
||||
$var_tmp=(string)(2*((integer)substr($siren,$i,1)));
|
||||
$som_tmp=0;
|
||||
for($j=0;$j<strlen($var_tmp);$j++)
|
||||
$som_tmp+=(integer)substr($var_tmp,$j,1);
|
||||
$somme+=$som_tmp;
|
||||
}
|
||||
|
||||
if ((integer)($somme/10)!=($somme/10))
|
||||
{ // Le Siren est faux
|
||||
if (substr($siren,0,3)!='200') // Les siren débutant par 200 sont toujours valides (sirens provisoires de la BDF?!)
|
||||
return $erreur;
|
||||
}
|
||||
} else {
|
||||
if (!Metier_Util_String::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;
|
||||
}
|
||||
}
|
1440
library/Metier/Scores/Comment/ScoreTri405N2.php
Normal file
1440
library/Metier/Scores/Comment/ScoreTri405N2.php
Normal file
File diff suppressed because it is too large
Load Diff
1552
library/Metier/Scores/Comment/ScoreTri408N2.php
Normal file
1552
library/Metier/Scores/Comment/ScoreTri408N2.php
Normal file
File diff suppressed because it is too large
Load Diff
1563
library/Metier/Scores/Comment/ScoreTri409N2.php
Normal file
1563
library/Metier/Scores/Comment/ScoreTri409N2.php
Normal file
File diff suppressed because it is too large
Load Diff
1563
library/Metier/Scores/Comment/ScoreTri411N2.php
Normal file
1563
library/Metier/Scores/Comment/ScoreTri411N2.php
Normal file
File diff suppressed because it is too large
Load Diff
1566
library/Metier/Scores/Comment/ScoreTri414N2.php
Normal file
1566
library/Metier/Scores/Comment/ScoreTri414N2.php
Normal file
File diff suppressed because it is too large
Load Diff
4369
library/Metier/Scores/Comment/ScoreTxt405N2.php
Normal file
4369
library/Metier/Scores/Comment/ScoreTxt405N2.php
Normal file
File diff suppressed because it is too large
Load Diff
4732
library/Metier/Scores/Comment/ScoreTxt408N2.php
Normal file
4732
library/Metier/Scores/Comment/ScoreTxt408N2.php
Normal file
File diff suppressed because it is too large
Load Diff
4765
library/Metier/Scores/Comment/ScoreTxt409N2.php
Normal file
4765
library/Metier/Scores/Comment/ScoreTxt409N2.php
Normal file
File diff suppressed because it is too large
Load Diff
4765
library/Metier/Scores/Comment/ScoreTxt411N2.php
Normal file
4765
library/Metier/Scores/Comment/ScoreTxt411N2.php
Normal file
File diff suppressed because it is too large
Load Diff
4763
library/Metier/Scores/Comment/ScoreTxt414N2.php
Normal file
4763
library/Metier/Scores/Comment/ScoreTxt414N2.php
Normal file
File diff suppressed because it is too large
Load Diff
175
library/Metier/Scores/Comment/ValoTri24N2.php
Normal file
175
library/Metier/Scores/Comment/ValoTri24N2.php
Normal file
@ -0,0 +1,175 @@
|
||||
<?php
|
||||
/** Auto generated - 2015-09-20 18:32:10*/
|
||||
return array (
|
||||
5000 => 1000.10005,
|
||||
7000 => 5000.10007,
|
||||
7001 => 5000.10007001,
|
||||
7002 => 5000.10007002,
|
||||
7003 => 5000.10007003,
|
||||
9995 => 13101.10009995,
|
||||
9996 => 13100.10009996,
|
||||
199000 => 15100.10199,
|
||||
200000 => 15100.102,
|
||||
201000 => 15100.10201,
|
||||
202000 => 15100.10202,
|
||||
203000 => 15100.10203,
|
||||
204000 => 15100.10204,
|
||||
205000 => 15100.10205,
|
||||
205099 => 15010.10205099,
|
||||
205200 => 15010.102052,
|
||||
735100 => 102005.107351,
|
||||
735110 => 102005.1073511,
|
||||
735111 => 102005.10735111,
|
||||
735112 => 102005.10735112,
|
||||
735200 => 102005.107352,
|
||||
735300 => 102005.107353,
|
||||
735500 => 102005.107355,
|
||||
735930 => 102025.1073593,
|
||||
735950 => 102025.1073595,
|
||||
2400101 => 52201.12400101,
|
||||
2400102 => 52201.12400102,
|
||||
2400103 => 52201.12400103,
|
||||
2400109 => 52201.12400109,
|
||||
2400111 => 52201.12400111,
|
||||
2400112 => 52201.12400112,
|
||||
2400119 => 52201.12400119,
|
||||
2400121 => 52201.12400121,
|
||||
2400122 => 52201.12400122,
|
||||
2400123 => 52201.12400123,
|
||||
2400124 => 52201.12400124,
|
||||
2400125 => 52201.12400125,
|
||||
2400126 => 52201.12400126,
|
||||
2400200 => 52201.124002,
|
||||
2400210 => 52201.1240021,
|
||||
2400300 => 52201.124003,
|
||||
2400310 => 52201.1240031,
|
||||
2400410 => 52201.1240041,
|
||||
2400420 => 52201.1240042,
|
||||
2400430 => 52201.1240043,
|
||||
3902100 => 102095.139021,
|
||||
3902101 => 102095.13902101,
|
||||
3902110 => 102095.1390211,
|
||||
3902111 => 102095.13902111,
|
||||
3902130 => 102095.1390213,
|
||||
3902131 => 102095.13902131,
|
||||
3902200 => 102095.139022,
|
||||
3902300 => 102095.139023,
|
||||
3902301 => 102095.13902301,
|
||||
3902310 => 102095.1390231,
|
||||
3902311 => 102095.13902311,
|
||||
3902330 => 102095.1390233,
|
||||
3902331 => 102095.13902331,
|
||||
3902900 => 102095.139029,
|
||||
3910001 => 101002.13910001,
|
||||
3910100 => 101002.139101,
|
||||
3910101 => 101002.13910101,
|
||||
3910120 => 101002.1391012,
|
||||
3910121 => 101002.13910121,
|
||||
3910130 => 101002.1391013,
|
||||
3910131 => 101002.13910131,
|
||||
3910135 => 101002.13910135,
|
||||
3910136 => 101002.13910136,
|
||||
3910140 => 101002.1391014,
|
||||
3910141 => 101002.13910141,
|
||||
3910145 => 101002.13910145,
|
||||
3910146 => 101002.13910146,
|
||||
3910150 => 101002.1391015,
|
||||
3910151 => 101002.13910151,
|
||||
3910155 => 101002.13910155,
|
||||
3910156 => 101002.13910156,
|
||||
3910160 => 101002.1391016,
|
||||
3910161 => 101002.13910161,
|
||||
3910170 => 101002.1391017,
|
||||
3910171 => 101002.13910171,
|
||||
3910180 => 101002.1391018,
|
||||
3910181 => 101002.13910181,
|
||||
3910190 => 101002.1391019,
|
||||
3910191 => 101002.13910191,
|
||||
3911001 => 101003.13911001,
|
||||
3911100 => 101003.139111,
|
||||
3911101 => 101003.13911101,
|
||||
3911110 => 101003.1391111,
|
||||
3911111 => 101003.13911111,
|
||||
3911120 => 101003.1391112,
|
||||
3911121 => 101003.13911121,
|
||||
3911130 => 101003.1391113,
|
||||
3911131 => 101003.13911131,
|
||||
3911145 => 101003.13911145,
|
||||
3911146 => 101003.13911146,
|
||||
3911150 => 101003.1391115,
|
||||
3911151 => 101003.13911151,
|
||||
3911160 => 101003.1391116,
|
||||
3911161 => 101003.13911161,
|
||||
3911170 => 101003.1391117,
|
||||
3911171 => 101003.13911171,
|
||||
3911180 => 101003.1391118,
|
||||
3911181 => 101003.13911181,
|
||||
20001000 => 100101.30001,
|
||||
20011000 => 101001.30011,
|
||||
20011900 => 101009.300119,
|
||||
20012000 => 101201.30012,
|
||||
20012001 => 101201.30012001,
|
||||
20012002 => 101201.30012002,
|
||||
20012100 => 101201.300121,
|
||||
20012110 => 101201.3001211,
|
||||
20012120 => 101201.3001212,
|
||||
20012200 => 101301.300122,
|
||||
20012210 => 101301.3001221,
|
||||
20012220 => 101351.3001222,
|
||||
20012400 => 101401.300124,
|
||||
20012410 => 101201.3001241,
|
||||
20012420 => 101351.3001242,
|
||||
20020100 => 102001.300201,
|
||||
20020110 => 102006.3002011,
|
||||
20021200 => 102011.300212,
|
||||
20021210 => 102016.3002121,
|
||||
20022200 => 102021.300222,
|
||||
20022210 => 102026.3002221,
|
||||
20022500 => 102041.300225,
|
||||
20022510 => 102046.3002251,
|
||||
20023100 => 102051.300231,
|
||||
20023110 => 102056.3002311,
|
||||
20025200 => 102061.300252,
|
||||
20025210 => 102066.3002521,
|
||||
20026100 => 102071.300261,
|
||||
20026101 => 102071.30026101,
|
||||
20026110 => 102076.3002611,
|
||||
20027100 => 102091.300271,
|
||||
20028100 => 102101.300281,
|
||||
20028110 => 102106.3002811,
|
||||
20050100 => 103001.300501,
|
||||
20080201 => 104001.30080201,
|
||||
20080210 => 104001.3008021,
|
||||
20080215 => 104001.30080215,
|
||||
20080217 => 104001.30080217,
|
||||
20080220 => 104001.3008022,
|
||||
20080230 => 104001.3008023,
|
||||
20080240 => 104001.3008024,
|
||||
20080250 => 104001.3008025,
|
||||
20080260 => 104001.3008026,
|
||||
20080270 => 104001.3008027,
|
||||
20080280 => 104001.3008028,
|
||||
20080290 => 104001.3008029,
|
||||
20090310 => 109001.3009031,
|
||||
20090510 => 109101.3009051,
|
||||
20090610 => 109101.3009061,
|
||||
20090611 => 109101.30090611,
|
||||
20090710 => 109101.3009071,
|
||||
20090711 => 109101.30090711,
|
||||
20090712 => 109101.30090712,
|
||||
20090810 => 109101.3009081,
|
||||
20090830 => 109101.3009083,
|
||||
20090840 => 109101.3009084,
|
||||
20090910 => 109101.3009091,
|
||||
100000100 => 100100.1100001,
|
||||
100001000 => 101000.110001,
|
||||
100002000 => 101200.110002,
|
||||
100003000 => 101300.110003,
|
||||
100004000 => 101400.110004,
|
||||
100005000 => 101500.110005,
|
||||
100010000 => 108999.11001,
|
||||
100015000 => 103000.110015,
|
||||
100016000 => 104000.110016,
|
||||
100019000 => 109000.110019,
|
||||
100019100 => 109100.1100191,
|
||||
);
|
176
library/Metier/Scores/Comment/ValoTri26N2.php
Normal file
176
library/Metier/Scores/Comment/ValoTri26N2.php
Normal file
@ -0,0 +1,176 @@
|
||||
<?php
|
||||
/** Auto generated - 2015-09-20 18:32:15*/
|
||||
return array (
|
||||
100 => 100.100001,
|
||||
5000 => 1000.10005,
|
||||
7000 => 5000.10007,
|
||||
7001 => 5000.10007001,
|
||||
7002 => 5000.10007002,
|
||||
7003 => 5000.10007003,
|
||||
9995 => 13101.10009995,
|
||||
9996 => 13100.10009996,
|
||||
199000 => 15100.10199,
|
||||
200000 => 15100.102,
|
||||
201000 => 15100.10201,
|
||||
202000 => 15100.10202,
|
||||
203000 => 15100.10203,
|
||||
204000 => 15100.10204,
|
||||
205000 => 15100.10205,
|
||||
205099 => 15010.10205099,
|
||||
205200 => 15010.102052,
|
||||
735100 => 102005.107351,
|
||||
735110 => 102005.1073511,
|
||||
735111 => 102005.10735111,
|
||||
735112 => 102005.10735112,
|
||||
735200 => 102005.107352,
|
||||
735300 => 102005.107353,
|
||||
735500 => 102005.107355,
|
||||
735930 => 102025.1073593,
|
||||
735950 => 102025.1073595,
|
||||
2400101 => 52201.12400101,
|
||||
2400102 => 52201.12400102,
|
||||
2400103 => 52201.12400103,
|
||||
2400109 => 52201.12400109,
|
||||
2400111 => 52201.12400111,
|
||||
2400112 => 52201.12400112,
|
||||
2400119 => 52201.12400119,
|
||||
2400121 => 52201.12400121,
|
||||
2400122 => 52201.12400122,
|
||||
2400123 => 52201.12400123,
|
||||
2400124 => 52201.12400124,
|
||||
2400125 => 52201.12400125,
|
||||
2400126 => 52201.12400126,
|
||||
2400200 => 52201.124002,
|
||||
2400210 => 52201.1240021,
|
||||
2400300 => 52201.124003,
|
||||
2400310 => 52201.1240031,
|
||||
2400410 => 52201.1240041,
|
||||
2400420 => 52201.1240042,
|
||||
2400430 => 52201.1240043,
|
||||
3902100 => 102095.139021,
|
||||
3902101 => 102095.13902101,
|
||||
3902110 => 102095.1390211,
|
||||
3902111 => 102095.13902111,
|
||||
3902130 => 102095.1390213,
|
||||
3902131 => 102095.13902131,
|
||||
3902200 => 102095.139022,
|
||||
3902300 => 102095.139023,
|
||||
3902301 => 102095.13902301,
|
||||
3902310 => 102095.1390231,
|
||||
3902311 => 102095.13902311,
|
||||
3902330 => 102095.1390233,
|
||||
3902331 => 102095.13902331,
|
||||
3902900 => 102095.139029,
|
||||
3910001 => 101002.13910001,
|
||||
3910100 => 101002.139101,
|
||||
3910101 => 101002.13910101,
|
||||
3910120 => 101002.1391012,
|
||||
3910121 => 101002.13910121,
|
||||
3910130 => 101002.1391013,
|
||||
3910131 => 101002.13910131,
|
||||
3910135 => 101002.13910135,
|
||||
3910136 => 101002.13910136,
|
||||
3910140 => 101002.1391014,
|
||||
3910141 => 101002.13910141,
|
||||
3910145 => 101002.13910145,
|
||||
3910146 => 101002.13910146,
|
||||
3910150 => 101002.1391015,
|
||||
3910151 => 101002.13910151,
|
||||
3910155 => 101002.13910155,
|
||||
3910156 => 101002.13910156,
|
||||
3910160 => 101002.1391016,
|
||||
3910161 => 101002.13910161,
|
||||
3910170 => 101002.1391017,
|
||||
3910171 => 101002.13910171,
|
||||
3910180 => 101002.1391018,
|
||||
3910181 => 101002.13910181,
|
||||
3910190 => 101002.1391019,
|
||||
3910191 => 101002.13910191,
|
||||
3911001 => 101003.13911001,
|
||||
3911100 => 101003.139111,
|
||||
3911101 => 101003.13911101,
|
||||
3911110 => 101003.1391111,
|
||||
3911111 => 101003.13911111,
|
||||
3911120 => 101003.1391112,
|
||||
3911121 => 101003.13911121,
|
||||
3911130 => 101003.1391113,
|
||||
3911131 => 101003.13911131,
|
||||
3911145 => 101003.13911145,
|
||||
3911146 => 101003.13911146,
|
||||
3911150 => 101003.1391115,
|
||||
3911151 => 101003.13911151,
|
||||
3911160 => 101003.1391116,
|
||||
3911161 => 101003.13911161,
|
||||
3911170 => 101003.1391117,
|
||||
3911171 => 101003.13911171,
|
||||
3911180 => 101003.1391118,
|
||||
3911181 => 101003.13911181,
|
||||
20001000 => 1001.30001,
|
||||
20011000 => 101001.30011,
|
||||
20011900 => 101009.300119,
|
||||
20012000 => 101201.30012,
|
||||
20012001 => 101201.30012001,
|
||||
20012002 => 101201.30012002,
|
||||
20012100 => 101201.300121,
|
||||
20012110 => 101201.3001211,
|
||||
20012120 => 101201.3001212,
|
||||
20012200 => 101301.300122,
|
||||
20012210 => 101301.3001221,
|
||||
20012220 => 101351.3001222,
|
||||
20012400 => 101401.300124,
|
||||
20012410 => 101201.3001241,
|
||||
20012420 => 101351.3001242,
|
||||
20020100 => 102001.300201,
|
||||
20020110 => 102006.3002011,
|
||||
20021200 => 102011.300212,
|
||||
20021210 => 102016.3002121,
|
||||
20022200 => 102021.300222,
|
||||
20022210 => 102026.3002221,
|
||||
20022500 => 102041.300225,
|
||||
20022510 => 102046.3002251,
|
||||
20023100 => 102051.300231,
|
||||
20023110 => 102056.3002311,
|
||||
20025200 => 102061.300252,
|
||||
20025210 => 102066.3002521,
|
||||
20026100 => 102071.300261,
|
||||
20026101 => 102071.30026101,
|
||||
20026110 => 102076.3002611,
|
||||
20027100 => 102071.300271,
|
||||
20028100 => 102101.300281,
|
||||
20028110 => 102106.3002811,
|
||||
20050100 => 103001.300501,
|
||||
20080201 => 104001.30080201,
|
||||
20080210 => 104001.3008021,
|
||||
20080215 => 104001.30080215,
|
||||
20080217 => 104001.30080217,
|
||||
20080220 => 104001.3008022,
|
||||
20080230 => 104001.3008023,
|
||||
20080240 => 104001.3008024,
|
||||
20080250 => 104001.3008025,
|
||||
20080260 => 104001.3008026,
|
||||
20080270 => 104001.3008027,
|
||||
20080280 => 104001.3008028,
|
||||
20080290 => 104001.3008029,
|
||||
20090310 => 109001.3009031,
|
||||
20090510 => 109101.3009051,
|
||||
20090610 => 109101.3009061,
|
||||
20090611 => 109101.30090611,
|
||||
20090710 => 109101.3009071,
|
||||
20090711 => 109101.30090711,
|
||||
20090712 => 109101.30090712,
|
||||
20090810 => 109101.3009081,
|
||||
20090830 => 109101.3009083,
|
||||
20090840 => 109101.3009084,
|
||||
20090910 => 109101.3009091,
|
||||
100000100 => 100100.1100001,
|
||||
100001000 => 101000.110001,
|
||||
100002000 => 101200.110002,
|
||||
100003000 => 101300.110003,
|
||||
100004000 => 101400.110004,
|
||||
100005000 => 101500.110005,
|
||||
100010000 => 108999.11001,
|
||||
100015000 => 103000.110015,
|
||||
100016000 => 104000.110016,
|
||||
100019000 => 109000.110019,
|
||||
100019100 => 109100.1100191,
|
||||
);
|
176
library/Metier/Scores/Comment/ValoTri28N2.php
Normal file
176
library/Metier/Scores/Comment/ValoTri28N2.php
Normal file
@ -0,0 +1,176 @@
|
||||
<?php
|
||||
/** Auto generated - 2015-09-20 18:32:15*/
|
||||
return array(
|
||||
100 => 100.100001,
|
||||
5000 => 1000.10005,
|
||||
7000 => 5000.10007,
|
||||
7001 => 5000.10007001,
|
||||
7002 => 5000.10007002,
|
||||
7003 => 5000.10007003,
|
||||
9995 => 13101.10009995,
|
||||
9996 => 13100.10009996,
|
||||
199000 => 15100.10199,
|
||||
200000 => 15100.102,
|
||||
201000 => 15100.10201,
|
||||
202000 => 15100.10202,
|
||||
203000 => 15100.10203,
|
||||
204000 => 15100.10204,
|
||||
205000 => 15100.10205,
|
||||
205099 => 15010.10205099,
|
||||
205200 => 15010.102052,
|
||||
735100 => 10200.107351,
|
||||
735110 => 10200.1073511,
|
||||
735111 => 10200.10735111,
|
||||
735112 => 10200.10735112,
|
||||
735200 => 10200.107352,
|
||||
735300 => 10200.107353,
|
||||
735500 => 10200.107355,
|
||||
735930 => 10202.1073593,
|
||||
735950 => 10202.1073595,
|
||||
2400101 => 52201.12400101,
|
||||
2400102 => 52201.12400102,
|
||||
2400103 => 52201.12400103,
|
||||
2400109 => 52201.12400109,
|
||||
2400111 => 52201.12400111,
|
||||
2400112 => 52201.12400112,
|
||||
2400119 => 52201.12400119,
|
||||
2400121 => 52201.12400121,
|
||||
2400122 => 52201.12400122,
|
||||
2400123 => 52201.12400123,
|
||||
2400124 => 52201.12400124,
|
||||
2400125 => 52201.12400125,
|
||||
2400126 => 52201.12400126,
|
||||
2400200 => 52201.124002,
|
||||
2400210 => 52201.1240021,
|
||||
2400300 => 52201.124003,
|
||||
2400310 => 52201.1240031,
|
||||
2400410 => 52201.1240041,
|
||||
2400420 => 52201.1240042,
|
||||
2400430 => 52201.1240043,
|
||||
3902100 => 10209.139021,
|
||||
3902101 => 10209.13902101,
|
||||
3902110 => 10209.1390211,
|
||||
3902111 => 10209.13902111,
|
||||
3902130 => 10209.1390213,
|
||||
3902131 => 10209.13902131,
|
||||
3902200 => 10209.139022,
|
||||
3902300 => 10209.139023,
|
||||
3902301 => 10209.13902301,
|
||||
3902310 => 10209.1390231,
|
||||
3902311 => 10209.13902311,
|
||||
3902330 => 10209.1390233,
|
||||
3902331 => 10209.13902331,
|
||||
3902900 => 10209.139029,
|
||||
3910001 => 10100.13910001,
|
||||
3910100 => 10100.139101,
|
||||
3910101 => 10100.13910101,
|
||||
3910120 => 10100.1391012,
|
||||
3910121 => 10100.13910121,
|
||||
3910130 => 10100.1391013,
|
||||
3910131 => 10100.13910131,
|
||||
3910135 => 10100.13910135,
|
||||
3910136 => 10100.13910136,
|
||||
3910140 => 10100.1391014,
|
||||
3910141 => 10100.13910141,
|
||||
3910145 => 10100.13910145,
|
||||
3910146 => 10100.13910146,
|
||||
3910150 => 10100.1391015,
|
||||
3910151 => 10100.13910151,
|
||||
3910155 => 10100.13910155,
|
||||
3910156 => 10100.13910156,
|
||||
3910160 => 10100.1391016,
|
||||
3910161 => 10100.13910161,
|
||||
3910170 => 10100.1391017,
|
||||
3910171 => 10100.13910171,
|
||||
3910180 => 10100.1391018,
|
||||
3910181 => 10100.13910181,
|
||||
3910190 => 10100.1391019,
|
||||
3910191 => 10100.13910191,
|
||||
3911001 => 10100.13911001,
|
||||
3911100 => 10100.139111,
|
||||
3911101 => 10100.13911101,
|
||||
3911110 => 10100.1391111,
|
||||
3911111 => 10100.13911111,
|
||||
3911120 => 10100.1391112,
|
||||
3911121 => 10100.13911121,
|
||||
3911130 => 10100.1391113,
|
||||
3911131 => 10100.13911131,
|
||||
3911145 => 10100.13911145,
|
||||
3911146 => 10100.13911146,
|
||||
3911150 => 10100.1391115,
|
||||
3911151 => 10100.13911151,
|
||||
3911160 => 10100.1391116,
|
||||
3911161 => 10100.13911161,
|
||||
3911170 => 10100.1391117,
|
||||
3911171 => 10100.13911171,
|
||||
3911180 => 10100.1391118,
|
||||
3911181 => 10100.13911181,
|
||||
20001000 => 1001.30001,
|
||||
20011000 => 10100.30011,
|
||||
20011900 => 10100.300119,
|
||||
20012000 => 10120.30012,
|
||||
20012001 => 10120.30012001,
|
||||
20012002 => 10120.30012002,
|
||||
20012100 => 10120.300121,
|
||||
20012110 => 10120.3001211,
|
||||
20012120 => 10120.3001212,
|
||||
20012200 => 10130.300122,
|
||||
20012210 => 10130.3001221,
|
||||
20012220 => 10135.3001222,
|
||||
20012400 => 10140.300124,
|
||||
20012410 => 10120.3001241,
|
||||
20012420 => 10135.3001242,
|
||||
20020100 => 10200.300201,
|
||||
20020110 => 10200.3002011,
|
||||
20021200 => 10201.300212,
|
||||
20021210 => 10201.3002121,
|
||||
20022200 => 10202.300222,
|
||||
20022210 => 10202.3002221,
|
||||
20022500 => 10204.300225,
|
||||
20022510 => 10204.3002251,
|
||||
20023100 => 10205.300231,
|
||||
20023110 => 10205.3002311,
|
||||
20025200 => 10206.300252,
|
||||
20025210 => 10206.3002521,
|
||||
20026100 => 10207.300261,
|
||||
20026101 => 10207.30026101,
|
||||
20026110 => 10207.3002611,
|
||||
20027100 => 10207.300271,
|
||||
20028100 => 10210.300281,
|
||||
20028110 => 10210.3002811,
|
||||
20050100 => 10300.300501,
|
||||
20080201 => 10400.30080201,
|
||||
20080210 => 10400.3008021,
|
||||
20080215 => 10400.30080215,
|
||||
20080217 => 10400.30080217,
|
||||
20080220 => 10400.3008022,
|
||||
20080230 => 10400.3008023,
|
||||
20080240 => 10400.3008024,
|
||||
20080250 => 10400.3008025,
|
||||
20080260 => 10400.3008026,
|
||||
20080270 => 10400.3008027,
|
||||
20080280 => 10400.3008028,
|
||||
20080290 => 10400.3008029,
|
||||
20090310 => 10900.3009031,
|
||||
20090510 => 10910.3009051,
|
||||
20090610 => 10910.3009061,
|
||||
20090611 => 10910.30090611,
|
||||
20090710 => 10910.3009071,
|
||||
20090711 => 10910.30090711,
|
||||
20090712 => 10910.30090712,
|
||||
20090810 => 10910.3009081,
|
||||
20090830 => 10910.3009083,
|
||||
20090840 => 10910.3009084,
|
||||
20090910 => 10910.3009091,
|
||||
100000100 => 10010.1100001,
|
||||
100001000 => 10100.110001,
|
||||
100002000 => 10120.110002,
|
||||
100003000 => 10130.110003,
|
||||
100004000 => 10140.110004,
|
||||
100005000 => 10150.110005,
|
||||
100010000 => 10200.11001,
|
||||
100015000 => 10300.110015,
|
||||
100016000 => 10400.110016,
|
||||
100019000 => 10900.110019,
|
||||
100019100 => 10910.1100191,
|
||||
);
|
162
library/Metier/Scores/Comment/ValoTriv209N2.php
Normal file
162
library/Metier/Scores/Comment/ValoTriv209N2.php
Normal file
@ -0,0 +1,162 @@
|
||||
<?php
|
||||
/** Auto generated - 2015-09-20 18:32:29*/
|
||||
return array(
|
||||
100 => 100.100001,
|
||||
5000 => 1000.10005,
|
||||
7000 => 5000.10007,
|
||||
7001 => 5000.10007001,
|
||||
7002 => 5000.10007002,
|
||||
7003 => 5000.10007003,
|
||||
9995 => 13101.10009995,
|
||||
9996 => 13100.10009996,
|
||||
199000 => 15100.10199,
|
||||
200000 => 15100.102,
|
||||
201000 => 15100.10201,
|
||||
202000 => 15100.10202,
|
||||
203000 => 15100.10203,
|
||||
204000 => 15100.10204,
|
||||
205000 => 15100.10205,
|
||||
205099 => 15010.10205099,
|
||||
205200 => 15010.102052,
|
||||
735100 => 92005.107351,
|
||||
735110 => 92005.1073511,
|
||||
735111 => 92005.10735111,
|
||||
735112 => 92005.10735112,
|
||||
735200 => 92005.107352,
|
||||
735300 => 92005.107353,
|
||||
735500 => 92005.107355,
|
||||
735930 => 92025.1073593,
|
||||
735950 => 92025.1073595,
|
||||
2400101 => 52201.12400101,
|
||||
2400102 => 52201.12400102,
|
||||
2400103 => 52201.12400103,
|
||||
2400109 => 52201.12400109,
|
||||
2400111 => 52201.12400111,
|
||||
2400112 => 52201.12400112,
|
||||
2400119 => 52201.12400119,
|
||||
2400121 => 52201.12400121,
|
||||
2400122 => 52201.12400122,
|
||||
2400123 => 52201.12400123,
|
||||
2400124 => 52201.12400124,
|
||||
2400125 => 52201.12400125,
|
||||
2400126 => 52201.12400126,
|
||||
2400200 => 52201.124002,
|
||||
2400210 => 52201.1240021,
|
||||
2400300 => 52201.124003,
|
||||
2400310 => 52201.1240031,
|
||||
2400410 => 52201.1240041,
|
||||
2400420 => 52201.1240042,
|
||||
2400430 => 52201.1240043,
|
||||
3910001 => 91450.13910001,
|
||||
3910100 => 91450.139101,
|
||||
3910101 => 91450.13910101,
|
||||
3910120 => 91450.1391012,
|
||||
3910121 => 91450.13910121,
|
||||
3910130 => 91450.1391013,
|
||||
3910131 => 91450.13910131,
|
||||
3910135 => 91450.13910135,
|
||||
3910136 => 91450.13910136,
|
||||
3910140 => 91450.1391014,
|
||||
3910141 => 91450.13910141,
|
||||
3910145 => 91450.13910145,
|
||||
3910146 => 91450.13910146,
|
||||
3910150 => 91450.1391015,
|
||||
3910151 => 91450.13910151,
|
||||
3910155 => 91450.13910155,
|
||||
3910156 => 91450.13910156,
|
||||
3910160 => 91450.1391016,
|
||||
3910161 => 91450.13910161,
|
||||
3910170 => 91450.1391017,
|
||||
3910171 => 91450.13910171,
|
||||
3910180 => 91450.1391018,
|
||||
3910181 => 91450.13910181,
|
||||
3910190 => 91450.1391019,
|
||||
3910191 => 91450.13910191,
|
||||
3911001 => 92003.13911001,
|
||||
3911100 => 92003.139111,
|
||||
3911101 => 92003.13911101,
|
||||
3911110 => 92003.1391111,
|
||||
3911111 => 92003.13911111,
|
||||
3911120 => 92003.1391112,
|
||||
3911121 => 92003.13911121,
|
||||
3911130 => 92003.1391113,
|
||||
3911131 => 92003.13911131,
|
||||
3911145 => 92003.13911145,
|
||||
3911146 => 92003.13911146,
|
||||
3911150 => 92003.1391115,
|
||||
3911151 => 92003.13911151,
|
||||
3911160 => 92003.1391116,
|
||||
3911161 => 92003.13911161,
|
||||
3911170 => 92003.1391117,
|
||||
3911171 => 92003.13911171,
|
||||
3911180 => 92003.1391118,
|
||||
3911181 => 92003.13911181,
|
||||
20001000 => 1001.30001,
|
||||
20011000 => 91201.30011,
|
||||
20011900 => 91201.300119,
|
||||
20012000 => 91201.30012,
|
||||
20012001 => 91201.30012001,
|
||||
20012002 => 91201.30012002,
|
||||
20012100 => 91201.300121,
|
||||
20012110 => 91201.3001211,
|
||||
20012120 => 91201.3001212,
|
||||
20012200 => 91301.300122,
|
||||
20012210 => 91301.3001221,
|
||||
20012220 => 91351.3001222,
|
||||
20012420 => 91451.3001242,
|
||||
20020100 => 92001.300201,
|
||||
20020110 => 92006.3002011,
|
||||
20021200 => 92011.300212,
|
||||
20021210 => 92016.3002121,
|
||||
20022200 => 92021.300222,
|
||||
20022210 => 92026.3002221,
|
||||
20022500 => 92041.300225,
|
||||
20022510 => 92046.3002251,
|
||||
20023100 => 92051.300231,
|
||||
20023510 => 92056.3002351,
|
||||
20025200 => 92061.300252,
|
||||
20025210 => 92066.3002521,
|
||||
20026100 => 92071.300261,
|
||||
20026101 => 92071.30026101,
|
||||
20026109 => 92071.30026109,
|
||||
20026110 => 92076.3002611,
|
||||
20027100 => 92071.300271,
|
||||
20028100 => 92101.300281,
|
||||
20028110 => 92106.3002811,
|
||||
20050100 => 93001.300501,
|
||||
20080201 => 94001.30080201,
|
||||
20080210 => 94001.3008021,
|
||||
20080215 => 94001.30080215,
|
||||
20080217 => 94001.30080217,
|
||||
20080220 => 94001.3008022,
|
||||
20080230 => 94001.3008023,
|
||||
20080240 => 94001.3008024,
|
||||
20080250 => 94001.3008025,
|
||||
20080260 => 94001.3008026,
|
||||
20080270 => 94001.3008027,
|
||||
20080280 => 94001.3008028,
|
||||
20080290 => 94001.3008029,
|
||||
20090310 => 99001.3009031,
|
||||
20090510 => 99101.3009051,
|
||||
20090610 => 99101.3009061,
|
||||
20090611 => 99101.30090611,
|
||||
20090612 => 99101.30090612,
|
||||
20090710 => 99101.3009071,
|
||||
20090711 => 99101.30090711,
|
||||
20090712 => 99101.30090712,
|
||||
20090810 => 99101.3009081,
|
||||
20090830 => 99101.3009083,
|
||||
20090840 => 99101.3009084,
|
||||
20090910 => 99101.3009091,
|
||||
100000100 => 90100.1100001,
|
||||
100001000 => 91000.110001,
|
||||
100002000 => 91200.110002,
|
||||
100003000 => 91300.110003,
|
||||
100004000 => 91400.110004,
|
||||
100005000 => 91500.110005,
|
||||
100010000 => 92000.11001,
|
||||
100015000 => 93000.110015,
|
||||
100016000 => 94000.110016,
|
||||
100019000 => 99000.110019,
|
||||
100019100 => 99100.1100191,
|
||||
);
|
33
library/Metier/Scores/Comment/ValoTriv209N3.php
Normal file
33
library/Metier/Scores/Comment/ValoTriv209N3.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/** Auto generated - 2015-09-20 18:32:29*/
|
||||
return array(
|
||||
100 => 100.100001,
|
||||
5000 => 1000.10005,
|
||||
7000 => 5000.10007,
|
||||
20001000 => 1001.30001,
|
||||
20050100 => 93001.300501,
|
||||
20080201 => 94002.30080201,
|
||||
20080210 => 94001.3008021,
|
||||
20080215 => 94001.30080215,
|
||||
20080217 => 94001.30080217,
|
||||
20080220 => 94001.3008022,
|
||||
20080230 => 94001.3008023,
|
||||
20080240 => 94001.3008024,
|
||||
20080250 => 94001.3008025,
|
||||
20080260 => 94001.3008026,
|
||||
20080270 => 94001.3008027,
|
||||
20080280 => 94001.3008028,
|
||||
20080290 => 94001.3008029,
|
||||
20090310 => 99001.3009031,
|
||||
20090510 => 99101.3009051,
|
||||
20090610 => 99101.3009061,
|
||||
20090611 => 99101.30090611,
|
||||
20090612 => 99101.30090612,
|
||||
20090710 => 99101.3009071,
|
||||
20090711 => 99101.30090711,
|
||||
20090712 => 99101.30090712,
|
||||
20090810 => 99101.3009081,
|
||||
20090830 => 99101.3009083,
|
||||
20090840 => 99101.3009084,
|
||||
20090910 => 99101.3009091,
|
||||
);
|
602
library/Metier/Scores/Comment/ValoTxt24N2.php
Normal file
602
library/Metier/Scores/Comment/ValoTxt24N2.php
Normal file
@ -0,0 +1,602 @@
|
||||
<?php
|
||||
/** Auto generated - 2015-09-20 18:32:10*/
|
||||
return array(
|
||||
5000 => array(
|
||||
1 => "Valorisation de {NOMEN} en date du : {JOUR_DATE}
|
||||
",
|
||||
),
|
||||
7000 => array(
|
||||
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
|
||||
),
|
||||
7001 => array(
|
||||
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
|
||||
),
|
||||
7002 => array(
|
||||
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
|
||||
),
|
||||
7003 => array(
|
||||
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
|
||||
),
|
||||
9995 => array(
|
||||
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"
|
||||
",
|
||||
),
|
||||
9996 => array(
|
||||
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}
|
||||
",
|
||||
),
|
||||
199000 => array(
|
||||
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
|
||||
),
|
||||
200000 => array(
|
||||
0 => "Cette entreprise est une PME à vocation principalement régionale.",
|
||||
),
|
||||
201000 => array(
|
||||
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
|
||||
),
|
||||
202000 => array(
|
||||
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
|
||||
),
|
||||
203000 => array(
|
||||
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
|
||||
),
|
||||
204000 => array(
|
||||
0 => "C'est une des premières entreprises françaises.",
|
||||
),
|
||||
205000 => array(
|
||||
0 => "C'est une PME qui compte dans le département {DEPSIE}.",
|
||||
),
|
||||
205099 => array(
|
||||
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
|
||||
),
|
||||
205200 => array(
|
||||
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
|
||||
),
|
||||
735100 => array(
|
||||
0 => "<B>Projection du CA sur 3 ans:</B>",
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
|
||||
),
|
||||
735110 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735111 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735112 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735200 => array(
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
|
||||
),
|
||||
735300 => array(
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
|
||||
),
|
||||
735500 => array(
|
||||
9 => "COULEUR(VER3,ROU1,MET3)",
|
||||
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
|
||||
),
|
||||
735930 => array(
|
||||
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
|
||||
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
|
||||
),
|
||||
735950 => array(
|
||||
9 => "COULEUR(JAU1,ROU1,MET3)",
|
||||
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
|
||||
),
|
||||
2400101 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400102 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400103 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400109 => array(
|
||||
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400111 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400112 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400119 => array(
|
||||
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {MARCHEVOL}.",
|
||||
),
|
||||
2400121 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400122 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400123 => array(
|
||||
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400124 => array(
|
||||
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400125 => array(
|
||||
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400126 => array(
|
||||
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400200 => array(
|
||||
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
|
||||
),
|
||||
2400210 => array(
|
||||
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
|
||||
),
|
||||
2400300 => array(
|
||||
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
|
||||
),
|
||||
2400310 => array(
|
||||
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
|
||||
),
|
||||
2400410 => array(
|
||||
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
|
||||
),
|
||||
2400420 => array(
|
||||
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
|
||||
),
|
||||
2400430 => array(
|
||||
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
|
||||
),
|
||||
3902100 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_VILLE_NB} affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902101 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902110 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_VILLE_EU}.",
|
||||
),
|
||||
3902111 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMIN_VILLE_EU}.",
|
||||
),
|
||||
3902130 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans la même localité pour un montant de {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902131 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902200 => array(
|
||||
10 => "<C.>, alors qu'on dénombre {VENTE_DEP_NB} cessions dans le département dans une fourchette de {VENTEMIN_DEP_EU} à {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902300 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_DEP_NB} affaires de la proche région se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902301 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du département se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902310 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_DEP_EU}.",
|
||||
),
|
||||
3902311 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du même département se sont négociées aux environs de {VENTEMIN_DEP_EU}.",
|
||||
),
|
||||
3902330 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans le même département pour un montant de {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902331 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la proche région se sont négociées aux environs de {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902900 => array(
|
||||
10 => "(Sur l'ensemble du territoire, sur la même période, ce sont {VENTE_FRA_NB} ventes qui sont intervenues pour un montant moyen de {VENTEMOY_FRA_EU})",
|
||||
),
|
||||
3910001 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
|
||||
),
|
||||
3910100 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
|
||||
),
|
||||
3910101 => array(
|
||||
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
|
||||
),
|
||||
3910120 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
|
||||
),
|
||||
3910121 => array(
|
||||
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
|
||||
),
|
||||
3910130 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
|
||||
),
|
||||
3910131 => array(
|
||||
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
|
||||
),
|
||||
3910135 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
|
||||
),
|
||||
3910136 => array(
|
||||
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
|
||||
),
|
||||
3910140 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3910141 => array(
|
||||
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3910145 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3910146 => array(
|
||||
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3910150 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
|
||||
),
|
||||
3910151 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
|
||||
),
|
||||
3910155 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
|
||||
),
|
||||
3910156 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
|
||||
),
|
||||
3910160 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
|
||||
),
|
||||
3910161 => array(
|
||||
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
|
||||
),
|
||||
3910170 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3910171 => array(
|
||||
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3910180 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3910181 => array(
|
||||
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3910190 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
|
||||
),
|
||||
3910191 => array(
|
||||
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
|
||||
),
|
||||
3911001 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
|
||||
),
|
||||
3911100 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
|
||||
),
|
||||
3911101 => array(
|
||||
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
|
||||
),
|
||||
3911110 => array(
|
||||
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
|
||||
),
|
||||
3911111 => array(
|
||||
10 => "<TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
|
||||
),
|
||||
3911120 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
|
||||
),
|
||||
3911121 => array(
|
||||
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
|
||||
),
|
||||
3911130 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3911131 => array(
|
||||
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3911145 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3911146 => array(
|
||||
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3911150 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
|
||||
),
|
||||
3911151 => array(
|
||||
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
|
||||
),
|
||||
3911160 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3911161 => array(
|
||||
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3911170 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3911171 => array(
|
||||
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3911180 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
|
||||
),
|
||||
3911181 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
|
||||
),
|
||||
20001000 => array(
|
||||
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
|
||||
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
|
||||
31 => "<LI> celles qui relèvent d’une approche patrimoniale.",
|
||||
32 => "<LI> celles qui s’appuient sur la rentabilité.",
|
||||
33 => "<LI> celles qui découlent d’une comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
|
||||
50 => "L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.",
|
||||
),
|
||||
20011000 => array(
|
||||
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
|
||||
),
|
||||
20011900 => array(
|
||||
0 => "<BR>",
|
||||
10 => "<I>A noter que au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
|
||||
20 => "<LI> Potentiel de développement.",
|
||||
21 => "<LI> Positionnement sur son marché et concurrence.",
|
||||
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
|
||||
23 => "<LI> Motivation et ambiance interne.",
|
||||
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
|
||||
),
|
||||
20012000 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012001 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012002 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012100 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
|
||||
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
|
||||
),
|
||||
20012110 => array(
|
||||
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif </TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
|
||||
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
|
||||
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
|
||||
),
|
||||
20012120 => array(
|
||||
1 => "<TR CLASS=\"TOTAL\"><TH>Total Passif </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
|
||||
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
|
||||
),
|
||||
20012200 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
|
||||
),
|
||||
20012210 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
|
||||
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
|
||||
),
|
||||
20012220 => array(
|
||||
0 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
|
||||
),
|
||||
20012400 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> Compte de Résultat </TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
|
||||
),
|
||||
20012410 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Chiffre d'affaires </TH><TD>{Rp2[005]}</TD><TD>{Rp[005]}</TD><TD>{R[005]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Marge commerciale </TH><TD>{Rp2[110]}</TD><TD>{Rp[110]}</TD><TD>{R[110]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Valeur ajoutée </TH><TD>{Rp2[130]}</TD><TD>{Rp[130]}</TD><TD>{R[130]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Excédent brut d'exploitation </TH><TD>{Rp2[140]}</TD><TD>{Rp[140]}</TD><TD>{R[140]}</TD></TR>",
|
||||
51 => "<TR CLASS=\"LIGNE1\"><TH>Résultat courant avant impôts </TH><TD>{Rp2[150]}</TD><TD>{Rp[150]}</TD><TD>{R[150]}</TD></TR>",
|
||||
61 => "<TR CLASS=\"BLANC\"><TH>Résultat exceptionnel </TH><TD>{Rp2[180]}</TD><TD>{Rp[180]}</TD><TD>{R[180]}</TD></TR>",
|
||||
71 => "<TR CLASS=\"LIGNE1\"><TH>Résultat net </TH><TD>{Rp2[010]}</TD><TD>{Rp[010]}</TD><TD>{R[010]}</TD></TR>",
|
||||
),
|
||||
20012420 => array(
|
||||
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
|
||||
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
|
||||
),
|
||||
20020100 => array(
|
||||
0 => "<H3> Multiple du Chiffre d'affaires",
|
||||
51 => "Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.",
|
||||
),
|
||||
20020110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
|
||||
),
|
||||
20021200 => array(
|
||||
0 => "<H3> Méthode de la valeur patrimoniale",
|
||||
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
|
||||
51 => "La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.",
|
||||
),
|
||||
20021210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
|
||||
),
|
||||
20022200 => array(
|
||||
0 => "<H3> Méthode de la valeur de productivité",
|
||||
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de l’entreprise au travers la capitalisation du benéfice corrigé des dotations. Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.",
|
||||
),
|
||||
20022210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
|
||||
),
|
||||
20022500 => array(
|
||||
0 => "<H3> Méthode de la valeur du rendement",
|
||||
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit qu’à l’égard d’entreprises sociétaires qui pratiquent une politique régulière de distribution.",
|
||||
51 => "Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.",
|
||||
),
|
||||
20022510 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
|
||||
),
|
||||
20023100 => array(
|
||||
0 => "<H3> Multiple du Bénéfice",
|
||||
10 => "On peux considérer qu’une entreprise vaut par sa rentabilité, sur la base d’un multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de l’impôt sur les sociétés), afin d’éliminer les éléments exceptionnels affectant le résultat net comptable.",
|
||||
51 => "Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.",
|
||||
),
|
||||
20023110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
|
||||
),
|
||||
20025200 => array(
|
||||
0 => "<H3> Multiple de l'EBE",
|
||||
10 => "Cette méthode repose sur une évaluation globale de l’entreprise prenant en compte l’endettement financier de la société.",
|
||||
20 => "La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.",
|
||||
),
|
||||
20025210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"EBE\",R[301]#H)}",
|
||||
),
|
||||
20026100 => array(
|
||||
0 => "<H3> Multiple de la MBA",
|
||||
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
|
||||
11 => "La présence de terrains dans une forte proportion élargit la fourchette de l'estimation. ",
|
||||
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
|
||||
),
|
||||
20026101 => array(
|
||||
0 => "<H3> Multiple de la MBA",
|
||||
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
|
||||
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
|
||||
),
|
||||
20026110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"MBA\",R[333]#H)}",
|
||||
),
|
||||
20027100 => array(
|
||||
0 => "<H3> La méthode par comparaison",
|
||||
),
|
||||
20028100 => array(
|
||||
0 => "<H3> La méthode d’évaluation par la Situation Nette Comptable (SNC)",
|
||||
20 => "Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.",
|
||||
),
|
||||
20028110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
|
||||
),
|
||||
20050100 => array(
|
||||
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
|
||||
),
|
||||
20080201 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
|
||||
),
|
||||
20080210 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
|
||||
),
|
||||
20080215 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
|
||||
),
|
||||
20080217 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
|
||||
),
|
||||
20080220 => array(
|
||||
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
|
||||
),
|
||||
20080230 => array(
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
|
||||
),
|
||||
20080240 => array(
|
||||
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
|
||||
),
|
||||
20080250 => array(
|
||||
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
|
||||
),
|
||||
20080260 => array(
|
||||
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
|
||||
),
|
||||
20080270 => array(
|
||||
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
|
||||
),
|
||||
20080280 => array(
|
||||
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
|
||||
),
|
||||
20080290 => array(
|
||||
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
|
||||
),
|
||||
20090310 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
|
||||
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
|
||||
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
|
||||
),
|
||||
20090510 => array(
|
||||
20 => "<LI> Les immobilisations corporelles doivent être réévaluées à leur valeur de marché et non comptable. ",
|
||||
),
|
||||
20090610 => array(
|
||||
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme exigibles au moment de la cession.",
|
||||
),
|
||||
20090611 => array(
|
||||
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court, moyen et long termes exigibles au moment de la cession.",
|
||||
),
|
||||
20090710 => array(
|
||||
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières portées au bilan.",
|
||||
),
|
||||
20090711 => array(
|
||||
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes fournisseurs portées au bilan.",
|
||||
),
|
||||
20090712 => array(
|
||||
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières et fournisseurs portées au bilan.",
|
||||
),
|
||||
20090810 => array(
|
||||
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
|
||||
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
|
||||
),
|
||||
20090830 => array(
|
||||
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
|
||||
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
|
||||
),
|
||||
20090840 => array(
|
||||
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
|
||||
),
|
||||
20090910 => array(
|
||||
20 => "<LI> Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
|
||||
),
|
||||
100000100 => array(
|
||||
0 => "<H1>PRESENTATION",
|
||||
),
|
||||
100001000 => array(
|
||||
0 => "<H1>DIAGNOSTIC",
|
||||
),
|
||||
100002000 => array(
|
||||
0 => "<H1>PATRIMOINE & RESULTATS",
|
||||
),
|
||||
100003000 => array(
|
||||
0 => "<H2>BILANS",
|
||||
),
|
||||
100004000 => array(
|
||||
0 => "<H2>COMPTE DE RESULTAT",
|
||||
),
|
||||
100005000 => array(
|
||||
0 => "<H1>RETRAITEMENT",
|
||||
),
|
||||
100010000 => array(
|
||||
0 => "<BLOC><H1>METHODES DE CALCUL",
|
||||
99 => "</BLOC>",
|
||||
),
|
||||
100015000 => array(
|
||||
0 => "<H2>Les méthodes retenues",
|
||||
),
|
||||
100016000 => array(
|
||||
0 => "<H2>Pondération des méthodes",
|
||||
),
|
||||
100019000 => array(
|
||||
0 => "<H1>CONCLUSION",
|
||||
),
|
||||
100019100 => array(
|
||||
0 => "<H2>Observations",
|
||||
),
|
||||
);
|
610
library/Metier/Scores/Comment/ValoTxt26N2.php
Normal file
610
library/Metier/Scores/Comment/ValoTxt26N2.php
Normal file
@ -0,0 +1,610 @@
|
||||
<?php
|
||||
/** Auto generated - 2015-09-20 18:32:15*/
|
||||
return array(
|
||||
100 => array(
|
||||
1 => "Version 2.6",
|
||||
),
|
||||
5000 => array(
|
||||
1 => "Valorisation de {NOMEN} en date du : {JOUR_DATE}",
|
||||
),
|
||||
7000 => array(
|
||||
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
|
||||
),
|
||||
7001 => array(
|
||||
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
|
||||
),
|
||||
7002 => array(
|
||||
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
|
||||
),
|
||||
7003 => array(
|
||||
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
|
||||
),
|
||||
9995 => array(
|
||||
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"
|
||||
",
|
||||
),
|
||||
9996 => array(
|
||||
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}
|
||||
",
|
||||
),
|
||||
199000 => array(
|
||||
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
|
||||
),
|
||||
200000 => array(
|
||||
0 => "Cette entreprise est une PME à vocation principalement régionale.",
|
||||
),
|
||||
201000 => array(
|
||||
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
|
||||
),
|
||||
202000 => array(
|
||||
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
|
||||
),
|
||||
203000 => array(
|
||||
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
|
||||
),
|
||||
204000 => array(
|
||||
0 => "C'est une des premières entreprises françaises.",
|
||||
),
|
||||
205000 => array(
|
||||
0 => "C'est une PME qui compte dans le département {DEPSIE}.",
|
||||
),
|
||||
205099 => array(
|
||||
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
|
||||
),
|
||||
205200 => array(
|
||||
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
|
||||
),
|
||||
735100 => array(
|
||||
0 => "<B>Projection du CA sur 3 ans:</B>",
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
|
||||
),
|
||||
735110 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735111 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735112 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735200 => array(
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
|
||||
),
|
||||
735300 => array(
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
|
||||
),
|
||||
735500 => array(
|
||||
9 => "COULEUR(VER3,ROU1,MET3)",
|
||||
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
|
||||
),
|
||||
735930 => array(
|
||||
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
|
||||
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
|
||||
),
|
||||
735950 => array(
|
||||
9 => "COULEUR(JAU1,ROU1,MET3)",
|
||||
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
|
||||
),
|
||||
2400101 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400102 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400103 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400109 => array(
|
||||
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400111 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400112 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400119 => array(
|
||||
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {MARCHEVOL}.",
|
||||
),
|
||||
2400121 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400122 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400123 => array(
|
||||
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400124 => array(
|
||||
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400125 => array(
|
||||
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400126 => array(
|
||||
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400200 => array(
|
||||
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
|
||||
),
|
||||
2400210 => array(
|
||||
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
|
||||
),
|
||||
2400300 => array(
|
||||
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
|
||||
),
|
||||
2400310 => array(
|
||||
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
|
||||
),
|
||||
2400410 => array(
|
||||
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
|
||||
),
|
||||
2400420 => array(
|
||||
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
|
||||
),
|
||||
2400430 => array(
|
||||
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
|
||||
),
|
||||
3902100 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_VILLE_NB} affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902101 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902110 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_VILLE_EU}.",
|
||||
),
|
||||
3902111 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMIN_VILLE_EU}.",
|
||||
),
|
||||
3902130 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans la même localité pour un montant de {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902131 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902200 => array(
|
||||
10 => "<C.>, alors qu'on dénombre {VENTE_DEP_NB} cessions dans le département dans une fourchette de {VENTEMIN_DEP_EU} à {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902300 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_DEP_NB} affaires de la proche région se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902301 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du département se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902310 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_DEP_EU}.",
|
||||
),
|
||||
3902311 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du même département se sont négociées aux environs de {VENTEMIN_DEP_EU}.",
|
||||
),
|
||||
3902330 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans le même département pour un montant de {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902331 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la proche région se sont négociées aux environs de {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902900 => array(
|
||||
10 => "(Sur l'ensemble du territoire, sur la même période, ce sont {VENTE_FRA_NB} ventes qui sont intervenues pour un montant moyen de {VENTEMOY_FRA_EU})",
|
||||
),
|
||||
3910001 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
|
||||
),
|
||||
3910100 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
|
||||
),
|
||||
3910101 => array(
|
||||
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
|
||||
),
|
||||
3910120 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
|
||||
),
|
||||
3910121 => array(
|
||||
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
|
||||
),
|
||||
3910130 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
|
||||
),
|
||||
3910131 => array(
|
||||
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
|
||||
),
|
||||
3910135 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
|
||||
),
|
||||
3910136 => array(
|
||||
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
|
||||
),
|
||||
3910140 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3910141 => array(
|
||||
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3910145 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3910146 => array(
|
||||
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3910150 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
|
||||
),
|
||||
3910151 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
|
||||
),
|
||||
3910155 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
|
||||
),
|
||||
3910156 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
|
||||
),
|
||||
3910160 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
|
||||
),
|
||||
3910161 => array(
|
||||
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
|
||||
),
|
||||
3910170 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3910171 => array(
|
||||
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3910180 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3910181 => array(
|
||||
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3910190 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
|
||||
),
|
||||
3910191 => array(
|
||||
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
|
||||
),
|
||||
3911001 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
|
||||
),
|
||||
3911100 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
|
||||
),
|
||||
3911101 => array(
|
||||
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
|
||||
),
|
||||
3911110 => array(
|
||||
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
|
||||
),
|
||||
3911111 => array(
|
||||
10 => "<TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
|
||||
),
|
||||
3911120 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
|
||||
),
|
||||
3911121 => array(
|
||||
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
|
||||
),
|
||||
3911130 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3911131 => array(
|
||||
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3911145 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3911146 => array(
|
||||
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3911150 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
|
||||
),
|
||||
3911151 => array(
|
||||
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
|
||||
),
|
||||
3911160 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3911161 => array(
|
||||
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3911170 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3911171 => array(
|
||||
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3911180 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
|
||||
),
|
||||
3911181 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
|
||||
),
|
||||
20001000 => array(
|
||||
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
|
||||
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
|
||||
31 => "<LI> celles qui relèvent d’une approche patrimoniale.",
|
||||
32 => "<LI> celles qui s’appuient sur la rentabilité.",
|
||||
33 => "<LI> celles qui découlent d’une comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
|
||||
50 => "L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.",
|
||||
),
|
||||
20011000 => array(
|
||||
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
|
||||
),
|
||||
20011900 => array(
|
||||
0 => "<BR>",
|
||||
10 => "<I>A noter que au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
|
||||
20 => "<LI> Potentiel de développement.",
|
||||
21 => "<LI> Positionnement sur son marché et concurrence.",
|
||||
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
|
||||
23 => "<LI> Motivation et ambiance interne.",
|
||||
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
|
||||
),
|
||||
20012000 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012001 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012002 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012100 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
|
||||
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
|
||||
),
|
||||
20012110 => array(
|
||||
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif </TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
|
||||
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
|
||||
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
|
||||
),
|
||||
20012120 => array(
|
||||
1 => "<TR CLASS=\"TOTAL\"><TH>Total Passif </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
|
||||
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
|
||||
),
|
||||
20012200 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
|
||||
),
|
||||
20012210 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
|
||||
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
|
||||
),
|
||||
20012220 => array(
|
||||
1 => "<BR>Ci-dessous la comparaison des Fonds de Roulement, Besoin en fonds de Roulement & trésorerie.",
|
||||
10 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
|
||||
),
|
||||
20012400 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> Compte de Résultat </TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
|
||||
),
|
||||
20012410 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Chiffre d'affaires </TH><TD>{Rp2[005]}</TD><TD>{Rp[005]}</TD><TD>{R[005]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Marge commerciale </TH><TD>{Rp2[110]}</TD><TD>{Rp[110]}</TD><TD>{R[110]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Valeur ajoutée </TH><TD>{Rp2[130]}</TD><TD>{Rp[130]}</TD><TD>{R[130]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Excédent brut d'exploitation </TH><TD>{Rp2[140]}</TD><TD>{Rp[140]}</TD><TD>{R[140]}</TD></TR>",
|
||||
51 => "<TR CLASS=\"LIGNE1\"><TH>Résultat courant avant impôts </TH><TD>{Rp2[150]}</TD><TD>{Rp[150]}</TD><TD>{R[150]}</TD></TR>",
|
||||
61 => "<TR CLASS=\"BLANC\"><TH>Résultat exceptionnel </TH><TD>{Rp2[180]}</TD><TD>{Rp[180]}</TD><TD>{R[180]}</TD></TR>",
|
||||
71 => "<TR CLASS=\"LIGNE1\"><TH>Résultat net </TH><TD>{Rp2[010]}</TD><TD>{Rp[010]}</TD><TD>{R[010]}</TD></TR>",
|
||||
),
|
||||
20012420 => array(
|
||||
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
|
||||
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
|
||||
),
|
||||
20020100 => array(
|
||||
0 => "<H3> Multiple du Chiffre d'affaires",
|
||||
10 => "Cette méthode, la plus connue et la plus simple, est principalement utilisée pour avaluer les fonds de commerce.",
|
||||
45 => "En l’absence de marché, l’évaluation des éléments incorporels de ces fonds se fait selon une méthode forfaitaire, selon les performances et l’activité de l’entreprise.",
|
||||
51 => "Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.",
|
||||
),
|
||||
20020110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
|
||||
),
|
||||
20021200 => array(
|
||||
0 => "<H3> Méthode de la valeur patrimoniale",
|
||||
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
|
||||
51 => "La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.",
|
||||
),
|
||||
20021210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
|
||||
),
|
||||
20022200 => array(
|
||||
0 => "<H3> Méthode de la valeur de productivité",
|
||||
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de l’entreprise au travers la capitalisation du benéfice corrigé des dotations. Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.",
|
||||
),
|
||||
20022210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
|
||||
),
|
||||
20022500 => array(
|
||||
0 => "<H3> Méthode de la valeur du rendement",
|
||||
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit qu’à l’égard d’entreprises sociétaires qui pratiquent une politique régulière de distribution.",
|
||||
51 => "Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.",
|
||||
),
|
||||
20022510 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
|
||||
),
|
||||
20023100 => array(
|
||||
0 => "<H3> Multiple du Bénéfice",
|
||||
10 => "On peux considérer qu’une entreprise vaut par sa rentabilité, sur la base d’un multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de l’impôt sur les sociétés), afin d’éliminer les éléments exceptionnels affectant le résultat net comptable.",
|
||||
51 => "Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.",
|
||||
),
|
||||
20023110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
|
||||
),
|
||||
20025200 => array(
|
||||
0 => "<H3> Multiple de l'EBE",
|
||||
10 => "Cette méthode repose sur une évaluation globale de l’entreprise prenant en compte l’endettement financier de la société.",
|
||||
20 => "La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.",
|
||||
),
|
||||
20025210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"EBE\",R[301]#H)}",
|
||||
),
|
||||
20026100 => array(
|
||||
0 => "<H3> Multiple de la MBA",
|
||||
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
|
||||
11 => "La présence de terrains dans une forte proportion élargit la fourchette de l'estimation. ",
|
||||
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
|
||||
),
|
||||
20026101 => array(
|
||||
0 => "<H3> Multiple de la MBA",
|
||||
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
|
||||
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
|
||||
),
|
||||
20026110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"MBA\",R[333]#H)}",
|
||||
),
|
||||
20027100 => array(
|
||||
0 => "<H3> Méthode par comparaison",
|
||||
10 => "La méthode par comparaison repose sur le postulat que des sociétés comparables se valorisent sur des critères et des règles identiques. Cette approche consiste donc à établir des comparaisons avec des transactions intervenues sur le marché des fusions-acquisitions et de l'historique des ventes et cessions, d'entreprises du même profil dans la même région.",
|
||||
20 => "Par l'étude des transactions récentes, la valeur de l'entreprise se situe entre {VAL996_EU} et {VAL997_EU}.",
|
||||
),
|
||||
20028100 => array(
|
||||
0 => "<H3> Méthode d’évaluation par la Situation Nette Comptable (SNC)",
|
||||
1 => "Un des axes de l'évalutation peut s'appuyer sur la situation nette comptable (SNC) de la société, l'actif net, c'est-à-dire amorti, corrigé des dettes.",
|
||||
20 => "Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.",
|
||||
),
|
||||
20028110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
|
||||
),
|
||||
20050100 => array(
|
||||
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
|
||||
),
|
||||
20080201 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
|
||||
),
|
||||
20080210 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
|
||||
),
|
||||
20080215 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
|
||||
),
|
||||
20080217 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
|
||||
),
|
||||
20080220 => array(
|
||||
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
|
||||
),
|
||||
20080230 => array(
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
|
||||
),
|
||||
20080240 => array(
|
||||
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
|
||||
),
|
||||
20080250 => array(
|
||||
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
|
||||
),
|
||||
20080260 => array(
|
||||
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
|
||||
),
|
||||
20080270 => array(
|
||||
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
|
||||
),
|
||||
20080280 => array(
|
||||
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
|
||||
),
|
||||
20080290 => array(
|
||||
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
|
||||
),
|
||||
20090310 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
|
||||
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
|
||||
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
|
||||
),
|
||||
20090510 => array(
|
||||
20 => "<LI> Les immobilisations corporelles doivent être réévaluées à leur valeur de marché et non comptable. ",
|
||||
),
|
||||
20090610 => array(
|
||||
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme exigibles au moment de la cession.",
|
||||
),
|
||||
20090611 => array(
|
||||
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court, moyen et long termes exigibles au moment de la cession.",
|
||||
),
|
||||
20090710 => array(
|
||||
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières portées au bilan.",
|
||||
),
|
||||
20090711 => array(
|
||||
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes fournisseurs portées au bilan.",
|
||||
),
|
||||
20090712 => array(
|
||||
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières et fournisseurs portées au bilan.",
|
||||
),
|
||||
20090810 => array(
|
||||
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
|
||||
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
|
||||
),
|
||||
20090830 => array(
|
||||
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
|
||||
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
|
||||
),
|
||||
20090840 => array(
|
||||
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
|
||||
),
|
||||
20090910 => array(
|
||||
20 => "<LI> Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
|
||||
),
|
||||
100000100 => array(
|
||||
0 => "<H1>PRESENTATION",
|
||||
),
|
||||
100001000 => array(
|
||||
0 => "<H1>DIAGNOSTIC",
|
||||
),
|
||||
100002000 => array(
|
||||
0 => "<H1>PATRIMOINE & RESULTATS",
|
||||
),
|
||||
100003000 => array(
|
||||
0 => "<H2>BILANS",
|
||||
),
|
||||
100004000 => array(
|
||||
0 => "<H2>COMPTE DE RESULTAT",
|
||||
),
|
||||
100005000 => array(
|
||||
0 => "<H1>RETRAITEMENT",
|
||||
),
|
||||
100010000 => array(
|
||||
0 => "<BLOC><H1>METHODES DE CALCUL",
|
||||
99 => "</BLOC>",
|
||||
),
|
||||
100015000 => array(
|
||||
0 => "<H2>Les méthodes retenues",
|
||||
),
|
||||
100016000 => array(
|
||||
0 => "<H2>Pondération des méthodes",
|
||||
),
|
||||
100019000 => array(
|
||||
0 => "<H1>CONCLUSION",
|
||||
),
|
||||
100019100 => array(
|
||||
0 => "<H2>Observations",
|
||||
),
|
||||
);
|
609
library/Metier/Scores/Comment/ValoTxt28N2.php
Normal file
609
library/Metier/Scores/Comment/ValoTxt28N2.php
Normal file
@ -0,0 +1,609 @@
|
||||
<?php
|
||||
/** Auto generated - 2015-09-20 18:32:15*/
|
||||
return array(
|
||||
100 => array(
|
||||
1 => "Version 2.8",
|
||||
),
|
||||
5000 => array(
|
||||
1 => "Valorisation de {NOMEN} en date du : {JOUR_DATE}",
|
||||
),
|
||||
7000 => array(
|
||||
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
|
||||
),
|
||||
7001 => array(
|
||||
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
|
||||
),
|
||||
7002 => array(
|
||||
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
|
||||
),
|
||||
7003 => array(
|
||||
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
|
||||
),
|
||||
9995 => array(
|
||||
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"
|
||||
",
|
||||
),
|
||||
9996 => array(
|
||||
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}
|
||||
",
|
||||
),
|
||||
199000 => array(
|
||||
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
|
||||
),
|
||||
200000 => array(
|
||||
0 => "Cette entreprise est une PME à vocation principalement régionale.",
|
||||
),
|
||||
201000 => array(
|
||||
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
|
||||
),
|
||||
202000 => array(
|
||||
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
|
||||
),
|
||||
203000 => array(
|
||||
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
|
||||
),
|
||||
204000 => array(
|
||||
0 => "C'est une des premières entreprises françaises.",
|
||||
),
|
||||
205000 => array(
|
||||
0 => " C'est une PME qui compte dans le département {DEPSIE}.",
|
||||
),
|
||||
205099 => array(
|
||||
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
|
||||
),
|
||||
205200 => array(
|
||||
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
|
||||
),
|
||||
735100 => array(
|
||||
0 => "<B>Projection du CA sur 3 ans:</B>",
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
|
||||
),
|
||||
735110 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735111 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735112 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735200 => array(
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
|
||||
),
|
||||
735300 => array(
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
|
||||
),
|
||||
735500 => array(
|
||||
9 => "COULEUR(VER3,ROU1,MET3)",
|
||||
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
|
||||
),
|
||||
735930 => array(
|
||||
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
|
||||
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
|
||||
),
|
||||
735950 => array(
|
||||
9 => "COULEUR(JAU1,ROU1,MET3)",
|
||||
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
|
||||
),
|
||||
2400101 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400102 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400103 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400109 => array(
|
||||
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400111 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400112 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400119 => array(
|
||||
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {MARCHEVOL}.",
|
||||
),
|
||||
2400121 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400122 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400123 => array(
|
||||
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400124 => array(
|
||||
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400125 => array(
|
||||
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400126 => array(
|
||||
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400200 => array(
|
||||
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
|
||||
),
|
||||
2400210 => array(
|
||||
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
|
||||
),
|
||||
2400300 => array(
|
||||
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
|
||||
),
|
||||
2400310 => array(
|
||||
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
|
||||
),
|
||||
2400410 => array(
|
||||
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
|
||||
),
|
||||
2400420 => array(
|
||||
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
|
||||
),
|
||||
2400430 => array(
|
||||
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
|
||||
),
|
||||
3902100 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_VILLE_NB} affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902101 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902110 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_VILLE_EU}.",
|
||||
),
|
||||
3902111 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMIN_VILLE_EU}.",
|
||||
),
|
||||
3902130 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans la même localité pour un montant de {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902131 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMAX_VILLE_EU}.",
|
||||
),
|
||||
3902200 => array(
|
||||
10 => "<C.>, alors qu'on dénombre {VENTE_DEP_NB} cessions dans le département dans une fourchette de {VENTEMIN_DEP_EU} à {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902300 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_DEP_NB} affaires de la proche région se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902301 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du département se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902310 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_DEP_EU}.",
|
||||
),
|
||||
3902311 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du même département se sont négociées aux environs de {VENTEMIN_DEP_EU}.",
|
||||
),
|
||||
3902330 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans le même département pour un montant de {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902331 => array(
|
||||
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la proche région se sont négociées aux environs de {VENTEMAX_DEP_EU}.",
|
||||
),
|
||||
3902900 => array(
|
||||
10 => "(Sur l'ensemble du territoire, sur la même période, ce sont {VENTE_FRA_NB} ventes qui sont intervenues pour un montant moyen de {VENTEMOY_FRA_EU})",
|
||||
),
|
||||
3910001 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
|
||||
),
|
||||
3910100 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
|
||||
),
|
||||
3910101 => array(
|
||||
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
|
||||
),
|
||||
3910120 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
|
||||
),
|
||||
3910121 => array(
|
||||
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
|
||||
),
|
||||
3910130 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
|
||||
),
|
||||
3910131 => array(
|
||||
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
|
||||
),
|
||||
3910135 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
|
||||
),
|
||||
3910136 => array(
|
||||
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
|
||||
),
|
||||
3910140 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3910141 => array(
|
||||
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3910145 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3910146 => array(
|
||||
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3910150 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
|
||||
),
|
||||
3910151 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
|
||||
),
|
||||
3910155 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
|
||||
),
|
||||
3910156 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
|
||||
),
|
||||
3910160 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
|
||||
),
|
||||
3910161 => array(
|
||||
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
|
||||
),
|
||||
3910170 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3910171 => array(
|
||||
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3910180 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3910181 => array(
|
||||
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3910190 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
|
||||
),
|
||||
3910191 => array(
|
||||
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
|
||||
),
|
||||
3911001 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
|
||||
),
|
||||
3911100 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
|
||||
),
|
||||
3911101 => array(
|
||||
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
|
||||
),
|
||||
3911110 => array(
|
||||
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
|
||||
),
|
||||
3911111 => array(
|
||||
10 => " <TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
|
||||
),
|
||||
3911120 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
|
||||
),
|
||||
3911121 => array(
|
||||
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
|
||||
),
|
||||
3911130 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3911131 => array(
|
||||
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3911145 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3911146 => array(
|
||||
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3911150 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
|
||||
),
|
||||
3911151 => array(
|
||||
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
|
||||
),
|
||||
3911160 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3911161 => array(
|
||||
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3911170 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3911171 => array(
|
||||
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3911180 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
|
||||
),
|
||||
3911181 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
|
||||
),
|
||||
20001000 => array(
|
||||
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
|
||||
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
|
||||
31 => "<LI> celles qui relèvent d'une approche patrimoniale.",
|
||||
32 => "<LI> celles qui s'appuient sur la rentabilité.",
|
||||
33 => "<LI> celles qui découlent d'une comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
|
||||
50 => "L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.",
|
||||
),
|
||||
20011000 => array(
|
||||
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
|
||||
),
|
||||
20011900 => array(
|
||||
0 => "<BR>",
|
||||
10 => "<I>A noter que au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
|
||||
20 => "<LI> Potentiel de développement.",
|
||||
21 => "<LI> Positionnement sur son marché et concurrence.",
|
||||
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
|
||||
23 => "<LI> Motivation et ambiance interne.",
|
||||
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
|
||||
),
|
||||
20012000 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012001 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012002 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012100 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
|
||||
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
|
||||
),
|
||||
20012110 => array(
|
||||
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif </TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
|
||||
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
|
||||
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
|
||||
),
|
||||
20012120 => array(
|
||||
1 => "<TR CLASS=\"TOTAL\"><TH>Total Passif </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
|
||||
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
|
||||
),
|
||||
20012200 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
|
||||
),
|
||||
20012210 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
|
||||
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
|
||||
),
|
||||
20012220 => array(
|
||||
1 => "<BR>Ci-dessous la comparaison des Fonds de Roulement, Besoin en fonds de Roulement & trésorerie.",
|
||||
10 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
|
||||
),
|
||||
20012400 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> Compte de Résultat </TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
|
||||
),
|
||||
20012410 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Chiffre d'affaires </TH><TD>{Rp2[005]}</TD><TD>{Rp[005]}</TD><TD>{R[005]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Marge commerciale </TH><TD>{Rp2[110]}</TD><TD>{Rp[110]}</TD><TD>{R[110]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Valeur ajoutée </TH><TD>{Rp2[130]}</TD><TD>{Rp[130]}</TD><TD>{R[130]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Excédent brut d'exploitation </TH><TD>{Rp2[140]}</TD><TD>{Rp[140]}</TD><TD>{R[140]}</TD></TR>",
|
||||
51 => "<TR CLASS=\"LIGNE1\"><TH>Résultat courant avant impôts </TH><TD>{Rp2[150]}</TD><TD>{Rp[150]}</TD><TD>{R[150]}</TD></TR>",
|
||||
61 => "<TR CLASS=\"BLANC\"><TH>Résultat exceptionnel </TH><TD>{Rp2[180]}</TD><TD>{Rp[180]}</TD><TD>{R[180]}</TD></TR>",
|
||||
71 => "<TR CLASS=\"LIGNE1\"><TH>Résultat net </TH><TD>{Rp2[010]}</TD><TD>{Rp[010]}</TD><TD>{R[010]}</TD></TR>",
|
||||
),
|
||||
20012420 => array(
|
||||
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
|
||||
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
|
||||
),
|
||||
20020100 => array(
|
||||
0 => "<H3> Multiple du Chiffre d'affaires",
|
||||
10 => "Cette méthode, la plus connue et la plus simple, est principalement utilisée pour avaluer les fonds de commerce.",
|
||||
45 => "En l'absence de marché, l'évaluation des éléments incorporels de ces fonds se fait selon une méthode forfaitaire, selon les performances et l'activité de l'entreprise.",
|
||||
51 => "Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.",
|
||||
),
|
||||
20020110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
|
||||
),
|
||||
20021200 => array(
|
||||
0 => "<H3> Méthode de la valeur patrimoniale",
|
||||
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
|
||||
51 => "La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.",
|
||||
),
|
||||
20021210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
|
||||
),
|
||||
20022200 => array(
|
||||
0 => "<H3> Méthode de la valeur de productivité",
|
||||
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de l'entreprise au travers la capitalisation du benéfice corrigé des dotations. Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.",
|
||||
),
|
||||
20022210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
|
||||
),
|
||||
20022500 => array(
|
||||
0 => "<H3> Méthode de la valeur du rendement",
|
||||
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit qu'à l'égard d'entreprises sociétaires qui pratiquent une politique régulière de distribution.",
|
||||
51 => "Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.",
|
||||
),
|
||||
20022510 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
|
||||
),
|
||||
20023100 => array(
|
||||
0 => "<H3> Multiple du Bénéfice",
|
||||
10 => "On peux considérer qu'une entreprise vaut par sa rentabilité, sur la base d'un multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de l'impôt sur les sociétés), afin d'éliminer les éléments exceptionnels affectant le résultat net comptable.",
|
||||
51 => "Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.",
|
||||
),
|
||||
20023110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
|
||||
),
|
||||
20025200 => array(
|
||||
0 => "<H3> Multiple de l'EBE",
|
||||
10 => "Cette méthode repose sur une évaluation globale de l'entreprise prenant en compte l'endettement financier de la société.",
|
||||
20 => "La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.",
|
||||
),
|
||||
20025210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"EBE\",R[301]#H)}",
|
||||
),
|
||||
20026100 => array(
|
||||
0 => "<H3> Multiple de la MBA",
|
||||
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
|
||||
11 => "La présence de terrains dans une forte proportion élargit la fourchette de l'estimation. ",
|
||||
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
|
||||
),
|
||||
20026101 => array(
|
||||
0 => "<H3> Multiple de la MBA",
|
||||
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
|
||||
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
|
||||
),
|
||||
20026110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"MBA\",R[333]#H)}",
|
||||
),
|
||||
20027100 => array(
|
||||
0 => "<H3> Méthode par comparaison",
|
||||
10 => "La méthode par comparaison repose sur le postulat que des sociétés comparables se valorisent sur des critères et des règles identiques. Cette approche consiste donc à établir des comparaisons avec des transactions intervenues sur le marché des fusions-acquisitions et de l'historique des ventes et cessions, d'entreprises du même profil dans la même région.",
|
||||
20 => "Par l'étude des transactions récentes, la valeur de l'entreprise se situe entre {VAL996_EU} et {VAL997_EU}.",
|
||||
),
|
||||
20028100 => array(
|
||||
0 => "<H3> Méthode d'évaluation par la Situation Nette Comptable (SNC)",
|
||||
1 => "Un des axes de l'évalutation peut s'appuyer sur la situation nette comptable (SNC) de la société, l'actif net, c'est-à-dire amorti, corrigé des dettes.",
|
||||
20 => "Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.",
|
||||
),
|
||||
20028110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
|
||||
),
|
||||
20050100 => array(
|
||||
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
|
||||
),
|
||||
20080201 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
|
||||
),
|
||||
20080210 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
|
||||
),
|
||||
20080215 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
|
||||
),
|
||||
20080217 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
|
||||
),
|
||||
20080220 => array(
|
||||
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
|
||||
),
|
||||
20080230 => array(
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
|
||||
),
|
||||
20080240 => array(
|
||||
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
|
||||
),
|
||||
20080250 => array(
|
||||
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
|
||||
),
|
||||
20080260 => array(
|
||||
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
|
||||
),
|
||||
20080270 => array(
|
||||
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
|
||||
),
|
||||
20080280 => array(
|
||||
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
|
||||
),
|
||||
20080290 => array(
|
||||
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
|
||||
),
|
||||
20090310 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
|
||||
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
|
||||
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
|
||||
),
|
||||
20090510 => array(
|
||||
20 => "<LI> Les immobilisations corporelles doivent être réévaluées à leur valeur de marché et non comptable. ",
|
||||
),
|
||||
20090610 => array(
|
||||
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme exigibles au moment de la cession.",
|
||||
),
|
||||
20090611 => array(
|
||||
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court, moyen et long termes exigibles au moment de la cession.",
|
||||
),
|
||||
20090710 => array(
|
||||
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières portées au bilan.",
|
||||
),
|
||||
20090711 => array(
|
||||
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes fournisseurs portées au bilan.",
|
||||
),
|
||||
20090712 => array(
|
||||
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières et fournisseurs portées au bilan.",
|
||||
),
|
||||
20090810 => array(
|
||||
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
|
||||
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
|
||||
),
|
||||
20090830 => array(
|
||||
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
|
||||
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
|
||||
),
|
||||
20090840 => array(
|
||||
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
|
||||
),
|
||||
20090910 => array(
|
||||
20 => "<LI> Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
|
||||
),
|
||||
100000100 => array(
|
||||
0 => "<H1>PRESENTATION",
|
||||
),
|
||||
100001000 => array(
|
||||
0 => "<H1>DIAGNOSTIC",
|
||||
),
|
||||
100002000 => array(
|
||||
0 => "<H1>PATRIMOINE & RESULTATS",
|
||||
),
|
||||
100003000 => array(
|
||||
0 => "<H2>BILANS",
|
||||
),
|
||||
100004000 => array(
|
||||
0 => "<H2>COMPTE DE RESULTAT",
|
||||
),
|
||||
100005000 => array(
|
||||
0 => "<H1>RETRAITEMENT",
|
||||
),
|
||||
100010000 => array(
|
||||
0 => "<H1>METHODES DE CALCUL",
|
||||
),
|
||||
100015000 => array(
|
||||
0 => "<H2>Les méthodes retenues",
|
||||
),
|
||||
100016000 => array(
|
||||
0 => "<H2>Pondération des méthodes",
|
||||
),
|
||||
100019000 => array(
|
||||
0 => "<H1>CONCLUSION",
|
||||
),
|
||||
100019100 => array(
|
||||
0 => "<H2>Observations",
|
||||
),
|
||||
);
|
558
library/Metier/Scores/Comment/ValoTxtv209N2.php
Normal file
558
library/Metier/Scores/Comment/ValoTxtv209N2.php
Normal file
@ -0,0 +1,558 @@
|
||||
<?php
|
||||
/** Auto generated - 2015-09-20 18:32:29*/
|
||||
return array(
|
||||
100 => array(
|
||||
1 => "Version 2.09",
|
||||
),
|
||||
5000 => array(
|
||||
1 => "<BR>Valorisation de {NOMEN} en date du : {JOUR_DATE}",
|
||||
),
|
||||
7000 => array(
|
||||
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
|
||||
),
|
||||
7001 => array(
|
||||
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
|
||||
),
|
||||
7002 => array(
|
||||
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
|
||||
),
|
||||
7003 => array(
|
||||
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
|
||||
),
|
||||
9995 => array(
|
||||
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"",
|
||||
),
|
||||
9996 => array(
|
||||
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}",
|
||||
),
|
||||
199000 => array(
|
||||
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
|
||||
),
|
||||
200000 => array(
|
||||
0 => "Cette entreprise est une PME à vocation principalement régionale.",
|
||||
),
|
||||
201000 => array(
|
||||
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
|
||||
),
|
||||
202000 => array(
|
||||
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
|
||||
),
|
||||
203000 => array(
|
||||
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
|
||||
),
|
||||
204000 => array(
|
||||
0 => "C'est une des premières entreprises françaises.",
|
||||
),
|
||||
205000 => array(
|
||||
0 => " C'est une PME qui compte dans le département {DEPSIE}.",
|
||||
),
|
||||
205099 => array(
|
||||
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
|
||||
),
|
||||
205200 => array(
|
||||
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
|
||||
),
|
||||
735100 => array(
|
||||
0 => "<B>Projection du CA sur 3 ans:</B>",
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
|
||||
),
|
||||
735110 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735111 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735112 => array(
|
||||
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
|
||||
),
|
||||
735200 => array(
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
|
||||
),
|
||||
735300 => array(
|
||||
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
|
||||
),
|
||||
735500 => array(
|
||||
9 => "COULEUR(VER3,ROU1,MET3)",
|
||||
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
|
||||
),
|
||||
735930 => array(
|
||||
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
|
||||
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
|
||||
),
|
||||
735950 => array(
|
||||
9 => "COULEUR(JAU1,ROU1,MET3)",
|
||||
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
|
||||
),
|
||||
2400101 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400102 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400103 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400109 => array(
|
||||
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400111 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400112 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400119 => array(
|
||||
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
|
||||
),
|
||||
2400121 => array(
|
||||
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400122 => array(
|
||||
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400123 => array(
|
||||
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400124 => array(
|
||||
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400125 => array(
|
||||
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400126 => array(
|
||||
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
|
||||
),
|
||||
2400200 => array(
|
||||
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
|
||||
),
|
||||
2400210 => array(
|
||||
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
|
||||
),
|
||||
2400300 => array(
|
||||
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
|
||||
),
|
||||
2400310 => array(
|
||||
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
|
||||
),
|
||||
2400410 => array(
|
||||
10 => "A noter qu'en terme d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
|
||||
),
|
||||
2400420 => array(
|
||||
10 => "A noter qu'en terme d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
|
||||
),
|
||||
2400430 => array(
|
||||
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
|
||||
),
|
||||
3910001 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
|
||||
),
|
||||
3910100 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
|
||||
),
|
||||
3910101 => array(
|
||||
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
|
||||
),
|
||||
3910120 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
|
||||
),
|
||||
3910121 => array(
|
||||
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
|
||||
),
|
||||
3910130 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
|
||||
),
|
||||
3910131 => array(
|
||||
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
|
||||
),
|
||||
3910135 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
|
||||
),
|
||||
3910136 => array(
|
||||
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
|
||||
),
|
||||
3910140 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3910141 => array(
|
||||
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3910145 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3910146 => array(
|
||||
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3910150 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
|
||||
),
|
||||
3910151 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
|
||||
),
|
||||
3910155 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
|
||||
),
|
||||
3910156 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
|
||||
),
|
||||
3910160 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
|
||||
),
|
||||
3910161 => array(
|
||||
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
|
||||
),
|
||||
3910170 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3910171 => array(
|
||||
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3910180 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3910181 => array(
|
||||
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3910190 => array(
|
||||
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
|
||||
),
|
||||
3910191 => array(
|
||||
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
|
||||
),
|
||||
3911001 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
|
||||
),
|
||||
3911100 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
|
||||
),
|
||||
3911101 => array(
|
||||
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
|
||||
),
|
||||
3911110 => array(
|
||||
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
|
||||
),
|
||||
3911111 => array(
|
||||
10 => " <TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
|
||||
),
|
||||
3911120 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
|
||||
),
|
||||
3911121 => array(
|
||||
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
|
||||
),
|
||||
3911130 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3911131 => array(
|
||||
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
|
||||
),
|
||||
3911145 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3911146 => array(
|
||||
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
|
||||
),
|
||||
3911150 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
|
||||
),
|
||||
3911151 => array(
|
||||
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
|
||||
),
|
||||
3911160 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3911161 => array(
|
||||
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
|
||||
),
|
||||
3911170 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3911171 => array(
|
||||
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
|
||||
),
|
||||
3911180 => array(
|
||||
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
|
||||
),
|
||||
3911181 => array(
|
||||
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
|
||||
),
|
||||
20001000 => array(
|
||||
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
|
||||
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
|
||||
31 => "<LI> celles qui relèvent d'une approche patrimoniale.",
|
||||
32 => "<LI> celles qui s'appuient sur la rentabilité.",
|
||||
33 => "<LI> celles qui découlent d'une comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
|
||||
50 => "<BR>L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.<BR>",
|
||||
),
|
||||
20011000 => array(
|
||||
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
|
||||
),
|
||||
20011900 => array(
|
||||
0 => "<BR>",
|
||||
10 => "<I>Au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
|
||||
20 => "<LI> Potentiel de développement.",
|
||||
21 => "<LI> Positionnement sur son marché et concurrence.",
|
||||
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
|
||||
23 => "<LI> Motivation et ambiance interne.",
|
||||
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
|
||||
),
|
||||
20012000 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012001 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012002 => array(
|
||||
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
|
||||
),
|
||||
20012100 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
|
||||
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
|
||||
),
|
||||
20012110 => array(
|
||||
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif Circulant</TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
|
||||
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
|
||||
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
|
||||
),
|
||||
20012120 => array(
|
||||
1 => "<TR CLASS=\"TOTAL\"><TH>Total Bilan </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
|
||||
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
|
||||
),
|
||||
20012200 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
|
||||
),
|
||||
20012210 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
|
||||
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
|
||||
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
|
||||
),
|
||||
20012220 => array(
|
||||
1 => "<BR>Ci-dessous la comparaison des Fonds de Roulement, Besoin en fonds de Roulement & trésorerie.",
|
||||
10 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
|
||||
),
|
||||
20012420 => array(
|
||||
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
|
||||
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
|
||||
),
|
||||
20020100 => array(
|
||||
0 => "<H2> Multiple du Chiffre d'affaires",
|
||||
10 => "Cette méthode, la plus connue et la plus simple, est principalement utilisée pour avaluer les fonds de commerce.",
|
||||
45 => "En l'absence de marché, l'évaluation des éléments incorporels de ces fonds se fait selon une méthode forfaitaire, selon les performances et l'activité de l'entreprise.",
|
||||
51 => "<B>Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.</B>",
|
||||
),
|
||||
20020110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
|
||||
),
|
||||
20021200 => array(
|
||||
0 => "<H2> Méthode de la valeur patrimoniale",
|
||||
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
|
||||
51 => "<B>La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.</B>",
|
||||
),
|
||||
20021210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
|
||||
),
|
||||
20022200 => array(
|
||||
0 => "<H2> Méthode de la valeur de productivité",
|
||||
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de l'entreprise au travers la capitalisation du benéfice corrigé des dotations.",
|
||||
52 => "<B>Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.</B>",
|
||||
),
|
||||
20022210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
|
||||
),
|
||||
20022500 => array(
|
||||
0 => "<H2> Méthode de la valeur du rendement",
|
||||
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit qu'à l'égard d'entreprises sociétaires qui pratiquent une politique régulière de distribution.",
|
||||
51 => "<B>Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.</B>",
|
||||
),
|
||||
20022510 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
|
||||
),
|
||||
20023100 => array(
|
||||
0 => "<H2> Multiple du Bénéfice",
|
||||
10 => "On peux considérer qu'une entreprise vaut par sa rentabilité, sur la base d'un multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de l'impôt sur les sociétés), afin d'éliminer les éléments exceptionnels affectant le résultat net comptable.",
|
||||
51 => "<B>Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.</B>",
|
||||
),
|
||||
20023510 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
|
||||
),
|
||||
20025200 => array(
|
||||
0 => "<H2> Multiple de l'EBE",
|
||||
10 => "Cette méthode repose sur une évaluation globale de l'entreprise prenant en compte l'endettement financier de la société.",
|
||||
20 => "<B>La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.</B>",
|
||||
),
|
||||
20025210 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"EBE\",R[301]#H)}",
|
||||
),
|
||||
20026100 => array(
|
||||
0 => "<H2> Multiple de la MBA",
|
||||
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
|
||||
20 => "<B>Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.</B>",
|
||||
),
|
||||
20026101 => array(
|
||||
0 => "<H2> Multiple de la MBA",
|
||||
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
|
||||
20 => "<B>Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.</B>",
|
||||
),
|
||||
20026109 => array(
|
||||
11 => "<I>La fourchette de l'estimation est élargie du fait de la présence de terrains dans les actifs. ",
|
||||
),
|
||||
20026110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"MBA\",R[333]#H)}",
|
||||
),
|
||||
20027100 => array(
|
||||
0 => "<H2> Méthode par comparaison",
|
||||
10 => "La méthode par comparaison repose sur le postulat que des sociétés comparables se valorisent sur des critères et des règles identiques. Cette approche consiste donc à établir des comparaisons avec des transactions intervenues sur le marché des fusions-acquisitions et de l'historique des ventes et cessions, d'entreprises du même profil dans la même région.",
|
||||
20 => "<B>D'après l'étude des transactions récentes d'entreprises similaires, la valeur se situerait dans la fourchette de {VAL996_EU} et {VAL997_EU}.</B>",
|
||||
),
|
||||
20028100 => array(
|
||||
0 => "<H2> Méthode d'évaluation par la Situation Nette Comptable (SNC)",
|
||||
1 => "Un des axes de l'évalutation peut s'appuyer sur la situation nette comptable (SNC) de la société, l'actif net, c'est-à-dire amorti et réactualisé, corrigé des dettes.",
|
||||
20 => "<B>Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.</B>",
|
||||
),
|
||||
20028110 => array(
|
||||
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
|
||||
9 => "COULEUR(VER3,ROU2,JAU)",
|
||||
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
|
||||
),
|
||||
20050100 => array(
|
||||
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
|
||||
),
|
||||
20080201 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
|
||||
),
|
||||
20080210 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
|
||||
),
|
||||
20080215 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
|
||||
),
|
||||
20080217 => array(
|
||||
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
|
||||
),
|
||||
20080220 => array(
|
||||
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
|
||||
),
|
||||
20080230 => array(
|
||||
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
|
||||
),
|
||||
20080240 => array(
|
||||
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
|
||||
),
|
||||
20080250 => array(
|
||||
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
|
||||
),
|
||||
20080260 => array(
|
||||
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
|
||||
),
|
||||
20080270 => array(
|
||||
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
|
||||
),
|
||||
20080280 => array(
|
||||
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
|
||||
),
|
||||
20080290 => array(
|
||||
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
|
||||
),
|
||||
20090310 => array(
|
||||
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
|
||||
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
|
||||
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
|
||||
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
|
||||
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
|
||||
),
|
||||
20090510 => array(
|
||||
20 => "<LI> Les immobilisations corporelles ({R[052]}) doivent être réévaluées à leur valeur de marché.",
|
||||
),
|
||||
20090610 => array(
|
||||
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme, d'un montant de {R[088]}, exigibles au moment de la cession.",
|
||||
),
|
||||
20090611 => array(
|
||||
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme de {R[088]} et la part des dettes à moyen et long terme de {R[089]}, exigibles au moment de la cession.",
|
||||
),
|
||||
20090612 => array(
|
||||
20 => "<LI> L'estimation finale devrait intégrer la part des dettes à moyen et long terme de {R[089]}, exigibles au moment de la cession.",
|
||||
),
|
||||
20090710 => array(
|
||||
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières: {R[083]}, portées au bilan.",
|
||||
),
|
||||
20090711 => array(
|
||||
20 => "<LI> On devra aussi vérifier l'exactitude des dettes fournisseurs de {R[084]}, portées au bilan.",
|
||||
),
|
||||
20090712 => array(
|
||||
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières de {R[083]} et fournisseurs de {R[084]}, portées au bilan.",
|
||||
),
|
||||
20090810 => array(
|
||||
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
|
||||
30 => "<C.> Or, au vu de l'effectif de l'entreprise, on pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
|
||||
),
|
||||
20090830 => array(
|
||||
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
|
||||
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
|
||||
),
|
||||
20090840 => array(
|
||||
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
|
||||
),
|
||||
20090910 => array(
|
||||
20 => "Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
|
||||
),
|
||||
100000100 => array(
|
||||
0 => "<H1>PRESENTATION",
|
||||
),
|
||||
100001000 => array(
|
||||
0 => "<H1>DIAGNOSTIC",
|
||||
),
|
||||
100002000 => array(
|
||||
0 => "<H1>SITUATION FINANCIERE",
|
||||
),
|
||||
100003000 => array(
|
||||
0 => "<H2>BILANS",
|
||||
),
|
||||
100004000 => array(
|
||||
0 => "<H2>COMPTE DE RESULTAT",
|
||||
),
|
||||
100005000 => array(
|
||||
0 => "<H1>RETRAITEMENT",
|
||||
),
|
||||
100010000 => array(
|
||||
0 => "<H1>METHODES DE CALCUL",
|
||||
),
|
||||
100015000 => array(
|
||||
0 => "<H2>Les méthodes retenues",
|
||||
),
|
||||
100016000 => array(
|
||||
0 => "<H2>Pondération des méthodes",
|
||||
),
|
||||
100019000 => array(
|
||||
0 => "<H1>CONCLUSION",
|
||||
),
|
||||
100019100 => array(
|
||||
0 => "<H2>Observations",
|
||||
),
|
||||
);
|
95
library/Metier/Scores/Comment/ValoTxtv209N3.php
Normal file
95
library/Metier/Scores/Comment/ValoTxtv209N3.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
/** Auto generated - 2015-09-20 18:32:29*/
|
||||
return array(
|
||||
100 => array(
|
||||
1 => "TABLE(LINE(Version 2.09))",
|
||||
),
|
||||
5000 => array(
|
||||
1 => "TABLE(LINE(Valorisation de {NOMEN} en date du : {JOUR_DATE}))",
|
||||
),
|
||||
7000 => array(
|
||||
10 => "TABLE(LINE(ENTREPRISE INACTIVE))",
|
||||
),
|
||||
20001000 => array(
|
||||
10 => "TABLE(LINE(Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers étudiés selon différentes méthodes et le cas échéant par comparaison avec les cessions d'entreprises similaires))",
|
||||
),
|
||||
20050100 => array(
|
||||
10 => "TABLE(LINE(Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :))",
|
||||
),
|
||||
20080201 => array(
|
||||
2 => "TABLE(LINE(Pondération des méthodes#Valeur mini#Valeur maxi)",
|
||||
99 => ")",
|
||||
),
|
||||
20080210 => array(
|
||||
11 => "LINE(Valeur patrimoniale#{VAL978_EU}#{VAL979_EU})",
|
||||
),
|
||||
20080215 => array(
|
||||
11 => "LINE(Méthode par le Chiffre d'affaires#{VAL970_EU}#{VAL971_EU})",
|
||||
),
|
||||
20080217 => array(
|
||||
11 => "LINE(Méthode par la Situation nette comptable#{VAL976_EU}#{VAL977_EU})",
|
||||
),
|
||||
20080220 => array(
|
||||
21 => "LINE(Méthode par la Valeur de productivité#{VAL982_EU}#{VAL983_EU})",
|
||||
),
|
||||
20080230 => array(
|
||||
31 => "LINE(Méthode par le Capitalisation du bénéfice#{VAL984_EU}#{VAL985_EU})",
|
||||
),
|
||||
20080240 => array(
|
||||
41 => "LINE(Capitalisation selon l'EBE#{VAL986_EU}#{VAL987_EU})",
|
||||
),
|
||||
20080250 => array(
|
||||
51 => "LINE(Capitalisation selon la MBA#{VAL988_EU}#{VAL989_EU})",
|
||||
),
|
||||
20080260 => array(
|
||||
61 => "LINE(Capitalisation selon la CAF+Trésorerie#{VAL990_EU}#{VAL991_EU})",
|
||||
),
|
||||
20080270 => array(
|
||||
71 => "LINE(Méthosde de Capitaux risqueurs#{VAL992_EU}#{VAL993_EU})",
|
||||
),
|
||||
20080280 => array(
|
||||
81 => "LINE(Méthode Patrimoniale + GOODWILL#{VAL994_EU}#{VAL995_EU})",
|
||||
),
|
||||
20080290 => array(
|
||||
81 => "LINE(Comparative cessions profils similaires#{VAL996_EU}#{VAL997_EU})",
|
||||
),
|
||||
20090310 => array(
|
||||
2 => "TABLE(LINE(CONCLUSION #estimation haute)",
|
||||
11 => "LINE( #{VAL999_EU})",
|
||||
12 => "LINE(estimation basse# )",
|
||||
21 => "LINE({VAL998_EU}# ))",
|
||||
),
|
||||
20090510 => array(
|
||||
20 => "TABLE(LINE(Réévaluer les immobilisations corporelles ({R[052]}) à leur valeur de marché et non leur valeur comptable.))",
|
||||
),
|
||||
20090610 => array(
|
||||
20 => "TABLE(LINE(Intégrer l'ensemble des dettes à court terme, ({R[088]}), exigibles au moment de la cession.))",
|
||||
),
|
||||
20090611 => array(
|
||||
20 => "TABLE(LINE(Intégrer l'ensemble des dettes à court terme ({R[088]}) et la part des dettes à moyen et long terme ({R[089]}), exigibles au moment de la cession.))",
|
||||
),
|
||||
20090612 => array(
|
||||
20 => "TABLE(LINE(Intégrer la part des dettes à moyen et long terme ({R[089]}), exigibles au moment de la cession.))",
|
||||
),
|
||||
20090710 => array(
|
||||
20 => "TABLE(LINE(Vérifier l'exactitude des dettes financières (R[083]}), portées au bilan.))",
|
||||
),
|
||||
20090711 => array(
|
||||
20 => "TABLE(LINE(Vérifier l'exactitude des dettes fournisseurs ({R[084]}), portées au bilan.))",
|
||||
),
|
||||
20090712 => array(
|
||||
20 => "TABLE(LINE(Vérifier l'exactitude des dettes financières ({R[083]}) et fournisseurs ({R[084]}), portées au bilan.))",
|
||||
),
|
||||
20090810 => array(
|
||||
20 => "TABLE(LINE(Aucune provision ne figure au bilan.))",
|
||||
),
|
||||
20090830 => array(
|
||||
20 => "TABLE(LINE(Les provisions semblent anormalement limitées.))",
|
||||
),
|
||||
20090840 => array(
|
||||
20 => "TABLE(LINE(Les provisions semblent anormalement élevées.))",
|
||||
),
|
||||
20090910 => array(
|
||||
20 => "TABLE(LINE(Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation.)",
|
||||
),
|
||||
);
|
3581
library/Metier/Scores/Data/Formules.php
Normal file
3581
library/Metier/Scores/Data/Formules.php
Normal file
File diff suppressed because it is too large
Load Diff
28
library/Metier/Scores/Data/Infla.php
Normal file
28
library/Metier/Scores/Data/Infla.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
return array(
|
||||
1991 => 3.2,
|
||||
1992 => 2.4,
|
||||
1993 => 2.1,
|
||||
1994 => 1.7,
|
||||
1995 => 1.7,
|
||||
1996 => 2,
|
||||
1997 => 1.2,
|
||||
1998 => 0.7,
|
||||
1999 => 0.5,
|
||||
2000 => 1.7,
|
||||
2001 => 1.7,
|
||||
2002 => 1.9,
|
||||
2003 => 2.1,
|
||||
2004 => 2.1,
|
||||
2005 => 1.8,
|
||||
2006 => 1.6,
|
||||
2007 => 1.5,
|
||||
2008 => 2.8,
|
||||
2009 => 0.1,
|
||||
2010 => 1.5,
|
||||
2011 => 2.1,
|
||||
2012 => 2,
|
||||
2013 => 0.9,
|
||||
2014 => 0.5,
|
||||
2015 => 0.6,
|
||||
);
|
22
library/Metier/Scores/Data/RendObli.php
Normal file
22
library/Metier/Scores/Data/RendObli.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
return array(
|
||||
1994 => 5.65,
|
||||
1995 => 5.29,
|
||||
1996 => 4.69,
|
||||
1997 => 4.93,
|
||||
1998 => 3.92,
|
||||
1999 => 3.99,
|
||||
2000 => 4.35,
|
||||
2001 => 3.35,
|
||||
2002 => 2.83,
|
||||
2003 => 2.68,
|
||||
2004 => 2.45,
|
||||
2005 => 2.46,
|
||||
2006 => 2.66,
|
||||
2007 => 2.86,
|
||||
2008 => 3.45,
|
||||
2009 => 2.81,
|
||||
2010 => 2.17,
|
||||
2011 => 1.7,
|
||||
2012 => 0,
|
||||
);
|
12
library/Metier/Scores/Data/Tva.php
Normal file
12
library/Metier/Scores/Data/Tva.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
return array(
|
||||
196801 => 16.66,
|
||||
196901 => 19.0,
|
||||
197001 => 23.0,
|
||||
197201 => 20.0,
|
||||
197701 => 17.6,
|
||||
198201 => 18.6,
|
||||
199501 => 20.6,
|
||||
200001 => 19.6,
|
||||
201401 => 20.0,
|
||||
);
|
6380
library/Metier/Scores/Data/Variables.php
Normal file
6380
library/Metier/Scores/Data/Variables.php
Normal file
File diff suppressed because it is too large
Load Diff
3887
library/Metier/Scores/Formule/Score_405.php
Normal file
3887
library/Metier/Scores/Formule/Score_405.php
Normal file
File diff suppressed because it is too large
Load Diff
4151
library/Metier/Scores/Formule/Score_408.php
Normal file
4151
library/Metier/Scores/Formule/Score_408.php
Normal file
File diff suppressed because it is too large
Load Diff
4169
library/Metier/Scores/Formule/Score_409.php
Normal file
4169
library/Metier/Scores/Formule/Score_409.php
Normal file
File diff suppressed because it is too large
Load Diff
4169
library/Metier/Scores/Formule/Score_411.php
Normal file
4169
library/Metier/Scores/Formule/Score_411.php
Normal file
File diff suppressed because it is too large
Load Diff
4173
library/Metier/Scores/Formule/Score_414.php
Normal file
4173
library/Metier/Scores/Formule/Score_414.php
Normal file
File diff suppressed because it is too large
Load Diff
3063
library/Metier/Scores/Formule/Valo_24.php
Normal file
3063
library/Metier/Scores/Formule/Valo_24.php
Normal file
File diff suppressed because it is too large
Load Diff
3127
library/Metier/Scores/Formule/Valo_26.php
Normal file
3127
library/Metier/Scores/Formule/Valo_26.php
Normal file
File diff suppressed because it is too large
Load Diff
3127
library/Metier/Scores/Formule/Valo_28.php
Normal file
3127
library/Metier/Scores/Formule/Valo_28.php
Normal file
File diff suppressed because it is too large
Load Diff
3195
library/Metier/Scores/Formule/Valo_v209.php
Normal file
3195
library/Metier/Scores/Formule/Valo_v209.php
Normal file
File diff suppressed because it is too large
Load Diff
622
library/Metier/Scores/GlobalVars.php
Normal file
622
library/Metier/Scores/GlobalVars.php
Normal file
@ -0,0 +1,622 @@
|
||||
<?php
|
||||
return array(
|
||||
'ACTIFINSEE',
|
||||
'ACTIFRNCS',
|
||||
'ACTISURF',
|
||||
'ACTIVNAT',
|
||||
'ACTIVREG',
|
||||
'ADRDOM',
|
||||
'AGE',
|
||||
'ANNEEp3',
|
||||
'ANNEEp2',
|
||||
'ANNEEp',
|
||||
'ANNEE',
|
||||
'ANNEE1',
|
||||
'ANNEE2',
|
||||
'ANNEE3',
|
||||
'ANNEE4',
|
||||
'ANNEE5',
|
||||
'ANNONCEADR',
|
||||
'ANNONCEADRDATE',
|
||||
'ANNONCEBOD',
|
||||
'ANNONCEBODA',
|
||||
'ANNONCEBODADATE',
|
||||
'ANNONCEBODB',
|
||||
'ANNONCEBODBDATE',
|
||||
'ANNONCEBODC',
|
||||
'ANNONCEBODCDATE',
|
||||
'ANNONCEBODCMANQDATE',
|
||||
'ANNONCEBODCMANQ_AA',
|
||||
'ANNONCEBODCREGUL',
|
||||
'ANNONCEBODDATE',
|
||||
'ANNONCECAC',
|
||||
'ANNONCECAC2',
|
||||
'ANNONCECAC3',
|
||||
'ANNONCECACDATE',
|
||||
'ANNONCECAP',
|
||||
'ANNONCECAPAUG',
|
||||
'ANNONCECAPAUGDATE',
|
||||
'ANNONCECAPAUGDIM',
|
||||
'ANNONCECAPAUG_AAD',
|
||||
'ANNONCECAPAUG_AAF',
|
||||
'ANNONCECAPDATE',
|
||||
'ANNONCECAPDIM',
|
||||
'ANNONCECAPDIMAUG',
|
||||
'ANNONCECAPDIMDATE',
|
||||
'ANNONCECAPDIM_AAD',
|
||||
'ANNONCECAPDIM_AAF',
|
||||
'ANNONCECAPSIG',
|
||||
'ANNONCECLODELAI',
|
||||
'ANNONCEDATE',
|
||||
'ANNONCEDER',
|
||||
'ANNONCEDERDATE',
|
||||
'ANNONCEDERSOURCE',
|
||||
'ANNONCEDERTEXTE',
|
||||
'ANNONCEDIR',
|
||||
'ANNONCEDIRDATE',
|
||||
'ANNONCEDISSO',
|
||||
'ANNONCEDISSODATE',
|
||||
'ANNONCEDISSONON',
|
||||
'ANNONCEDISSONONDATE',
|
||||
'ANNONCEFJUR',
|
||||
'ANNONCEFJURDATE',
|
||||
'ANNONCEFUS',
|
||||
'ANNONCEFUSDATE',
|
||||
'ANNONCEHISTDATE',
|
||||
'ANNONCEHOM',
|
||||
'ANNONCEHOMDATE',
|
||||
'ANNONCEINTERDIT',
|
||||
'ANNONCEINTERDITDATE',
|
||||
'ANNONCELIM',
|
||||
'ANNONCELJ',
|
||||
'ANNONCELJDATE',
|
||||
'ANNONCELJDELAI',
|
||||
'ANNONCELOC',
|
||||
'ANNONCELOCDATE',
|
||||
'ANNONCEOBJET',
|
||||
'ANNONCEPC',
|
||||
'ANNONCEPCDATE',
|
||||
'ANNONCEPCHISTO',
|
||||
'ANNONCEPC_CESDATE',
|
||||
'ANNONCEPC_INT1',
|
||||
'ANNONCEPC_INT1_TIT',
|
||||
'ANNONCEPC_INT2',
|
||||
'ANNONCEPC_INT2_TIT',
|
||||
'ANNONCEPC_NUM',
|
||||
'ANNONCEPC_OBS',
|
||||
'ANNONCEPLAN',
|
||||
'ANNONCEPLANDATE',
|
||||
'ANNONCEPLANDUREE',
|
||||
'ANNONCEPLANFINDATE',
|
||||
'ANNONCEPLANMODIFDATE',
|
||||
'ANNONCEPOURS',
|
||||
'ANNONCEPOURSDATE',
|
||||
'ANNONCEPUB',
|
||||
'ANNONCERECON',
|
||||
'ANNONCERECONDATE',
|
||||
'ANNONCERJ',
|
||||
'ANNONCERJDATE',
|
||||
'ANNONCESOMM',
|
||||
'ANNONCESOMMDATE',
|
||||
'ANNONCESV',
|
||||
'ANNONCESVDATE',
|
||||
'ANNONCEVC',
|
||||
'ANNONCEVCDATE',
|
||||
'ANNONCEVC_MT',
|
||||
'ANNONCEVC_OBJ',
|
||||
'APE4',
|
||||
'APE5',
|
||||
'APEAGRICPAC',
|
||||
'APEENT',
|
||||
'APEETAB',
|
||||
'APEINSEE',
|
||||
'APERNCS',
|
||||
'AUXILT',
|
||||
'AVIS3ANS',
|
||||
'BILAN',
|
||||
'BILANANNEE',
|
||||
'BILANANNEE1',
|
||||
'BILANANNEE2',
|
||||
'BILANANNEE3',
|
||||
'BILANANNEE4',
|
||||
'BILANANNEE5',
|
||||
'BILANANNEEp',
|
||||
'BILANANNEEp2',
|
||||
'BILANANNEEp3',
|
||||
'BILANANNEEp4',
|
||||
'BILANDATE',
|
||||
'BILANDATEp',
|
||||
'BILANDATEp2',
|
||||
'BILANDATEp3',
|
||||
'BILANDATEp4',
|
||||
'BILANDERANNEE',
|
||||
'BILANFACULT',
|
||||
'BILANFJU',
|
||||
'BILANMANQUE',
|
||||
'BILANNONDIF',
|
||||
'BILANVIEUX',
|
||||
'BILANp',
|
||||
'BILANp2',
|
||||
'BILANp3',
|
||||
'BILANp4',
|
||||
'CABILAN',
|
||||
'CABIOUES',
|
||||
'CAESTIME',
|
||||
'CADBAT_NB_TOT',
|
||||
'CADTER_NB_TOT',
|
||||
'CADBAT_NB_PROP',
|
||||
'CADTER_NB_PROP',
|
||||
'CADBAT_NB_NONPROP',
|
||||
'CADTER_NB_NONPROP',
|
||||
'CADBAT_SURF_CUM',
|
||||
'CADBAT_SURF_TOT',
|
||||
'CADTER_SURF_CUM',
|
||||
'CADTER_SURF_TOT',
|
||||
'CALCUL1',
|
||||
'CALCUL2',
|
||||
'CALCUL3',
|
||||
'CALCUL4',
|
||||
'CALCUL5',
|
||||
'CALCUL6',
|
||||
'CALCUL7',
|
||||
'CALCUL8',
|
||||
'CALCUL9',
|
||||
'CAPITAL',
|
||||
'CAPITAL_CREA',
|
||||
'CAPITAL_PRE',
|
||||
'CAPITAL_NBACTION',
|
||||
'CAPITAL_MTACTION',
|
||||
'CAPITAL_TYPE',
|
||||
'CA_COEF',
|
||||
'CA_TAUX',
|
||||
'CA_Y',
|
||||
'COTELIM',
|
||||
'COTEOK',
|
||||
'COTEOK_MMAA',
|
||||
'COTETYPEHIS',
|
||||
'COTETYPE_MMAA',
|
||||
'CSFACTO',
|
||||
'CSFACTO_MMAA',
|
||||
'DEPARTEMENT',
|
||||
'DEPARTEMENT_DE',
|
||||
'DCREN',
|
||||
'DCREN_AA',
|
||||
'DEFAUT_MMAA',
|
||||
'DELAIPAY',
|
||||
'DELAIPAY_MMAA',
|
||||
'DELAIPAYp',
|
||||
'DEPSIE',
|
||||
'DEPSIE_DE',
|
||||
'DIMMAT',
|
||||
'DIMMAT_AA',
|
||||
'DIR1_AGE',
|
||||
'DIR1_FONC',
|
||||
'DIR1_NOM',
|
||||
'DIR1_TYPE',
|
||||
'DIR2_AGE',
|
||||
'DIR2_FONC',
|
||||
'DIR2_NOM',
|
||||
'DIR2_TYPE',
|
||||
'DIR_NB',
|
||||
'DOM_NB',
|
||||
'DOM_NOM',
|
||||
'DOM_SIREN',
|
||||
'EFFBILAN',
|
||||
'EFFECTIF',
|
||||
'EFFECTIF_POPU',
|
||||
'ELIMINE',
|
||||
'ENCOURSDEM',
|
||||
'ENCOURS', // Encours final attribué
|
||||
'ENCOURSCALC', // Encours calculé sans cut-off
|
||||
'ENQUETE',
|
||||
'ENQUETELIM',
|
||||
'ENQUETEMAXI',
|
||||
'ENTREP_ALT',
|
||||
'ETATINSEE',
|
||||
'ETATINSEE_MMAA',
|
||||
'EXPLEN',
|
||||
'EXPLET',
|
||||
'EXPORTRANG',
|
||||
'EXPORTRANG_ARR',
|
||||
'FJUR',
|
||||
'FJUR1',
|
||||
'FJUR2',
|
||||
'FJUR4',
|
||||
'FJURINSEE',
|
||||
'FJURPUB',
|
||||
'FJURRNCS',
|
||||
'FJUR_PRE',
|
||||
'FRANCHISE',
|
||||
'FUSIONPROJET',
|
||||
'FUSIONPROJET_DATE',
|
||||
'FUSIONPROJET_SIREN',
|
||||
'GERANTMAJ',
|
||||
'GRANDGROUPE',
|
||||
'HOLDING',
|
||||
'IMPAYELOURD_MMAA',
|
||||
'IMPAYE_MMAA',
|
||||
'IMPORTRANG',
|
||||
'IMPORTRANG_ARR',
|
||||
'INFLA',
|
||||
'INFLAMOY1',
|
||||
'INFLAMOY2',
|
||||
'INFLAMOY3',
|
||||
'INFLATION',
|
||||
'INFOCESSATION_MMAA',
|
||||
'INFOFACTO',
|
||||
'JOUR_DATE',
|
||||
'JOUR_HEURE',
|
||||
'LCASSUR_MMAA',
|
||||
'LIBARTDEPSIE',
|
||||
'LIEUACT',
|
||||
'LISTEPRODUIT',
|
||||
'MARCHE',
|
||||
'MARCHEPART',
|
||||
'MARCHEPARTEVOL',
|
||||
'MARCHEPARTp',
|
||||
'MARCHEPLACE',
|
||||
'MARCHEPLACE_DEP',
|
||||
'MARCHEVOL',
|
||||
'MARCHEVOLUMEVOL',
|
||||
'MARCHEp',
|
||||
'MARCHESAL',
|
||||
'MARCHESALp',
|
||||
'MARCHENBENT',
|
||||
'MARCHENBENTp',
|
||||
'MARCHENBENT_DEP',
|
||||
'MARCHENBENT_VILLE',
|
||||
'MARCHEPUBLIC3_NB',
|
||||
'MARCHEPUBLIC3_MT',
|
||||
'MARCHEPUBLIC3_POURC',
|
||||
'MARCHEPUBLICAPP3_NB', // Nombre d'avis de marchés attribués par une administration sur les 3 dernières années
|
||||
'MARCHEPUBLIC3APP_MT', // Montant des avis de marchés attribués par une administration sur les 3 dernières années
|
||||
'MARCHEPUBLIC3APP_POURC', // % Par rapport au total des produits de fonctionnement
|
||||
'MARCHEPUBLICDER_OBJ',
|
||||
'MARCHEPUBLICDER_CLI',
|
||||
'MARCHEPUBLICDER_MT',
|
||||
'MARCHEPUBLICDER_DATE',
|
||||
'MARCHEPUBLICDERAPP_OBJ', // @todo
|
||||
'MARCHEPUBLICDERAPP_BEN', // Bénéficiaire
|
||||
'MARCHEPUBLICDERAPP_MT', // ..
|
||||
'MARCHEPUBLICDERAPP_DATE', // ..
|
||||
'MARQUENB',
|
||||
'MARQUENB_INT',
|
||||
'MARQUENB_EUR',
|
||||
'MARQUENB_FR',
|
||||
'MARQUELISTE_INT',
|
||||
'MARQUELISTE_EUR',
|
||||
'MARQUELISTE_FR',
|
||||
'MODEN',
|
||||
'MODIFBILDATE',
|
||||
'MODIFDERDATE',
|
||||
'MODIFINSEE',
|
||||
'MODIFINSEEDATE',
|
||||
'MODIFPAIDATE',
|
||||
'MODIFRNCS',
|
||||
'MODIFRNCSDATE',
|
||||
'MONOACT',
|
||||
'MONOREG',
|
||||
'NBBILAN',
|
||||
'NBBILANMANQUE',
|
||||
'NBBILANSEC',
|
||||
'NBDIRLIEN',
|
||||
'NBDIRSCI',
|
||||
'NBDIRSCIADR',
|
||||
'NBETEXPL',
|
||||
'NBFILLE',
|
||||
'NBINTERRO1',
|
||||
'NBINTERRO12',
|
||||
'NBINTERRO3',
|
||||
'NBINTERRO6',
|
||||
'NBNIC',
|
||||
'NBSOCSEC',
|
||||
'NBSOCSECPUB',
|
||||
'NBSUIVICLI',
|
||||
'NIC',
|
||||
'NICFILLE',
|
||||
'NICMERE',
|
||||
'NIVEAU',
|
||||
'NOMEN',
|
||||
'NOMFILLE',
|
||||
'NOMFUSION',
|
||||
'NOMMERE',
|
||||
'NOTE100',
|
||||
'NOTECAP20',
|
||||
'NOTECFI20',
|
||||
'NOTEDEFPRO',
|
||||
'NOTEDEFSEC',
|
||||
'NOTELED20',
|
||||
'NOTEMEX20',
|
||||
'NOTERBT20',
|
||||
'NOTESBRUTE',
|
||||
'NOTESCORE',
|
||||
'NOTETRES20',
|
||||
'ORIASCAT',
|
||||
'ORIASID',
|
||||
'ORIASID_DATE',
|
||||
'ORIGINE',
|
||||
'PLAN',
|
||||
'PLANMODIF',
|
||||
'POPULATION',
|
||||
'PPNONDIFF',
|
||||
'PRESENTINSEE',
|
||||
'PRESENTRNCS',
|
||||
'PRIVILEGES',
|
||||
'PRIVILEGESECU',
|
||||
'PRIVILEGESECU_MT',
|
||||
'PRIVILEGESURSSAF_MMAA',
|
||||
'PRIVILEGES_MMAA',
|
||||
'PRIVILEGETRES',
|
||||
'PRIVILEGETRES_MT',
|
||||
'PRODPART',
|
||||
'R',
|
||||
'RCAI_COEF',
|
||||
'RCAI_TAUX',
|
||||
'RCAI_Y',
|
||||
'RECME',
|
||||
'REGIMP',
|
||||
'RISQUEACT',
|
||||
'RISQUEACTBASSIN',
|
||||
'RISQUEACT_NB',
|
||||
'RISQUEANALYSE_MMAA',
|
||||
'RISQUEGEO',
|
||||
'RISQUEGEOARRETE',
|
||||
'RISQUEGEOARRETE_AA',
|
||||
'RISQUEGEOARRETE_DATE',
|
||||
'RISQUEGEOARRETE_EVTDATE',
|
||||
'RISQUEGEOARRETE_JODATE',
|
||||
'RISQUEGEOARRETE_NB',
|
||||
'RISQUEGEOARRETE_VILLE',
|
||||
'RISQUEGEO_NB',
|
||||
'RISQUEGROUPE_MMAA',
|
||||
'RISQUEIMPAYE_MMAA',
|
||||
'RJFILLE',
|
||||
'RJMERE',
|
||||
'ROUEDELARELANCE',
|
||||
'RPEN',
|
||||
'RPS_ACCORDDATE',
|
||||
'RPS_INFODATE',
|
||||
'RPS_NEGO',
|
||||
'RPS_PLAN',
|
||||
'Ra',
|
||||
'Rap',
|
||||
'Rdiff',
|
||||
'Revol',
|
||||
'Revolp',
|
||||
'Revolp2',
|
||||
'Revolp3',
|
||||
'Revols',
|
||||
'Rp',
|
||||
'Rp2',
|
||||
'Rp3',
|
||||
'Rp4',
|
||||
'Rs',
|
||||
'Rsp',
|
||||
'Rsp1',
|
||||
'Rsp2',
|
||||
'Rsp3',
|
||||
'SAISONAT',
|
||||
'SCORECONF',
|
||||
'SCOREDEFTAUX',
|
||||
'SCOREDIRI',
|
||||
'SIREN',
|
||||
'SIRENFILLE',
|
||||
'SIRENMERE',
|
||||
'SIRET',
|
||||
'SIRETFILLE',
|
||||
'SIRETMERE',
|
||||
'SITUACT',
|
||||
'SOCIETE_COTE',
|
||||
'SOCIETE_COTE_CAPITALISATION',
|
||||
'SOCIETE_COTE_COURS',
|
||||
'SOCIETE_COTE_COURS_DATE',
|
||||
'SOCIETE_COTE_COURS_MAX',
|
||||
'SOCIETE_COTE_COURS_MIN',
|
||||
'SOCIETE_COTE_ISIN',
|
||||
'SOCIETE_COTE_MARCHE',
|
||||
'SOCIETE_COTE_MARCHE_MERE',
|
||||
'SOCIETE_COTE_PLACE',
|
||||
'T',
|
||||
'TAUXRA',
|
||||
'TAUXRAMOY1',
|
||||
'TAUXRAMOY2',
|
||||
'TAUXRAMOY3',
|
||||
'TCAEXP',
|
||||
'TEMOINACT',
|
||||
'TEMOINACT_MAX',
|
||||
'TEMOINATT',
|
||||
'TEMOINATT_MAX',
|
||||
'TEMOINAVI',
|
||||
'TEMOINAVI_MAX',
|
||||
'TEMOINCAPFAIBLE',
|
||||
'TEMOINCAPFAIBLE_MAX',
|
||||
'TEMOINCLES',
|
||||
'TEMOINCLES_MAX',
|
||||
'TEMOINCONF',
|
||||
'TEMOINCONF_MAX',
|
||||
'TEMOINCYANO',
|
||||
'TEMOINCYANO_MAX',
|
||||
'TEMOINCYC',
|
||||
'TEMOINCYC_MAX',
|
||||
'TEMOINDEF',
|
||||
'TEMOINDEF_MAX',
|
||||
'TEMOINDIAG',
|
||||
'TEMOINDIAG_MAX',
|
||||
'TEMOINDIR',
|
||||
'TEMOINDIR_MAX',
|
||||
'TEMOINEXP',
|
||||
'TEMOINEXP_MAX',
|
||||
'TEMOINFAV',
|
||||
'TEMOINFAV_MAX',
|
||||
'TEMOINFIL',
|
||||
'TEMOINFIL_MAX',
|
||||
'TEMOINFIN',
|
||||
'TEMOINFIN_MAX',
|
||||
'TEMOINFLANO',
|
||||
'TEMOINFLANO_MAX',
|
||||
'TEMOINFLUX',
|
||||
'TEMOINFLUX_MAX',
|
||||
'TEMOINGRAPH',
|
||||
'TEMOINGRAPH_MAX',
|
||||
'TEMOINHIST',
|
||||
'TEMOINHIST_MAX',
|
||||
'TEMOINLOC',
|
||||
'TEMOINLOC_MAX',
|
||||
'TEMOINMAR',
|
||||
'TEMOINMAR_MAX',
|
||||
'TEMOINMARPUB',
|
||||
'TEMOINMARPUB_MAX',
|
||||
'TEMOINMOIN',
|
||||
'TEMOINMOIN_MAX',
|
||||
'TEMOINNORM',
|
||||
'TEMOINNORM_MAX',
|
||||
'TEMOINOBS',
|
||||
'TEMOINOBS_MAX',
|
||||
'TEMOINPAY',
|
||||
'TEMOINPAY_MAX',
|
||||
'TEMOINPLUS',
|
||||
'TEMOINPLUS_MAX',
|
||||
'TEMOINPROF',
|
||||
'TEMOINPROF_MAX',
|
||||
'TEMOINPROJ',
|
||||
'TEMOINPROJ_MAX',
|
||||
'TEMOINREPA',
|
||||
'TEMOINREPA_MAX',
|
||||
'TEMOINRES',
|
||||
'TEMOINRES_MAX',
|
||||
'TEMOINRIS',
|
||||
'TEMOINRIS_MAX',
|
||||
'TEMOINSTACTIF',
|
||||
'TEMOINSTACTIF_MAX',
|
||||
'TEMOINSTANO',
|
||||
'TEMOINSTANO_MAX',
|
||||
'TEMOINSTPASS',
|
||||
'TEMOINSTPASS_MAX',
|
||||
'TEMOINSTRUCT',
|
||||
'TEMOINSTRUCT_MAX',
|
||||
'TEMOINSTSYNT',
|
||||
'TEMOINSTSYNT_MAX',
|
||||
'TEMOINVUL',
|
||||
'TEMOINVUL_MAX',
|
||||
'TEMOINVALBIL',
|
||||
'TEMOINVALBIL_MAX',
|
||||
'TEMOINVALCONC',
|
||||
'TEMOINVALCONC_MAX',
|
||||
'TEMOINVALCR',
|
||||
'TEMOINVALCR_MAX',
|
||||
'TEMOINVALDIAG',
|
||||
'TEMOINVALDIAG_MAX',
|
||||
'TEMOINVALMETH',
|
||||
'TEMOINVALMETH_MAX',
|
||||
'TEMOINVALMRET',
|
||||
'TEMOINVALMRET_MAX',
|
||||
'TEMOINVALPATR',
|
||||
'TEMOINVALPATR_MAX',
|
||||
'TEMOINVALPOND',
|
||||
'TEMOINVALPOND_MAX',
|
||||
'TEMOINVALPRES',
|
||||
'TEMOINVALPRES_MAX',
|
||||
'TEMOINVALRESV',
|
||||
'TEMOINVALRESV_MAX',
|
||||
'TEMOINVALRETR',
|
||||
'TEMOINVALRETR_MAX',
|
||||
'TEMOINVALTABB',
|
||||
'TEMOINVALTABB_MAX',
|
||||
'TEMOINVALTABS',
|
||||
'TEMOINVALTABS_MAX',
|
||||
'TEMOINVALTABR',
|
||||
'TEMOINVALTABR_MAX',
|
||||
'TEMOINVALMINMAX',
|
||||
'TEMOINVALMINMAX_MAX',
|
||||
'TEMOINVALMAXMIN',
|
||||
'TEMOINVALMAXMIN_MAX',
|
||||
'TEMOINADIZES',
|
||||
'TEMOINADIZES_MAX',
|
||||
'TEMOINMRQ',
|
||||
'TEMOINMRQ_MAX',
|
||||
'TEMOINMRQLIST',
|
||||
'TEMOINMRQLIST_MAX',
|
||||
'TRIBUNAL_ACTUEL',
|
||||
'TRIBUNAL_CREATION',
|
||||
'TRIBUNAL_PROCOL',
|
||||
'TU',
|
||||
'TVAINTRA',
|
||||
'TVAINTRAFACULT',
|
||||
'TYPEMERE',
|
||||
'VALCOEFMINCA', //Table baremCA
|
||||
'VALCOEFMAXCA', // Table baremCA
|
||||
'VAL319_EU',
|
||||
'VAL320_EU',
|
||||
'VAL322_EU',
|
||||
'VAL598_EU',
|
||||
'VAL970_EU',
|
||||
'VAL971_EU',
|
||||
'VAL974_EU',
|
||||
'VAL975_EU',
|
||||
'VAL976_EU',
|
||||
'VAL977_EU',
|
||||
'VAL978_EU',
|
||||
'VAL979_EU',
|
||||
'VAL980_EU',
|
||||
'VAL981_EU',
|
||||
'VAL982_EU',
|
||||
'VAL983_EU',
|
||||
'VAL984_EU',
|
||||
'VAL985_EU',
|
||||
'VAL986_EU',
|
||||
'VAL987_EU',
|
||||
'VAL988_EU',
|
||||
'VAL989_EU',
|
||||
'VAL990_EU',
|
||||
'VAL991_EU',
|
||||
'VAL992_EU',
|
||||
'VAL993_EU',
|
||||
'VAL994_EU',
|
||||
'VAL995_EU',
|
||||
'VAL996_EU',
|
||||
'VAL997_EU',
|
||||
'VAL998_EU',
|
||||
'VAL999_EU',
|
||||
'VILLE',
|
||||
'VENTEMAX_VILLE_EU',
|
||||
'VENTEMAX_VILLE_MT',
|
||||
'VENTEMOY_VILLE_EU',
|
||||
'VENTEMOY_VILLE_MT',
|
||||
'VENTEMIN_VILLE_EU',
|
||||
'VENTEMIN_VILLE_MT',
|
||||
'VENTE_VILLE_NB',
|
||||
'VENTEMAX_DEP_EU',
|
||||
'VENTEMAX_DEP_MT',
|
||||
'VENTEMOY_DEP_EU',
|
||||
'VENTEMOY_DEP_MT',
|
||||
'VENTEMIN_DEP_EU',
|
||||
'VENTEMIN_DEP_MT',
|
||||
'VENTE_DEP_NB',
|
||||
'VENTEMAX_FRA_EU',
|
||||
'VENTEMAX_FRA_MT',
|
||||
'VENTEMOY_FRA_EU',
|
||||
'VENTEMOY_FRA_MT',
|
||||
'VENTEMIN_FRA_EU',
|
||||
'VENTEMIN_FRA_MT',
|
||||
'VENTE_FRA_NB',
|
||||
'VENTEMAX_MT', // A supprimer après la 4.02
|
||||
'VENTEMIN_MT', // A supprimer après la 4.02
|
||||
'VENTE_NB', // A supprimer après la 4.02
|
||||
'WALDEC',
|
||||
'Y',
|
||||
'ZEMET',
|
||||
'ZONEPRI',
|
||||
'ZONEPRIAFR',
|
||||
'ZONEPRICUCS',
|
||||
'ZONEPRIZFU',
|
||||
'ZONEPRIZRR',
|
||||
'ZONEPRIZRU',
|
||||
'ZONEPRIZUS',
|
||||
'nm',
|
||||
'nmp',
|
||||
'nmp2',
|
||||
'nmp3',
|
||||
'nmp4',
|
||||
'regR',
|
||||
'regRs',
|
||||
);
|
2674
library/Metier/Scores/ICotation.php
Normal file
2674
library/Metier/Scores/ICotation.php
Normal file
File diff suppressed because it is too large
Load Diff
1365
library/Metier/Scores/MRatios.php
Normal file
1365
library/Metier/Scores/MRatios.php
Normal file
File diff suppressed because it is too large
Load Diff
4012
library/Metier/Scores/MScores.php
Normal file
4012
library/Metier/Scores/MScores.php
Normal file
File diff suppressed because it is too large
Load Diff
1298
library/Metier/Scores/MSolvabilite.php
Normal file
1298
library/Metier/Scores/MSolvabilite.php
Normal file
File diff suppressed because it is too large
Load Diff
118
library/Metier/Scores/Projection.php
Normal file
118
library/Metier/Scores/Projection.php
Normal file
@ -0,0 +1,118 @@
|
||||
<?php
|
||||
class Metier_Scores_Projection
|
||||
{
|
||||
/**
|
||||
* Tableau des années de millesime de bilans
|
||||
*/
|
||||
public $tabRegX;
|
||||
|
||||
/**
|
||||
* Tableau des années en paramètres
|
||||
*/
|
||||
protected $Y;
|
||||
|
||||
/**
|
||||
* + $nbAnnees Projetées
|
||||
*/
|
||||
protected $Yaff;
|
||||
|
||||
/**
|
||||
* Taux de projection de n à n+$nbAnnees
|
||||
*/
|
||||
protected $PROJECTAUX;
|
||||
|
||||
/**
|
||||
* Coef de corélation linéaire
|
||||
*/
|
||||
protected $PROJECCOEF;
|
||||
|
||||
|
||||
public function getY()
|
||||
{
|
||||
return $this->Y;
|
||||
}
|
||||
|
||||
public function getYaff()
|
||||
{
|
||||
return $this->Yaff;
|
||||
}
|
||||
|
||||
public function getProjecTaux()
|
||||
{
|
||||
return $this->PROJECTAUX;
|
||||
}
|
||||
|
||||
public function getProjecCoeff()
|
||||
{
|
||||
return $this->PROJECCOEF;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remplace la function PROJECCOEF
|
||||
* @param array $tabRegY
|
||||
* @param array $nbAnnees
|
||||
* @return boolean|number
|
||||
*/
|
||||
public function calcCOEF($tabRegY, $nbAnnees)
|
||||
{
|
||||
if ( count($this->tabRegX) == 0 || count($tabRegY) == 0 ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$oReg = new Metier_Scores_Regression($tabRegY, $this->tabRegX);
|
||||
return $oReg->vCoefCorLin;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remplace la function PROJEC
|
||||
* @param array $tabRegY
|
||||
* @param array $nbAnnees
|
||||
* @return boolean|mixed
|
||||
*/
|
||||
public function calc($tabRegY, $nbAnnees)
|
||||
{
|
||||
if ( count($this->tabRegX) == 0 || count($tabRegY) == 0 ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$oReg = new Metier_Scores_Regression($tabRegY, $this->tabRegX);
|
||||
$tab = $oReg->GetProjectionDebut($nbAnnees);
|
||||
|
||||
$this->Y = $this->Yaff = array();
|
||||
$nbRegX = count($this->tabRegX);
|
||||
// Début des clés pour le tableau Y des critères
|
||||
$j = 0 - $nbRegX;
|
||||
foreach($tab as $i=>$valeur) {
|
||||
$j++;
|
||||
if ( isset($this->tabRegX[$i]) ) {
|
||||
$this->Yaff[''.$this->tabRegX[$i].' '] = $this->Y[$j] = $tab[$i];
|
||||
$lastX = $this->tabRegX[$i];
|
||||
} else {
|
||||
$lastX++;
|
||||
$this->Yaff[''.$lastX.' '] = $this->Y[$j] = $tab[$i];
|
||||
}
|
||||
}
|
||||
|
||||
$this->PROJECTAUX = $oReg->TauxProgression($nbAnnees);
|
||||
$this->PROJECCOEF = $oReg->vCoefCorLin*100;
|
||||
|
||||
return end($tab);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remplace la function PROJECTAUX
|
||||
* @param array $tabRegY
|
||||
* @param array $nbAnnees
|
||||
* @return boolean|number
|
||||
*/
|
||||
public function calcTAUX($tabRegY, $nbAnnees)
|
||||
{
|
||||
if ( count($this->tabRegX) == 0 || count($tabRegY) == 0 ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$oReg = new Metier_Scores_Regression($tabRegY, $this->tabRegX);
|
||||
return $oReg->TauxProgression($nbAnnees);
|
||||
}
|
||||
|
||||
}
|
35
library/Metier/Scores/README.txt
Normal file
35
library/Metier/Scores/README.txt
Normal file
@ -0,0 +1,35 @@
|
||||
Problème à debugger
|
||||
===================
|
||||
Version 411 :
|
||||
FRANCHISE AMO ET SOFT
|
||||
Commentaires
|
||||
Faire disparaitre <BLOC>
|
||||
Code 34810 supprimé espace sur ' {NOMEN}'
|
||||
Code 9995 ajouté fin de balise </I>
|
||||
Code 396000, ligne 20 : apostrophe
|
||||
Code 740160, ligne 10 : apostrophe sur "les frais d'établissement"
|
||||
Code 770061, ligne 10 : apostrophe sur "la durée moyenne d'extinction"
|
||||
Code 770221, ligne : apostrophe sur "l'article"
|
||||
Code 770222, ligne : apostrophe sur "l'article"
|
||||
|
||||
Amélioration des scores
|
||||
=======================
|
||||
|
||||
// Valorisation
|
||||
$tabTxRendObli;
|
||||
|
||||
|
||||
Pousser la date companyEvenDateStop
|
||||
|
||||
\$([A-Z]) => \$this-\>$1
|
||||
|
||||
20140101 => 20150901
|
||||
|
||||
Scoring
|
||||
Comment / Tri V Version N Niveau
|
||||
Comment / Txt V Version N Niveau
|
||||
Data / Données tableaux
|
||||
Base
|
||||
Report V Version
|
||||
|
||||
|
219
library/Metier/Scores/Regression.php
Normal file
219
library/Metier/Scores/Regression.php
Normal file
@ -0,0 +1,219 @@
|
||||
<?php
|
||||
class Metier_Scores_Regression
|
||||
{
|
||||
/*
|
||||
But: Fournir un objet assez complet permettant d'opérer facilement une régression
|
||||
linéaire, plus connu sur le nom de courbe de tendance sous Excel.
|
||||
Usage: 0- Dans votre fichier PHP insérer include ("CrbTendance.php");
|
||||
1- Déclarer l'objet RegLin
|
||||
ex: $oReg= new RegLin($tDonnees) ou $oReg= new RegLin($tY, $tX)
|
||||
Les deux syntaxe sont disponible, si une seul tableau est fourni
|
||||
alors le second est initialisé du même nombre d'occurence commençant à 0
|
||||
avec un pas de 1
|
||||
2- Lancer le calcul, avec méthodes fournie de 0 à 4, par défaut 0 sera pris. Pour
|
||||
tout élément supérieur à 4, la cinquième sera prise.
|
||||
Cette méthode retourne un tableau à Trois positions,
|
||||
-avec dans la case "A" le coef directeur de la droite,
|
||||
-dans la case "B" le positionnement vertical
|
||||
-dans la case "Cor" le coef de corrélation
|
||||
-et dans la case "Meth" le numéro de la méthode utlisée
|
||||
|
||||
Ex: print_r($oReg0->OptMV(0));
|
||||
==>Array ( [A] => -649.029426204
|
||||
[B] => 3037796.68186
|
||||
[Cor] => -0.143065138366
|
||||
[Meth] => 0 )
|
||||
3- De manière optionnel vous pouvez lancer la méthode GetOpt();,
|
||||
qui vous fournira le point de votre droite en fonction de votre
|
||||
tableau d'abscisses, si ce dernier n'est pas fourni
|
||||
vous aurez un tableau de 0 à nb-1 d'occurence du premier tableau
|
||||
|
||||
Ex: print_r($oReg1->GetOpt());
|
||||
==>Array ( [1] => 3037147.65243
|
||||
[7] => 3033253.47587
|
||||
[20] => 3024816.09333
|
||||
[21] => 3024167.06391
|
||||
[22] => 3023518.03448)
|
||||
|
||||
*/
|
||||
|
||||
//champ de l'objet
|
||||
private $tDonnees;
|
||||
private $tAbscisse;
|
||||
private $vNbElt; //Nombre déléments des tableaux
|
||||
|
||||
private $vMoyX; //Moyenne des X
|
||||
private $vMoyY; //Moyenne des Y
|
||||
private $vSumXY;
|
||||
private $vSumX;
|
||||
private $vSumY;
|
||||
private $vSumX2;
|
||||
private $tPtG; //Le point moyen G est un tableau tPtG(X,Y)=(vMoyX,vMoyY)
|
||||
//La variance, c'est la moyenne des carrés soustrait du carré de la moyenne
|
||||
private $vVarianceX;
|
||||
private $vVarianceY;
|
||||
//L'écart Type, c'est la racine carrée de la variance
|
||||
private $vEcartTX;
|
||||
private $vEcartTY;
|
||||
//La covariance, la moyenne des produits moins le produit des moyennes
|
||||
private $vCovariance;
|
||||
|
||||
|
||||
private $vA; //Coef directeur de la droite liée à la régression
|
||||
private $vB; //Coef B de la droite liée à la régression
|
||||
public $vCoefCorLin;//Coef de corrélation linéaire
|
||||
|
||||
public $tTest;
|
||||
|
||||
public function __construct($tDataY,$tDataX=NULL)
|
||||
{
|
||||
$this->tDonnees = $tDataY;
|
||||
$this->tAbscisse = $tDataX;
|
||||
$this->vNbElt = $n=count($this->tDonnees); // Nombres d'éléments
|
||||
|
||||
//Mise en place des abscisses
|
||||
if (isset($tDataX))
|
||||
for($i=0;$i<$this->vNbElt;$i++)
|
||||
$this->tAbscisse[$i]=$i;
|
||||
|
||||
//parcours des donnees pour récupération formule nécessaire au calcul des éléments
|
||||
$sumX=0; //somme des X
|
||||
$sumY=0; //somme des Y
|
||||
$sumX2=0; //somme des X²
|
||||
$sumY2=0; //somme des y²
|
||||
$sumXY=0; //somme des x*y
|
||||
|
||||
for ($i=0;$i<$n;$i++) {
|
||||
$xVal=$this->tAbscisse[$i];
|
||||
$yVal=$this->tDonnees[$i];
|
||||
$sumX+=$xVal;
|
||||
$sumY+=$yVal;
|
||||
$sumX2+=$xVal*$xVal;
|
||||
$sumY2+=$yVal*$yVal;
|
||||
$sumXY+=$xVal*$yVal;
|
||||
}
|
||||
|
||||
$this->vMoyX=$sumX/$n; //moyenne X
|
||||
$this->vMoyY=$sumY/$n; //moyenne Y
|
||||
|
||||
$this->vSumXY=$sumXY;
|
||||
$this->vSumX=$sumX;
|
||||
$this->vSumY=$sumY;
|
||||
$this->vSumX2=$sumX2;
|
||||
|
||||
$this->tPtG=array('X'=>$this->vMoyX,'Y'=>$this->vMoyY); //point moyen G
|
||||
|
||||
//La variance, c'est la moyenne des carrés soustrait du carré de la moyenne: Rappel
|
||||
$this->vVarianceX=($sumX2/$n)-($this->vMoyX*$this->vMoyX);
|
||||
$this->vVarianceY=($sumY2/$n)-($this->vMoyY*$this->vMoyY);
|
||||
|
||||
//L'écart Type, c'est la racine carrée de la variance: Rappel
|
||||
$this->vEcartTX=sqrt(abs($this->vVarianceX));
|
||||
$this->vEcartTY=sqrt(abs($this->vVarianceY));
|
||||
|
||||
//La covariance, la moyenne des produits moins le produit des moyennes
|
||||
$this->vCovariance=($sumXY/$n)-($this->vMoyX*$this->vMoyY);
|
||||
|
||||
// coef de coorélation linéaire: Covariance que divise l'écart Type X multiplié par l'écart Type de Y
|
||||
$this->vCoefCorLin=$this->vCovariance/($this->vEcartTX*$this->vEcartTY);
|
||||
|
||||
// Calcul de la droite
|
||||
$this->CoefsDroite(0);
|
||||
|
||||
$this->tTest=array(
|
||||
'vMoyX'=>$this->vMoyX,
|
||||
'vMoyY'=>$this->vMoyY,
|
||||
'vA'=>$this->vA, // Coef directeur de la droite liée à la régression
|
||||
'vB'=>$this->vB, // Coef B de la droite liée à la régression
|
||||
'tPtG'=>$this->tPtG,
|
||||
'vVarianceX'=>$this->vVarianceX,
|
||||
'vVarianceY'=>$this->vVarianceY,
|
||||
'vEcartTX'=>$this->vEcartTX,
|
||||
'vEcartTY'=>$this->vEcartTY,
|
||||
'vCovariance'=>$this->vCovariance,
|
||||
'vCoefCorLin'=>$this->vCoefCorLin,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcul de la droite
|
||||
* (calcul de coef directeur de la régression par théorie de la régression linéaire
|
||||
* le coef a est obtenu des manières suivantes avec 5 variantes disponibles)
|
||||
*/
|
||||
private function CoefsDroite($met=0)
|
||||
{
|
||||
switch ($met) {
|
||||
case 0:
|
||||
$this->vA=$this->vCovariance/$this->vVarianceX;
|
||||
break;
|
||||
case 1:
|
||||
$this->vA=$this->vVarianceY/$this->vCovariance;
|
||||
break;
|
||||
case 2:
|
||||
$this->vA=($this->vCovariance*$this->vEcartTY)/(abs($this->vCovariance)*$this->vEcartTX);
|
||||
break;
|
||||
/*
|
||||
case 4:
|
||||
$this->vA=($this->vSumXY-(($this->vSumX*$this->vSumY)/$this->vNbElt)/($this->vSumX2-(pow(2,$this->vSumX)/$this->vNbElt)));
|
||||
break; */
|
||||
case 3:
|
||||
$this->vA=($this->vVarianceY-$this->vVarianceX+sqrt(pow($this->vVarianceY-$this->vVarianceX,2)+pow(2*$this->vCovariance,2)))/(2*$this->vCovariance);
|
||||
break;
|
||||
case 4:
|
||||
$this->vA=($this->vSumXY-($this->vSumX*$this->vSumY/$this->vNbElt))/($this->vSumX2-(pow($this->vSumX,2)/$this->vNbElt));
|
||||
break;
|
||||
}
|
||||
$this->vB=$this->vMoyY-($this->vA*$this->vMoyX);
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcul la régression Linéaire
|
||||
*/
|
||||
public function OptMV($meth=0)
|
||||
{
|
||||
$this->CoefsDroite($meth);
|
||||
$this->CoefCorLin();
|
||||
return array("A"=>$this->vA,"B"=>$this->vB,"Cor"=>$this->vCoefCorLin,"Meth"=>$meth,"TauxProg"=>(1-$this->vA)*100);
|
||||
}
|
||||
|
||||
/**
|
||||
* Renvoi le tableau des points optimisés
|
||||
*/
|
||||
public function GetOpt()
|
||||
{
|
||||
$tOpt=array();
|
||||
foreach($this->tAbscisse as $i)
|
||||
$tOpt[$i]=$this->vA*$i+$this->vB;
|
||||
return $tOpt;
|
||||
}
|
||||
|
||||
public function GetProjection($nbPeriodes)
|
||||
{
|
||||
$iMax=end($this->tAbscisse)+$nbPeriodes+1;
|
||||
$tOpt=array();
|
||||
for ($i=end($this->tAbscisse); $i<$iMax; $i++)
|
||||
$tOpt[$i]=$this->vA*$i+$this->vB;
|
||||
return $tOpt;
|
||||
}
|
||||
|
||||
public function GetProjectionDebut($nbPeriodes)
|
||||
{
|
||||
$iMax=end($this->tAbscisse)+$nbPeriodes+1;
|
||||
$tOpt=array();
|
||||
reset($this->tAbscisse);
|
||||
for ($i=current($this->tAbscisse); $i<$iMax; $i++)
|
||||
$tOpt[$i]=$this->vA*$i+$this->vB;
|
||||
return $tOpt;
|
||||
}
|
||||
|
||||
public function TauxProgression($nbPeriodes)
|
||||
{
|
||||
$tOpt=$this->GetProjection($nbPeriodes);
|
||||
reset($tOpt);
|
||||
//print_r($tOpt);
|
||||
|
||||
$deb=abs(current($tOpt));
|
||||
$fin=abs(end($tOpt));
|
||||
return (($fin-$deb)*100)/$deb;
|
||||
}
|
||||
}
|
60
library/Metier/Table/AffairesTypes.php
Normal file
60
library/Metier/Table/AffairesTypes.php
Normal file
@ -0,0 +1,60 @@
|
||||
<?php
|
||||
return array(
|
||||
'ACD' => "Action contre/relative au(x) dirigeant(s)",
|
||||
'ACT' => "Conflit d'actionnaires",
|
||||
'AFF' => "Demande relative à un affacturage",
|
||||
'APC' => "Assignation en procédure collective",
|
||||
'BAN' => "Demande relative au droit bancaire",
|
||||
'CAU' => "Demande d'intervention de la caution",
|
||||
'CBA' => "Demande relative au crédit bail",
|
||||
'CDL' => "Action en concurrence déloyale",
|
||||
'CES' => "Cession de titres ou de parts sociales",
|
||||
'COA' => "Demande relative à un contrat assurance",
|
||||
'CON' => "Demande relative à un contrat",
|
||||
'CPT' => "Injonction du président pour dépôt des comptes annuels",
|
||||
'CRN' => "Demande relative à cession/nantissement de créance",
|
||||
'CTX' => "Contentieux",
|
||||
'DBA' => "Demande formée contre une banque",
|
||||
'DCO' => "Action en garantie des vices caches ou en sanction du défaut de conformité",
|
||||
'DCP' => "Demande d'ouverture de procédure collective",
|
||||
'DIR' => "Demande(s) relative(s) au(x) dirigeant(s) de la société",
|
||||
'DIV' => "Divers",
|
||||
'DOC' => "Demande de production de document(s)",
|
||||
'DOM' => "Action en dommages et intérêts",
|
||||
'DSV' => "Demande d'ouverture de procédure de sauvegarde",
|
||||
'ERR' => "Rectification d'erreur matérielle",
|
||||
'EXP' => "Expulsion",
|
||||
'EXT' => "Expertise",
|
||||
'FCT' => "Demande relative au fonctionnement de l'entité/actionnaires",
|
||||
'HOC' => "Mandat ad hoc",
|
||||
'HOM' => "Homologation par le tribunal d'un compromis ou d'une transaction",
|
||||
'IMP' => "Impayé(s)",
|
||||
'IND' => "Demande de paiement des indemnités d'assurances dommages",
|
||||
'INJ' => "Injonction de payer",
|
||||
'LGF' => "Demande en matière de location gérance du fonds",
|
||||
'LIC' => "Ordonnance d'autorisation de licenciements",
|
||||
'LOC' => "Demande relative à un contrat de location (hors immobilier)",
|
||||
'LSQ' => "Séquestre / Désignation ou Levée de séquestre",
|
||||
'NAC' => "Nullité d'un acte",
|
||||
'NAN' => "Demande en matière de nantissement du fonds",
|
||||
'NCO' => "Nullité d'un contrat",
|
||||
'NOM' => "Demande de cessation d'utilisation d'un nom ou d'une enseigne",
|
||||
'NVT' => "Nullité d'une vente",
|
||||
'ODT' => "Opposition à dissolution entraînant T.U.P.",
|
||||
'PCL' => "Action, Demande ou Jugement en cours de procédure collective",
|
||||
'PCV' => "Vente en cours de procédure collective",
|
||||
'PRT' => "Privilèges",
|
||||
'RBT' => "Demande de remboursement de prêt ou du solde du compte bancaire",
|
||||
'RES' => "Action en restitution de la chose, inexécution ou du prix reçu indûment",
|
||||
'RIN' => "Demande relative/radiation inscription (priv/nantissement...)",
|
||||
'RRC' => "Demande en réparation suite à rupture brutale relation commerciale",
|
||||
'RSP' => "Demande en responsabilité",
|
||||
'SAN' => "Demande de sanctions commerciales",
|
||||
'TRA' => "Demande relative travaux en bâtiment",
|
||||
'TSP' => "Demande relative au transport",
|
||||
'VTE' => "Demande relatives à la vente",
|
||||
'' => "Affaires diverses",
|
||||
'ARC' => "Désignation d'une Société d'Archivage",
|
||||
'AST' => "Obligation faire sous astreinte",
|
||||
'VPC' => "Vente dans le cadre d'une proc?dure collective",
|
||||
);
|
283
library/Metier/Table/CodesFJ.php
Normal file
283
library/Metier/Table/CodesFJ.php
Normal file
@ -0,0 +1,283 @@
|
||||
<?php
|
||||
return array(
|
||||
1000 => "Entrepreneur Individuel à Responsabilité Limité",
|
||||
1100 => "Artisan Commerçant",
|
||||
1200 => "Commerçant",
|
||||
1300 => "Artisan",
|
||||
1400 => "Officier public ou ministériel",
|
||||
1500 => "Profession libérale",
|
||||
1600 => "Exploitant agricole",
|
||||
1700 => "Agent commercial",
|
||||
1800 => "Associé Gérant de société",
|
||||
1900 => "(Autre) personne physique",
|
||||
2100 => "Indivision",
|
||||
2110 => "Indivision entre personnes physiques",
|
||||
2120 => "Indivision avec personne morale",
|
||||
2200 => "Société créée de fait",
|
||||
2210 => "Société créée de fait entre personnes physiques",
|
||||
2220 => "Société créée de fait avec personne morale",
|
||||
2300 => "Société en participation",
|
||||
2310 => "Société en participation entre personnes physiques",
|
||||
2320 => "Société en participation avec personne morale",
|
||||
2385 => "Société en participation de professions libérales",
|
||||
2400 => "Fiducie",
|
||||
2700 => "Paroisse hors zone concordataire",
|
||||
2900 => "Autre groupement de droit privé non doté de la personnalité morale",
|
||||
3110 => "Représentation ou agence commerciale d'état ou organisme public étranger immatriculé au RCS",
|
||||
3120 => "Société étrangère immatriculée au RCS",
|
||||
3205 => "Organisation internationale",
|
||||
3210 => "État collectivité ou établissement public étranger",
|
||||
3220 => "Société étrangère non immatriculée au RCS",
|
||||
3290 => "(Autre) personne morale de droit étranger",
|
||||
4110 => "Établissement public national à caractère industriel ou commercial doté d'un comptable public",
|
||||
4120 => "Établissement public national à caractère industriel ou commercial non doté d'un comptable public",
|
||||
4130 => "Exploitant public",
|
||||
4140 => "Établissement public local à caractère industriel ou commercial",
|
||||
4150 => "Régie d'une collectivité locale à caractère industriel ou commercial",
|
||||
4160 => "Institution Banque de France",
|
||||
5191 => "Société de caution mutuelle",
|
||||
5192 => "Société coopérative de banque populaire",
|
||||
5193 => "Caisse de crédit maritime mutuel",
|
||||
5194 => "Caisse (fédérale) de crédit mutuel",
|
||||
5195 => "Association coopérative inscrite (droit local Alsace Moselle)",
|
||||
5196 => "Caisse d'épargne et de prévoyance à forme coopérative",
|
||||
5202 => "Société en nom collectif",
|
||||
5203 => "Société en nom collectif coopérative",
|
||||
5306 => "Société en commandite simple",
|
||||
5307 => "Société en commandite simple coopérative",
|
||||
5308 => "Société en commandite par actions",
|
||||
5309 => "Société en commandite par actions coopérative",
|
||||
5370 => "Société de Participations Financières de Profession Libérale Société en commandite par actions",
|
||||
5385 => "Société d'exercice libéral en commandite par action",
|
||||
5410 => "SARL nationale",
|
||||
5415 => "SARL d'économie mixte",
|
||||
5422 => "SARL immobilière pour le commerce et l'industrie (SICOMI)",
|
||||
5426 => "Société immobilière de gestion",
|
||||
5430 => "Safer en SARL",
|
||||
5431 => "SARL mixte d'intérêt agricole",
|
||||
5432 => "SARL d'intérêt collectif agricole",
|
||||
5442 => "SARL d'attribution",
|
||||
5443 => "SARL coopérative de construction",
|
||||
5451 => "SARL coopérative de consommation",
|
||||
5453 => "SARL coopérative artisanale",
|
||||
5454 => "SARL coopérative d'intérêt maritime",
|
||||
5455 => "SARL coopérative de transports",
|
||||
5458 => "SARL coopérative ouvrière de production",
|
||||
5459 => "SARL union de sociétés coopératives",
|
||||
5460 => "Autre SARL coopérative",
|
||||
5470 => "Société de Participations Financières de Profession Libérale en SARL",
|
||||
5485 => "Société d'exercice libéral à responsabilité limitée",
|
||||
5488 => "Entreprise Unipersonnelle à Responsabilité Limitée",
|
||||
5498 => "SARL unipersonnelle",
|
||||
5499 => "Autre société à responsabilité limitée",
|
||||
5505 => "SA à participation ouvrière à conseil d'administration",
|
||||
5510 => "SA nationale à conseil d'administration",
|
||||
5515 => "SA d'économie mixte à conseil d'administration",
|
||||
5520 => "Société d'investissement à capital variable (SICAV) à conseil d'administration",
|
||||
5522 => "Société anonyme immobilière pour le commerce et l'industrie (SICOMI) à conseil d'administration",
|
||||
5525 => "Société anonyme immobilière d'investissement à conseil d'administration",
|
||||
5530 => "Safer anonyme à conseil d'administration",
|
||||
5531 => "Société anonyme mixte d'intérêt agricole (SMIA) à conseil d'administration",
|
||||
5532 => "Société anonyme mixte d'intérêt collectif agricole (SICA) à conseil d'administration",
|
||||
5542 => "Société anonyme d'attribution à conseil d'administration",
|
||||
5543 => "Société anonyme coopérative de construction à conseil d'administration",
|
||||
5546 => "SA de HLM à conseil d'administration",
|
||||
5547 => "SA coopérative de production de HLM à conseil d'administration",
|
||||
5548 => "SA de crédit immobilier à conseil d'administration",
|
||||
5551 => "SA coopérative de consommation à conseil d'administration",
|
||||
5552 => "SA coopérative de commerçants détaillants à conseil d'administration",
|
||||
5553 => "SA coopérative artisanale à conseil d'administration",
|
||||
5554 => "SA coopérative (d'intérêt) maritime à conseil d'administration",
|
||||
5555 => "SA coopérative de transports à conseil d'administration",
|
||||
5558 => "SA coopérative ouvrière de production (SCOP) à conseil d'administration",
|
||||
5559 => "SA union de sociétés coopératives à conseil d'administration",
|
||||
5560 => "Autre SA coopérative à conseil d'administration",
|
||||
5570 => "Société de Participations Financières de Profession Libérale en SA à conseil d'administration",
|
||||
5585 => "Société d'exercice libéral à forme anonyme à conseil d'administration",
|
||||
5599 => "Autre SA à conseil d'administration",
|
||||
5605 => "SA à participation ouvrière à directoire",
|
||||
5610 => "SA nationale à directoire",
|
||||
5615 => "SA d'économie mixte à directoire",
|
||||
5620 => "Société d'investissement à capital variable (SICAV) à directoire",
|
||||
5622 => "Société immobilière pour le commerce et l'industrie (SICOMI) anonyme à directoire",
|
||||
5625 => "Société immobilière d'investissement anonyme à directoire",
|
||||
5630 => "Safer anonyme à directoire",
|
||||
5631 => "Société anonyme mixte d'intérêt agricole",
|
||||
5632 => "Société anonyme d'intérêt collectif agricole",
|
||||
5642 => "Société anonyme d'attribution à directoire",
|
||||
5643 => "Société anonyme coopérative de construction à directoire",
|
||||
5646 => "Société anonyme de HLM à directoire",
|
||||
5647 => "Société coopérative de production de HLM anonyme à directoire",
|
||||
5648 => "SA de crédit immobilier à directoire",
|
||||
5651 => "SA coopérative de consommation à directoire",
|
||||
5652 => "SA coopérative de commerçants détaillants à directoire",
|
||||
5653 => "SA coopérative artisanale à directoire",
|
||||
5654 => "SA coopérative (d'intérêt) maritime à directoire",
|
||||
5655 => "SA coopérative de transport à directoire",
|
||||
5658 => "SA coopérative ouvrière de production (SCOP) à directoire",
|
||||
5659 => "SA union de sociétés coopératives à directoire",
|
||||
5660 => "(Autre) SA coopérative à directoire",
|
||||
5670 => "Société de Participations Financières de Profession Libérale en SA à Directoire",
|
||||
5685 => "Société d'exercice libéral à forme anonyme à directoire",
|
||||
5699 => "Autre SA à directoire",
|
||||
5710 => "Société par actions simplifiée",
|
||||
5720 => "Société par actions simplifiée à associé unique ou société par actions simplifiée unipersonnelle",
|
||||
5770 => "Société de Participations Financières de Profession Libérale en SAS",
|
||||
5785 => "Société d’exercice libéral par action simplifiée",
|
||||
5800 => "Société européenne",
|
||||
6100 => "Caisse d’épargne et de prévoyance",
|
||||
6200 => "Groupement d'intérêt économique",
|
||||
6210 => "Groupement européen d’intérêt économique",
|
||||
6220 => "Groupement d’intérêt économique",
|
||||
6316 => "Coopérative d’utilisation de matériel agricole en commun",
|
||||
6317 => "Société coopérative agricole",
|
||||
6318 => "Union de sociétés coopératives agricoles",
|
||||
6411 => "Société d’assurance mutuelle",
|
||||
6412 => "Société mutuelle d'assurance",
|
||||
6413 => "Union de sociétés mutuelles d'assurances",
|
||||
6414 => "Autre société non commerciale d'assurance",
|
||||
6511 => "Société Interprofessionnelle de Soins Ambulatoires",
|
||||
6521 => "Société civile de placement collectif immobilier",
|
||||
6532 => "Société civile d’intérêt collectif agricole",
|
||||
6533 => "Groupement agricole d’exploitation en commun",
|
||||
6534 => "Groupement foncier agricole",
|
||||
6535 => "Groupement agricole foncier",
|
||||
6536 => "Groupement forestier",
|
||||
6537 => "Groupement pastoral",
|
||||
6538 => "Groupement foncier rural",
|
||||
6539 => "Société civile foncière",
|
||||
6540 => "Société civile immobilière",
|
||||
6541 => "Société civile immobilière de construction vente",
|
||||
6542 => "Société civile d’attribution",
|
||||
6543 => "Société civile coopérative de construction",
|
||||
6544 => "Société immobilière d'accession progressive à la propriété",
|
||||
6551 => "Société civile coopérative de consommation",
|
||||
6554 => "Société civile coopérative (d’intérêt) maritime",
|
||||
6558 => "Société civile coopérative entre médecins",
|
||||
6560 => "Autre société civile coopérative",
|
||||
6561 => "SCP d’avocats",
|
||||
6562 => "SCP d’avocats aux conseil",
|
||||
6563 => "SCP d’avoués d’appel",
|
||||
6564 => "SCP d'huissiers",
|
||||
6565 => "SCP de notaires",
|
||||
6566 => "SCP de commissaires-priseurs",
|
||||
6567 => "SCP de greffiers de tribunal de commerce",
|
||||
6568 => "SCP de conseils juridiques",
|
||||
6569 => "SCP de commissaires aux comptes",
|
||||
6571 => "SCP de médecins",
|
||||
6572 => "SCP de dentistes",
|
||||
6573 => "SCP d’infirmiers",
|
||||
6574 => "SCP de masseurs kinésithérapeutes",
|
||||
6575 => "SCP de directeurs de laboratoire d’analyse médicale",
|
||||
6576 => "SCP de vétérinaires",
|
||||
6577 => "SCP de géomètres-experts",
|
||||
6578 => "SCP d’architectes",
|
||||
6585 => "(Autres) Société Civile professionnelle",
|
||||
6588 => "Société civile laitière",
|
||||
6589 => "Société civile de moyens",
|
||||
6595 => "Caisse (locale) de crédit mutuel",
|
||||
6596 => "Caisse de crédit agricole mutuel",
|
||||
6597 => "Société civile d’exploitation agricole",
|
||||
6598 => "Exploitation agricole à responsabilité limitée",
|
||||
6599 => "Autre société civile",
|
||||
6901 => "Autres personnes de droit privé inscrites au registre du commerce et des sociétés",
|
||||
7111 => "Autorité constitutionnelle",
|
||||
7112 => "Autorité administrative indépendante",
|
||||
7113 => "Ministère",
|
||||
7120 => "Service central d’un ministère",
|
||||
7130 => "Service du ministère des Postes et Télécommunications",
|
||||
7150 => "Service du ministère de la Défense",
|
||||
7160 => "Service déconcentré à compétence nation. D’un ministère (hors Défense)",
|
||||
7171 => "Service déconcentré de l’État à compétence (inter) régionale",
|
||||
7172 => "Service déconcentré de l’État à compétence (inter) départementale",
|
||||
7179 => "(Autre) Service déconcentré de l’État à compétence territoriale",
|
||||
7190 => "Ecole nationale non dotée de la personnalité morale",
|
||||
7210 => "Commune et commune nouvelle",
|
||||
7220 => "Département",
|
||||
7225 => "Collectivité et territoire d'Outre Mer",
|
||||
7229 => "(Autre) Collectivité territoriale",
|
||||
7230 => "Région",
|
||||
7312 => "Commune associée et commune déléguée",
|
||||
7313 => "Section de commune",
|
||||
7314 => "Ensemble urbain",
|
||||
7321 => "Association syndicale autorisée",
|
||||
7322 => "Association foncière urbaine",
|
||||
7323 => "Association foncière de remembrement",
|
||||
7331 => "Établissement public local d’enseignement",
|
||||
7340 => "Pôle métropolitain",
|
||||
7341 => "Secteur de commune",
|
||||
7342 => "District urbain",
|
||||
7343 => "Communauté urbaine",
|
||||
7344 => "Métropole",
|
||||
7345 => "Syndicat intercommunal à vocation multiple",
|
||||
7346 => "Communauté de communes",
|
||||
7347 => "Communauté de villes",
|
||||
7348 => "Communauté d'agglomération",
|
||||
7349 => "Autre établissement public local de coopération non spécialisé ou entente",
|
||||
7351 => "Institution interdépartemental ou entente",
|
||||
7352 => "Institution interrégionale ou entente",
|
||||
7353 => "Syndicat intercommunal à vocation unique",
|
||||
7354 => "Syndicat mixte ferm",
|
||||
7355 => "Syndicat mixte ouvert",
|
||||
7356 => "Commission syndicale pour la gestion des biens indivis des communes",
|
||||
7361 => "Centre communal d'action sociale",
|
||||
7362 => "Caisse des écoles",
|
||||
7363 => "Caisse de crédit municipal",
|
||||
7364 => "Établissement d'hospitalisation",
|
||||
7365 => "Syndicat inter hospitalier",
|
||||
7366 => "Établissement public local social et médico-social",
|
||||
7371 => "Office public d'habitation à loyer modéré",
|
||||
7372 => "Service d?partemental d'incendie et de secours",
|
||||
7373 => "Établissement public local culturel",
|
||||
7378 => "Régie d'une collectivité locale à caractère administratif",
|
||||
7379 => "(Autre) Établissement public administratif local",
|
||||
7381 => "Organisme consulaire",
|
||||
7382 => "Établissement public national ayant fonction d'administration centrale",
|
||||
7383 => "Établissement public national à caractère scientifique culturel et professionnel",
|
||||
7384 => "Autre établissement public national d'enseignement",
|
||||
7385 => "Autre établissement public national administratif à compétence territoriale limitée",
|
||||
7389 => "Établissement public national à caractère administratif",
|
||||
7410 => "Groupement d'intérêt public",
|
||||
7430 => "Établissement public des cultes d'Alsace-Lorraine",
|
||||
7450 => "Etablissement public administratif, cercle et foyer dans les armées",
|
||||
7470 => "Groupement de coopération sanitaire à gestion publique",
|
||||
7490 => "Autre personne morale de droit administratif",
|
||||
7510 => "Service d'une collectivité locale à comptabilité distincte",
|
||||
7520 => "Régie d'une collectivité locale non dotée de la personnalité morale",
|
||||
8110 => "Régime général de la sécurité sociale",
|
||||
8120 => "Régime spécial de sécurité sociale",
|
||||
8130 => "Institution de retraite complémentaire",
|
||||
8140 => "Mutualité sociale agricole",
|
||||
8150 => "Régime maladie des non-salariés non agricoles",
|
||||
8160 => "Régime vieillesse ne dépendant pas du régime général de la sécurité sociale",
|
||||
8170 => "Régime d'assurance chômage",
|
||||
8190 => "Autre régime de prévoyance sociale",
|
||||
8210 => "Mutuelle",
|
||||
8250 => "Assurance mutuelle agricole",
|
||||
8290 => "Autre organisme mutualiste",
|
||||
8310 => "Comité central d'entreprise",
|
||||
8311 => "Comité d'établissement",
|
||||
8410 => "Syndicat de salariés",
|
||||
8420 => "Syndicat patronal",
|
||||
8450 => "Ordre professionnel ou assimilé",
|
||||
8470 => "Centre technique industriel ou comité professionnel du développement économique",
|
||||
8490 => "Autre organisme professionnel",
|
||||
8510 => "Institution de prévoyance",
|
||||
8520 => "Institution de retraite supplémentaire ",
|
||||
9110 => "Syndicat de copropriété",
|
||||
9150 => "Association syndicale libre",
|
||||
9210 => "Association non déclarée",
|
||||
9220 => "Association déclarée",
|
||||
9221 => "Association déclarée \"entreprises d'insertion par l'économique\"",
|
||||
9222 => "Association intermédiaire",
|
||||
9223 => "Groupement d'employeurs",
|
||||
9224 => "Association d'avocats à responsabilité professionnelle individuelle",
|
||||
9230 => "Association déclarée reconnue d'utilité publique",
|
||||
9240 => "Congrégation",
|
||||
9260 => "Association de droit local",
|
||||
9300 => "Fondation",
|
||||
9900 => "Autre personne morale de droit privé",
|
||||
9970 => "Groupement de coopération sanitaire à gestion privée",
|
||||
7357 => "P?le d'?quilibre territorial",
|
||||
7367 => "Centre Intercommunal d'action sociale",
|
||||
);
|
750
library/Metier/Table/CodesNace.php
Normal file
750
library/Metier/Table/CodesNace.php
Normal file
@ -0,0 +1,750 @@
|
||||
<?php
|
||||
return array(
|
||||
'0111Z' => "A111",
|
||||
'0112Z' => "A112",
|
||||
'0113Z' => "A113",
|
||||
'0114Z' => "A114",
|
||||
'0115Z' => "A115",
|
||||
'0116Z' => "A116",
|
||||
'0119Z' => "A119",
|
||||
'0121Z' => "A121",
|
||||
'0122Z' => "A122",
|
||||
'0123Z' => "A123",
|
||||
'0124Z' => "A124",
|
||||
'0125Z' => "A125",
|
||||
'0126Z' => "A126",
|
||||
'0127Z' => "A127",
|
||||
'0128Z' => "A128",
|
||||
'0129Z' => "A129",
|
||||
'0130Z' => "A130",
|
||||
'0141Z' => "A141",
|
||||
'0142Z' => "A142",
|
||||
'0143Z' => "A143",
|
||||
'0144Z' => "A144",
|
||||
'0145Z' => "A145",
|
||||
'0146Z' => "A146",
|
||||
'0147Z' => "A147",
|
||||
'0149Z' => "A149",
|
||||
'0150Z' => "A150",
|
||||
'0161Z' => "A161",
|
||||
'0162Z' => "A162",
|
||||
'0163Z' => "A163",
|
||||
'0164Z' => "A164",
|
||||
'0170Z' => "A170",
|
||||
'0210Z' => "A210",
|
||||
'0220Z' => "A220",
|
||||
'0230Z' => "A230",
|
||||
'0240Z' => "A240",
|
||||
'0311Z' => "A311",
|
||||
'0312Z' => "A312",
|
||||
'0321Z' => "A321",
|
||||
'0322Z' => "A322",
|
||||
'0510Z' => "B510",
|
||||
'0520Z' => "B520",
|
||||
'0610Z' => "B610",
|
||||
'0620Z' => "B620",
|
||||
'0710Z' => "B710",
|
||||
'0721Z' => "B721",
|
||||
'0729Z' => "B729",
|
||||
'0811Z' => "B811",
|
||||
'0812Z' => "B812",
|
||||
'0891Z' => "B891",
|
||||
'0892Z' => "B892",
|
||||
'0893Z' => "B893",
|
||||
'0899Z' => "B899",
|
||||
'0910Z' => "B910",
|
||||
'0990Z' => "B990",
|
||||
'1011Z' => "C1011",
|
||||
'1012Z' => "C1012",
|
||||
'1013A' => "C1013",
|
||||
'1013B' => "C1013",
|
||||
'1020Z' => "C1020",
|
||||
'1031Z' => "C1031",
|
||||
'1032Z' => "C1032",
|
||||
'1039A' => "C1039",
|
||||
'1039B' => "C1039",
|
||||
'1041A' => "C1041",
|
||||
'1041B' => "C1041",
|
||||
'1042Z' => "C1042",
|
||||
'1051A' => "C1051",
|
||||
'1051B' => "C1051",
|
||||
'1051C' => "C1051",
|
||||
'1051D' => "C1051",
|
||||
'1052Z' => "C1052",
|
||||
'1061A' => "C1061",
|
||||
'1061B' => "C1061",
|
||||
'1062Z' => "C1062",
|
||||
'1071A' => "C1071",
|
||||
'1071B' => "C1071",
|
||||
'1071C' => "C1071",
|
||||
'1071D' => "C1071",
|
||||
'1072Z' => "C1072",
|
||||
'1073Z' => "C1073",
|
||||
'1081Z' => "C1081",
|
||||
'1082Z' => "C1082",
|
||||
'1083Z' => "C1083",
|
||||
'1084Z' => "C1084",
|
||||
'1085Z' => "C1085",
|
||||
'1086Z' => "C1086",
|
||||
'1089Z' => "C1089",
|
||||
'1091Z' => "C1091",
|
||||
'1092Z' => "C1092",
|
||||
'1101Z' => "C1101",
|
||||
'1102A' => "C1102",
|
||||
'1102B' => "C1102",
|
||||
'1103Z' => "C1103",
|
||||
'1104Z' => "C1104",
|
||||
'1105Z' => "C1105",
|
||||
'1106Z' => "C1106",
|
||||
'1107A' => "C1107",
|
||||
'1107B' => "C1107",
|
||||
'1200Z' => "C1200",
|
||||
'1310Z' => "C1310",
|
||||
'1320Z' => "C1320",
|
||||
'1330Z' => "C1330",
|
||||
'1391Z' => "C1391",
|
||||
'1392Z' => "C1392",
|
||||
'1393Z' => "C1393",
|
||||
'1394Z' => "C1394",
|
||||
'1395Z' => "C1395",
|
||||
'1396Z' => "C1396",
|
||||
'1399Z' => "C1399",
|
||||
'1411Z' => "C1411",
|
||||
'1412Z' => "C1412",
|
||||
'1413Z' => "C1413",
|
||||
'1414Z' => "C1414",
|
||||
'1419Z' => "C1419",
|
||||
'1420Z' => "C1420",
|
||||
'1431Z' => "C1431",
|
||||
'1439Z' => "C1439",
|
||||
'1511Z' => "C1511",
|
||||
'1512Z' => "C1512",
|
||||
'1520Z' => "C1520",
|
||||
'1610A' => "C1610",
|
||||
'1610B' => "C1610",
|
||||
'1621Z' => "C1621",
|
||||
'1622Z' => "C1622",
|
||||
'1623Z' => "C1623",
|
||||
'1624Z' => "C1624",
|
||||
'1629Z' => "C1629",
|
||||
'1711Z' => "C1711",
|
||||
'1712Z' => "C1712",
|
||||
'1721A' => "C1721",
|
||||
'1721B' => "C1721",
|
||||
'1721C' => "C1721",
|
||||
'1722Z' => "C1722",
|
||||
'1723Z' => "C1723",
|
||||
'1724Z' => "C1724",
|
||||
'1729Z' => "C1729",
|
||||
'1811Z' => "C1811",
|
||||
'1812Z' => "C1812",
|
||||
'1813Z' => "C1813",
|
||||
'1814Z' => "C1814",
|
||||
'1820Z' => "C1820",
|
||||
'1910Z' => "C1910",
|
||||
'1920Z' => "C1920",
|
||||
'2011Z' => "C2011",
|
||||
'2012Z' => "C2012",
|
||||
'2013A' => "C2013",
|
||||
'2013B' => "C2013",
|
||||
'2014Z' => "C2014",
|
||||
'2015Z' => "C2015",
|
||||
'2016Z' => "C2016",
|
||||
'2017Z' => "C2017",
|
||||
'2020Z' => "C2020",
|
||||
'2030Z' => "C2030",
|
||||
'2041Z' => "C2041",
|
||||
'2042Z' => "C2042",
|
||||
'2051Z' => "C2051",
|
||||
'2052Z' => "C2052",
|
||||
'2053Z' => "C2053",
|
||||
'2059Z' => "C2059",
|
||||
'2060Z' => "C2060",
|
||||
'2110Z' => "C2110",
|
||||
'2120Z' => "C2120",
|
||||
'2211Z' => "C2211",
|
||||
'2219Z' => "C2219",
|
||||
'2221Z' => "C2221",
|
||||
'2222Z' => "C2222",
|
||||
'2223Z' => "C2223",
|
||||
'2229A' => "C2229",
|
||||
'2229B' => "C2229",
|
||||
'2311Z' => "C2311",
|
||||
'2312Z' => "C2312",
|
||||
'2313Z' => "C2313",
|
||||
'2314Z' => "C2314",
|
||||
'2319Z' => "C2319",
|
||||
'2320Z' => "C2320",
|
||||
'2331Z' => "C2331",
|
||||
'2332Z' => "C2332",
|
||||
'2341Z' => "C2341",
|
||||
'2342Z' => "C2342",
|
||||
'2343Z' => "C2343",
|
||||
'2344Z' => "C2344",
|
||||
'2349Z' => "C2349",
|
||||
'2351Z' => "C2351",
|
||||
'2352Z' => "C2352",
|
||||
'2361Z' => "C2361",
|
||||
'2362Z' => "C2362",
|
||||
'2363Z' => "C2363",
|
||||
'2364Z' => "C2364",
|
||||
'2365Z' => "C2365",
|
||||
'2369Z' => "C2369",
|
||||
'2370Z' => "C2370",
|
||||
'2391Z' => "C2391",
|
||||
'2399Z' => "C2399",
|
||||
'2410Z' => "C2410",
|
||||
'2420Z' => "C2420",
|
||||
'2431Z' => "C2431",
|
||||
'2432Z' => "C2432",
|
||||
'2433Z' => "C2433",
|
||||
'2434Z' => "C2434",
|
||||
'2441Z' => "C2441",
|
||||
'2442Z' => "C2442",
|
||||
'2443Z' => "C2443",
|
||||
'2444Z' => "C2444",
|
||||
'2445Z' => "C2445",
|
||||
'2446Z' => "C2446",
|
||||
'2451Z' => "C2451",
|
||||
'2452Z' => "C2452",
|
||||
'2453Z' => "C2453",
|
||||
'2454Z' => "C2454",
|
||||
'2511Z' => "C2511",
|
||||
'2512Z' => "C2512",
|
||||
'2521Z' => "C2521",
|
||||
'2529Z' => "C2529",
|
||||
'2530Z' => "C2530",
|
||||
'2540Z' => "C2540",
|
||||
'2550A' => "C2550",
|
||||
'2550B' => "C2550",
|
||||
'2561Z' => "C2561",
|
||||
'2562A' => "C2562",
|
||||
'2562B' => "C2562",
|
||||
'2571Z' => "C2571",
|
||||
'2572Z' => "C2572",
|
||||
'2573A' => "C2573",
|
||||
'2573B' => "C2573",
|
||||
'2591Z' => "C2591",
|
||||
'2592Z' => "C2592",
|
||||
'2593Z' => "C2593",
|
||||
'2594Z' => "C2594",
|
||||
'2599A' => "C2599",
|
||||
'2599B' => "C2599",
|
||||
'2611Z' => "C2611",
|
||||
'2612Z' => "C2612",
|
||||
'2620Z' => "C2620",
|
||||
'2630Z' => "C2630",
|
||||
'2640Z' => "C2640",
|
||||
'2651A' => "C2651",
|
||||
'2651B' => "C2651",
|
||||
'2652Z' => "C2652",
|
||||
'2660Z' => "C2660",
|
||||
'2670Z' => "C2670",
|
||||
'2680Z' => "C2680",
|
||||
'2711Z' => "C2711",
|
||||
'2712Z' => "C2712",
|
||||
'2720Z' => "C2720",
|
||||
'2731Z' => "C2731",
|
||||
'2732Z' => "C2732",
|
||||
'2733Z' => "C2733",
|
||||
'2740Z' => "C2740",
|
||||
'2751Z' => "C2751",
|
||||
'2752Z' => "C2752",
|
||||
'2790Z' => "C2790",
|
||||
'2811Z' => "C2811",
|
||||
'2812Z' => "C2812",
|
||||
'2813Z' => "C2813",
|
||||
'2814Z' => "C2814",
|
||||
'2815Z' => "C2815",
|
||||
'2821Z' => "C2821",
|
||||
'2822Z' => "C2822",
|
||||
'2823Z' => "C2823",
|
||||
'2824Z' => "C2824",
|
||||
'2825Z' => "C2825",
|
||||
'2829A' => "C2829",
|
||||
'2829B' => "C2829",
|
||||
'2830Z' => "C2830",
|
||||
'2841Z' => "C2841",
|
||||
'2849Z' => "C2849",
|
||||
'2891Z' => "C2891",
|
||||
'2892Z' => "C2892",
|
||||
'2893Z' => "C2893",
|
||||
'2894Z' => "C2894",
|
||||
'2895Z' => "C2895",
|
||||
'2896Z' => "C2896",
|
||||
'2899A' => "C2899",
|
||||
'2899B' => "C2899",
|
||||
'2910Z' => "C2910",
|
||||
'2920Z' => "C2920",
|
||||
'2931Z' => "C2931",
|
||||
'2932Z' => "C2932",
|
||||
'3011Z' => "C3011",
|
||||
'3012Z' => "C3012",
|
||||
'3020Z' => "C3020",
|
||||
'3030Z' => "C3030",
|
||||
'3040Z' => "C3040",
|
||||
'3091Z' => "C3091",
|
||||
'3092Z' => "C3092",
|
||||
'3099Z' => "C3099",
|
||||
'3101Z' => "C3101",
|
||||
'3102Z' => "C3102",
|
||||
'3103Z' => "C3103",
|
||||
'3109A' => "C3109",
|
||||
'3109B' => "C3109",
|
||||
'3211Z' => "C3211",
|
||||
'3212Z' => "C3212",
|
||||
'3213Z' => "C3213",
|
||||
'3220Z' => "C3220",
|
||||
'3230Z' => "C3230",
|
||||
'3240Z' => "C3240",
|
||||
'3250A' => "C3250",
|
||||
'3250B' => "C3250",
|
||||
'3291Z' => "C3291",
|
||||
'3299Z' => "C3299",
|
||||
'3311Z' => "C3311",
|
||||
'3312Z' => "C3312",
|
||||
'3313Z' => "C3313",
|
||||
'3314Z' => "C3314",
|
||||
'3315Z' => "C3315",
|
||||
'3316Z' => "C3316",
|
||||
'3317Z' => "C3317",
|
||||
'3319Z' => "C3319",
|
||||
'3320A' => "C3320",
|
||||
'3320B' => "C3320",
|
||||
'3320C' => "C3320",
|
||||
'3320D' => "C3320",
|
||||
'3511Z' => "D3511",
|
||||
'3512Z' => "D3512",
|
||||
'3513Z' => "D3513",
|
||||
'3514Z' => "D3514",
|
||||
'3521Z' => "D3521",
|
||||
'3522Z' => "D3522",
|
||||
'3523Z' => "D3523",
|
||||
'3530Z' => "D3530",
|
||||
'3600Z' => "E3600",
|
||||
'3700Z' => "E3700",
|
||||
'3811Z' => "E3811",
|
||||
'3812Z' => "E3812",
|
||||
'3821Z' => "E3821",
|
||||
'3822Z' => "E3822",
|
||||
'3831Z' => "E3831",
|
||||
'3832Z' => "E3832",
|
||||
'3900Z' => "E3900",
|
||||
'4110A' => "F4110",
|
||||
'4110B' => "F4110",
|
||||
'4110C' => "F4110",
|
||||
'4110D' => "F4110",
|
||||
'4120A' => "F4120",
|
||||
'4120B' => "F4120",
|
||||
'4211Z' => "F4211",
|
||||
'4212Z' => "F4212",
|
||||
'4213A' => "F4213",
|
||||
'4213B' => "F4213",
|
||||
'4221Z' => "F4221",
|
||||
'4222Z' => "F4222",
|
||||
'4291Z' => "F4291",
|
||||
'4299Z' => "F4299",
|
||||
'4311Z' => "F4311",
|
||||
'4312A' => "F4312",
|
||||
'4312B' => "F4312",
|
||||
'4313Z' => "F4313",
|
||||
'4321A' => "F4321",
|
||||
'4321B' => "F4321",
|
||||
'4322A' => "F4322",
|
||||
'4322B' => "F4322",
|
||||
'4329A' => "F4329",
|
||||
'4329B' => "F4329",
|
||||
'4331Z' => "F4331",
|
||||
'4332A' => "F4332",
|
||||
'4332B' => "F4332",
|
||||
'4332C' => "F4332",
|
||||
'4333Z' => "F4333",
|
||||
'4334Z' => "F4334",
|
||||
'4339Z' => "F4339",
|
||||
'4391A' => "F4391",
|
||||
'4391B' => "F4391",
|
||||
'4399A' => "F4399",
|
||||
'4399B' => "F4399",
|
||||
'4399C' => "F4399",
|
||||
'4399D' => "F4399",
|
||||
'4399E' => "F4399",
|
||||
'4511Z' => "G4511",
|
||||
'4519Z' => "G4519",
|
||||
'4520A' => "G4520",
|
||||
'4520B' => "G4520",
|
||||
'4531Z' => "G4531",
|
||||
'4532Z' => "G4532",
|
||||
'4540Z' => "G4540",
|
||||
'4611Z' => "G4611",
|
||||
'4612A' => "G4612",
|
||||
'4612B' => "G4612",
|
||||
'4613Z' => "G4613",
|
||||
'4614Z' => "G4614",
|
||||
'4615Z' => "G4615",
|
||||
'4616Z' => "G4616",
|
||||
'4617A' => "G4617",
|
||||
'4617B' => "G4617",
|
||||
'4618Z' => "G4618",
|
||||
'4619A' => "G4619",
|
||||
'4619B' => "G4619",
|
||||
'4621Z' => "G4621",
|
||||
'4622Z' => "G4622",
|
||||
'4623Z' => "G4623",
|
||||
'4624Z' => "G4624",
|
||||
'4631Z' => "G4631",
|
||||
'4632A' => "G4632",
|
||||
'4632B' => "G4632",
|
||||
'4632C' => "G4632",
|
||||
'4633Z' => "G4633",
|
||||
'4634Z' => "G4634",
|
||||
'4635Z' => "G4635",
|
||||
'4636Z' => "G4636",
|
||||
'4637Z' => "G4637",
|
||||
'4638A' => "G4638",
|
||||
'4638B' => "G4638",
|
||||
'4639A' => "G4639",
|
||||
'4639B' => "G4639",
|
||||
'4641Z' => "G4641",
|
||||
'4642Z' => "G4642",
|
||||
'4643Z' => "G4643",
|
||||
'4644Z' => "G4644",
|
||||
'4645Z' => "G4645",
|
||||
'4646Z' => "G4646",
|
||||
'4647Z' => "G4647",
|
||||
'4648Z' => "G4648",
|
||||
'4649Z' => "G4649",
|
||||
'4651Z' => "G4651",
|
||||
'4652Z' => "G4652",
|
||||
'4661Z' => "G4661",
|
||||
'4662Z' => "G4662",
|
||||
'4663Z' => "G4663",
|
||||
'4664Z' => "G4664",
|
||||
'4665Z' => "G4665",
|
||||
'4666Z' => "G4666",
|
||||
'4669A' => "G4669",
|
||||
'4669B' => "G4669",
|
||||
'4669C' => "G4669",
|
||||
'4671Z' => "G4671",
|
||||
'4672Z' => "G4672",
|
||||
'4673A' => "G4673",
|
||||
'4673B' => "G4673",
|
||||
'4674A' => "G4674",
|
||||
'4674B' => "G4674",
|
||||
'4675Z' => "G4675",
|
||||
'4676Z' => "G4676",
|
||||
'4677Z' => "G4677",
|
||||
'4690Z' => "G4690",
|
||||
'4711A' => "G4711",
|
||||
'4711B' => "G4711",
|
||||
'4711C' => "G4711",
|
||||
'4711D' => "G4711",
|
||||
'4711E' => "G4711",
|
||||
'4711F' => "G4711",
|
||||
'4719A' => "G4719",
|
||||
'4719B' => "G4719",
|
||||
'4721Z' => "G4721",
|
||||
'4722Z' => "G4722",
|
||||
'4723Z' => "G4723",
|
||||
'4724Z' => "G4724",
|
||||
'4725Z' => "G4725",
|
||||
'4726Z' => "G4726",
|
||||
'4729Z' => "G4729",
|
||||
'4730Z' => "G4730",
|
||||
'4741Z' => "G4741",
|
||||
'4742Z' => "G4742",
|
||||
'4743Z' => "G4743",
|
||||
'4751Z' => "G4751",
|
||||
'4752A' => "G4752",
|
||||
'4752B' => "G4752",
|
||||
'4753Z' => "G4753",
|
||||
'4754Z' => "G4754",
|
||||
'4759A' => "G4759",
|
||||
'4759B' => "G4759",
|
||||
'4761Z' => "G4761",
|
||||
'4762Z' => "G4762",
|
||||
'4763Z' => "G4763",
|
||||
'4764Z' => "G4764",
|
||||
'4765Z' => "G4765",
|
||||
'4771Z' => "G4771",
|
||||
'4772A' => "G4772",
|
||||
'4772B' => "G4772",
|
||||
'4773Z' => "G4773",
|
||||
'4774Z' => "G4774",
|
||||
'4775Z' => "G4775",
|
||||
'4776Z' => "G4776",
|
||||
'4777Z' => "G4777",
|
||||
'4778A' => "G4778",
|
||||
'4778B' => "G4778",
|
||||
'4778C' => "G4778",
|
||||
'4779Z' => "G4779",
|
||||
'4781Z' => "G4781",
|
||||
'4782Z' => "G4782",
|
||||
'4789Z' => "G4789",
|
||||
'4791A' => "G4791",
|
||||
'4791B' => "G4791",
|
||||
'4799A' => "G4799",
|
||||
'4799B' => "G4799",
|
||||
'4910Z' => "H4910",
|
||||
'4920Z' => "H4920",
|
||||
'4931Z' => "H4931",
|
||||
'4932Z' => "H4932",
|
||||
'4939A' => "H4939",
|
||||
'4939B' => "H4939",
|
||||
'4939C' => "H4939",
|
||||
'4941A' => "H4941",
|
||||
'4941B' => "H4941",
|
||||
'4941C' => "H4941",
|
||||
'4942Z' => "H4942",
|
||||
'4950Z' => "H4950",
|
||||
'5010Z' => "H5010",
|
||||
'5020Z' => "H5020",
|
||||
'5030Z' => "H5030",
|
||||
'5040Z' => "H5040",
|
||||
'5110Z' => "H5110",
|
||||
'5121Z' => "H5121",
|
||||
'5122Z' => "H5122",
|
||||
'5210A' => "H5210",
|
||||
'5210B' => "H5210",
|
||||
'5221Z' => "H5221",
|
||||
'5222Z' => "H5222",
|
||||
'5223Z' => "H5223",
|
||||
'5224A' => "H5224",
|
||||
'5224B' => "H5224",
|
||||
'5229A' => "H5229",
|
||||
'5229B' => "H5229",
|
||||
'5310Z' => "H5310",
|
||||
'5320Z' => "H5320",
|
||||
'5510Z' => "I5510",
|
||||
'5520Z' => "I5520",
|
||||
'5530Z' => "I5530",
|
||||
'5590Z' => "I5590",
|
||||
'5610A' => "I5610",
|
||||
'5610B' => "I5610",
|
||||
'5610C' => "I5610",
|
||||
'5621Z' => "I5621",
|
||||
'5629A' => "I5629",
|
||||
'5629B' => "I5629",
|
||||
'5630Z' => "I5630",
|
||||
'5811Z' => "J5811",
|
||||
'5812Z' => "J5812",
|
||||
'5813Z' => "J5813",
|
||||
'5814Z' => "J5814",
|
||||
'5819Z' => "J5819",
|
||||
'5821Z' => "J5821",
|
||||
'5829A' => "J5829",
|
||||
'5829B' => "J5829",
|
||||
'5829C' => "J5829",
|
||||
'5911A' => "J5911",
|
||||
'5911B' => "J5911",
|
||||
'5911C' => "J5911",
|
||||
'5912Z' => "J5912",
|
||||
'5913A' => "J5913",
|
||||
'5913B' => "J5913",
|
||||
'5914Z' => "J5914",
|
||||
'5920Z' => "J5920",
|
||||
'6010Z' => "J6010",
|
||||
'6020A' => "J6020",
|
||||
'6020B' => "J6020",
|
||||
'6110Z' => "J6110",
|
||||
'6120Z' => "J6120",
|
||||
'6130Z' => "J6130",
|
||||
'6190Z' => "J6190",
|
||||
'6201Z' => "J6201",
|
||||
'6202A' => "J6202",
|
||||
'6202B' => "J6202",
|
||||
'6203Z' => "J6203",
|
||||
'6209Z' => "J6209",
|
||||
'6311Z' => "J6311",
|
||||
'6312Z' => "J6312",
|
||||
'6391Z' => "J6391",
|
||||
'6399Z' => "J6399",
|
||||
'6411Z' => "K6411",
|
||||
'6419Z' => "K6419",
|
||||
'6420Z' => "K6420",
|
||||
'6430Z' => "K6430",
|
||||
'6491Z' => "K6491",
|
||||
'6492Z' => "K6492",
|
||||
'6499Z' => "K6499",
|
||||
'6511Z' => "K6511",
|
||||
'6512Z' => "K6512",
|
||||
'6520Z' => "K6520",
|
||||
'6530Z' => "K6530",
|
||||
'6611Z' => "K6611",
|
||||
'6612Z' => "K6612",
|
||||
'6619A' => "K6619",
|
||||
'6619B' => "K6619",
|
||||
'6621Z' => "K6621",
|
||||
'6622Z' => "K6622",
|
||||
'6629Z' => "K6629",
|
||||
'6630Z' => "K6630",
|
||||
'6810Z' => "L6810",
|
||||
'6820A' => "L6820",
|
||||
'6820B' => "L6820",
|
||||
'6831Z' => "L6831",
|
||||
'6832A' => "L6832",
|
||||
'6832B' => "L6832",
|
||||
'6910Z' => "M6910",
|
||||
'6920Z' => "M6920",
|
||||
'7010Z' => "M7010",
|
||||
'7021Z' => "M7021",
|
||||
'7022Z' => "M7022",
|
||||
'7111Z' => "M7111",
|
||||
'7112A' => "M7112",
|
||||
'7112B' => "M7112",
|
||||
'7120A' => "M7120",
|
||||
'7120B' => "M7120",
|
||||
'7211Z' => "M7211",
|
||||
'7219Z' => "M7219",
|
||||
'7220Z' => "M7220",
|
||||
'7311Z' => "M7311",
|
||||
'7312Z' => "M7312",
|
||||
'7320Z' => "M7320",
|
||||
'7410Z' => "M7410",
|
||||
'7420Z' => "M7420",
|
||||
'7430Z' => "M7430",
|
||||
'7490A' => "M7490",
|
||||
'7490B' => "M7490",
|
||||
'7500Z' => "M7500",
|
||||
'7711A' => "N7711",
|
||||
'7711B' => "N7711",
|
||||
'7712Z' => "N7712",
|
||||
'7721Z' => "N7721",
|
||||
'7722Z' => "N7722",
|
||||
'7729Z' => "N7729",
|
||||
'7731Z' => "N7731",
|
||||
'7732Z' => "N7732",
|
||||
'7733Z' => "N7733",
|
||||
'7734Z' => "N7734",
|
||||
'7735Z' => "N7735",
|
||||
'7739Z' => "N7739",
|
||||
'7740Z' => "N7740",
|
||||
'7810Z' => "N7810",
|
||||
'7820Z' => "N7820",
|
||||
'7830Z' => "N7830",
|
||||
'7911Z' => "N7911",
|
||||
'7912Z' => "N7912",
|
||||
'7990Z' => "N7990",
|
||||
'8010Z' => "N8010",
|
||||
'8020Z' => "N8020",
|
||||
'8030Z' => "N8030",
|
||||
'8110Z' => "N8110",
|
||||
'8121Z' => "N8121",
|
||||
'8122Z' => "N8122",
|
||||
'8129A' => "N8129",
|
||||
'8129B' => "N8129",
|
||||
'8130Z' => "N8130",
|
||||
'8211Z' => "N8211",
|
||||
'8219Z' => "N8219",
|
||||
'8220Z' => "N8220",
|
||||
'8230Z' => "N8230",
|
||||
'8291Z' => "N8291",
|
||||
'8292Z' => "N8292",
|
||||
'8299Z' => "N8299",
|
||||
'8411Z' => "O8411",
|
||||
'8412Z' => "O8412",
|
||||
'8413Z' => "O8413",
|
||||
'8421Z' => "O8421",
|
||||
'8422Z' => "O8422",
|
||||
'8423Z' => "O8423",
|
||||
'8424Z' => "O8424",
|
||||
'8425Z' => "O8425",
|
||||
'8430A' => "O8430",
|
||||
'8430B' => "O8430",
|
||||
'8430C' => "O8430",
|
||||
'8510Z' => "P8510",
|
||||
'8520Z' => "P8520",
|
||||
'8531Z' => "P8531",
|
||||
'8532Z' => "P8532",
|
||||
'8541Z' => "P8541",
|
||||
'8542Z' => "P8542",
|
||||
'8551Z' => "P8551",
|
||||
'8552Z' => "P8552",
|
||||
'8553Z' => "P8553",
|
||||
'8559A' => "P8559",
|
||||
'8559B' => "P8559",
|
||||
'8560Z' => "P8560",
|
||||
'8610Z' => "Q8610",
|
||||
'8621Z' => "Q8621",
|
||||
'8622A' => "Q8622",
|
||||
'8622B' => "Q8622",
|
||||
'8622C' => "Q8622",
|
||||
'8623Z' => "Q8623",
|
||||
'8690A' => "Q8690",
|
||||
'8690B' => "Q8690",
|
||||
'8690C' => "Q8690",
|
||||
'8690D' => "Q8690",
|
||||
'8690E' => "Q8690",
|
||||
'8690F' => "Q8690",
|
||||
'8710A' => "Q8710",
|
||||
'8710B' => "Q8710",
|
||||
'8710C' => "Q8710",
|
||||
'8720A' => "Q8720",
|
||||
'8720B' => "Q8720",
|
||||
'8730A' => "Q8730",
|
||||
'8730B' => "Q8730",
|
||||
'8790A' => "Q8790",
|
||||
'8790B' => "Q8790",
|
||||
'8810A' => "Q8810",
|
||||
'8810B' => "Q8810",
|
||||
'8810C' => "Q8810",
|
||||
'8891A' => "Q8891",
|
||||
'8891B' => "Q8891",
|
||||
'8899A' => "Q8899",
|
||||
'8899B' => "Q8899",
|
||||
'9001Z' => "R9001",
|
||||
'9002Z' => "R9002",
|
||||
'9003A' => "R9003",
|
||||
'9003B' => "R9003",
|
||||
'9004Z' => "R9004",
|
||||
'9101Z' => "R9101",
|
||||
'9102Z' => "R9102",
|
||||
'9103Z' => "R9103",
|
||||
'9104Z' => "R9104",
|
||||
'9200Z' => "R9200",
|
||||
'9311Z' => "R9311",
|
||||
'9312Z' => "R9312",
|
||||
'9313Z' => "R9313",
|
||||
'9319Z' => "R9319",
|
||||
'9321Z' => "R9321",
|
||||
'9329Z' => "R9329",
|
||||
'9411Z' => "S9411",
|
||||
'9412Z' => "S9412",
|
||||
'9420Z' => "S9420",
|
||||
'9491Z' => "S9491",
|
||||
'9492Z' => "S9492",
|
||||
'9499Z' => "S9499",
|
||||
'9511Z' => "S9511",
|
||||
'9512Z' => "S9512",
|
||||
'9521Z' => "S9521",
|
||||
'9522Z' => "S9522",
|
||||
'9523Z' => "S9523",
|
||||
'9524Z' => "S9524",
|
||||
'9525Z' => "S9525",
|
||||
'9529Z' => "S9529",
|
||||
'9601A' => "S9601",
|
||||
'9601B' => "S9601",
|
||||
'9602A' => "S9602",
|
||||
'9602B' => "S9602",
|
||||
'9603Z' => "S9603",
|
||||
'9604Z' => "S9604",
|
||||
'9609Z' => "S9609",
|
||||
'9700Z' => "T9700",
|
||||
'9810Z' => "T9810",
|
||||
'9820Z' => "T9820",
|
||||
'9900Z' => "U9900",
|
||||
'0000Z' => "Z000",
|
||||
'742C' => "742C",
|
||||
'524C' => "524C",
|
||||
'8111' => "8111",
|
||||
'452A' => "452A",
|
||||
'000Z' => "00Z",
|
||||
'526D' => "526D",
|
||||
'8121' => "8121",
|
||||
'7904' => "7904",
|
||||
'745A' => "745A",
|
||||
'702A' => "702A",
|
||||
'702C' => "702C",
|
||||
'524X' => "524X",
|
||||
'512A' => "512A",
|
||||
'020A' => "20A",
|
||||
);
|
1494
library/Metier/Table/CodesNaf.php
Normal file
1494
library/Metier/Table/CodesNaf.php
Normal file
File diff suppressed because it is too large
Load Diff
689
library/Metier/Table/CodesNafa.php
Normal file
689
library/Metier/Table/CodesNafa.php
Normal file
@ -0,0 +1,689 @@
|
||||
<?php
|
||||
return array(
|
||||
'1' => "CULTURE ET PRODUCTION ANIMALE, CHASSE ET SERVICES ANNEXES",
|
||||
'16' => "TRAVAIL DU BOIS ET FABRICATION D'ARTICLES EN BOIS ET EN LIÈGE, À L'EXCEPTION DES MEUBLES ; FABRICATION D'ARTICLES EN VANNERIE ET SPARTERIE",
|
||||
'0162ZP' => "Maréchalerie",
|
||||
'7' => "EXTRACTION DE MINERAIS MÉTALLIQUES",
|
||||
'72' => "EXTRACTION DE MINERAIS DE MÉTAUX NON FERREUX",
|
||||
'0729ZP' => "Orpaillage",
|
||||
'8' => "AUTRES INDUSTRIES EXTRACTIVES",
|
||||
'0811ZA' => "Extraction de pierres ornementales et de construction et d'ardoise",
|
||||
'0811ZB' => "Extraction de calcaire industriel, de gypse et de craie",
|
||||
'0812ZZ' => "Exploitation de gravières et sablières, extraction d'argiles et de kaolin",
|
||||
'0891ZZ' => "Extraction des minéraux chimiques et d'engrais minéraux",
|
||||
'0892ZZ' => "Extraction de tourbe",
|
||||
'0893ZZ' => "Production de sel",
|
||||
'0899ZZ' => "Autres activités extractives n.c.a",
|
||||
'9' => "SERVICES DE SOUTIEN AUX INDUSTRIES EXTRACTIVES",
|
||||
'99' => "ACTIVITÉS DE SOUTIEN AUX AUTRES INDUSTRIES EXTRACTIVES",
|
||||
'0990ZP' => "Activités de soutien aux autres industries extractives",
|
||||
'10' => "INDUSTRIES ALIMENTAIRES",
|
||||
'101' => "TRANSFORMATION ET CONSERVATION DE LA VIANDE ET PRÉPARATION DE PRODUITS À BASE DE VIANDE",
|
||||
'1011ZZ' => "Transformation et conservation de la viande de boucherie",
|
||||
'1012ZZ' => "Transformation et conservation de la viande de volaille",
|
||||
'1013AZ' => "Préparation industrielle de produits à base de viande",
|
||||
'1013BZ' => "Charcuterie",
|
||||
'102' => "PRÉPARATIONS ET CONSERVES À BASE DE POISSONS ET",
|
||||
'1020ZZ' => "Transformation et conservation de poisson, de crustacés et de mollusques",
|
||||
'103' => "TRANSFORMATION ET CONSERVATION DE FRUITS ET LÉGUMES",
|
||||
'1031ZZ' => "Transformation et conservation de pommes de terre",
|
||||
'1032ZZ' => "Préparation de jus de fruits et légumes",
|
||||
'1039AP' => "Autre transformation et conservation de longue durée de légumes",
|
||||
'1039BP' => "Transformation et conservation de fruits",
|
||||
'104' => "FABRICATION D'HUILES ET GRAISSES VÉGÉTALES ET ANIMALES",
|
||||
'1041AZ' => "Fabrication d'huiles et graisses brutes",
|
||||
'1041BZ' => "Fabrication d'huiles et graisses raffinées",
|
||||
'1042ZZ' => "Fabrication de margarine et graisses comestibles similaires",
|
||||
'105' => "FABRICATION DE PRODUITS LAITIERS",
|
||||
'1051AZ' => "Fabrication de lait liquide et de produits frais",
|
||||
'1051BZ' => "Fabrication de beurre",
|
||||
'1051CZ' => "Fabrication de fromage",
|
||||
'1051DZ' => "Fabrication d'autres produits laitiers",
|
||||
'1052ZZ' => "Fabrication de glaces et sorbets",
|
||||
'106' => "TRAVAIL DES GRAINS ; FABRICATION DE PRODUITS AMYLACÉS",
|
||||
'1061AZ' => "Meunerie",
|
||||
'1061BZ' => "Autres activités du travail des grains",
|
||||
'1062ZZ' => "Fabrication de produits amylacés",
|
||||
'107' => "FABRICATION DE PRODUITS DE BOULANGERIE-PÂTISSERIE ET DE PÂTES ALIMENTAIRES",
|
||||
'1071AA' => "Fabrication industrielle de pain",
|
||||
'1071AB' => "Fabrication industrielle de pâtisserie fraîche",
|
||||
'1071CA' => "Boulangerie",
|
||||
'1071CB' => "Boulangerie-pâtisserie",
|
||||
'1071DZ' => "Pâtisserie",
|
||||
'1072ZZ' => "Fabrication de biscuits, biscottes et pâtisseries de conservation",
|
||||
'1073ZZ' => "Fabrication de pâtes alimentaires",
|
||||
'108' => "FABRICATION D'AUTRES PRODUITS ALIMENTAIRES",
|
||||
'1081ZZ' => "Fabrication de sucre",
|
||||
'1082ZZ' => "Fabrication de cacao, chocolat et de produits de confiserie",
|
||||
'1083ZZ' => "Transformation du thé et du café",
|
||||
'1084ZZ' => "Fabrication de condiments et assaisonnements",
|
||||
'1085ZZ' => "Fabrication de plats préparés",
|
||||
'1086ZZ' => "Fabrication d'aliments homogénéisés et diététiques",
|
||||
'1089ZZ' => "Fabrication d'autres produits alimentaires n.c.a.",
|
||||
'109' => "FABRICATION D'ALIMENTS POUR ANIMAUX",
|
||||
'1091ZZ' => "Fabrication d'aliments pour animaux de ferme",
|
||||
'1092ZZ' => "Fabrication d'aliments pour animaux de compagnie",
|
||||
'11' => "FABRICATION DE BOISSONS",
|
||||
'110' => "FABRICATION DE BOISSONS",
|
||||
'1101ZQ' => "Production d'eaux de vie naturelles",
|
||||
'1101ZR' => "Fabrication de spiritueux",
|
||||
'1102AP' => "Fabrication de vins effervescents selon la méthode champenoise ou autres méthodes",
|
||||
'1103ZZ' => "Fabrication de cidre et de vins de fruits",
|
||||
'1104ZZ' => "Production d'autres boissons fermentées non distillées",
|
||||
'1105ZZ' => "Fabrication de bière",
|
||||
'1106ZZ' => "Fabrication de malt",
|
||||
'1107AZ' => "Industrie des eaux de table",
|
||||
'1107BZ' => "Production de boissons rafraîchissantes",
|
||||
'13' => "FABRICATION DE TEXTILES",
|
||||
'131' => "PRÉPARATION DE FIBRES TEXTILES ET FILATURE",
|
||||
'1310ZA' => "Filature et préparation de la laine",
|
||||
'1310ZB' => "Moulinage et texturation de la soie et des textiles artificiels ou synthétiques",
|
||||
'1310ZC' => "Préparation et filature d'autres fibres",
|
||||
'132' => "TISSAGE",
|
||||
'1320ZA' => "Tissage de l'industrie cotonnière",
|
||||
'1320ZB' => "Tissage de l'industrie lainière",
|
||||
'1320ZC' => "Tissage de soieries",
|
||||
'1320ZD' => "Tissage d'autres textiles",
|
||||
'133' => "ENNOBLISSEMENT TEXTILE",
|
||||
'1330ZZ' => "Ennoblissement textile",
|
||||
'139' => "FABRICATION D'AUTRES TEXTILES",
|
||||
'1391ZZ' => "Fabrication d'étoffes à mailles",
|
||||
'1392ZA' => "Fabrication de linge de maison et d'articles d'ameublement",
|
||||
'1392ZB' => "Fabrication de tapisserie à la main",
|
||||
'1392ZC' => "Fabrication de coussins et petits articles textiles divers",
|
||||
'1392ZD' => "Voilerie",
|
||||
'1392ZE' => "Fabrication d'articles de campement en textile",
|
||||
'1392ZF' => "Fabrication de bâches, lambrequins et autres articles en textile",
|
||||
'1393ZZ' => "Fabrication de tapis et moquettes",
|
||||
'1394ZZ' => "Fabrication de ficelles, cordes et filets",
|
||||
'1395ZZ' => "Fabrication de non-tissés, sauf habillement",
|
||||
'1396ZZ' => "Fabrication de textiles techniques et industriels",
|
||||
'1399ZA' => "Fabrication de feutres",
|
||||
'1399ZB' => "Fabrication de tulles, lacets et autres textiles n.c.a",
|
||||
'14' => "INDUSTRIE DE L'HABILLEMENT",
|
||||
'141' => "FABRICATION DE VÊTEMENTS, AUTRES QU'EN FOURRURE",
|
||||
'1411ZZ' => "Fabrication de vêtements en cuir",
|
||||
'1412ZZ' => "Fabrication de vêtements de travail",
|
||||
'1413ZA' => "Modéliste-styliste",
|
||||
'1413ZB' => "Fabrication de vêtements féminins sur mesure",
|
||||
'1413ZC' => "Fabrication de vêtements masculins sur mesure",
|
||||
'1413ZD' => "Chemiserie sur mesure",
|
||||
'1413ZE' => "Fabrication de gaines, corsets et autres vêtements sur mesure",
|
||||
'1413ZF' => "Fabrication de vêtements de dessus pour hommes et garçonnets",
|
||||
'1413ZG' => "Fabrication de vêtements de dessus pour femmes et fillettes",
|
||||
'1414ZZ' => "Fabrication de vêtements de dessous",
|
||||
'1419ZA' => "Fabrication de layette",
|
||||
'1419ZB' => "Fabrication de chapellerie",
|
||||
'1419ZC' => "Modiste",
|
||||
'1419ZD' => "Fabrication d'écharpes, cravates, foulards",
|
||||
'1419ZE' => "Fabrication d'autres vêtements et accessoires",
|
||||
'1419ZF' => "Fabrication d'accessoires en cuir",
|
||||
'142' => "FABRICATION D'ARTICLES EN FOURRURE",
|
||||
'1420ZZ' => "Fabrication d'articles en fourrure",
|
||||
'143' => "FABRICATION D'ARTICLES À MAILLES",
|
||||
'1431ZZ' => "Fabrication d'articles chaussants à mailles",
|
||||
'1439ZA' => "Fabrication de lainages à la main",
|
||||
'1439ZB' => "Fabrication de lainages à la machine",
|
||||
'15' => "INDUSTRIE DU CUIR ET DE LA CHAUSSURE",
|
||||
'151' => "APPRÊT ET TANNAGE DES CUIRS ; PRÉPARATION ET TEINTURE DES FOURRURES ;",
|
||||
'1511ZZ' => "Apprêt et tannage des cuirs ; préparation et teinture des fourrures",
|
||||
'1512ZA' => "Fabrication d'articles de maroquinerie",
|
||||
'1512ZB' => "Gainerie",
|
||||
'1512ZC' => "Sellerie",
|
||||
'1512ZD' => "Bourrellerie",
|
||||
'152' => "FABRICATION DE CHAUSSURES",
|
||||
'1520ZA' => "Fabrication de sabots",
|
||||
'1520ZB' => "Fabrication de chaussures et de bottes",
|
||||
'1520ZC' => "Fabrication de chaussures et de bottes sur mesure",
|
||||
'161' => "SCIAGE ET RABOTAGE DU BOIS",
|
||||
'1610AQ' => "Sciage et rabotage du bois",
|
||||
'1610AR' => "Fabrication de parquets, moulures et baguettes",
|
||||
'1610BZ' => "Imprégnation du bois",
|
||||
'162' => "FABRICATION D'ARTICLES EN BOIS, LIÈGE, VANNERIE ET SPARTERIE",
|
||||
'1621ZZ' => "Fabrication de placage et de panneaux de bois",
|
||||
'1622ZZ' => "Fabrication de parquets assemblés",
|
||||
'1623ZZ' => "Fabrication de charpentes et d'autres menuiseries",
|
||||
'1624ZA' => "Fabrication de caisses et de palettes en bois",
|
||||
'1624ZB' => "Tonnellerie",
|
||||
'1629ZA' => "Fabrication d'objets divers en bois",
|
||||
'1629ZB' => "Vannerie, sparterie, travail de la paille",
|
||||
'1629ZC' => "Fabrication d'objets en liège",
|
||||
'17' => "INDUSTRIE DU PAPIER ET DU CARTON",
|
||||
'171' => "FABRICATION DE PÂTE À PAPIER, DE PAPIER ET DE CARTON",
|
||||
'1711ZZ' => "Fabrication de pâte à papier",
|
||||
'1712ZZ' => "Fabrication de papier et de carton",
|
||||
'172' => "FABRICATION D'ARTICLES EN PAPIER OU EN CARTON",
|
||||
'1721AZ' => "Fabrication de carton ondulé",
|
||||
'1721BZ' => "Fabrication de cartonnages",
|
||||
'1721CZ' => "Fabrication d'emballages en papier",
|
||||
'1722ZZ' => "Fabrication d'articles en papier à usage sanitaire ou domestique",
|
||||
'1723ZZ' => "Fabrication d'articles de papeterie",
|
||||
'1724ZZ' => "Fabrication de papiers peints",
|
||||
'1729ZZ' => "Fabrication d'autres articles en papier ou en carton",
|
||||
'18' => "IMPRIMERIE ET REPRODUCTION D'ENREGISTREMENTS",
|
||||
'181' => "IMPRIMERIE ET SERVICES ANNEXES",
|
||||
'1812ZA' => "Imprimerie de labeur",
|
||||
'1812ZB' => "Sérigraphie de type imprimerie",
|
||||
'1813ZA' => "Travaux de préparation d'impression",
|
||||
'1813ZB' => "Graphisme-décoration",
|
||||
'1813ZC' => "Activités graphiques n.c.a.",
|
||||
'1814ZZ' => "Reliure et activités connexes",
|
||||
'182' => "REPRODUCTION D'ENREGISTREMENTS",
|
||||
'1820ZZ' => "Reproduction d'enregistrements",
|
||||
'19' => "COKÉFACTION ET RAFFINAGE",
|
||||
'191' => "COKÉFACTION",
|
||||
'1910ZP' => "Production de brai et de coke de brai",
|
||||
'1920ZP' => "Agglomération de la tourbe",
|
||||
'20' => "INDUSTRIE CHIMIQUE",
|
||||
'201' => "FABRICATION DE PRODUITS CHIMIQUES DE BASE, DE PRODUITS AZOTÉS ET D'ENGRAIS, DE",
|
||||
'2011ZZ' => "Fabrication de gaz industriels",
|
||||
'2012ZZ' => "Fabrication de colorants et de pigments",
|
||||
'2013AZ' => "Enrichissement et retraitement de matières nucléaires",
|
||||
'2013BZ' => "Fabrication d'autres produits chimiques inorganiques de base n.c.a",
|
||||
'2014ZA' => "Fabrication d'autres produits organiques de base",
|
||||
'2014ZB' => "Fabrication de produits de la distillation du bois",
|
||||
'2015ZZ' => "Fabrication de produits azotés et d'engrais",
|
||||
'2016ZZ' => "Fabrication de matières plastiques de base",
|
||||
'2017ZZ' => "Fabrication de caoutchouc synthétique",
|
||||
'202' => "FABRICATION DE PESTICIDES ET D'AUTRES PRODUITS AGROCHIMIQUES",
|
||||
'2020ZZ' => "Fabrication de pesticides et d'autres produits agrochimiques",
|
||||
'203' => "FABRICATION DE PEINTURES, VERNIS, ENCRES ET MASTICS",
|
||||
'2030ZZ' => "Fabrication de peintures, vernis, encres et mastics",
|
||||
'204' => "FABRICATION DE SAVONS, DE PRODUITS D'ENTRETIEN ET DE PARFUMS",
|
||||
'2041ZZ' => "Fabrication de savons, détergents et produits d'entretien",
|
||||
'2042ZZ' => "Fabrication de parfums et de produits pour la toilette",
|
||||
'205' => "FABRICATION D'AUTRES PRODUITS CHIMIQUES",
|
||||
'2051ZZ' => "Fabrication de produits explosifs",
|
||||
'2052ZZ' => "Fabrication de colles",
|
||||
'2053ZZ' => "Fabrication d'huiles essentielles",
|
||||
'2059ZZ' => "Fabrication d'autres produits chimiques n.c.a.",
|
||||
'206' => "FABRICATION DE FIBRES ARTIFICIELLES OU SYNTHÉTIQUES",
|
||||
'2060ZZ' => "Fabrication de fibres artificielles ou synthétiques",
|
||||
'21' => "INDUSTRIE PHARMACEUTIQUE",
|
||||
'211' => "FABRICATION DE PRODUITS PHARMACEUTIQUES DE BASE",
|
||||
'2110ZP' => "Fabrication d'édulcorants de synthèse",
|
||||
'212' => "FABRICATION DE PRÉPARATIONS PHARMACEUTIQUES",
|
||||
'2120ZP' => "Fabrication de substances radioactives de diagnostic et de pansements",
|
||||
'22' => "FABRICATION DE PRODUITS EN CAOUTCHOUC ET EN PLASTIQUE",
|
||||
'221' => "FABRICATION DE PRODUITS EN CAOUTCHOUC",
|
||||
'2211ZZ' => "Fabrication et rechapage de pneumatiques",
|
||||
'2219ZZ' => "Fabrication d'autres articles en caoutchouc",
|
||||
'222' => "FABRICATION DE PRODUITS EN PLASTIQUE",
|
||||
'2221ZZ' => "Fabrication de plaques, feuilles, tubes et profilés en matières plastiques",
|
||||
'2222ZZ' => "Fabrication d'emballages en matières plastiques",
|
||||
'2223ZZ' => "Fabrication d'éléments en matières plastiques pour la construction",
|
||||
'2229AZ' => "Fabrication de pièces techniques à base de matières plastiques",
|
||||
'2229BZ' => "Fabrication d'éléments divers en matières plastiques",
|
||||
'23' => "FABRICATION D'AUTRES PRODUITS MINÉRAUX NON MÉTALLIQUES",
|
||||
'231' => "FABRICATION DE VERRE ET D'ARTICLES EN VERRE",
|
||||
'2311ZZ' => "Fabrication de verre plat",
|
||||
'2312ZZ' => "Façonnage et transformation du verre plat",
|
||||
'2313ZA' => "Fabrication de verre creux ou autres verres",
|
||||
'2313ZB' => "Soufflage de verre",
|
||||
'2313ZC' => "Façonnage de verre et de cristal",
|
||||
'2314ZZ' => "Fabrication de fibres de verre",
|
||||
'2319ZA' => "Fabrication de vitraux",
|
||||
'2319ZB' => "Fabrication d'articles techniques en verre",
|
||||
'232' => "FABRICATION DE PRODUITS RÉFRACTAIRES",
|
||||
'2320ZZ' => "Fabrication de produits réfractaires",
|
||||
'233' => "FABRICATION DE MATÉRIAUX DE CONSTRUCTION EN TERRE CUITE",
|
||||
'2331ZZ' => "Fabrication de carreaux en céramique",
|
||||
'2332ZA' => "Fabrication de briques",
|
||||
'2332ZB' => "Fabrication de tuiles",
|
||||
'2332ZC' => "Fabrication de produits divers en terre cuite",
|
||||
'234' => "FABRICATION D'AUTRES PRODUITS EN CÉRAMIQUE ET EN PORCELAINE",
|
||||
'2341ZZ' => "Fabrication d'articles céramiques à usage domestique ou ornemental",
|
||||
'2342ZZ' => "Fabrication d'appareils sanitaires en céramique",
|
||||
'2343ZZ' => "Fabrication d'isolateurs et pièces isolantes en céramique",
|
||||
'2344ZZ' => "Fabrication d'autres produits céramiques à usage technique",
|
||||
'2349ZZ' => "Fabrication d'autres produits céramiques",
|
||||
'235' => "FABRICATION DE CIMENT, CHAUX ET PLÂTRE",
|
||||
'2351ZZ' => "Fabrication de ciment céramiques",
|
||||
'2352ZZ' => "Fabrication de chaux et plâtre.",
|
||||
'236' => "FABRICATION D'OUVRAGES EN BÉTON, EN CIMENT OU EN",
|
||||
'2361ZZ' => "Fabrication d'éléments en béton pour la construction",
|
||||
'2362ZZ' => "Fabrication d'éléments en plâtre pour la construction",
|
||||
'2363ZZ' => "Fabrication de béton prêt à l'emploi",
|
||||
'2364ZZ' => "Fabrication de mortiers et bétons secs",
|
||||
'2365ZZ' => "Fabrication d'ouvrages en fibre-ciment",
|
||||
'2369ZA' => "Fabrication de cheminées décoratives",
|
||||
'2369ZB' => "Fabrication d'éléments décoratifs en béton ou en plâtre",
|
||||
'237' => "TAILLE, FAÇONNAGE ET FINISSAGE DE PIERRES",
|
||||
'2370ZZ' => "Taille, façonnage et finissage de pierres",
|
||||
'239' => "FABRICATION DE PRODUITS ABRASIFS ET DE PRODUITS MINÉRAUX NON MÉTALLIQUES",
|
||||
'2391ZZ' => "Fabrication de produits abrasifs",
|
||||
'2399ZZ' => "Fabrication d'autres produits minéraux non métalliques n.c.a.",
|
||||
'24' => "MÉTALLURGIE",
|
||||
'241' => "SIDÉRURGIE",
|
||||
'2410ZZ' => "Sidérurgie",
|
||||
'242' => "FABRICATION DE TUBES, TUYAUX, PROFILÉS CREUX ET ACCESSOIRES CORRESPONDANTS EN",
|
||||
'2420ZZ' => "Fabrication de tubes, tuyaux, profilés creux et accessoires correspondants en acier",
|
||||
'243' => "FABRICATION D'AUTRES PRODUITS DE PREMIÈRE TRANSFORMATION DE L'ACIER",
|
||||
'2431ZZ' => "Etirage à froid de barres",
|
||||
'2432ZZ' => "Laminage à froid de feuillards",
|
||||
'2433ZZ' => "Profilage à froid par formage ou pliage",
|
||||
'2434ZZ' => "Tréfilage à froid",
|
||||
'244' => "PRODUCTION DE MÉTAUX PRÉCIEUX ET D'AUTRES MÉTAUX NON FERREUX",
|
||||
'2441ZZ' => "Production de métaux précieux",
|
||||
'2442ZA' => "Production d'aluminium",
|
||||
'2442ZB' => "Première transformation de l'aluminium",
|
||||
'2443ZZ' => "Métallurgie du plomb, du zinc ou de l'étain",
|
||||
'2444ZZ' => "Métallurgie du cuivre",
|
||||
'2445ZZ' => "Métallurgie des autres métaux non ferreux",
|
||||
'2446ZZ' => "Elaboration et transformation de matières nucléaires",
|
||||
'245' => "FONDERIE",
|
||||
'2451ZZ' => "Fonderie de fonte",
|
||||
'2452ZZ' => "Fonderie d'acier",
|
||||
'2453ZZ' => "Fonderie de métaux légers",
|
||||
'2454ZZ' => "Fonderie d'autres métaux non ferreux",
|
||||
'25' => "FABRICATION DE PRODUITS MÉTALLIQUES, À L'EXCEPTION DES MACHINES ET DES ÉQUIPEMENTS",
|
||||
'251' => "FABRICATION D'ÉLÉMENTS EN MÉTAL POUR LA CONSTRUCTION",
|
||||
'2511ZZ' => "Fabrication de structures métalliques et de parties de structures",
|
||||
'2512ZZ' => "Fabrication de portes et fenêtres en métal",
|
||||
'252' => "FABRICATION DE RÉSERVOIRS, CITERNES ET CONTENEURS MÉTALLIQUES",
|
||||
'2521ZZ' => "Fabrication de radiateurs et de chaudières pour le chauffage central",
|
||||
'2529ZZ' => "Fabrication d'autres réservoirs, citernes et conteneurs métalliques",
|
||||
'253' => "FABRICATION DE GÉNÉRATEURS DE VAPEUR, À L'EXCEPTION DES CHAUDIÈRES POUR LE",
|
||||
'2530ZA' => "Fabrication de générateurs de vapeur",
|
||||
'2530ZB' => "Chaudronnerie nucléaire",
|
||||
'254' => "FABRICATION D'ARMES ET DE MUNITIONS",
|
||||
'2540ZZ' => "Fabrication d'armes et de munitions",
|
||||
'255' => "FORGE, EMBOUTISSAGE, ESTAMPAGE ; MÉTALLURGIE DES POUDRES",
|
||||
'2550AZ' => "Forge, estampage, matriçage, métallurgie des poudres",
|
||||
'2550BZ' => "Découpage, emboutissage",
|
||||
'256' => "FORGE, EMBOUTISSAGE, ESTAMPAGE ; MÉTALLURGIE DES POUDRES TRAITEMENT ET",
|
||||
'2561ZA' => "Sérigraphie de type marquage",
|
||||
'2561ZB' => "Traitement et revêtement des métaux",
|
||||
'2562AZ' => "Décolletage",
|
||||
'2562BZ' => "Mécanique industrielle",
|
||||
'257' => "FABRICATION DE COUTELLERIE, D'OUTILLAGE ET DE QUINCAILLERIE",
|
||||
'2571ZZ' => "Fabrication de coutellerie",
|
||||
'2572ZZ' => "Fabrication de serrures et de ferrures",
|
||||
'2573AZ' => "Fabrication de moules et modèles",
|
||||
'2573BA' => "Fabrication d'outillage à main",
|
||||
'2573BB' => "Fabrication d'outillage mécanique",
|
||||
'259' => "FABRICATION D'AUTRES OUVRAGES EN MÉTAUX",
|
||||
'2591ZZ' => "Fabrication de fûts et emballages métalliques similaires",
|
||||
'2592ZZ' => "Fabrication d'emballages métalliques légers",
|
||||
'2593ZA' => "Fabrication d'articles en fils métalliques et de chaînes",
|
||||
'2593ZB' => "Fabrication de ressorts",
|
||||
'2594ZZ' => "Fabrication de vis et de boulons",
|
||||
'2599AA' => "Dinanderie",
|
||||
'2599AB' => "Autres fabrications d'articles de ménage",
|
||||
'2599BA' => "Fabrication de petits articles métalliques",
|
||||
'2599BB' => "Fabrication de coffres-forts",
|
||||
'2599BC' => "Fabrication d'autres articles métalliques n.c.a.",
|
||||
'26' => "FABRICATION DE PRODUITS INFORMATIQUES, ÉLECTRONIQUES ET OPTIQUES",
|
||||
'261' => "FABRICATION DE COMPOSANTS ET CARTES ÉLECTRONIQUES",
|
||||
'2611ZA' => "Fabrication de composants électroniques (hors capteurs solaires)",
|
||||
'2611ZB' => "Fabrication de capteurs solaires photovoltaïques",
|
||||
'2612ZZ' => "Fabrication de cartes électroniques assemblées",
|
||||
'262' => "FABRICATION D'ORDINATEURS ET D'ÉQUIPEMENTS PÉRIPHÉRIQUES",
|
||||
'2620ZZ' => "Fabrication d'ordinateurs et d'autres équipements informatiques",
|
||||
'263' => "FABRICATION D'ÉQUIPEMENTS DE COMMUNICATION",
|
||||
'2630ZZ' => "Fabrication d'équipements de communication",
|
||||
'264' => "FABRICATION DE PRODUITS ÉLECTRONIQUES GRAND PUBLIC",
|
||||
'2640ZZ' => "Fabrication de produits électroniques grand public",
|
||||
'265' => "FABRICATION D'INSTRUMENTS ET D'APPAREILS DE MESURE, D'ESSAI ET DE NAVIGATION ;",
|
||||
'2651AZ' => "Fabrication d'équipements d'aide à la navigation",
|
||||
'2651BZ' => "Fabrication d'instrumentation scientifique et technique",
|
||||
'2652ZZ' => "Horlogerie",
|
||||
'266' => "FABRICATION D'ÉQUIPEMENTS D'IRRADIATION MÉDICALE, D'ÉQUIPEMENTS",
|
||||
'2660ZZ' => "Fabrication d'équipements d'irradiation médicale, d'équipements électromédicaux et électrothérapeutiques",
|
||||
'267' => "FABRICATION DE MATÉRIELS OPTIQUE ET PHOTOGRAPHIQUE",
|
||||
'2670ZA' => "Fabrication de matériels photographiques et cinématographiques",
|
||||
'2670ZB' => "Fabrication d'instruments d'optique",
|
||||
'268' => "FABRICATION DE SUPPORTS MAGNÉTIQUES ET OPTIQUES",
|
||||
'2680ZZ' => "Fabrication de supports magnétiques et optiques",
|
||||
'27' => "FABRICATION D'ÉQUIPEMENTS ÉLECTRIQUES",
|
||||
'271' => "FABRICATION DE MOTEURS, GÉNÉRATRICES ET TRANSFORMATEURS ÉLECTRIQUES ET DE",
|
||||
'2711ZA' => "Fabrication de moteurs électriques",
|
||||
'2711ZB' => "Fabrication de transformateurs électriques",
|
||||
'2711ZC' => "Fabrication de groupes électrogènes",
|
||||
'2712ZZ' => "Fabrication de matériel de distribution et de commande électrique",
|
||||
'272' => "FABRICATION DE PILES ET D'ACCUMULATEURS ÉLECTRIQUES",
|
||||
'2720ZZ' => "Fabrication de piles et d'accumulateurs électriques",
|
||||
'273' => "FABRICATION DE FILS ET CÂBLES ET DE MATÉRIEL D'INSTALLATION ÉLECTRIQUE",
|
||||
'2731ZZ' => "Fabrication de câbles de fibres optiques",
|
||||
'2732ZZ' => "Fabrication d'autres fils et câbles électroniques ou électrique",
|
||||
'2733ZZ' => "Fabrication de matériel d'installation électrique",
|
||||
'274' => "FABRICATION D'APPAREILS D'ÉCLAIRAGE ÉLECTRIQUE",
|
||||
'2740ZA' => "Fabrication de lampes",
|
||||
'2740ZB' => "Fabrication de luminaires",
|
||||
'2740ZC' => "Fabrication d'abat-jour",
|
||||
'2740ZD' => "Fabrication d'autres appareils d'éclairage",
|
||||
'275' => "FABRICATION D'APPAREILS MÉNAGERS",
|
||||
'2751ZZ' => "Fabrication d'appareils électroménagers",
|
||||
'2752ZZ' => "Fabrication d'appareils ménagers non électriques",
|
||||
'279' => "FABRICATION D'AUTRES MATÉRIELS ÉLECTRIQUES",
|
||||
'2790ZZ' => "Fabrication d'autres matériels électriques",
|
||||
'28' => "FABRICATION DE MACHINES ET ÉQUIPEMENTS N.C.A",
|
||||
'281' => "FABRICATION DE MACHINES D'USAGE GÉNÉRAL",
|
||||
'2811ZA' => "Fabrication de moteurs et turbines, à l'exception des moteurs d'avion et de véhicules",
|
||||
'2811ZB' => "Fabrication de turbines éoliennes",
|
||||
'2812ZZ' => "Fabrication d'équipements hydrauliques et pneumatiques",
|
||||
'2813ZA' => "Fabrication de pompes",
|
||||
'2813ZB' => "Fabrication de compresseurs",
|
||||
'2814ZZ' => "Fabrication d'autres articles de robinetterie",
|
||||
'2815ZZ' => "Fabrication d'engrenages et d'organes mécaniques de transmission",
|
||||
'282' => "FABRICATION D'AUTRES MACHINES D'USAGE GÉNÉRAL",
|
||||
'2821ZA' => "Fabrication de fours et brûleurs non solaires",
|
||||
'2821ZB' => "Fabrication de chauffages solaires",
|
||||
'2822ZA' => "Fabrication d'ascenseurs, monte-charges et escaliers mécaniques",
|
||||
'2822ZB' => "Fabrication d'équipements de levage et de manutention",
|
||||
'2823ZZ' => "Fabrication de machines de bureau (à l'exception des ordinateurs et équipements périphériques)",
|
||||
'2824ZZ' => "Fabrication d'outillage portatif à moteur incorporé",
|
||||
'2825ZA' => "Fabrication de capteur solaire à effet de serre",
|
||||
'2825ZB' => "Fabrication d'équipements de réfrigération industrielle",
|
||||
'2825ZC' => "Fabrication d'équipements aérauliques",
|
||||
'2829AA' => "Fabrication d'équipements d'emballage et de conditionnement",
|
||||
'2829AB' => "Fabrication d'appareils de pesage",
|
||||
'2829BZ' => "Fabrication d'autres machines d'usage général",
|
||||
'283' => "FABRICATION DE MACHINES AGRICOLES ET FORESTIÈRES",
|
||||
'2830ZZ' => "Fabrication de machines agricoles et forestières",
|
||||
'284' => "FABRICATION DE MACHINES DE FORMAGE DES MÉTAUX ET DE MACHINES-OUTILS",
|
||||
'2841ZZ' => "Fabrication de machines-outils pour le travail des métaux",
|
||||
'2849ZZ' => "Fabrication d'autres machines-outils",
|
||||
'289' => "FABRICATION D'AUTRES MACHINES D'USAGE SPÉCIFIQUE",
|
||||
'2891ZZ' => "Fabrication de machines pour la métallurgie",
|
||||
'2892ZA' => "Fabrication de matériels de mines pour l'extraction",
|
||||
'2892ZB' => "Fabrication de matériels de travaux publics",
|
||||
'2893ZZ' => "Fabrication de machines pour l'industrie agro-alimentaire",
|
||||
'2894ZZ' => "Fabrication de machines pour les industries textiles",
|
||||
'2895ZZ' => "Fabrication de machines pour les industries du papier et du carton",
|
||||
'2896ZZ' => "Fabrication de machines pour le travail du caoutchouc ou des plastiques",
|
||||
'2899AZ' => "Fabrication de machines d'imprimerie",
|
||||
'2899BZ' => "Fabrication d'autres machines spécialisées",
|
||||
'29' => "INDUSTRIE AUTOMOBILE",
|
||||
'291' => "CONSTRUCTION DE VÉHICULES AUTOMOBILES",
|
||||
'2910ZA' => "Construction de voiturettes",
|
||||
'2910ZB' => "Construction d'autres véhicules automobiles",
|
||||
'292' => "FABRICATION DE CARROSSERIES ET REMORQUES",
|
||||
'2920ZA' => "Fabrication de carrosseries",
|
||||
'2920ZB' => "Aménagement de véhicules",
|
||||
'2920ZC' => "Fabrication de remorques et de semi-remorques",
|
||||
'293' => "FABRICATION D'ÉQUIPEMENTS AUTOMOBILES",
|
||||
'2931ZZ' => "Fabrication de matériels électriques et électroniques automobiles",
|
||||
'2932ZZ' => "Fabrication d'autres équipements automobiles",
|
||||
'30' => "FABRICATION D'AUTRES MATÉRIELS DE TRANSPORT",
|
||||
'301' => "CONSTRUCTION NAVALE",
|
||||
'3011ZA' => "Construction de navires",
|
||||
'3011ZB' => "Transformation et équipement des navires",
|
||||
'3012ZZ' => "Construction de bateaux de plaisance",
|
||||
'302' => "CONSTRUCTION DE LOCOMOTIVES ET D'AUTRE MATÉRIEL FERROVIAIRE ROULANT",
|
||||
'3020ZZ' => "Construction de locomotives et d'autre matériel ferroviaire roulant",
|
||||
'303' => "CONSTRUCTION AÉRONAUTIQUE ET SPATIALE",
|
||||
'3030ZA' => "Construction de moteurs pour aéronefs",
|
||||
'3030ZB' => "Construction de cellules d'aéronefs",
|
||||
'3030ZC' => "Construction de lanceurs et engins spatiaux",
|
||||
'304' => "CONSTRUCTION DE VÉHICULES MILITAIRES DE COMBAT",
|
||||
'3040ZZ' => "Construction de véhicules militaires de combat",
|
||||
'309' => "FABRICATION DE MATÉRIELS DE TRANSPORT N.C.A",
|
||||
'3091ZA' => "Construction de motocycles",
|
||||
'3091ZB' => "Fabrication d'équipements pour motocycles",
|
||||
'3092ZA' => "Construction de bicyclettes",
|
||||
'3092ZB' => "Fabrication d'équipements pour bicyclettes",
|
||||
'3092ZC' => "Fabrication de véhicules pour invalides et enfants",
|
||||
'3099ZZ' => "Fabrication d'autres équipements de transport n.c.a.",
|
||||
'31' => "FABRICATION DE MEUBLES",
|
||||
'310' => "FABRICATION DE MEUBLES",
|
||||
'3101ZZ' => "Fabrication de meubles de bureau et de magasin",
|
||||
'3102ZZ' => "Fabrication de meubles de cuisine",
|
||||
'3103ZZ' => "Fabrication de matelas",
|
||||
'3109AZ' => "Fabrication de sièges d'ameublement d'intérieur",
|
||||
'3109BA' => "Fabrication et finissage de meubles divers",
|
||||
'3109BB' => "Fabrication de meubles de jardin et d'extérieur",
|
||||
'3109BC' => "Fabrication de meubles en rotin",
|
||||
'32' => "AUTRES INDUSTRIES MANUFACTURIÈRES",
|
||||
'321' => "FABRICATION D'ARTICLES DE JOAILLERIE, BIJOUTERIE ET ARTICLES SIMILAIRES",
|
||||
'3211ZZ' => "Frappe de monnaies",
|
||||
'3212ZZ' => "Fabrication d'articles de joaillerie et de bijouterie",
|
||||
'3213ZZ' => "Fabrication d'articles de bijouterie fantaisie et articles similaires",
|
||||
'322' => "FABRICATION D'INSTRUMENTS DE MUSIQUE",
|
||||
'3220ZA' => "Lutherie",
|
||||
'3220ZB' => "Facteur d'orgues",
|
||||
'3220ZC' => "Fabrication d'autres instruments de musique",
|
||||
'323' => "FABRICATION D'ARTICLES DE SPORT",
|
||||
'3230ZZ' => "Fabrication d'articles de sport",
|
||||
'324' => "FABRICATION DE JEUX ET JOUETS",
|
||||
'3240ZZ' => "Fabrication de jeux et jouets",
|
||||
'325' => "FABRICATION D'INSTRUMENTS ET DE FOURNITURES À USAGE MÉDICAL ET DENTAIRE",
|
||||
'3250AA' => "Fabrication de prothèses dentaires",
|
||||
'3250AB' => "Fabrication de prothèses et orthèses podales",
|
||||
'3250AC' => "Fabrication de prothèses et orthèses diverses",
|
||||
'3250AD' => "Fabrication d'équipements médico-chirurgicaux",
|
||||
'3250BP' => "Fabrication de lunettes de protection",
|
||||
'329' => "ACTIVITÉS MANUFACTURIÈRES N.C.A",
|
||||
'3291ZZ' => "Fabrication d'articles de brosserie",
|
||||
'3299ZA' => "Fabrication de bougies",
|
||||
'3299ZB' => "Fabrication d'accessoires du vêtements",
|
||||
'3299ZC' => "Fabrication d'articles de Paris, d'arts ou religieux",
|
||||
'3299ZD' => "Fabrication d'articles de fumeurs",
|
||||
'3299ZE' => "Taxidermie",
|
||||
'3299ZF' => "Fabrication d'équipements de protection et de sécurité",
|
||||
'3299ZG' => "Fabrication de produits manufacturés non classés ailleurs",
|
||||
'33' => "RÉPARATION ET INSTALLATION DE MACHINES ET D'ÉQUIPEMENTS",
|
||||
'331' => "RÉPARATION D'OUVRAGES EN MÉTAUX, DE MACHINES ET D'ÉQUIPEMENTS",
|
||||
'3311ZZ' => "Réparation d'ouvrages en métaux",
|
||||
'3312ZA' => "Réparation de matériel agricole",
|
||||
'3312ZB' => "Réparation d'autres machines",
|
||||
'3313ZZ' => "Réparation de matériels électroniques et optiques",
|
||||
'3314ZZ' => "Réparation d'équipements électriques",
|
||||
'3315ZZ' => "Réparation et maintenance navale",
|
||||
'3316ZZ' => "Réparation et maintenance d'aéronefs et d'engins spatiaux",
|
||||
'3317ZZ' => "Réparation et maintenance d'autres équipements de transport",
|
||||
'3319ZZ' => "Réparation d'autres équipements",
|
||||
'332' => "INSTALLATION DE MACHINES ET D'ÉQUIPEMENTS INDUSTRIELS",
|
||||
'3320AZ' => "Installation de structures métalliques, chaudronnées et de tuyauterie",
|
||||
'3320BZ' => "Installation de machines et équipements mécaniques",
|
||||
'3320CZ' => "Conception d'ensemble et assemblage sur site industriel d'équipements de contrôle des processus industriels",
|
||||
'3320DZ' => "Installation d'équipements électriques, de matériels électroniques et optiques ou d'autres matériels",
|
||||
'37' => "COLLECTE ET TRAITEMENT DES EAUX USÉES",
|
||||
'370' => "COLLECTE ET TRAITEMENT DES EAUX USÉES",
|
||||
'3700ZP' => "Entretien de fosses septiques",
|
||||
'38' => "COLLECTE, TRAITEMENT ET ÉLIMINATION DES DÉCHETS ; RÉCUPÉRATION",
|
||||
'381' => "COLLECTE DES DÉCHETS",
|
||||
'3812ZP' => "Collecte des déchets nucléaires",
|
||||
'382' => "TRAITEMENT ET ÉLIMINATION DES DÉCHETS",
|
||||
'3821ZP' => "Incinération des déchets non dangereux et production de cendres et scories associée",
|
||||
'3822ZP' => "Traitement et élimination de déchets nucléaires radioactifs",
|
||||
'383' => "RÉCUPÉRATION",
|
||||
'3831ZA' => "Démantèlement d'épaves en vue de la récupération de matières métalliques",
|
||||
'3831ZB' => "Démantèlement d'épaves en vue de la récupération de matières non métalliques",
|
||||
'3832ZA' => "Traitement de matières métalliques recyclables",
|
||||
'3832ZB' => "Traitement de matières non métalliques recyclables",
|
||||
'39' => "DÉPOLLUTION ET AUTRES SERVICES DE GESTION DES DÉCHETS",
|
||||
'390' => "DÉPOLLUTION ET AUTRES SERVICES DE GESTION DES DÉCHETS",
|
||||
'3900ZP' => "Désamiantage",
|
||||
'41' => "CONSTRUCTION DE BÂTIMENTS",
|
||||
'412' => "CONSTRUCTION DE BÂTIMENTS RÉSIDENTIELS ET NON RÉSIDENTIELS",
|
||||
'4120AZ' => "Construction de maisons individuelles",
|
||||
'4120BA' => "Construction de bâtiments",
|
||||
'4120BB' => "Réhabilitation de bâtiments",
|
||||
'42' => "GÉNIE CIVIL",
|
||||
'421' => "CONSTRUCTION DE ROUTES ET DE VOIES FERRÉES",
|
||||
'4211ZA' => "Pose de signalisation routière verticale",
|
||||
'4211ZB' => "Aménagement de chaussées",
|
||||
'4212ZZ' => "Construction de voies ferrées de surface et souterraines",
|
||||
'4213AZ' => "Construction d'ouvrages d'art",
|
||||
'4213BZ' => "Construction et entretien de tunnels",
|
||||
'422' => "CONSTRUCTION DE RÉSEAUX ET DE LIGNES",
|
||||
'4221ZA' => "Construction d'installations de réseaux pour fluides",
|
||||
'4221ZB' => "Forage des puits d'eau",
|
||||
'4222ZA' => "Construction de centrales électriques",
|
||||
'4222ZB' => "Construction de lignes électriques et de télécommunication",
|
||||
'429' => "CONSTRUCTION D'AUTRES OUVRAGES DE GÉNIE CIVIL",
|
||||
'4291ZZ' => "Construction d'ouvrages maritimes et fluviaux",
|
||||
'4299ZP' => "Construction d'installations sportives et d'ouvrages industriels ou miniers",
|
||||
'43' => "TRAVAUX DE CONSTRUCTION SPÉCIALISÉS",
|
||||
'431' => "DÉMOLITION ET PRÉPARATION DES SITES",
|
||||
'4311ZZ' => "Travaux de démolition",
|
||||
'4312AZ' => "Travaux de terrassement courants et travaux préparatoires",
|
||||
'4312BA' => "Terrassements",
|
||||
'4312BB' => "Artificiers",
|
||||
'4313ZZ' => "Forages et sondages",
|
||||
'432' => "TRAVAUX D'INSTALLATION ÉLECTRIQUE, PLOMBERIE ET AUTRES TRAVAUX",
|
||||
'4321AA' => "Installation d'antennes",
|
||||
'4321AB' => "Installation électrique",
|
||||
'4321BZ' => "Travaux d'installation électrique sur la voie publique",
|
||||
'4322AZ' => "Travaux d'installation d'eau et de gaz en tous locaux",
|
||||
'4322BA' => "Installation et entretien de climatisation et chaufferie",
|
||||
'4322BB' => "Installation de chauffage individuel",
|
||||
'4322BC' => "Entretien de chaudières domestiques",
|
||||
'4329AZ' => "Travaux d'isolation",
|
||||
'4329BA' => "Installation d'ascenseurs",
|
||||
'4329BB' => "Montage de clôtures et de grilles",
|
||||
'4329BC' => "Installation de stores et bannes",
|
||||
'4329BD' => "Autres travaux d'installation divers",
|
||||
'433' => "TRAVAUX DE FINITION",
|
||||
'4331ZA' => "Travaux de plâtrerie d'extérieur",
|
||||
'4331ZB' => "Travaux de plâtrerie d'intérieur",
|
||||
'4332AA' => "Menuiserie bois",
|
||||
'4332AB' => "Menuiserie PVC",
|
||||
'4332BA' => "Installation de serres et de vérandas",
|
||||
'4332BB' => "Métallerie, serrurerie",
|
||||
'4332CZ' => "Agencement de lieux de vente",
|
||||
'4333ZZ' => "Travaux de revêtement des sols et des murs",
|
||||
'4334ZA' => "Travaux de miroiterie de bâtiment, vitrerie",
|
||||
'4334ZB' => "Travaux de peinture extérieure",
|
||||
'4334ZC' => "Travaux de peinture intérieure et peinture plâtrerie",
|
||||
'4334ZD' => "Travaux de peinture en lettres sur bâtiments",
|
||||
'4339ZZ' => "Autres travaux de finition",
|
||||
'439' => "AUTRES TRAVAUX DE CONSTRUCTION SPÉCIALISÉS",
|
||||
'4391AZ' => "Travaux de charpente",
|
||||
'4391BZ' => "Travaux de couverture par éléments",
|
||||
'4399AZ' => "Travaux d'étanchéification",
|
||||
'4399BZ' => "Travaux de montage de structures métalliques",
|
||||
'4399CZ' => "Travaux de maçonnerie générale et gros oeuvre de bâtiment",
|
||||
'4399DA' => "Installation de piscines de résidence et construction de piscines extérieures",
|
||||
'4399DB' => "Construction de cheminées et de fours industriels",
|
||||
'4399DC' => "Autres travaux spéciaux de construction",
|
||||
'4399EZ' => "Location avec opérateur de matériel de construction",
|
||||
'45' => "COMMERCE ET RÉPARATION D'AUTOMOBILES ET DE MOTOCYCLES",
|
||||
'452' => "ENTRETIEN ET RÉPARATION DE VÉHICULES AUTOMOBILES",
|
||||
'4520AA' => "Réparation automobile de véhicules automobiles légers : entretien courant",
|
||||
'4520AB' => "Réparation automobile de véhicules automobiles légers : mécanique",
|
||||
'4520AC' => "Réparation automobile de véhicules automobiles légers : carrosserie",
|
||||
'4520AD' => "Réparation automobile de véhicules automobiles légers : électricité, électronique",
|
||||
'4520BA' => "Réparation automobile d'autres véhicules automobiles : entretien courant",
|
||||
'4520BB' => "Réparation automobile d'autres véhicules automobiles : mécanique",
|
||||
'4520BC' => "Réparation automobile d'autres véhicules automobiles : diesel",
|
||||
'4520BD' => "Réparation automobile d'autres véhicules automobiles : carrosserie",
|
||||
'4520BE' => "Réparation automobile d'autres véhicules automobiles : électricité, électronique",
|
||||
'454' => "COMMERCE ET RÉPARATION DE MOTOCYCLES",
|
||||
'4540ZP' => "Réparation de motocycles",
|
||||
'47' => "COMMERCE DE DÉTAIL, À L'EXCEPTION DES AUTOMOBILES ET DES MOTOCYCLES",
|
||||
'472' => "COMMERCE DE DÉTAIL ALIMENTAIRE EN MAGASIN SPÉCIALISÉ",
|
||||
'4722ZA' => "Boucherie",
|
||||
'4722ZB' => "Boucherie charcuterie",
|
||||
'4722ZC' => "Boucherie chevaline",
|
||||
'4722ZD' => "Volailles, gibiers",
|
||||
'4722ZE' => "Triperie",
|
||||
'4723ZP' => "Préparation de poissons, crustacés et mollusques",
|
||||
'477' => "AUTRES COMMERCES DE DÉTAIL EN MAGASIN SPÉCIALISÉ",
|
||||
'4776ZP' => "Commerce de détail de fleurs",
|
||||
'478' => "COMMERCE DE DÉTAIL SUR ÉVENTAIRES ET MARCHÉS",
|
||||
'4781ZQ' => "Boucherie sur éventaires et marchés",
|
||||
'4781ZR' => "Boucherie charcuterie sur éventaires et marchés",
|
||||
'4781ZS' => "Boucherie chevaline sur éventaires et marchés",
|
||||
'4781ZT' => "Volailles, gibiers sur éventaires et marchés",
|
||||
'4781ZU' => "Triperie sur éventaires et marchés",
|
||||
'4781ZV' => "Préparation de poissons, crustacés, mollusques sur éventaires, marchés",
|
||||
'4789ZP' => "Commerce de détail de fleurs sur éventaires et marchés",
|
||||
'49' => "TRANSPORTS TERRESTRES ET TRANSPORT PAR CONDUITES",
|
||||
'493' => "AUTRES TRANSPORTS TERRESTRES DE VOYAGEURS",
|
||||
'4932ZA' => "Taxis",
|
||||
'4932ZB' => "Location de voitures avec chauffeur",
|
||||
'494' => "TRANSPORTS ROUTIERS DE FRET ET SERVICES DE DÉMÉNAGEMENT",
|
||||
'4942ZZ' => "Services de déménagement",
|
||||
'52' => "ENTREPOSAGE ET SERVICES AUXILIAIRES DES TRANSPORTS",
|
||||
'522' => "ENTREPOSAGE ET STOCKAGE SERVICES AUXILIAIRES DES TRANSPORTS",
|
||||
'5221ZP' => "Assistance et remorquage de véhicules automobiles",
|
||||
'56' => "RESTAURATION",
|
||||
'561' => "RESTAURANTS ET SERVICES DE RESTAURATION MOBILE",
|
||||
'5610CQ' => "Fabrication artisanale associée à la vente de plats pour consommation immédiate en magasins sédentaires ou sur",
|
||||
'5610CR' => "Fabrication artisanale associée à la vente de plats pour consommation immédiate en véhicules motorisés ou non",
|
||||
'58' => "ÉDITION",
|
||||
'581' => "ÉDITION DE LIVRES ET PÉRIODIQUES ET AUTRES ACTIVITÉS D'ÉDITION",
|
||||
'5819ZP' => "Edition d'imprimés fiduciaires, imprimés commerciaux, formulaires imprimés",
|
||||
'71' => "ACTIVITÉS D'ARCHITECTURE ET D'INGÉNIERIE ; ACTIVITÉS DE CONTRÔLE ET ANALYSES",
|
||||
'712' => "ACTIVITÉS DE CONTRÔLE ET ANALYSES TECHNIQUES",
|
||||
'7120AZ' => "Contrôle technique automobile",
|
||||
'73' => "PUBLICITÉ ET ÉTUDES DE MARCHÉ",
|
||||
'731' => "PUBLICITÉ",
|
||||
'7311ZP' => "Pose d'affiches",
|
||||
'74' => "AUTRES ACTIVITÉS SPÉCIALISÉES, SCIENTIFIQUES ET TECHNIQUES",
|
||||
'741' => "ACTIVITÉS SPÉCIALISÉES DE DESIGN",
|
||||
'7410ZP' => "Conception de modèles pour étalages et décoration",
|
||||
'742' => "ACTIVITÉS PHOTOGRAPHIQUES",
|
||||
'7420ZQ' => "Studio de photographie",
|
||||
'7420ZR' => "Portrait, reportage",
|
||||
'7420ZS' => "Photographie industrielle et publicitaire",
|
||||
'7420ZT' => "Laboratoires techniques de développement et de tirage",
|
||||
'80' => "ENQUÊTES ET SÉCURITÉ",
|
||||
'802' => "ACTIVITÉS LIÉES AUX SYSTÈMES DE SÉCURITÉ",
|
||||
'8020ZP' => "Activité de surveillance et installation de systèmes d'alarme non dissociées",
|
||||
'81' => "SERVICES RELATIFS AUX BÂTIMENTS ET AMÉNAGEMENT PAYSAGER",
|
||||
'812' => "ACTIVITÉS DE NETTOYAGE",
|
||||
'8121ZZ' => "Nettoyage courant des bâtiments",
|
||||
'8122ZZ' => "Autres activités de nettoyage des bâtiments et nettoyage industriel",
|
||||
'8129AZ' => "Désinfection, désinsectisation, dératisation",
|
||||
'8129BP' => "Autres services de nettoyage",
|
||||
'82' => "ACTIVITÉS ADMINISTRATIVES ET AUTRES ACTIVITÉS DE SOUTIEN AUX ENTREPRISES",
|
||||
'821' => "ACTIVITÉS ADMINISTRATIVES",
|
||||
'8211ZP' => "Services administratifs divers",
|
||||
'8219ZP' => "Travaux à façon divers",
|
||||
'829' => "ACTIVITÉS DE SOUTIEN AUX ENTREPRISES N.C.A",
|
||||
'8292ZZ' => "Activités de conditionnement",
|
||||
'86' => "ACTIVITÉS POUR LA SANTÉ HUMAINE",
|
||||
'8690AZ' => "Ambulances",
|
||||
'90' => "ACTIVITÉS CRÉATIVES, ARTISTIQUES ET DE SPECTACLE",
|
||||
'900' => "ACTIVITÉS CRÉATIVES, ARTISTIQUES ET DE SPECTACLE",
|
||||
'9001ZP' => "Spectacles de marionnettes",
|
||||
'9003AP' => "Restauration d'objets d'art",
|
||||
'95' => "RÉPARATION D'ORDINATEURS ET DE BIENS PERSONNELS ET DOMESTIQUES",
|
||||
'951' => "RÉPARATION D'ORDINATEURS ET D'ÉQUIPEMENTS DE COMMUNICATION",
|
||||
'9511ZZ' => "Réparation d'ordinateurs et d'équipements périphériques",
|
||||
'9512ZZ' => "Réparation d'équipements de communication",
|
||||
'952' => "RÉPARATION DE BIENS PERSONNELS ET DOMESTIQUES",
|
||||
'9521ZZ' => "Réparation de produits électroniques grand public",
|
||||
'9522ZA' => "Réparation de tondeuses à gazon",
|
||||
'9522ZB' => "Réparation d'appareils électroménagers",
|
||||
'9523ZZ' => "Réparation de chaussures et d'articles en cuir",
|
||||
'9524ZZ' => "Réparation de meubles et d'équipements du foyer",
|
||||
'9525ZZ' => "Réparation d'articles d'horlogerie et de bijouterie",
|
||||
'9529ZA' => "Aiguisage de coutellerie",
|
||||
'9529ZB' => "Réparation de cycles",
|
||||
'9529ZC' => "Atelier de retouches",
|
||||
'9529ZD' => "Réparation d'articles de sport et de campement",
|
||||
'9529ZE' => "Accordeurs de piano et restauration d'autres instruments de musique",
|
||||
'9529ZF' => "Réparation non classées ailleurs",
|
||||
'96' => "AUTRES SERVICES PERSONNELS",
|
||||
'960' => "AUTRES SERVICES PERSONNELS",
|
||||
'9601AZ' => "Blanchisserie-teinturerie de gros",
|
||||
'9601BQ' => "Laveries, blanchisseries et teintureries de détail",
|
||||
'9601BR' => "Pressings",
|
||||
'9602AA' => "Coiffure en salon",
|
||||
'9602AB' => "Coiffure hors salon",
|
||||
'9602BA' => "Soins de beauté en salon",
|
||||
'9602BB' => "Soins de beauté hors salon",
|
||||
'9603ZP' => "Embaumement, soins mortuaires",
|
||||
'9609ZP' => "Toilettage d'animaux de compagnie",
|
||||
'A' => "AGRICULTURE, SYLVICULTURE ET PÊCHE",
|
||||
'B' => "INDUSTRIES EXTRACTIVES",
|
||||
'C' => "INDUSTRIE MANUFACTURIÈRE",
|
||||
'E' => "PRODUCTION ET DISTRIBUTION D'EAU ; ASSAINISSEMENT, GESTION DES DÉCHETS ET",
|
||||
'F' => "CONSTRUCTION",
|
||||
'G' => "COMMERCE ; RÉPARATION D'AUTOMOBILES ET DE MOTOCYCLES",
|
||||
'H' => "TRANSPORTS ET ENTREPOSAGE",
|
||||
'I' => "HÉBERGEMENT ET RESTAURATION",
|
||||
'J' => "INFORMATION ET COMMUNICATION",
|
||||
'M' => "ACTIVITÉS SPÉCIALISÉES, SCIENTIFIQUES ET TECHNIQUES",
|
||||
'N' => "ACTIVITÉS DE SERVICES ADMINISTRATIFS ET DE SOUTIEN",
|
||||
'Q' => "SANTÉ HUMAINE ET ACTION SOCIALE",
|
||||
'R' => "ARTS, SPECTACLES ET ACTIVITÉS RÉCRÉATIVES",
|
||||
'S' => "AUTRES ACTIVITÉS DE SERVICES",
|
||||
'4781ZW' => "Crémerie-fromagerie et préparations à base de lait ou de fromage sur éventaires, marchés",
|
||||
'4729ZP' => "Crémerie-fromagerie et préparations à base de lait ou de fromage",
|
||||
'5610AP' => "Fabrication culinaire artisanale de plats à consommer sur place",
|
||||
);
|
278
library/Metier/Table/Devises.php
Normal file
278
library/Metier/Table/Devises.php
Normal file
@ -0,0 +1,278 @@
|
||||
<?php
|
||||
return array(
|
||||
"$" => "USD",
|
||||
"DOLLAR" => "USD",
|
||||
"DOLLARS" => "USD",
|
||||
"DOLLARS US" => "USD",
|
||||
"DOLLAR DES ETATS-UNIS" => "USD",
|
||||
"DOLLARS CANADIENS" => "CAD",
|
||||
"BRR" => "BRR",
|
||||
"BRL" => "BRL",
|
||||
"EURO" => "EUR",
|
||||
"RÉIS" => "BRL",
|
||||
"F" => "FRF",
|
||||
"FRANCS CFA" => "CFA",
|
||||
"CNY" => "CNY",
|
||||
"YUAN" => "CNY",
|
||||
"YUAN REN MIN BI" => "CNY",
|
||||
"COURONNES TCHÈQUES (RÉPUBLIQUE TCHÈQUE" => "CZK",
|
||||
"ARIARYS" => "MGA",
|
||||
"KMF" => "KMF",
|
||||
"MGA ARIARY" => "MGA",
|
||||
"MUR" => "MUR",
|
||||
"ROUPIES MAURICIENNES" => "MUR",
|
||||
"MURS" => "MUR",
|
||||
"ROL" => "ROL",
|
||||
"RON" => "RON",
|
||||
"FS" => "CHF",
|
||||
"CHF" => "CHF",
|
||||
"FRANC SUISSE" => "CHF",
|
||||
"FRANCS SUISSES" => "CHF",
|
||||
"YENS" => "JPY",
|
||||
"DKK" => "DKK",
|
||||
"COURONNES DANOISES" => "DKK",
|
||||
"COURONNES NORVÉGIENNES" => "NOK",
|
||||
"GBP" => "GBP",
|
||||
"LIVRE STERLING" => "GBP",
|
||||
"LIVRES STERLING" => "GBP",
|
||||
"LIVRES STERLINGS" => "GBP",
|
||||
"ROUBLES BIÉLORUSSES" => "RUB",
|
||||
"ROUBLES" => "RUB",
|
||||
"DOLLARS TAIWAN" => "TWD",
|
||||
"HKD" => "HKD",
|
||||
"DIRHAMS" => "MAD",
|
||||
"DINARS TUNISIENS" => "TND",
|
||||
"FCFA" => "CFA",
|
||||
"FRANCS BELGES" => "BEF",
|
||||
"ROUPIE INDIENNE" => "INR",
|
||||
"DOLLARS HONG KONG" => "HKD",
|
||||
"RIALS IRANIENS" => "IRR",
|
||||
"DOLLARS HONG-KONG" => "HKD",
|
||||
"ECU" => "EUR",
|
||||
"YUANS" => "CNY",
|
||||
"DM" => "DEM",
|
||||
"LEI" => "RON",
|
||||
"TND" => "TND",
|
||||
"WON" => "KRW",
|
||||
"DINAR TUNISIEN" => "TND",
|
||||
"WONS" => "KRW",
|
||||
"DIRHAMS MAROCAINS" => "MAD",
|
||||
"FB" => "BEF",
|
||||
"CRUZEIROS" => "BRL",
|
||||
"REALS" => "BRL",
|
||||
"COURONNES ISLANDAISES" => "ISK",
|
||||
"DOLLARS AUSTRALIENS" => "AUD",
|
||||
"DINARS" => "TND",
|
||||
"RIYAL SAOUDIEN" => "SAR",
|
||||
"LIVRES SYRIENNES" => "SYP",
|
||||
"YEN" => "JPY",
|
||||
"COURONNES SUÉDOISES" => "SEK",
|
||||
"LIVRES TURQUES" => "TRY",
|
||||
"SHEKELS" => "ILS",
|
||||
"FRANC BELGE" => "BEF",
|
||||
"DOLLAR HONG KONG" => "HKD",
|
||||
"DOLLARS SINGAPOUR" => "SGD",
|
||||
"ZLOTY" => "PLN",
|
||||
"LEVS" => "BGN",
|
||||
"OUGUIYA" => "MRO",
|
||||
"ROUPIES INDIENNES" => "INR",
|
||||
"RIEL" => "KHR",
|
||||
"COURONNES DANNOISES" => "DKK",
|
||||
"INR" => "INR",
|
||||
"ROUPIES DES SEYCHELLES" => "SCR",
|
||||
"$ CANADIENS" => "CAD",
|
||||
"LIVRE STERLI" => "GBP",
|
||||
"NOK" => "NOK",
|
||||
"LIVRES LIBANAISES" => "LBP",
|
||||
"RUR" => "RUB",
|
||||
"USD" => "USD",
|
||||
"CHS" => "CHE",
|
||||
"SKK" => "SKK",
|
||||
"DINAR TUNISI" => "TND",
|
||||
"PESOS COLOMBIENS" => "COP",
|
||||
"JIAS" => "CNY",
|
||||
"DINARS ALGÉRIENS" => "DZD",
|
||||
"RIELS" => "KHR",
|
||||
"CLP" => "CLP",
|
||||
"DINAR ALGÉRIEN" => "DZD",
|
||||
"RANDS" => "ZAR",
|
||||
"LEU" => "RON",
|
||||
"LIVRES CYPRIOTES" => "CYP",
|
||||
"MAD" => "MAD",
|
||||
"JPY" => "JPY",
|
||||
"PNL" => "PLN",
|
||||
"DOLLARS NÉO-ZÉLANDAIS" => "NZD",
|
||||
"DOLLAR US" => "USD",
|
||||
"CYP" => "CYP",
|
||||
"DIRHAM" => "MAD",
|
||||
"ZRN" => "ZRN",
|
||||
"RIYALS SAOUDIENS" => "SAR",
|
||||
"ZLOTYS" => "PLN",
|
||||
"FRANCS MALGACHE" => "MGF",
|
||||
"BAHTS" => "THB",
|
||||
"SHILLINGS KENYANS" => "KES",
|
||||
"FRANC COMORIEN" => "KMF",
|
||||
"KRW" => "KRW",
|
||||
"$ HONG-KONG" => "HKD",
|
||||
"COURONNES TCHÈQUES" => "CZK",
|
||||
"FRANCS CFA-BE" => "XAF",
|
||||
"DIRHAMS DES E A U" => "AED",
|
||||
"DOLLAR AUSTRALIEN" => "AUD",
|
||||
"F, SOIT" => "FRF",
|
||||
"F SOIT" => "FRF",
|
||||
"FRANC FRANÇAIS" => "FRF",
|
||||
"FRANCS GUINÉENS" => "GNF",
|
||||
"$ US" => "USD",
|
||||
"REAL" => "BRL",
|
||||
"LBP" => "LBP",
|
||||
"TRL" => "TRY",
|
||||
"RIYAL YÉMÉNITES" => "YER",
|
||||
"ARIARY" => "MGA",
|
||||
"PESOS PHILIPPINS" => "PHP",
|
||||
"KRD" => "DKK",
|
||||
"WONS CORÉE DU SUD" => "KRW",
|
||||
"DOLLAR HONG-KONG" => "HKD",
|
||||
"BAHT" => "THB",
|
||||
"PESOS CUBAINS" => "CUC",
|
||||
"DÔNGS" => "VND",
|
||||
"DINARS JORDANIENS" => "JOD",
|
||||
"LIVRES ÉGYPTIENNES" => "EGP",
|
||||
"MALTAISES" => "MTL",
|
||||
"NOUVEAUX DOLLARS TAÏWAN" => "TWD",
|
||||
"$ TAIWA" => "TWD",
|
||||
"F CFA" => "XAF",
|
||||
"SGD" => "SGD",
|
||||
"$ SINGAPOUR" => "SGD",
|
||||
"YUANS RENMINBI" => "CNY",
|
||||
"DIRHAMS DES EMIRATS ARABES UNIS" => "AED",
|
||||
"LIVRE TURQUE" => "TRY",
|
||||
"ERUOS" => "EUR",
|
||||
"DOLLARS DES ETATS-UNIS" => "USD",
|
||||
"SCHILLING" => "ATS",
|
||||
"BIRRS" => "ETB",
|
||||
"DOLLAR CANADIEN" => "CAD",
|
||||
"LIVRES CYPRIOBES" => "CYP",
|
||||
"EUROS (PLANCHER ET" => "EUR",
|
||||
"FRANCS MALGACHES" => "MGF",
|
||||
"LEVA" => "BGN",
|
||||
"DINARDS JORDANIENS" => "JOD",
|
||||
"PES" => "PHP",
|
||||
"PESETAS" => "ESP",
|
||||
"DINARDS" => "DZD",
|
||||
"NOUVEAUX DOLLARS TAÏWANAIS" => "TWD",
|
||||
"FRANC" => "FRF",
|
||||
"COURONNE DANOISE" => "DKK",
|
||||
"F SUISSES" => "CHF",
|
||||
"F (SOIT" => "FRF",
|
||||
"EUROS, COMPRENANT LA CLIENTÈLE ET L'ACHA" => "EUR",
|
||||
"EUROS, EN CE COMPRIS UN FONDS SIS RÉSIDE" => "EUR",
|
||||
"F SYMBOLIQUE" => "FRF",
|
||||
"RIALS" => "IRR",
|
||||
"EUROS, À L'EXCLUSION DU DROIT AU BAIL DE" => "EUR",
|
||||
"DH" => "MAD",
|
||||
"EUROS, CRÉATION L'AUTRE BRANCHE ACTIVITÉ" => "EUR",
|
||||
"LEI ROUMAIN" => "RON",
|
||||
"HGK" => "HKD",
|
||||
"EUROS, ÉTANT PRÉCISÉ QUE LE CÉDANT A CON" => "EUR",
|
||||
"DZD" => "DZD",
|
||||
"DON" => "VND",
|
||||
"EUROS, EN CE COMPRIS LA BRANCHE ACTIVITÉ" => "EUR",
|
||||
"LEV" => "RON",
|
||||
"EUROS, AVEC UN DEUXIÈME FONDS SIS À CHEF" => "EUR",
|
||||
"DÉCEMBRE" => "EUR",
|
||||
"CEDIS" => "GHS",
|
||||
"EUROS ; EN CE COMPRIS L'ÉTABLISSEMENT CO" => "EUR",
|
||||
"EUROS, À L'EXCEPTION LA BOUCHERIE" => "EUR",
|
||||
"Y" => "JPY",
|
||||
"EUROS DES ÉLÉMENTS LA BRANCHE ACTIVITÉ >" => "EUR",
|
||||
"ROUTE BISCHWILLER À SCHILTIGHEIM" => "EUR",
|
||||
"AVENUE COLMAR, STRASBOURG" => "EUR",
|
||||
"$ CAN" => "CAD",
|
||||
"EUUROS" => "EUR",
|
||||
"EUROS, À L'EXCLUSION L'ACTIVITÉ FABRICAT" => "EUR",
|
||||
"BRC" => "BRL",
|
||||
"EUROS ET CRÉATION LA BRANCHE ACTIVITÉ SN" => "EUR",
|
||||
"EUROS ET CRÉATION LA BRANCHE ACTIVITÉ GL" => "EUR",
|
||||
"EUROS, ET CRÉATION LA BRANCHE ACTIVITÉ I" => "EUR",
|
||||
"EGP" => "EGP",
|
||||
"COURONNE SUE" => "SEK",
|
||||
"LIVRES" => "GBP",
|
||||
"EUROS, À L'EXCLUSION LA BRANCHE VENTE AU" => "EUR",
|
||||
"SOLS" => "PEN",
|
||||
"EUROS, SOIT LA BRANCHE ACTIVITÉ GROS UV" => "EUR",
|
||||
"BATHS" => "THB",
|
||||
"MRO" => "MRO",
|
||||
"EUROS, À L'EXCLUSION TOUS LES ÉLÉMENTS L" => "EUR",
|
||||
"PESOS" => "ARS",
|
||||
"YANS" => "CNY",
|
||||
"MGF" => "MGF",
|
||||
"EUROS, CONJOINTEMENT AVEC MME CHERUBINI" => "EUR",
|
||||
"EUROS, CONSTITUANT UNE BRANCHE COMPLÈTE" => "EUR",
|
||||
"EUROS, À L'EXCLUSION LA BRANCHE ACTIVITÉ" => "EUR",
|
||||
"FRANCS SUISSE" => "CHF",
|
||||
"FL" => "LUF",
|
||||
"DOLLARS DES CARAÏBES" => "DOP",
|
||||
"DOLLARS HO" => "HKD",
|
||||
"EUROS, RÉSULTANT UN PROJET APPORT AUX TE" => "EUR",
|
||||
"HU" => "HUF",
|
||||
"EUROS, INCLUANT LES BRANCHES DES FONDS C" => "EUR",
|
||||
"EUROS, À L'EXCEPTION LA BRANCHE ACTIVITÉ" => "EUR",
|
||||
"EUROS. ACQUISITION ET ADJONCTION DES NOM" => "EUR",
|
||||
"BHD" => "TND",
|
||||
"EUOS" => "EUR",
|
||||
"TWD" => "TWD",
|
||||
"RL" => "IRR",
|
||||
"FRANCS" => "FRF",
|
||||
"FRF" => "FRF",
|
||||
"EUROS ; CRÉATION LA BRANCHE ACTIVITÉ VEN" => "EUR",
|
||||
"EUROS ET CRÉATION LA BRANCHE ACTIVITÉ CA" => "EUR",
|
||||
"FRANCS FRANCAIS" => "FRF",
|
||||
"EOROS" => "EUR",
|
||||
"UROS" => "EUR",
|
||||
"EUROS - LES OPPOSITIONS SERONT RECUES CH" => "EUR",
|
||||
"EUROS - JOURNAL PUBLICATEUR : PETITES AF" => "EUR",
|
||||
"EUROS, SAUF POUR LA BRANCHE JEUX GRATTAG" => "EUR",
|
||||
"EU" => "EUR",
|
||||
"EUROS - JOURNAL : LES PETITES AFFICHES D" => "EUR",
|
||||
"EUROS - JOURNAL ANNONCES LÉGALES : LES A" => "EUR",
|
||||
"EUORS" => "EUR",
|
||||
"FRANCS FRANÇAIS. RADIATION PERSONNE PHYS" => "FRF",
|
||||
"EUROS - JOURNAL PUBLICITE : LES AFFICHES" => "EUR",
|
||||
"EUROS - JOURNAL PUBLICATEUR LES PETITES" => "EUR",
|
||||
"EUROS, ANNONCE PARU DANS LES PETITES AFF" => "EUR",
|
||||
"EUROSO - JOURNAL ANNONCES LES PETITES AF" => "EUR",
|
||||
"EUROS. LE RECTIFICATIF PORTE SUR LE LIEU" => "EUR",
|
||||
"EUROS. L'ENTRÉE EN JOUISSANCE EST FIXÉE" => "EUR",
|
||||
"EUROS. LES OPPOSITIONS SERONT REÇUES POU" => "EUR",
|
||||
"EUROS ; ACQUIS PAR APPORT PARTIEL ACTIF" => "EUR",
|
||||
"EUROS JOURNAL ANNONCES LEGALES LES PETIT" => "EUR",
|
||||
" LIVRES STERLING - PASSIF TRANSMIS :" => "GBP",
|
||||
"EUROS, PARUTION DANS LES PETITES AFFICHE" => "EUR",
|
||||
"EUROS - JOURNAL ANNONCES LEGALES LES PET" => "EUR",
|
||||
"EUROS; LES OPPOSITIONS SERONT REÇU AU SI" => "EUR",
|
||||
"EUROS - JOURNAL ANNONCES LÉGALES : LES P" => "EUR",
|
||||
"FRF;F" => "FRF",
|
||||
"EUROS - PUBLICATION : LES AFFICHES PARIS" => "EUR",
|
||||
" " => "EUR",
|
||||
"E" => "EUR",
|
||||
"EUR (ACQUISITION UNE BRANCHE ACTIVI TÉ)" => "EUR",
|
||||
"EUROS. VENDEUR : SARL LE TAILLEUR CHEMIS" => "EUR",
|
||||
"EUROS, PRECEDENT PROPRIÉTAIRE ETURICHEPA" => "EUR",
|
||||
"£, PASSIF TRANSMIS" => "GBP",
|
||||
"EUROS LES OPPOSITIONS SERONT REÇUES CHEZ" => "EUR",
|
||||
"EUROS. ACTIVITÉ : BRANCHE ACTIVITÉ TRANS" => "EUR",
|
||||
"EUROS ; ACHAT LA CLIENTèLE RELATIVE à L'" => "EUR",
|
||||
"'" => "EUR",
|
||||
"EUROS. PUBLICATION : LES PETITES AFFICHE" => "EUR",
|
||||
"EUROS MADAME BUTON FRANCOIS RCS LA ROCHE" => "EUR",
|
||||
"EUROS (BRANCHE ACTIVITé)" => "EUR",
|
||||
"EUROS, LA SOCIéTé GF BATIMENTS A CéDé à" => "EUR",
|
||||
"USD (SOIT" => "USD",
|
||||
"EUROS (ACQUISITION UNE BRANCHE ACTIVITé" => "EUR",
|
||||
"EUROS CONCERNANT L'ACQUISITION UNE BRANC" => "EUR",
|
||||
"E POUR" => "EUR",
|
||||
"EUROS, FONDS ACQUIS SIS à LA RICHE (" => "EUR",
|
||||
"EUROS, OPPOSITIONS PAR ACTE EXTRA JUDICI" => "EUR",
|
||||
"EUROS UNE BRANCHE ACTIVITé" => "EUR",
|
||||
"EUROS, SITUéE CHEMIN CHAMPCOURT," => "EUR",
|
||||
);
|
178
library/Metier/Table/DevisesInpi.php
Normal file
178
library/Metier/Table/DevisesInpi.php
Normal file
@ -0,0 +1,178 @@
|
||||
<?php
|
||||
return array(
|
||||
1 => "AFN",
|
||||
2 => "ZAR",
|
||||
3 => "ALL",
|
||||
4 => "DZD",
|
||||
5 => "DEM",
|
||||
7 => "AOA",
|
||||
8 => "ANG",
|
||||
9 => "SAR",
|
||||
10 => "ARS",
|
||||
11 => "AUD",
|
||||
12 => "ATS",
|
||||
13 => "BSD",
|
||||
14 => "BHD",
|
||||
15 => "BDT",
|
||||
16 => "BBD",
|
||||
17 => "BEF",
|
||||
18 => "BZD",
|
||||
19 => "BMD",
|
||||
20 => "MMK",
|
||||
21 => "BOB",
|
||||
22 => "BWP",
|
||||
23 => "BRL",
|
||||
24 => "BND",
|
||||
25 => "BGN",
|
||||
26 => "BIF",
|
||||
27 => "KHR",
|
||||
28 => "XAF",
|
||||
29 => "CAD",
|
||||
32 => "CLP",
|
||||
33 => "CNY",
|
||||
34 => "CYP",
|
||||
35 => "COP",
|
||||
36 => "KMF",
|
||||
37 => "ZRN",
|
||||
38 => "KPW",
|
||||
39 => "KRW",
|
||||
40 => "CRC",
|
||||
42 => "CUP",
|
||||
44 => "DKK",
|
||||
45 => "DJF",
|
||||
46 => "XCD",
|
||||
47 => "EGP",
|
||||
48 => "AED",
|
||||
50 => "ESP",
|
||||
51 => "USD",
|
||||
52 => "ETB",
|
||||
53 => "FKP",
|
||||
54 => "FJD",
|
||||
55 => "FIM",
|
||||
56 => "GMD",
|
||||
58 => "GHC",
|
||||
59 => "GBP",
|
||||
60 => "GRD",
|
||||
61 => "GTQ",
|
||||
62 => "GWP",
|
||||
63 => "GNF",
|
||||
65 => "GYD",
|
||||
66 => "HTG",
|
||||
68 => "HNL",
|
||||
69 => "HKD",
|
||||
70 => "HUF",
|
||||
71 => "INR",
|
||||
72 => "IDR",
|
||||
73 => "IQD",
|
||||
74 => "IRR",
|
||||
75 => "IEP",
|
||||
76 => "ISK",
|
||||
77 => "ILS",
|
||||
78 => "ITL",
|
||||
79 => "JMD",
|
||||
80 => "JPY",
|
||||
81 => "JOD",
|
||||
82 => "KES",
|
||||
83 => "KWD",
|
||||
84 => "LAK",
|
||||
85 => "LBP",
|
||||
86 => "LRD",
|
||||
87 => "LYD",
|
||||
89 => "LUF",
|
||||
90 => "MOP",
|
||||
91 => "MGF",
|
||||
92 => "MYR",
|
||||
93 => "MWK",
|
||||
94 => "MVR",
|
||||
96 => "MTL",
|
||||
97 => "MAD",
|
||||
98 => "MUR",
|
||||
99 => "MRO",
|
||||
100 => "MXN",
|
||||
101 => "MNT",
|
||||
102 => "MZM",
|
||||
103 => "NPR",
|
||||
104 => "NIO",
|
||||
106 => "NGN",
|
||||
107 => "NOK",
|
||||
110 => "NZD",
|
||||
111 => "OMR",
|
||||
112 => "UGX",
|
||||
113 => "PKR",
|
||||
114 => "PAB",
|
||||
115 => "PYG",
|
||||
116 => "NLG",
|
||||
117 => "PEN",
|
||||
118 => "PHP",
|
||||
119 => "PLN",
|
||||
120 => "XPF",
|
||||
121 => "PTE",
|
||||
122 => "QAR",
|
||||
123 => "RON",
|
||||
124 => "RWF",
|
||||
125 => "SVC",
|
||||
126 => "WST",
|
||||
127 => "STD",
|
||||
129 => "SCR",
|
||||
130 => "SLL",
|
||||
131 => "SGD",
|
||||
132 => "SBD",
|
||||
133 => "SOS",
|
||||
134 => "SDD",
|
||||
135 => "LKR",
|
||||
136 => "SRG",
|
||||
137 => "SEK",
|
||||
138 => "CHF",
|
||||
139 => "SYP",
|
||||
140 => "SZL",
|
||||
141 => "TWD",
|
||||
142 => "TZS",
|
||||
144 => "CZK",
|
||||
145 => "THB",
|
||||
147 => "TTD",
|
||||
148 => "TND",
|
||||
149 => "TRL",
|
||||
152 => "UYU",
|
||||
153 => "VUV",
|
||||
154 => "VEB",
|
||||
155 => "VND",
|
||||
157 => "YER",
|
||||
159 => "YUM",
|
||||
160 => "CDF",
|
||||
161 => "ZMK",
|
||||
162 => "ZWD",
|
||||
168 => "ADP",
|
||||
174 => "KYD",
|
||||
176 => "LVL",
|
||||
177 => "LTL",
|
||||
178 => "EEK",
|
||||
179 => "UAH",
|
||||
181 => "SIT",
|
||||
182 => "SKK",
|
||||
183 => "KZT",
|
||||
184 => "BYR",
|
||||
186 => "HRK",
|
||||
188 => "TMM",
|
||||
189 => "KGS",
|
||||
190 => "MDL",
|
||||
191 => "GIP",
|
||||
192 => "RUB",
|
||||
195 => "AMD",
|
||||
196 => "AZM",
|
||||
197 => "BAM",
|
||||
198 => "GEL",
|
||||
201 => "MKD",
|
||||
205 => "AWG",
|
||||
207 => "TOP",
|
||||
208 => "BTN",
|
||||
209 => "PGK",
|
||||
210 => "UZS",
|
||||
211 => "ILS",
|
||||
212 => "TJS",
|
||||
213 => "CVE",
|
||||
214 => "ERN",
|
||||
218 => "DOP",
|
||||
238 => "SHP",
|
||||
244 => "TPE",
|
||||
300 => "EUR",
|
||||
);
|
2649
library/Metier/Table/Evenements.php
Normal file
2649
library/Metier/Table/Evenements.php
Normal file
File diff suppressed because it is too large
Load Diff
313
library/Metier/Table/FctDir.php
Normal file
313
library/Metier/Table/FctDir.php
Normal file
@ -0,0 +1,313 @@
|
||||
<?php
|
||||
return array(
|
||||
'1' => "Directeur",
|
||||
'2' => "Directeur Contentieux",
|
||||
'3' => "Directeur Recouvrement",
|
||||
'4' => "Directeur Crédit",
|
||||
'5' => "Directeur Recherche et Développement",
|
||||
'6' => "Directeur de la Qualité",
|
||||
'7' => "Directeur d'Exploitation",
|
||||
'8' => "Directeur d'Agence/Etablissement",
|
||||
'9' => "Directeur de la Production",
|
||||
'10' => "Directeur Commercial",
|
||||
'11' => "Directeur Financier (DAF)",
|
||||
'12' => "Directeur Juridique",
|
||||
'13' => "Directeur des Ressources Humaines DRH",
|
||||
'14' => "Directeur Informatique",
|
||||
'15' => "Directeur Administratif",
|
||||
'16' => "Directeur des Achats",
|
||||
'17' => "Directeur Marketing",
|
||||
'18' => "Directeur de la communication",
|
||||
'19' => "Directeur Technique",
|
||||
'31' => "Responsable",
|
||||
'32' => "Responsable Contentieux",
|
||||
'33' => "Responsable Recouvrement",
|
||||
'34' => "Responsable Crédit",
|
||||
'35' => "Responsable Recherche et Développement",
|
||||
'36' => "Responsable de la Qualité",
|
||||
'37' => "Responsable d'Exploitation",
|
||||
'38' => "Responsable d'Agence/Etablissement",
|
||||
'39' => "Responsable de la Production",
|
||||
'40' => "Responsable Commercial",
|
||||
'41' => "Responsable Financier",
|
||||
'42' => "Responsable Juridique",
|
||||
'43' => "Responsable des Ressources Humaines RRH",
|
||||
'44' => "Responsable Informatique",
|
||||
'45' => "Responsable Administratif",
|
||||
'46' => "Responsable des Achats",
|
||||
'47' => "Responsable Marketing",
|
||||
'48' => "Responsable de la communication",
|
||||
'49' => "Responsable Technique",
|
||||
'50' => "Expert comptable",
|
||||
'55' => "Comptable",
|
||||
'60' => "Chargé d'affaires",
|
||||
'61' => "Conducteur de Travaux",
|
||||
'62' => "Chef de projets",
|
||||
'63' => "Consultant",
|
||||
'79' => "Assistant(e) de direction",
|
||||
'80' => "Avocat",
|
||||
'81' => "Commissaire-priseur",
|
||||
'85' => "Agent commercial",
|
||||
'90' => "Représentant du personnel",
|
||||
'91' => "Représentant du Comité d'Entreprise",
|
||||
'92' => "Scrutateur",
|
||||
'100' => "Administrateur",
|
||||
'101' => "Administrateur délégué",
|
||||
'102' => "administrateur de GIE",
|
||||
'103' => "Administrateur et membre",
|
||||
'104' => "Administrateur et membre du GIE",
|
||||
'105' => "Administrateur et président",
|
||||
'106' => "Administrateur membre engageant le GIE",
|
||||
'107' => "Administrateur unique",
|
||||
'108' => "Administrateur provisoire",
|
||||
'109' => "Administrateur et Directeur",
|
||||
'200' => "Associé",
|
||||
'201' => "Associé commandité gérant",
|
||||
'202' => "Associé commandité",
|
||||
'203' => "Associé de société civile",
|
||||
'205' => "Associé en nom",
|
||||
'206' => "Associé exploitant",
|
||||
'207' => "Associé non exploitant",
|
||||
'208' => "Associé non gérant",
|
||||
'209' => "Associé gérant",
|
||||
'210' => "Associé Indéfiniment et solidairement responsable",
|
||||
'211' => "Associé indéfiniment responsable",
|
||||
'212' => "Associé en nue propriété (avec usufruitier)",
|
||||
'213' => "Associé unique",
|
||||
'214' => "Co-Associé",
|
||||
'215' => "Associé Commanditaire",
|
||||
'250' => "Propriétaire",
|
||||
'300' => "Commissaire aux comptes titulaire",
|
||||
'301' => "Co-commissaire aux comptes suppléant",
|
||||
'302' => "Co-commissaire aux comptes titulaire",
|
||||
'303' => "Commissaire aux comptes suppléant",
|
||||
'304' => "Commissaire aux comptes",
|
||||
'305' => "Co-commissaire aux comptes",
|
||||
'400' => "Co-gérant",
|
||||
'401' => "Co-gérant associé Indéfiniment responsable",
|
||||
'402' => "Co-gérant associé",
|
||||
'403' => "Co-gérant non associé",
|
||||
'404' => "Co-gérant non statutaire",
|
||||
'405' => "Co-gérant pouvant engager la société",
|
||||
'406' => "Co-gérant statutaires",
|
||||
'500' => "Conjoint Collaborateur",
|
||||
'600' => "Contrôleur",
|
||||
'601' => "Contrôleur de gestion et des comptes",
|
||||
'602' => "Contrôleur de gestion du GIE",
|
||||
'603' => "Contrôleur de gestion",
|
||||
'604' => "Contrôleur des comptes titulaire",
|
||||
'605' => "Contrôleur des comptes du GIE",
|
||||
'606' => "Contrôleur des comptes et de gestion",
|
||||
'607' => "Contrôleur des comptes et membre du GIE",
|
||||
'608' => "Contrôleur des comptes",
|
||||
'700' => "Directeur",
|
||||
'701' => "Directeur général adjoint",
|
||||
'702' => "Directeur général délégué et administrateur",
|
||||
'703' => "Directeur général délégué et membre du comité de surveillance",
|
||||
'704' => "Directeur général délégué",
|
||||
'705' => "Directeur général et administrateur",
|
||||
'706' => "Directeur général et membre du directoire",
|
||||
'707' => "Directeur général unique du directoire",
|
||||
'708' => "Directeur général unique",
|
||||
'709' => "Directeur général",
|
||||
'710' => "Directeur gérant",
|
||||
'711' => "Directeur technique",
|
||||
'712' => "Directeur des transports",
|
||||
'713' => "Directeur général non administrateur",
|
||||
'800' => "Dirigeant",
|
||||
'801' => "Dirigeant à l'étranger et en France",
|
||||
'802' => "Dirigeant à l'étranger",
|
||||
'803' => "Dirigeant en France et à l'étranger",
|
||||
'804' => "Dirigeant en France",
|
||||
'805' => "Dirigeant",
|
||||
'900' => "Gérant",
|
||||
'901' => "Nouveau gérant",
|
||||
'902' => "Gérant et directeur technique",
|
||||
'903' => "Gérant associé en nom collectif",
|
||||
'904' => "Gérant associé en nom",
|
||||
'905' => "Gérant associé indéfiniment responsable",
|
||||
'906' => "Gérant associé unique",
|
||||
'907' => "Gérant associé",
|
||||
'908' => "Gérant associé majoritaire",
|
||||
'909' => "Gérant associé minoritaire",
|
||||
'910' => "Gérant associé tenu indéfiniment et solidairement des dettes sociales",
|
||||
'911' => "Gérant majoritaire",
|
||||
'912' => "Gérant non associé",
|
||||
'913' => "Gérant non statutaire",
|
||||
'914' => "Gérant pouvant engager la société",
|
||||
'915' => "Gérant salarié",
|
||||
'916' => "Gérant statutaire associé",
|
||||
'917' => "Gérant statutaire",
|
||||
'918' => "Gérant et administrateur",
|
||||
'919' => "Gérant technique",
|
||||
'920' => "Ancien gérant",
|
||||
'921' => "Gérante",
|
||||
'923' => "Gérant co-associé",
|
||||
'924' => "Gérant unique",
|
||||
'925' => "Premier Gérant",
|
||||
'926' => "Gérant de fait",
|
||||
'1000' => "Fondé de pouvoir",
|
||||
'1001' => "Personne ayant pouvoir d'engager à titre habituel la société vis-à-vis des tiers",
|
||||
'1002' => "Personne ayant pouvoir d'engager la société en France",
|
||||
'1003' => "Personne ayant pouvoir d'engager la société",
|
||||
'1004' => "Personne ayant pouvoir de diriger et gérer",
|
||||
'1005' => "Personne pouvant engager à titre habituel l'assujetti",
|
||||
'1006' => "Personne",
|
||||
'1050' => "Personne Physique",
|
||||
'1070' => "Exploitant",
|
||||
'1080' => "Fondateur",
|
||||
'1081' => "Co-fondateur",
|
||||
'1090' => "Gérant affaire personnelle",
|
||||
'1100' => "Mandataire",
|
||||
'1101' => "Mandataire ad hoc",
|
||||
'1102' => "Mandataire général",
|
||||
'1200' => "Membre",
|
||||
'1201' => "Membre du GIE",
|
||||
'1202' => "Membre du groupement",
|
||||
'1203' => "Membre et administrateur",
|
||||
'1204' => "Membre du comité de direction",
|
||||
'1205' => "Membre du comité de surveillance",
|
||||
'1206' => "Membre du conseil de direction",
|
||||
'1207' => "Membre du conseil de surveillance",
|
||||
'1208' => "Membre du directoire",
|
||||
'1209' => "Membre du conseil exécutif",
|
||||
'1210' => "Membre du conseil de gestion",
|
||||
'1211' => "Membre du conseil d'administration",
|
||||
'1230' => "Membre du Comité d'Orientation",
|
||||
'1232' => "Membre du conseil de famille",
|
||||
'1300' => "Président",
|
||||
'1301' => "Président directeur général",
|
||||
'1302' => "Président du conseil d'administration assumant la direction général",
|
||||
'1303' => "Président du conseil d'administration et administrateur",
|
||||
'1304' => "Président du conseil d'administration et directeur général",
|
||||
'1305' => "Président du conseil d'administration, directeur général et administrateur",
|
||||
'1306' => "Président du conseil d'administration",
|
||||
'1307' => "Président du conseil de surveillance",
|
||||
'1308' => "Président du directoire",
|
||||
'1309' => "Président du GIE",
|
||||
'1310' => "Président et membre du conseil de surveillance",
|
||||
'1311' => "Président et membre du directoire",
|
||||
'1312' => "Président et président du comité de direction",
|
||||
'1313' => "Président et président du comité de surveillance",
|
||||
'1314' => "Président et administrateur",
|
||||
'1315' => "Président et associé",
|
||||
'1316' => "Président et associé unique",
|
||||
'1317' => "Président directeur général et administrateur",
|
||||
'1318' => "Président non associé",
|
||||
'1320' => "Président d'honneur",
|
||||
'1330' => "Président du Comité d'Orientation",
|
||||
'1331' => "Président du comité de direction",
|
||||
'1332' => "Président du Conseil de famille",
|
||||
'1400' => "Représentant",
|
||||
'1401' => "Représentant de société étrangère",
|
||||
'1402' => "Représentant tant en France qu'à l'étranger",
|
||||
'1403' => "Représentant à l'étranger",
|
||||
'1404' => "Représentant légal en France",
|
||||
'1405' => "Représentant légal",
|
||||
'1406' => "Représentant permanent",
|
||||
'1500' => "Responsable",
|
||||
'1501' => "Co-responsable en France",
|
||||
'1502' => "Responsable pour la France",
|
||||
'1503' => "Responsable tant en France qu'à l'étranger",
|
||||
'1504' => "Responsable technique",
|
||||
'1505' => "Responsable à l'étranger",
|
||||
'1506' => "Responsable de la société en France",
|
||||
'1507' => "Responsable en France",
|
||||
'1508' => "Responsable légal en France",
|
||||
'1600' => "Secrétaire",
|
||||
'1601' => "Vice-secrétaire",
|
||||
'1602' => "Secrétaire du conseil d'administration",
|
||||
'1603' => "Secrétaire du conseil de surveillance",
|
||||
'1610' => "Secrétaire général",
|
||||
'1650' => "Gouverneur",
|
||||
'1651' => "Sous Gouverneur",
|
||||
'1700' => "Trésorier",
|
||||
'1701' => "Vice-trésorier",
|
||||
'1800' => "Vice-président",
|
||||
'1801' => "Vice-président du conseil d'administration",
|
||||
'1802' => "vice-président du conseil de surveillance",
|
||||
'1803' => "Vice-président et administrateur privé",
|
||||
'1804' => "Vice-président et administrateur",
|
||||
'1805' => "Vice-président et membre du conseil de surveillance",
|
||||
'1806' => "Vice-président du directoire",
|
||||
'1900' => "Liquidateur (amiable)",
|
||||
'1950' => "Greffier",
|
||||
'2000' => "Maire",
|
||||
'2001' => "Premier Adjoint",
|
||||
'2002' => "Adjoint 3eme Age/Handicapes",
|
||||
'2003' => "Adjoint Affaires Culturelles",
|
||||
'2004' => "Adjoint Affaires Economiques",
|
||||
'2005' => "Adjoint Affaires Générales",
|
||||
'2006' => "Adjoint Affaires Sociales",
|
||||
'2007' => "Adjoint Agriculture",
|
||||
'2008' => "Adjoint Commerce/Artisanat",
|
||||
'2009' => "Adjoint Communication",
|
||||
'2010' => "Adjoint Emploi/Insertion",
|
||||
'2011' => "Adjoint Environnement",
|
||||
'2012' => "Adjoint Finances/Budget",
|
||||
'2013' => "Adjoint Intercommunalité",
|
||||
'2014' => "Adjoint Jeunesse",
|
||||
'2015' => "Adjoint Logement",
|
||||
'2016' => "Adjoint Patrimoine",
|
||||
'2017' => "Adjoint Personnel",
|
||||
'2018' => "Adjoint Petite Enfance",
|
||||
'2019' => "Adjoint Politique de la Ville/Logement",
|
||||
'2020' => "Adjoint Relations Internationales",
|
||||
'2021' => "Adjoint Santé/Prévention",
|
||||
'2022' => "Adjoint ServicesTechniques",
|
||||
'2023' => "Adjoint Sport",
|
||||
'2024' => "Adjoint Spécial",
|
||||
'2025' => "Adjoint Sécurité/Prévention",
|
||||
'2026' => "Adjoint TIC",
|
||||
'2027' => "Adjoint Tourisme",
|
||||
'2028' => "Adjoint Transports/Mobilité Urbaine",
|
||||
'2029' => "Adjoint Urbanisme",
|
||||
'2030' => "Adjoint Vie Associative",
|
||||
'2031' => "Adjoint Vie des Quartiers",
|
||||
'2032' => "Adjoint Voirie",
|
||||
'2050' => "Secrétariat du Maire",
|
||||
'2051' => "Premier conseiller",
|
||||
'2052' => "Conseiller",
|
||||
'2053' => "Conseiller Communautaire Délégué",
|
||||
'2054' => "Conseiller Municipal",
|
||||
'2055' => "Conseiller Municipal Délégué",
|
||||
'2056' => "Directeur de Cabinet",
|
||||
'2060' => "Dir/Resp Affaires Juridiques",
|
||||
'2061' => "Dir/Resp Emploi/Insertion/Urbanisme",
|
||||
'2062' => "Dir/Resp Petite Enfance/Environnement",
|
||||
'2063' => "Dir/Resp Ressources Humaines",
|
||||
'2064' => "Dir/Resp Services Financiers",
|
||||
'2065' => "Dir/Resp Services Techniques/Transports",
|
||||
'2066' => "Dir/Resp Technique",
|
||||
'2067' => "Dir/Resp Urbanisme/Habitat/Voirie",
|
||||
'2068' => "Directeur 3e Age/Handicapés/Cadre Vie/Esp. Ver",
|
||||
'2069' => "Directeur Achats",
|
||||
'2070' => "Directeur Affaires Culturelles/Com. Interne",
|
||||
'2071' => "Directeur Affaires Economiques",
|
||||
'2072' => "Directeur Affaires Générales",
|
||||
'2073' => "Directeur Affaires Sociales/Tourisme",
|
||||
'2074' => "Directeur Architecture",
|
||||
'2075' => "Directeur Bibliothèque Municipale",
|
||||
'2076' => "Directeur Communication",
|
||||
'2077' => "Directeur Eaux et Services Concédés",
|
||||
'2078' => "Directeur Enseignement/Affaires Scolaires",
|
||||
'2079' => "Directeur Espaces Verts",
|
||||
'2080' => "Directeur Grands Projets",
|
||||
'2081' => "Directeur Général Adjoint des Services",
|
||||
'2082' => "Directeur Général des Services",
|
||||
'2083' => "Directeur Général et Administrateur",
|
||||
'2084' => "Directeur Informatique",
|
||||
'2085' => "Directeur Jeunesse/Enseignement",
|
||||
'2086' => "Directeur Nettoiement/Ordures Ménagères",
|
||||
'2087' => "Directeur Politique de la Ville",
|
||||
'2088' => "Directeur Prévention/Sécurité",
|
||||
'2089' => "Directeur Prévention/Sécurité/Environnement",
|
||||
'2090' => "Directeur Rel. Internationales",
|
||||
'2091' => "Directeur Rel. Internationales/Action Culturel",
|
||||
'2092' => "Directeur Santé",
|
||||
'2093' => "Directeur Sports/Emploi/Recrutement",
|
||||
'2094' => "Directeur Tourisme",
|
||||
'2095' => "Directeur Transports/Mobilité Urbaine",
|
||||
'2096' => "Directeur Voirie",
|
||||
'2100' => "Président de section",
|
||||
);
|
37
library/Metier/Table/Jugements.php
Normal file
37
library/Metier/Table/Jugements.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
return array(
|
||||
1 => 1520,
|
||||
2 => 1436,
|
||||
3 => 1460,
|
||||
4 => 1209,
|
||||
5 => 1445,
|
||||
6 => 1603,
|
||||
7 => 1506,
|
||||
8 => 1430,
|
||||
9 => 1600,
|
||||
10 => 1500,
|
||||
11 => 1200,
|
||||
12 => 1413,
|
||||
13 => 1305,
|
||||
14 => 1411,
|
||||
15 => 1412,
|
||||
16 => 1425,
|
||||
18 => 1502,
|
||||
19 => 1501,
|
||||
20 => 1525,
|
||||
21 => 1435,
|
||||
44 => 1100,
|
||||
45 => 1101,
|
||||
48 => 1201,
|
||||
49 => 1307,
|
||||
55 => 1306,
|
||||
56 => 1110,
|
||||
57 => 1119,
|
||||
58 => 1545,
|
||||
59 => 1506,
|
||||
60 => 1111,
|
||||
61 => 1116,
|
||||
62 => 1118,
|
||||
63 => 1115,
|
||||
64 => 1645,
|
||||
);
|
240
library/Metier/Table/PaysInpi.php
Normal file
240
library/Metier/Table/PaysInpi.php
Normal file
@ -0,0 +1,240 @@
|
||||
<?php
|
||||
return array(
|
||||
1 => "AF",
|
||||
2 => "ZA",
|
||||
3 => "AL",
|
||||
4 => "DZ",
|
||||
5 => "DE",
|
||||
7 => "AO",
|
||||
8 => "AN",
|
||||
9 => "SA",
|
||||
10 => "AR",
|
||||
11 => "AU",
|
||||
12 => "AT",
|
||||
13 => "BS",
|
||||
14 => "BH",
|
||||
15 => "BD",
|
||||
16 => "BB",
|
||||
17 => "BE",
|
||||
18 => "BZ",
|
||||
19 => "BM",
|
||||
20 => "MM",
|
||||
21 => "BO",
|
||||
22 => "BW",
|
||||
23 => "BR",
|
||||
24 => "BN",
|
||||
25 => "BG",
|
||||
26 => "BI",
|
||||
27 => "KH",
|
||||
28 => "CM",
|
||||
29 => "CA",
|
||||
31 => "CF",
|
||||
32 => "CL",
|
||||
33 => "CN",
|
||||
34 => "CY",
|
||||
35 => "CO",
|
||||
36 => "KM",
|
||||
37 => "CG",
|
||||
38 => "KP",
|
||||
39 => "KR",
|
||||
40 => "CR",
|
||||
41 => "CI",
|
||||
42 => "CU",
|
||||
43 => "BJ",
|
||||
44 => "DK",
|
||||
45 => "DJ",
|
||||
46 => "DM",
|
||||
47 => "EG",
|
||||
48 => "AE",
|
||||
49 => "EC",
|
||||
50 => "ES",
|
||||
51 => "US",
|
||||
52 => "ET",
|
||||
53 => "FK",
|
||||
54 => "FJ",
|
||||
55 => "FI",
|
||||
56 => "GM",
|
||||
57 => "GA",
|
||||
58 => "GH",
|
||||
59 => "GB",
|
||||
60 => "GR",
|
||||
61 => "GT",
|
||||
62 => "GW",
|
||||
63 => "GN",
|
||||
64 => "GQ",
|
||||
65 => "GY",
|
||||
66 => "HT",
|
||||
67 => "BF",
|
||||
68 => "HN",
|
||||
69 => "HK",
|
||||
70 => "HU",
|
||||
71 => "IN",
|
||||
72 => "ID",
|
||||
73 => "IR",
|
||||
74 => "IQ",
|
||||
75 => "IE",
|
||||
76 => "IS",
|
||||
77 => "IL",
|
||||
78 => "IT",
|
||||
79 => "JM",
|
||||
80 => "JP",
|
||||
81 => "JO",
|
||||
82 => "KE",
|
||||
83 => "KW",
|
||||
84 => "LA",
|
||||
85 => "LB",
|
||||
86 => "LR",
|
||||
87 => "LY",
|
||||
88 => "LI",
|
||||
89 => "LU",
|
||||
90 => "MO",
|
||||
91 => "MG",
|
||||
92 => "MY",
|
||||
93 => "MW",
|
||||
94 => "MV",
|
||||
95 => "ML",
|
||||
96 => "MT",
|
||||
97 => "MA",
|
||||
98 => "MU",
|
||||
99 => "MR",
|
||||
100 => "MX",
|
||||
101 => "MN",
|
||||
102 => "MZ",
|
||||
103 => "NP",
|
||||
104 => "NI",
|
||||
105 => "NE",
|
||||
106 => "NG",
|
||||
107 => "NO",
|
||||
108 => "NC",
|
||||
110 => "NZ",
|
||||
111 => "OM",
|
||||
112 => "UG",
|
||||
113 => "PK",
|
||||
114 => "PA",
|
||||
115 => "PY",
|
||||
116 => "NL",
|
||||
117 => "PE",
|
||||
118 => "PH",
|
||||
119 => "PL",
|
||||
120 => "PF",
|
||||
121 => "PT",
|
||||
122 => "QA",
|
||||
123 => "RO",
|
||||
124 => "RW",
|
||||
125 => "SV",
|
||||
126 => "WS",
|
||||
127 => "ST",
|
||||
128 => "SN",
|
||||
129 => "SC",
|
||||
130 => "SL",
|
||||
131 => "SG",
|
||||
132 => "SB",
|
||||
133 => "SO",
|
||||
134 => "SD",
|
||||
135 => "LK",
|
||||
136 => "SR",
|
||||
137 => "SE",
|
||||
138 => "CH",
|
||||
139 => "SY",
|
||||
140 => "SZ",
|
||||
141 => "TW",
|
||||
142 => "TZ",
|
||||
143 => "TD",
|
||||
144 => "CZ",
|
||||
145 => "TH",
|
||||
146 => "TG",
|
||||
147 => "TT",
|
||||
148 => "TN",
|
||||
149 => "TR",
|
||||
150 => "TV",
|
||||
152 => "UY",
|
||||
153 => "VU",
|
||||
154 => "VE",
|
||||
155 => "VN",
|
||||
156 => "WF",
|
||||
157 => "YE",
|
||||
159 => "YU",
|
||||
160 => "CD",
|
||||
161 => "ZM",
|
||||
162 => "ZW",
|
||||
163 => "RE",
|
||||
164 => "GP",
|
||||
165 => "MC",
|
||||
167 => "MQ",
|
||||
168 => "AD",
|
||||
172 => "TF",
|
||||
173 => "PR",
|
||||
174 => "KY",
|
||||
175 => "MP",
|
||||
176 => "LV",
|
||||
177 => "LT",
|
||||
178 => "EE",
|
||||
179 => "UA",
|
||||
181 => "SI",
|
||||
182 => "SK",
|
||||
183 => "KZ",
|
||||
184 => "BY",
|
||||
185 => "YT",
|
||||
186 => "HR",
|
||||
188 => "TM",
|
||||
189 => "KG",
|
||||
190 => "MD",
|
||||
191 => "GI",
|
||||
192 => "RU",
|
||||
193 => "GL",
|
||||
194 => "PM",
|
||||
195 => "AM",
|
||||
196 => "AZ",
|
||||
197 => "BA",
|
||||
198 => "GE",
|
||||
201 => "MK",
|
||||
202 => "SM",
|
||||
203 => "AI",
|
||||
204 => "AG",
|
||||
205 => "AW",
|
||||
206 => "GD",
|
||||
207 => "TO",
|
||||
208 => "BT",
|
||||
209 => "PG",
|
||||
210 => "UZ",
|
||||
211 => "PS",
|
||||
212 => "TJ",
|
||||
213 => "CV",
|
||||
214 => "ER",
|
||||
215 => "LS",
|
||||
216 => "NA",
|
||||
217 => "EH",
|
||||
218 => "DO",
|
||||
219 => "BV",
|
||||
220 => "CX",
|
||||
221 => "CC",
|
||||
222 => "CK",
|
||||
223 => "FO",
|
||||
224 => "GU",
|
||||
225 => "HM",
|
||||
226 => "VG",
|
||||
227 => "VI",
|
||||
228 => "KI",
|
||||
229 => "MH",
|
||||
230 => "FM",
|
||||
231 => "MS",
|
||||
232 => "NR",
|
||||
233 => "NU",
|
||||
234 => "NF",
|
||||
235 => "IO",
|
||||
236 => "PW",
|
||||
237 => "PN",
|
||||
238 => "SH",
|
||||
239 => "KN",
|
||||
240 => "LC",
|
||||
241 => "VC",
|
||||
242 => "AS",
|
||||
243 => "SJ",
|
||||
244 => "TP",
|
||||
245 => "TK",
|
||||
246 => "TC",
|
||||
247 => "VA",
|
||||
248 => "AQ",
|
||||
249 => "GS",
|
||||
250 => "UM",
|
||||
);
|
277
library/Metier/Table/Tribunaux.php
Normal file
277
library/Metier/Table/Tribunaux.php
Normal file
@ -0,0 +1,277 @@
|
||||
<?php
|
||||
return array(
|
||||
0 => array('Id'=>"1812", 'Nom'=>"Tribunal Inconnu", 'Code'=>"INCONU"),
|
||||
101 => array('Id'=>"140", 'Nom'=>"TC BOURG EN BRESSE", 'Code'=>"BOURGC"),
|
||||
151 => array('Id'=>"103", 'Nom'=>"TGIcc BELLEY", 'Code'=>"BELLEG"),
|
||||
201 => array('Id'=>"215", 'Nom'=>"TC CHAUNY", 'Code'=>"CHAUNC"),
|
||||
202 => array('Id'=>"705", 'Nom'=>"TC SAINT QUENTIN", 'Code'=>"STQUEC"),
|
||||
203 => array('Id'=>"651", 'Nom'=>"TC SOISSONS", 'Code'=>"SOISSC"),
|
||||
204 => array('Id'=>"764", 'Nom'=>"TC VERVINS", 'Code'=>"VERVIC"),
|
||||
252 => array('Id'=>"366", 'Nom'=>"TGI LAON", 'Code'=>"LAONG"),
|
||||
301 => array('Id'=>"259", 'Nom'=>"TC CUSSET", 'Code'=>"CUSSEC"),
|
||||
302 => array('Id'=>"491", 'Nom'=>"TC MOULINS", 'Code'=>"MOULIC"),
|
||||
303 => array('Id'=>"467", 'Nom'=>"TC MONTLUCON", 'Code'=>"MONTLC"),
|
||||
401 => array('Id'=>"425", 'Nom'=>"TC MANOSQUE", 'Code'=>"MANOSC"),
|
||||
453 => array('Id'=>"270", 'Nom'=>"TGI DIGNE", 'Code'=>"DIGNEG"),
|
||||
501 => array('Id'=>"325", 'Nom'=>"TC GAP", 'Code'=>"GAPC"),
|
||||
601 => array('Id'=>"40", 'Nom'=>"TC ANTIBES", 'Code'=>"ANTIBC"),
|
||||
602 => array('Id'=>"173", 'Nom'=>"TC CANNES", 'Code'=>"CANNEC"),
|
||||
603 => array('Id'=>"332", 'Nom'=>"TC GRASSE", 'Code'=>"GRASSC"),
|
||||
604 => array('Id'=>"449", 'Nom'=>"TC MENTON", 'Code'=>"MENTOC"),
|
||||
605 => array('Id'=>"518", 'Nom'=>"TC NICE", 'Code'=>"NICEC"),
|
||||
701 => array('Id'=>"39", 'Nom'=>"TC ANNONAY", 'Code'=>"ANNONC"),
|
||||
702 => array('Id'=>"53", 'Nom'=>"TC AUBENAS", 'Code'=>"AUBENC"),
|
||||
801 => array('Id'=>"224", 'Nom'=>"TC CHARLEVILLE MEZIERES", 'Code'=>"CHMEZC"),
|
||||
802 => array('Id'=>"640", 'Nom'=>"TC SEDAN", 'Code'=>"SEDANC"),
|
||||
901 => array('Id'=>"312", 'Nom'=>"TC FOIX", 'Code'=>"FOIXC"),
|
||||
951 => array('Id'=>"313", 'Nom'=>"TGI FOIX", 'Code'=>"FOIXG"),
|
||||
1001 => array('Id'=>"742", 'Nom'=>"TC TROYES", 'Code'=>"TROYEC"),
|
||||
1101 => array('Id'=>"175", 'Nom'=>"TC CARCASSONNE", 'Code'=>"CARCAC"),
|
||||
1102 => array('Id'=>"179", 'Nom'=>"TC CASTELNAUDARY", 'Code'=>"CASTEC"),
|
||||
1103 => array('Id'=>"395", 'Nom'=>"TC LIMOUX", 'Code'=>"LIMOUC"),
|
||||
1104 => array('Id'=>"508", 'Nom'=>"TC NARBONNE", 'Code'=>"NARBOC"),
|
||||
1201 => array('Id'=>"296", 'Nom'=>"TC ESPALION", 'Code'=>"ESPALC"),
|
||||
1202 => array('Id'=>"455", 'Nom'=>"TC MILLAU", 'Code'=>"MILLAC"),
|
||||
1203 => array('Id'=>"612", 'Nom'=>"TC RODEZ", 'Code'=>"RODEZC"),
|
||||
1204 => array('Id'=>"655", 'Nom'=>"TC SAINT AFRIQUE", 'Code'=>"STAFFC"),
|
||||
1301 => array('Id'=>"8", 'Nom'=>"TC AIX EN PROVENCE", 'Code'=>"AIXC"),
|
||||
1302 => array('Id'=>"49", 'Nom'=>"TC ARLES", 'Code'=>"ARLESC"),
|
||||
1303 => array('Id'=>"435", 'Nom'=>"TC MARSEILLE", 'Code'=>"MARSEC"),
|
||||
1304 => array('Id'=>"626", 'Nom'=>"TC SALON DE PROVENCE", 'Code'=>"SALONC"),
|
||||
1305 => array('Id'=>"715", 'Nom'=>"TC TARASCON", 'Code'=>"TARASC"),
|
||||
1401 => array('Id'=>"89", 'Nom'=>"TC BAYEUX", 'Code'=>"BAYEUC"),
|
||||
1402 => array('Id'=>"162", 'Nom'=>"TC CAEN", 'Code'=>"CAENC"),
|
||||
1403 => array('Id'=>"245", 'Nom'=>"TC CONDE-SUR-NOIREAU", 'Code'=>"CONDEC"),
|
||||
1404 => array('Id'=>"306", 'Nom'=>"TC FALAISE", 'Code'=>"FALAIC"),
|
||||
1405 => array('Id'=>"348", 'Nom'=>"TC HONFLEUR", 'Code'=>"HONFLC"),
|
||||
1407 => array('Id'=>"397", 'Nom'=>"TC LISIEUX", 'Code'=>"LISIEC"),
|
||||
1408 => array('Id'=>"782", 'Nom'=>"TC VIRE", 'Code'=>"VIREC"),
|
||||
1501 => array('Id'=>"59", 'Nom'=>"TC AURILLAC", 'Code'=>"AURILC"),
|
||||
1502 => array('Id'=>"677", 'Nom'=>"TC SAINT FLOUR", 'Code'=>"STFLOC"),
|
||||
1601 => array('Id'=>"35", 'Nom'=>"TC ANGOULEME", 'Code'=>"ANGOUC"),
|
||||
1602 => array('Id'=>"237", 'Nom'=>"TC COGNAC", 'Code'=>"COGNAC"),
|
||||
1701 => array('Id'=>"357", 'Nom'=>"TC JONZAC", 'Code'=>"JONZAC"),
|
||||
1702 => array('Id'=>"430", 'Nom'=>"TC MARENNES", 'Code'=>"MARENC"),
|
||||
1703 => array('Id'=>"603", 'Nom'=>"TC ROCHEFORT", 'Code'=>"ROCHEC"),
|
||||
1704 => array('Id'=>"606", 'Nom'=>"TC LA ROCHELLE", 'Code'=>"ROCHLC"),
|
||||
1708 => array('Id'=>"623", 'Nom'=>"TC SAINTES", 'Code'=>"SAINTC"),
|
||||
1801 => array('Id'=>"148", 'Nom'=>"TC BOURGES", 'Code'=>"BRGESC"),
|
||||
1901 => array('Id'=>"159", 'Nom'=>"TC BRIVE", 'Code'=>"BRIVEC"),
|
||||
1902 => array('Id'=>"745", 'Nom'=>"TC TULLE", 'Code'=>"TULLEC"),
|
||||
2001 => array('Id'=>"11", 'Nom'=>"TC AJACCIO", 'Code'=>"AJACCC"),
|
||||
2002 => array('Id'=>"86", 'Nom'=>"TC BASTIA", 'Code'=>"BASTIC"),
|
||||
2003 => array('Id'=>"349", 'Nom'=>"TC L'ILE ROUSSE", 'Code'=>"ILEROC"),
|
||||
2101 => array('Id'=>"66", 'Nom'=>"TC AUXONNE", 'Code'=>"AUXONC"),
|
||||
2102 => array('Id'=>"94", 'Nom'=>"TC BEAUNE", 'Code'=>"BEAUNC"),
|
||||
2103 => array('Id'=>"208", 'Nom'=>"TC CHATILLON SUR SEINE", 'Code'=>"CHATIC"),
|
||||
2104 => array('Id'=>"272", 'Nom'=>"TC DIJON", 'Code'=>"DIJONC"),
|
||||
2105 => array('Id'=>"533", 'Nom'=>"TC NUITS ST GEORGES", 'Code'=>"NUITSC"),
|
||||
2201 => array('Id'=>"541", 'Nom'=>"TC PAIMPOL", 'Code'=>"PAIMPC"),
|
||||
2202 => array('Id'=>"660", 'Nom'=>"TC SAINT BRIEUC", 'Code'=>"STBRIC"),
|
||||
2251 => array('Id'=>"275", 'Nom'=>"TGIcc DINAN", 'Code'=>"DINANG"),
|
||||
2252 => array('Id'=>"342", 'Nom'=>"TGIcc GUINGAMP", 'Code'=>"GUINGG"),
|
||||
2301 => array('Id'=>"1813", 'Nom'=>"TC GUERET", 'Code'=>"GUEREC"),
|
||||
2353 => array('Id'=>"340", 'Nom'=>"TGIcc GUERET", 'Code'=>"GUEREG"),
|
||||
2401 => array('Id'=>"105", 'Nom'=>"TC BERGERAC", 'Code'=>"BERGEC"),
|
||||
2402 => array('Id'=>"554", 'Nom'=>"TC PERIGUEUX", 'Code'=>"PERIGC"),
|
||||
2403 => array('Id'=>"628", 'Nom'=>"TC SARLAT", 'Code'=>"SARLAC"),
|
||||
2501 => array('Id'=>"111", 'Nom'=>"TC BESANCON", 'Code'=>"BESANC"),
|
||||
2552 => array('Id'=>"461", 'Nom'=>"TGIcc MONTBELIARD", 'Code'=>"MONTBG"),
|
||||
2601 => array('Id'=>"265", 'Nom'=>"TC DIE", 'Code'=>"DIEC"),
|
||||
2602 => array('Id'=>"614", 'Nom'=>"TC ROMANS", 'Code'=>"ROMANC"),
|
||||
2653 => array('Id'=>"752", 'Nom'=>"TGIcc VALENCE", 'Code'=>"VALENG"),
|
||||
2701 => array('Id'=>"108", 'Nom'=>"TC BERNAY", 'Code'=>"BERNAC"),
|
||||
2702 => array('Id'=>"300", 'Nom'=>"TC EVREUX", 'Code'=>"EVREUC"),
|
||||
2703 => array('Id'=>"410", 'Nom'=>"TC LOUVIERS", 'Code'=>"LOUVIC"),
|
||||
2704 => array('Id'=>"569", 'Nom'=>"TC PONT AUDEMER", 'Code'=>"PONTAC"),
|
||||
2801 => array('Id'=>"199", 'Nom'=>"TC CHARTRES", 'Code'=>"CHARTC"),
|
||||
2802 => array('Id'=>"286", 'Nom'=>"TC DREUX", 'Code'=>"DREUXC"),
|
||||
2901 => array('Id'=>"145", 'Nom'=>"TC BREST", 'Code'=>"BRESTC"),
|
||||
2902 => array('Id'=>"487", 'Nom'=>"TC MORLAIX", 'Code'=>"MORLAC"),
|
||||
2903 => array('Id'=>"583", 'Nom'=>"TC QUIMPER", 'Code'=>"QUIMPC"),
|
||||
3001 => array('Id'=>"22", 'Nom'=>"TC ALES", 'Code'=>"ALESC"),
|
||||
3003 => array('Id'=>"522", 'Nom'=>"TC NIMES", 'Code'=>"NIMESC"),
|
||||
3101 => array('Id'=>"679", 'Nom'=>"TC SAINT GAUDENS", 'Code'=>"STGAUC"),
|
||||
3102 => array('Id'=>"733", 'Nom'=>"TC TOULOUSE", 'Code'=>"TOULSC"),
|
||||
3201 => array('Id'=>"56", 'Nom'=>"TC AUCH", 'Code'=>"AUCHC"),
|
||||
3301 => array('Id'=>"121", 'Nom'=>"TC BLAYE", 'Code'=>"BLAYEC"),
|
||||
3302 => array('Id'=>"132", 'Nom'=>"TC BORDEAUX", 'Code'=>"BORDEC"),
|
||||
3303 => array('Id'=>"386", 'Nom'=>"TC LIBOURNE", 'Code'=>"LIBOUC"),
|
||||
3402 => array('Id'=>"116", 'Nom'=>"TC BEZIERS", 'Code'=>"BEZIEC"),
|
||||
3403 => array('Id'=>"235", 'Nom'=>"TC CLERMONT L'HERAULT", 'Code'=>"CLHERC"),
|
||||
3404 => array('Id'=>"401", 'Nom'=>"TC LODEVE", 'Code'=>"LODEVC"),
|
||||
3405 => array('Id'=>"477", 'Nom'=>"TC MONTPELLIER", 'Code'=>"MONTPC"),
|
||||
3406 => array('Id'=>"561", 'Nom'=>"TC PEZENAS", 'Code'=>"PEZENC"),
|
||||
3407 => array('Id'=>"649", 'Nom'=>"TC SETE", 'Code'=>"SETEC"),
|
||||
3501 => array('Id'=>"591", 'Nom'=>"TC RENNES", 'Code'=>"RENNEC"),
|
||||
3502 => array('Id'=>"691", 'Nom'=>"TC SAINT MALO", 'Code'=>"STMALC"),
|
||||
3601 => array('Id'=>"205", 'Nom'=>"TC CHATEAUROUX", 'Code'=>"CHATEC"),
|
||||
3602 => array('Id'=>"353", 'Nom'=>"TC ISSOUDUN", 'Code'=>"ISSOUC"),
|
||||
3701 => array('Id'=>"739", 'Nom'=>"TC TOURS", 'Code'=>"TOURSC"),
|
||||
3801 => array('Id'=>"336", 'Nom'=>"TC GRENOBLE", 'Code'=>"GRENOC"),
|
||||
3802 => array('Id'=>"770", 'Nom'=>"TC VIENNE", 'Code'=>"VIENNC"),
|
||||
3851 => array('Id'=>"118", 'Nom'=>"TGIcc BOURGOIN JALLIEU", 'Code'=>"BGOING"),
|
||||
3901 => array('Id'=>"277", 'Nom'=>"TC DOLE", 'Code'=>"DOLEC"),
|
||||
3902 => array('Id'=>"403", 'Nom'=>"TC LONS LE SAUNIER", 'Code'=>"LONSC"),
|
||||
3903 => array('Id'=>"625", 'Nom'=>"TC SALINS LES BAINS", 'Code'=>"SALINC"),
|
||||
4001 => array('Id'=>"262", 'Nom'=>"TC DAX", 'Code'=>"DAXC"),
|
||||
4002 => array('Id'=>"470", 'Nom'=>"TC MONT DE MARSAN", 'Code'=>"MONTMC"),
|
||||
4101 => array('Id'=>"123", 'Nom'=>"TC BLOIS", 'Code'=>"BLOISC"),
|
||||
4102 => array('Id'=>"616", 'Nom'=>"TC ROMORANTIN", 'Code'=>"ROMORC"),
|
||||
4201 => array('Id'=>"599", 'Nom'=>"TC ROANNE", 'Code'=>"ROANNC"),
|
||||
4202 => array('Id'=>"674", 'Nom'=>"TC SAINT ETIENNE", 'Code'=>"STETIC"),
|
||||
4251 => array('Id'=>"480", 'Nom'=>"TGIcc MONTBRISON", 'Code'=>"MONTRG"),
|
||||
4301 => array('Id'=>"157", 'Nom'=>"TC BRIOUDE", 'Code'=>"BRIOUC"),
|
||||
4302 => array('Id'=>"377", 'Nom'=>"TC PUY EN VELAY", 'Code'=>"LEPUYC"),
|
||||
4401 => array('Id'=>"501", 'Nom'=>"TC NANTES", 'Code'=>"NANTEC"),
|
||||
4402 => array('Id'=>"695", 'Nom'=>"TC SAINT NAZAIRE", 'Code'=>"STNAZC"),
|
||||
4501 => array('Id'=>"482", 'Nom'=>"TC MONTARGIS", 'Code'=>"MONTSC"),
|
||||
4502 => array('Id'=>"539", 'Nom'=>"TC ORLEANS", 'Code'=>"ORLEAC"),
|
||||
4601 => array('Id'=>"165", 'Nom'=>"TC CAHORS", 'Code'=>"CAHORC"),
|
||||
4701 => array('Id'=>"5", 'Nom'=>"TC AGEN", 'Code'=>"AGENC"),
|
||||
4702 => array('Id'=>"432", 'Nom'=>"TC MARMANDE", 'Code'=>"MARMAC"),
|
||||
4703 => array('Id'=>"511", 'Nom'=>"TC NERAC", 'Code'=>"NERACC"),
|
||||
4704 => array('Id'=>"778", 'Nom'=>"TC VILLENEUVE SUR LOT", 'Code'=>"VILLNC"),
|
||||
4801 => array('Id'=>"447", 'Nom'=>"TC MENDE", 'Code'=>"MENDEC"),
|
||||
4853 => array('Id'=>"448", 'Nom'=>"TGIcc MENDE", 'Code'=>"MENDEG"),
|
||||
4901 => array('Id'=>"32", 'Nom'=>"TC ANGERS", 'Code'=>"ANGERC"),
|
||||
4902 => array('Id'=>"634", 'Nom'=>"TC SAUMUR", 'Code'=>"SAUMUC"),
|
||||
5001 => array('Id'=>"217", 'Nom'=>"TC CHERBOURG", 'Code'=>"CHERBC"),
|
||||
5002 => array('Id'=>"253", 'Nom'=>"TC COUTANCES", 'Code'=>"COUTAC"),
|
||||
5003 => array('Id'=>"330", 'Nom'=>"TC GRANVILLE", 'Code'=>"GRANVC"),
|
||||
5004 => array('Id'=>"689", 'Nom'=>"TC SAINT LO", 'Code'=>"STLOC"),
|
||||
5101 => array('Id'=>"221", 'Nom'=>"TC CHALONS EN CHAMPAGNE", 'Code'=>"CHLONC"),
|
||||
5102 => array('Id'=>"292", 'Nom'=>"TC EPERNAY", 'Code'=>"EPERNC"),
|
||||
5103 => array('Id'=>"588", 'Nom'=>"TC REIMS", 'Code'=>"REIMSC"),
|
||||
5201 => array('Id'=>"213", 'Nom'=>"TC CHAUMONT", 'Code'=>"CHAUMC"),
|
||||
5202 => array('Id'=>"363", 'Nom'=>"TC LANGRES", 'Code'=>"LANGRC"),
|
||||
5203 => array('Id'=>"671", 'Nom'=>"TC SAINT DIZIER", 'Code'=>"STDIZC"),
|
||||
5301 => array('Id'=>"371", 'Nom'=>"TC LAVAL", 'Code'=>"LAVALC"),
|
||||
5302 => array('Id'=>"439", 'Nom'=>"TC MAYENNE", 'Code'=>"MAYENC"),
|
||||
5401 => array('Id'=>"152", 'Nom'=>"TC BRIEY", 'Code'=>"BRIEYC"),
|
||||
5402 => array('Id'=>"498", 'Nom'=>"TC NANCY", 'Code'=>"NANCYC"),
|
||||
5501 => array('Id'=>"79", 'Nom'=>"TC BAR LE DUC", 'Code'=>"BARLDC"),
|
||||
5502 => array('Id'=>"758", 'Nom'=>"TC VERDUN", 'Code'=>"VERDUC"),
|
||||
5601 => array('Id'=>"406", 'Nom'=>"TC LORIENT", 'Code'=>"LORIEC"),
|
||||
5602 => array('Id'=>"754", 'Nom'=>"TC VANNES", 'Code'=>"VANNEC"),
|
||||
5751 => array('Id'=>"452", 'Nom'=>"TGIcc METZ", 'Code'=>"METZG"),
|
||||
5752 => array('Id'=>"630", 'Nom'=>"TGIcc SARREGUEMINES", 'Code'=>"SARREG"),
|
||||
5753 => array('Id'=>"724", 'Nom'=>"TGIcc THIONVILLE", 'Code'=>"THIONG"),
|
||||
5801 => array('Id'=>"230", 'Nom'=>"TC CLAMECY", 'Code'=>"CLAMEC"),
|
||||
5802 => array('Id'=>"515", 'Nom'=>"TC NEVERS", 'Code'=>"NEVERC"),
|
||||
5901 => array('Id'=>"171", 'Nom'=>"TC CAMBRAI", 'Code'=>"CAMBRC"),
|
||||
5902 => array('Id'=>"288", 'Nom'=>"TC DUNKERQUE", 'Code'=>"DUNKEC"),
|
||||
5903 => array('Id'=>"389", 'Nom'=>"TC LILLE", 'Code'=>"LILLEC"),
|
||||
5904 => array('Id'=>"617", 'Nom'=>"TC ROUBAIX TOURCOING", 'Code'=>"ROUBAC"),
|
||||
5905 => array('Id'=>"735", 'Nom'=>"TC ROUBAIX TOURCOING", 'Code'=>"TOURCC"),
|
||||
5906 => array('Id'=>"749", 'Nom'=>"TC VALENCIENNES", 'Code'=>"VALECC"),
|
||||
5910 => array('Id'=>"3340", 'Nom'=>"TC LILLE METROPOLE", 'Code'=>"LILLEM"),
|
||||
5951 => array('Id'=>"69", 'Nom'=>"TGIcc AVESNES SUR HELPE", 'Code'=>"AVESNG"),
|
||||
5952 => array('Id'=>"280", 'Nom'=>"TC DOUAI", 'Code'=>"DOUAIC"),
|
||||
5953 => array('Id'=>"347", 'Nom'=>"TGIcc HAZEBROUCK", 'Code'=>"HAZEBG"),
|
||||
6001 => array('Id'=>"96", 'Nom'=>"TC BEAUVAIS", 'Code'=>"BEAUVC"),
|
||||
6002 => array('Id'=>"243", 'Nom'=>"TC COMPIEGNE", 'Code'=>"COMPIC"),
|
||||
6003 => array('Id'=>"644", 'Nom'=>"TC SENLIS", 'Code'=>"SENLIC"),
|
||||
6101 => array('Id'=>"19", 'Nom'=>"TC ALENCON", 'Code'=>"ALENCC"),
|
||||
6102 => array('Id'=>"45", 'Nom'=>"TC ARGENTAN", 'Code'=>"ARGENC"),
|
||||
6103 => array('Id'=>"309", 'Nom'=>"TC FLERS", 'Code'=>"FLERSC"),
|
||||
6104 => array('Id'=>"360", 'Nom'=>"TC L'AIGLE", 'Code'=>"LAIGLC"),
|
||||
6105 => array('Id'=>"780", 'Nom'=>"TC VIMOUTIERS", 'Code'=>"VIMOUC"),
|
||||
6201 => array('Id'=>"51", 'Nom'=>"TC ARRAS", 'Code'=>"ARRASC"),
|
||||
6202 => array('Id'=>"137", 'Nom'=>"TC BOULOGNE SUR MER", 'Code'=>"BOULOC"),
|
||||
6203 => array('Id'=>"168", 'Nom'=>"TC CALAIS", 'Code'=>"CALAIC"),
|
||||
6204 => array('Id'=>"698", 'Nom'=>"TC SAINT OMER", 'Code'=>"STOMEC"),
|
||||
6251 => array('Id'=>"114", 'Nom'=>"TGIcc BETHUNE", 'Code'=>"BETHUG"),
|
||||
6301 => array('Id'=>"26", 'Nom'=>"TC AMBERT", 'Code'=>"AMBERC"),
|
||||
6302 => array('Id'=>"119", 'Nom'=>"TC BILLOM", 'Code'=>"BILLOC"),
|
||||
6303 => array('Id'=>"233", 'Nom'=>"TC CLERMONT FERRAND", 'Code'=>"CLFERC"),
|
||||
6304 => array('Id'=>"351", 'Nom'=>"TC ISSOIRE", 'Code'=>"ISSOIC"),
|
||||
6305 => array('Id'=>"596", 'Nom'=>"TC RIOM", 'Code'=>"RIOMC"),
|
||||
6306 => array('Id'=>"722", 'Nom'=>"TC THIERS", 'Code'=>"THIERC"),
|
||||
6401 => array('Id'=>"91", 'Nom'=>"TC BAYONNE", 'Code'=>"BAYONC"),
|
||||
6402 => array('Id'=>"536", 'Nom'=>"TC OLORON SAINTE MARIE", 'Code'=>"OLOROC"),
|
||||
6403 => array('Id'=>"551", 'Nom'=>"TC PAU", 'Code'=>"PAUC"),
|
||||
6501 => array('Id'=>"76", 'Nom'=>"TC BAGNERES DE BIGORRE", 'Code'=>"BAGNEC"),
|
||||
6502 => array('Id'=>"718", 'Nom'=>"TC TARBES", 'Code'=>"TARBEC"),
|
||||
6601 => array('Id'=>"559", 'Nom'=>"TC PERPIGNAN", 'Code'=>"PERPIC"),
|
||||
6751 => array('Id'=>"637", 'Nom'=>"TGIcc SAVERNE", 'Code'=>"SAVERG"),
|
||||
6752 => array('Id'=>"709", 'Nom'=>"TGIcc STRASBOURG", 'Code'=>"STRASG"),
|
||||
6851 => array('Id'=>"239", 'Nom'=>"TGIcc COLMAR", 'Code'=>"COLMAG"),
|
||||
6852 => array('Id'=>"494", 'Nom'=>"TGIcc MULHOUSE", 'Code'=>"MULHOG"),
|
||||
6901 => array('Id'=>"415", 'Nom'=>"TC LYON", 'Code'=>"LYONC"),
|
||||
6902 => array('Id'=>"775", 'Nom'=>"TC VILLEFRANCHE SUR SAONE", 'Code'=>"VILLFC"),
|
||||
6903 => array('Id'=>"779", 'Nom'=>"TC VILLEFRANCHE-TARARE", 'Code'=>"VILTAC"),
|
||||
7001 => array('Id'=>"334", 'Nom'=>"TC GRAY", 'Code'=>"GRAYC"),
|
||||
7051 => array('Id'=>"413", 'Nom'=>"TGIcc LURE", 'Code'=>"LUREG"),
|
||||
7052 => array('Id'=>"766", 'Nom'=>"TC VESOUL GRAY", 'Code'=>"VESOUC"),
|
||||
7101 => array('Id'=>"62", 'Nom'=>"TC AUTUN", 'Code'=>"AUTUNC"),
|
||||
7102 => array('Id'=>"191", 'Nom'=>"TC CHALON SUR SAONE", 'Code'=>"CHALOC"),
|
||||
7103 => array('Id'=>"197", 'Nom'=>"TC CHAROLLES", 'Code'=>"CHAROC"),
|
||||
7104 => array('Id'=>"258", 'Nom'=>"TC LE CREUSOT", 'Code'=>"CREUSC"),
|
||||
7105 => array('Id'=>"409", 'Nom'=>"TC LOUHANS", 'Code'=>"LOUHAC"),
|
||||
7106 => array('Id'=>"418", 'Nom'=>"TC MACON", 'Code'=>"MACONC"),
|
||||
7107 => array('Id'=>"737", 'Nom'=>"TC TOURNUS", 'Code'=>"TOURNC"),
|
||||
7201 => array('Id'=>"421", 'Nom'=>"TC MAMERS", 'Code'=>"MAMERC"),
|
||||
7202 => array('Id'=>"427", 'Nom'=>"TC LE MANS", 'Code'=>"MANSC"),
|
||||
7301 => array('Id'=>"194", 'Nom'=>"TC CHAMBERY", 'Code'=>"CHAMBC"),
|
||||
7351 => array('Id'=>"14", 'Nom'=>"TGIcc ALBERTVILLE", 'Code'=>"ALBERG"),
|
||||
7401 => array('Id'=>"1814", 'Nom'=>"TC ANNECY", 'Code'=>"ANNECC"),
|
||||
7402 => array('Id'=>"1815", 'Nom'=>"TC THONON LES BAINS", 'Code'=>"THONOC"),
|
||||
7451 => array('Id'=>"38", 'Nom'=>"TGIcc ANNECY", 'Code'=>"ANNECG"),
|
||||
7452 => array('Id'=>"129", 'Nom'=>"TGIcc BONNEVILLE", 'Code'=>"BONNEG"),
|
||||
7454 => array('Id'=>"727", 'Nom'=>"TGIcc THONON LES BAINS", 'Code'=>"THONOG"),
|
||||
7501 => array('Id'=>"547", 'Nom'=>"TC PARIS", 'Code'=>"PARISC"),
|
||||
7601 => array('Id'=>"267", 'Nom'=>"TC DIEPPE", 'Code'=>"DIEPPC"),
|
||||
7602 => array('Id'=>"290", 'Nom'=>"TC ELBEUF", 'Code'=>"ELBEUC"),
|
||||
7603 => array('Id'=>"298", 'Nom'=>"TC EULET", 'Code'=>"EULETC"),
|
||||
7604 => array('Id'=>"307", 'Nom'=>"TC FECAMP (de terre et de mer)", 'Code'=>"FECAMC"),
|
||||
7605 => array('Id'=>"329", 'Nom'=>"TC GOURNAY EN BRAY", 'Code'=>"GOURNC"),
|
||||
7606 => array('Id'=>"345", 'Nom'=>"TC LE HAVRE", 'Code'=>"HAVREC"),
|
||||
7607 => array('Id'=>"513", 'Nom'=>"TC NEUFCHATEL EN BRAY", 'Code'=>"NEUFCC"),
|
||||
7608 => array('Id'=>"619", 'Nom'=>"TC ROUEN", 'Code'=>"ROUENC"),
|
||||
7609 => array('Id'=>"712", 'Nom'=>"TC SAINT VALERY EN CAUX", 'Code'=>"STVACC"),
|
||||
7701 => array('Id'=>"441", 'Nom'=>"TC MEAUX", 'Code'=>"MEAUXC"),
|
||||
7702 => array('Id'=>"444", 'Nom'=>"TC MELUN", 'Code'=>"MELUNC"),
|
||||
7703 => array('Id'=>"463", 'Nom'=>"TC MONTEREAU", 'Code'=>"MONTEC"),
|
||||
7704 => array('Id'=>"581", 'Nom'=>"TC PROVINS", 'Code'=>"PROVIC"),
|
||||
7801 => array('Id'=>"304", 'Nom'=>"TC EVRY", 'Code'=>"EVRYC"),
|
||||
7802 => array('Id'=>"572", 'Nom'=>"TC PONTOISE", 'Code'=>"PONTOC"),
|
||||
7803 => array('Id'=>"761", 'Nom'=>"TC VERSAILLES", 'Code'=>"VERSAC"),
|
||||
7901 => array('Id'=>"525", 'Nom'=>"TC NIORT", 'Code'=>"NIORTC"),
|
||||
7951 => array('Id'=>"143", 'Nom'=>"TGIcc BRESSUIRE", 'Code'=>"BRESSG"),
|
||||
8001 => array('Id'=>"2", 'Nom'=>"TC ABBEVILLE", 'Code'=>"ABBEVC"),
|
||||
8002 => array('Id'=>"28", 'Nom'=>"TC AMIENS", 'Code'=>"AMIENC"),
|
||||
8003 => array('Id'=>"713", 'Nom'=>"TC SAINT VALERY S/ SOMME", 'Code'=>"STVASC"),
|
||||
8053 => array('Id'=>"557", 'Nom'=>"TGIcc PERONNE", 'Code'=>"PERONG"),
|
||||
8101 => array('Id'=>"16", 'Nom'=>"TC ALBI", 'Code'=>"ALBIC"),
|
||||
8102 => array('Id'=>"182", 'Nom'=>"TC CASTRES", 'Code'=>"CASTRC"),
|
||||
8201 => array('Id'=>"473", 'Nom'=>"TC MONTAUBAN", 'Code'=>"MONTNC"),
|
||||
8301 => array('Id'=>"155", 'Nom'=>"TC BRIGNOLES", 'Code'=>"BRIGNC"),
|
||||
8302 => array('Id'=>"283", 'Nom'=>"TC DRAGUIGNAN", 'Code'=>"DRAGUC"),
|
||||
8303 => array('Id'=>"323", 'Nom'=>"TC FREJUS", 'Code'=>"FREJUC"),
|
||||
8304 => array('Id'=>"711", 'Nom'=>"TC SAINT TROPEZ", 'Code'=>"STTROC"),
|
||||
8305 => array('Id'=>"730", 'Nom'=>"TC TOULON", 'Code'=>"TOULOC"),
|
||||
8401 => array('Id'=>"71", 'Nom'=>"TC AVIGNON", 'Code'=>"AVIGNC"),
|
||||
8452 => array('Id'=>"178", 'Nom'=>"TGIcc CARPENTRAS", 'Code'=>"CARPEG"),
|
||||
8501 => array('Id'=>"609", 'Nom'=>"TC LA ROCHE SUR YON", 'Code'=>"ROCHYC"),
|
||||
8601 => array('Id'=>"228", 'Nom'=>"TC CHATELLERAULT", 'Code'=>"CHTLTC"),
|
||||
8602 => array('Id'=>"567", 'Nom'=>"TC POITIERS", 'Code'=>"POITIC"),
|
||||
8701 => array('Id'=>"392", 'Nom'=>"TC LIMOGES", 'Code'=>"LIMOGC"),
|
||||
8801 => array('Id'=>"294", 'Nom'=>"TC EPINAL", 'Code'=>"EPINAC"),
|
||||
8802 => array('Id'=>"458", 'Nom'=>"TC MIRECOURT", 'Code'=>"MIRECC"),
|
||||
8803 => array('Id'=>"668", 'Nom'=>"TC SAINT DIE", 'Code'=>"STDIEC"),
|
||||
8901 => array('Id'=>"64", 'Nom'=>"TC AUXERRE", 'Code'=>"AUXERC"),
|
||||
8902 => array('Id'=>"355", 'Nom'=>"TC JOIGNY", 'Code'=>"JOIGNC"),
|
||||
8903 => array('Id'=>"647", 'Nom'=>"TC SENS", 'Code'=>"SENSC"),
|
||||
9001 => array('Id'=>"99", 'Nom'=>"TC BELFORT", 'Code'=>"BELFOC"),
|
||||
9101 => array('Id'=>"248", 'Nom'=>"TC CORBEIL ESSONNES", 'Code'=>"CORBEC"),
|
||||
9201 => array('Id'=>"504", 'Nom'=>"TC NANTERRE", 'Code'=>"NANTRC"),
|
||||
9301 => array('Id'=>"126", 'Nom'=>"TC BOBIGNY", 'Code'=>"BOBIGC"),
|
||||
9401 => array('Id'=>"256", 'Nom'=>"TC CRETEIL", 'Code'=>"CRETEC"),
|
||||
9711 => array('Id'=>"84", 'Nom'=>"TMX BASSE-TERRE", 'Code'=>"BASSEM"),
|
||||
9712 => array('Id'=>"565", 'Nom'=>"TMX POINTE-A-PITRE", 'Code'=>"POINTM"),
|
||||
9721 => array('Id'=>"321", 'Nom'=>"TMX FORT DE FRANCE", 'Code'=>"FORTFM"),
|
||||
9731 => array('Id'=>"187", 'Nom'=>"TMX CAYENNE", 'Code'=>"CAYENM"),
|
||||
9741 => array('Id'=>"666", 'Nom'=>"TMX SAINT DENIS DE LA REUNION", 'Code'=>"STDENM"),
|
||||
9742 => array('Id'=>"1816", 'Nom'=>"TMX SAINT PIERRE DE LA REUNION", 'Code'=>"STPIEM"),
|
||||
);
|
48
library/Metier/Util/Chiffre.php
Normal file
48
library/Metier/Util/Chiffre.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
class Metier_Util_Chiffre
|
||||
{
|
||||
private static $tabChiffresEnLEttres = array(
|
||||
0 => "zéro",
|
||||
1 => "un",
|
||||
2 => "deux",
|
||||
3 => "trois",
|
||||
4 => "quatre",
|
||||
5 => "cinq",
|
||||
6 => "six",
|
||||
7 => "sept",
|
||||
8 => "huit",
|
||||
9 => "neuf",
|
||||
10 => "dix",
|
||||
11 => "onze",
|
||||
12 => "douze",
|
||||
13 => "treize",
|
||||
14 => "quatorze",
|
||||
15 => "quinze",
|
||||
16 => "seize",
|
||||
17 => "dix sept",
|
||||
18 => "dix huit",
|
||||
19 => "dix neuf",
|
||||
20 => "vingt",
|
||||
21 => "vingt et un",
|
||||
22 => "vingt deux",
|
||||
23 => "vingt trois",
|
||||
24 => "vingt quatre",
|
||||
25 => "vingt cinq",
|
||||
26 => "vingt six",
|
||||
27 => "vingt sept",
|
||||
28 => "vingt huit",
|
||||
29 => "vingt neuf",
|
||||
30 => "trente",
|
||||
40 => "quarante",
|
||||
50 => "cinquante",
|
||||
60 => "soixante",
|
||||
70 => "soixante dix",
|
||||
80 => "quatre vingt",
|
||||
90 => "quatre vingt dix",
|
||||
);
|
||||
|
||||
public static function ChiffresEnLettres($chiffre)
|
||||
{
|
||||
return array_search($chiffre, self::$tabChiffresEnLEttres);
|
||||
}
|
||||
}
|
191
library/Metier/Util/Csoundex2.php
Normal file
191
library/Metier/Util/Csoundex2.php
Normal file
@ -0,0 +1,191 @@
|
||||
<?php
|
||||
/**
|
||||
* CLASS soundex2
|
||||
* soundex2 French version
|
||||
* based on the algorithm described here : http://sqlpro.developpez.com/cours/soundex/ by Frédéric BROUARD
|
||||
*
|
||||
* author Johan Barbier <barbier_johan@hotmail.com>
|
||||
*/
|
||||
class Metier_Util_Csoundex2
|
||||
{
|
||||
/**
|
||||
* public sString
|
||||
* main string we work on
|
||||
*/
|
||||
var $sString = '';
|
||||
|
||||
/**
|
||||
* vowels replacement array
|
||||
*/
|
||||
var $aReplaceVoy1 = array (
|
||||
'E' => 'A',
|
||||
'I' => 'A',
|
||||
'O' => 'A',
|
||||
'U' => 'A'
|
||||
);
|
||||
|
||||
/**
|
||||
* consonnants replacement array
|
||||
*/
|
||||
var $aReplaceGrp1 = array (
|
||||
'GUI' => 'KI',
|
||||
'GUE' => 'KE',
|
||||
'GA' => 'KA',
|
||||
'GO' => 'KO',
|
||||
'GU' => 'K',
|
||||
'CA' => 'KA',
|
||||
'CO' => 'KO',
|
||||
'CU' => 'KU',
|
||||
'Q' => 'K',
|
||||
'CC' => 'K',
|
||||
'CK' => 'K'
|
||||
);
|
||||
|
||||
/**
|
||||
* other replacement array
|
||||
*/
|
||||
var $aReplaceGrp2 = array (
|
||||
'ASA' => 'AZA',
|
||||
'KN' => 'NN',
|
||||
'PF' => 'FF',
|
||||
'PH' => 'FF',
|
||||
'SCH' => 'SSS'
|
||||
);
|
||||
|
||||
/**
|
||||
* endings replacement array
|
||||
*/
|
||||
var $aEnd = array (
|
||||
'A',
|
||||
'T',
|
||||
'D',
|
||||
'S'
|
||||
);
|
||||
|
||||
/**
|
||||
* public function build
|
||||
* core function of the class, go through the whole process
|
||||
* @Param string sString : the string we want to check
|
||||
*/
|
||||
function build ($sString) {
|
||||
/**
|
||||
* let's check it's a real string...
|
||||
*/
|
||||
if (is_string ($sString) && !empty ($sString)) {
|
||||
$this -> sString = $sString;
|
||||
} else {
|
||||
trigger_error ('Parameter string must not be empty', E_USER_ERROR);
|
||||
}
|
||||
/**
|
||||
* remove starting and ending spaces
|
||||
*/
|
||||
$this -> sString = trim ($this -> sString);
|
||||
/**
|
||||
* remove special french characters
|
||||
*/
|
||||
$this -> trimAccent ();
|
||||
/**
|
||||
* string to upper case
|
||||
*/
|
||||
$this -> sString = strtoupper ($this -> sString );
|
||||
/**
|
||||
* let's remove every space in the string
|
||||
*/
|
||||
$this -> sString = str_replace (' ', '', $this -> sString);
|
||||
/**
|
||||
* let's remove every '-' in the string
|
||||
*/
|
||||
$this -> sString = str_replace ('-', '', $this -> sString);
|
||||
/**
|
||||
* let's process through the first replacement array
|
||||
*/
|
||||
$this -> arrReplace ($this -> aReplaceGrp1);
|
||||
/**
|
||||
* let's process through th vowels replacement
|
||||
*/
|
||||
$sChar = substr ($this -> sString, 0, 1);
|
||||
$this -> sString = substr ($this -> sString, 1, strlen ($this -> sString) - 1);
|
||||
$this -> arrReplace ($this -> aReplaceVoy1);
|
||||
$this -> sString = $sChar.$this -> sString;
|
||||
/**
|
||||
* let's process through the second replacement array
|
||||
*/
|
||||
$this -> arrReplace ($this -> aReplaceGrp2, true);
|
||||
/**
|
||||
* let's remove every 'H' but those prededed by a 'C' or an 'S'
|
||||
*/
|
||||
$this -> sString = preg_replace ('/(?<![CS])H/', '', $this -> sString);
|
||||
/**
|
||||
* let's remove every 'Y' but those preceded by an 'A'
|
||||
*/
|
||||
$this -> sString = preg_replace ('/(?<!A)Y/', '', $this -> sString);
|
||||
/**
|
||||
* remove endings in aEnd
|
||||
*/
|
||||
$length = strlen ($this -> sString) - 1;
|
||||
if (in_array ($this -> sString{$length}, $this -> aEnd)) {
|
||||
$this -> sString = substr ($this -> sString, 0, $length);
|
||||
}
|
||||
/**
|
||||
* let's remove every 'A', but the one at the beginning of the string, if any.
|
||||
*/
|
||||
$sChar = '';
|
||||
if ($this -> sString{0} === 'A') {
|
||||
$sChar = 'A';
|
||||
}
|
||||
$this -> sString = str_replace ('A', '', $this -> sString);
|
||||
$this -> sString = $sChar.$this -> sString;
|
||||
/**
|
||||
* let's have only 1 occurence of each letter
|
||||
*/
|
||||
$this -> sString = preg_replace( '/(.)\1/', '$1', $this -> sString );
|
||||
/**
|
||||
* let's have the final code : a 4 letters string
|
||||
*/
|
||||
$this -> getFinal ();
|
||||
}
|
||||
|
||||
/**
|
||||
* private function getFinal
|
||||
* gets the first 4 letters, pads the string with white space if the string length < 4
|
||||
*/
|
||||
function getFinal () {
|
||||
if (strlen ($this -> sString) < 4) {
|
||||
$this -> sString = str_pad ($this -> sString, 4, ' ', STR_PAD_RIGHT);
|
||||
} else {
|
||||
$this -> sString = substr ($this -> sString, 0, 4);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* private function trimAccent
|
||||
* remove every special French letters
|
||||
*/
|
||||
function trimAccent () {
|
||||
$this -> sString = htmlentities(strtolower($this -> sString ));
|
||||
$this -> sString = preg_replace("/&(.)(acute|cedil|circ|ring|tilde|uml|grave);/", "$1", $this -> sString );
|
||||
$this -> sString = preg_replace("/([^a-z0-9]+)/", "-", html_entity_decode($this -> sString ));
|
||||
$this -> sString = trim($this -> sString , "-");
|
||||
}
|
||||
|
||||
/**
|
||||
* private function arrReplace
|
||||
* replacement method, given an array
|
||||
* @Param array tab : the replacement array to be used
|
||||
* @Param bool pref : if false, just replace keys by values; if true, do the same but only with prefix
|
||||
*/
|
||||
function arrReplace (array $tab, $pref = false) {
|
||||
$fromRep = array_keys ($tab);
|
||||
$toRep = array_values ($tab);
|
||||
if (false === $pref) {
|
||||
$this -> sString = str_replace ($fromRep, $toRep, $this -> sString);
|
||||
} else {
|
||||
foreach ($fromRep as $clef => $val) {
|
||||
$length = strlen ($val);
|
||||
if (substr ($this -> sString, 0, $length) === $val) {
|
||||
$this -> sString = substr_replace ($this -> sString, $toRep[$clef], 0, $length);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
336
library/Metier/Util/Date.php
Normal file
336
library/Metier/Util/Date.php
Normal file
@ -0,0 +1,336 @@
|
||||
<?php
|
||||
class Metier_Util_Date
|
||||
{
|
||||
private static $tabMoisEnLettres = array(
|
||||
1 => 'Janvier',
|
||||
2 => 'Février',
|
||||
3 => 'Mars',
|
||||
4 => 'Avril',
|
||||
5 => 'Mai',
|
||||
6 => 'Juin',
|
||||
7 => 'Juillet',
|
||||
8 => 'Août',
|
||||
9 => 'Septembre',
|
||||
10 => 'Octobre',
|
||||
11 => 'Novembre',
|
||||
12 => 'Décembre'
|
||||
);
|
||||
|
||||
/**
|
||||
* Retourne le numéro du mois donné au format texte (janvier, mars, etc...)
|
||||
* @param string Mois en toute lettres (janvier, mars, etc...)
|
||||
* @return string Mois en Chiffe (1, 3, 12) / false en cas d'erreur
|
||||
*/
|
||||
public static function getNumMois($moisEnLettres)
|
||||
{
|
||||
foreach (self::$tabMoisEnLettres as $num=>$mois) {
|
||||
$tabMoisSansAccents[$num]=strtr($mois, 'ééûÉÉÛ','eeueeu');
|
||||
}
|
||||
|
||||
return array_search(ucfirst(strtolower(strtr($moisEnLettres, 'ééûÉÉÛ','eeuEEU'))), $tabMoisSansAccents);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le libellé nu numéro du mois passé en paramètre
|
||||
* @param int $moisEnChiffre
|
||||
* @return string Libellé du mois / false si le mois passé en paramètre est invalide
|
||||
*/
|
||||
public function getLibelleMois($moisEnChiffre)
|
||||
{
|
||||
if ($moisEnChiffre>0 && $moisEnChiffre<13) {
|
||||
return self::$tabMoisEnLettres[$moisEnChiffre];
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le nombre de mois entre 2 dates au format Ymd
|
||||
* @param string $dateDeb
|
||||
* Date de début au format Ymd
|
||||
* @param string $dateFin
|
||||
* Date de fin (ultérieur à la date de début) au format Ymd
|
||||
* @return number
|
||||
*/
|
||||
public static function nbMoisEntre($dateDeb, $dateFin=null)
|
||||
{
|
||||
if (empty($dateFin)) {
|
||||
$dateFin = date('Ymd');
|
||||
}
|
||||
$dDeb = explode('-', self::dateT('Ymd','Y-m-d', $dateDeb));
|
||||
$dFin = explode('-', self::dateT('Ymd','Y-m-d', $dateFin));
|
||||
|
||||
return ($dFin[0]*12+$dFin[1])-($dDeb[0]*12+$dDeb[1]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Conversion de formats de dates selon les formats de dates définits en php
|
||||
* @param string $formatIN
|
||||
* Format de la date d'entrée
|
||||
* @param string $formatOUT
|
||||
* Format de la date de sortie
|
||||
* @param string $date
|
||||
* Date d'entrée
|
||||
* @return string
|
||||
* Date formatée
|
||||
*/
|
||||
public static function dateT($formatIN, $formatOUT, $date)
|
||||
{
|
||||
$M = '';
|
||||
switch ($formatIN)
|
||||
{
|
||||
case 'd M Y':
|
||||
$tmp = explode(' ', $date);
|
||||
$d = str_replace('1er', '1', $tmp[0]);
|
||||
$m = self::getNumMois($tmp[1]);
|
||||
$Y = $tmp[2];
|
||||
break;
|
||||
case 'dMY':
|
||||
$Y = substr($date,-4);
|
||||
if (substr($date,0,3) == '1er'){
|
||||
$d = 1;
|
||||
$posM = 3;
|
||||
}
|
||||
elseif (is_numeric(substr($date,1,1))) {
|
||||
$d = substr($date,0,2);
|
||||
$posM = 2;
|
||||
}
|
||||
else {
|
||||
$d = substr($date,0,1);
|
||||
$posM = 1;
|
||||
}
|
||||
$M = trim(substr($date, $posM, strlen($date)-4-$posM));
|
||||
$m = self::getNumMois($M);
|
||||
break;
|
||||
case 'Ymd':
|
||||
$d = substr($date,6,2);
|
||||
$m = substr($date,4,2);
|
||||
$Y = substr($date,0,4);
|
||||
break;
|
||||
case 'ymd':
|
||||
$d = substr($date,4,2);
|
||||
$m = substr($date,2,2);
|
||||
$Y = substr($date,0,2);
|
||||
if ($Y<50) {
|
||||
$Y = '20'.$Y;
|
||||
} else {
|
||||
$Y = '19'.$Y;
|
||||
}
|
||||
break;
|
||||
case 'Y-m-d':
|
||||
$d = substr($date,8,2);
|
||||
$m = substr($date,5,2);
|
||||
$Y = substr($date,0,4);
|
||||
break;
|
||||
case 'Y-m':
|
||||
$d = 1;
|
||||
$m = substr($date,5,2);
|
||||
$Y = substr($date,0,4);
|
||||
break;
|
||||
case 'd/m/Y':
|
||||
$tmp = explode('/', $date);
|
||||
$d = $tmp[0];
|
||||
$m = $tmp[1];
|
||||
$Y = $tmp[2];
|
||||
break;
|
||||
case 'd.m.Y':
|
||||
$tmp = explode('.', $date);
|
||||
$d = $tmp[0];
|
||||
$m = $tmp[1];
|
||||
$Y = $tmp[2];
|
||||
break;
|
||||
case 'd/m/y':
|
||||
$tmp = explode('/', $date);
|
||||
$d = $tmp[0];
|
||||
$m = $tmp[1];
|
||||
if ($tmp[2] < date('y')) {
|
||||
$Y = '20'.$tmp[2];
|
||||
} else {
|
||||
$Y = '19'.$tmp[2];
|
||||
}
|
||||
break;
|
||||
case 'd-m-Y':
|
||||
$tmp = explode('-', $date);
|
||||
$d = $tmp[0];
|
||||
$m = $tmp[1];
|
||||
$Y = $tmp[2];
|
||||
break;
|
||||
case 'm/d/Y':
|
||||
$tmp = explode('/', $date);
|
||||
$d = $tmp[1];
|
||||
$m = $tmp[0];
|
||||
$Y = $tmp[2];
|
||||
break;
|
||||
case 'dmY':
|
||||
$d = substr($date,0,2);
|
||||
$m = substr($date,2,2);
|
||||
$Y = substr($date,4,4);
|
||||
break;
|
||||
case 'dmy':
|
||||
$d = substr($date,0,2);
|
||||
$m = substr($date,2,2);
|
||||
$Y = substr($date,4,2);
|
||||
if ($Y<50) {
|
||||
$Y = '20'.$Y;
|
||||
} else {
|
||||
$Y = '19'.$Y;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return $date;
|
||||
}
|
||||
|
||||
if ($m*1>0 && $m*1<10) {
|
||||
$m='0'.($m*1);
|
||||
}
|
||||
if ($d*1>0 && $d*1<10) {
|
||||
$d='0'.($d*1);
|
||||
}
|
||||
|
||||
switch ($formatOUT)
|
||||
{
|
||||
case 'd/m/Y':
|
||||
return $d.'/'.$m.'/'.$Y;
|
||||
break;
|
||||
case 'm/Y':
|
||||
return $m.'/'.$Y;
|
||||
break;
|
||||
case 'd M Y':
|
||||
return $d.' '.self::$tabMoisEnLettres[$m*1].' '.$Y;
|
||||
break;
|
||||
case 'M Y':
|
||||
return self::$tabMoisEnLettres[$m*1].' '.$Y;
|
||||
break;
|
||||
case 'Y':
|
||||
return $Y;
|
||||
break;
|
||||
case 'm':
|
||||
return $m;
|
||||
break;
|
||||
case 'd':
|
||||
return $d;
|
||||
break;
|
||||
case 'Ym':
|
||||
return $Y.$m;
|
||||
break;
|
||||
case 'Ymd':
|
||||
return $Y.$m.$d;
|
||||
break;
|
||||
case 'Y-m-d':
|
||||
return $Y.'-'.$m.'-'.$d;
|
||||
break;
|
||||
case 'Y/m/d':
|
||||
return $Y.'/'.$m.'/'.$d;
|
||||
break;
|
||||
default:
|
||||
return $date;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcul de la date après application de la période textuelle (deux ans, six mois, quinze jours, etc...)
|
||||
* @todo Fonction ne fonctionnant qu'avec un chiffre en un seul mot du genre dix mais pas quatre vingt dix !!!
|
||||
* @param date $dateIN au format Ymd
|
||||
* @param string $period (ex : cinq mois, six ans, un jour, 3 mois)
|
||||
* @return date
|
||||
*/
|
||||
public static function period2Days($dateIN, $period, $inThePast=false)
|
||||
{
|
||||
$dateV = self::dateT('Ymd', 'Ymd', $dateIN);
|
||||
if ($dateV != $dateIN) {
|
||||
return null;
|
||||
}
|
||||
$d = substr($dateIN,6,2);
|
||||
$m = substr($dateIN,4,2);
|
||||
$Y = substr($dateIN,0,4);
|
||||
$period = strtolower(trim(strtr($period, "-.,", ' ')));
|
||||
if ($period == '') {
|
||||
return null;
|
||||
}
|
||||
$tabP = explode(' ', $period);
|
||||
if ($tabP[0]*1 > 0) {
|
||||
$chiffre = $tabP[0]*1*1;
|
||||
}
|
||||
else {
|
||||
$chiffre = Metier_Util_Chiffre::ChiffresEnLettres($tabP[0]);
|
||||
}
|
||||
if ($inThePast) {
|
||||
$chiffre = -1*$chiffre;
|
||||
}
|
||||
switch (end($tabP))
|
||||
{
|
||||
case 'mois':
|
||||
$dateOUT = date('Ymd', mktime(0, 0, 0, $m+$chiffre, $d, $Y));
|
||||
break;
|
||||
case 'an':
|
||||
case 'ans':
|
||||
$dateOUT = date('Ymd', mktime(0, 0, 0, $m, $d, $Y+$chiffre));
|
||||
break;
|
||||
case 'jour':
|
||||
case 'jours':
|
||||
$dateOUT = date('Ymd', mktime(0, 0, 0, $m, $d+$chiffre, $Y));
|
||||
break;
|
||||
default:
|
||||
$dateOUT = null;
|
||||
}
|
||||
return $dateOUT;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* le jour est il ferié
|
||||
* @param date $date
|
||||
* Date au format SSAA-MM-JJ ou SSAAMMJJ
|
||||
* @param bool $weekend
|
||||
* Considérer les WeekEnd comme feriés ? 1=Oui
|
||||
* @return bool
|
||||
**/
|
||||
public function jourFerie($date, $weekend=false)
|
||||
{
|
||||
$date = str_replace('-','',strtr($date, '/.:','---'));
|
||||
$jour = self::dateT('Ymd', 'd', $date);
|
||||
$mois = self::dateT('Ymd', 'm', $date);
|
||||
$annee = self::dateT('Ymd', 'Y', $date);
|
||||
$ferie = false;
|
||||
|
||||
// Jours feriées fixes
|
||||
if($jour == 1 && $mois == 1) $ferie = true; // 1er janvier
|
||||
if($jour == 1 && $mois == 5) $ferie = true; // 1er mai
|
||||
if($jour == 8 && $mois == 5) $ferie = true; // 8 mai
|
||||
if($jour == 14 && $mois == 7) $ferie = true; // 14 juillet
|
||||
if($jour == 15 && $mois == 8) $ferie = true; // 15 aout
|
||||
if($jour == 1 && $mois == 11) $ferie = true; // 1 novembre
|
||||
if($jour == 11 && $mois == 11) $ferie = true; // 11 novembre
|
||||
if($jour == 25 && $mois == 12) $ferie = true; // 25 décembre
|
||||
|
||||
// fêtes religieuses mobiles
|
||||
$pak = @easter_date($annee);
|
||||
$jp = date("d", $pak);
|
||||
$mp = date("m", $pak);
|
||||
if($jp == $jour && $mp == $mois){ $ferie = true;} // Pâques
|
||||
$lpk = mktime(date("H", $pak), date("i", $pak), date("s", $pak), date("m", $pak), date("d", $pak) +1, date("Y", $pak) );
|
||||
$jp = date("d", $lpk);
|
||||
$mp = date("m", $lpk);
|
||||
if($jp == $jour && $mp == $mois){ $ferie = true; }// Lundi de Pâques
|
||||
$asc = mktime(date("H", $pak), date("i", $pak), date("s", $pak), date("m", $pak), date("d", $pak) + 39, date("Y", $pak) );
|
||||
$jp = date("d", $asc);
|
||||
$mp = date("m", $asc);
|
||||
if($jp == $jour && $mp == $mois){ $ferie = true;}//ascension
|
||||
$pe = mktime(date("H", $pak), date("i", $pak), date("s", $pak), date("m", $pak), date("d", $pak) + 49, date("Y", $pak) );
|
||||
$jp = date("d", $pe);
|
||||
$mp = date("m", $pe);
|
||||
if($jp == $jour && $mp == $mois) {$ferie = true;}// Pentecôte
|
||||
$lp = mktime(date("H", $asc), date("i", $pak), date("s", $pak), date("m", $pak), date("d", $pak) + 50, date("Y", $pak) );
|
||||
$jp = date("d", $lp);
|
||||
$mp = date("m", $lp);
|
||||
if($jp == $jour && $mp == $mois) {$ferie = true;}// lundi Pentecôte
|
||||
|
||||
// Samedis et Dimanches
|
||||
if ($weekend) {
|
||||
$jour_sem = date('N',mktime(0,0,0, $mois, $jour, $annee));
|
||||
if($jour_sem>5) $ferie = true;
|
||||
}
|
||||
|
||||
return $ferie;
|
||||
}
|
||||
}
|
340
library/Metier/Util/Db.php
Normal file
340
library/Metier/Util/Db.php
Normal file
@ -0,0 +1,340 @@
|
||||
<?php
|
||||
class Metier_Util_Db
|
||||
{
|
||||
/**
|
||||
* @var Zend_Db_Adapter_Abstract
|
||||
*/
|
||||
protected $db = null;
|
||||
|
||||
/**
|
||||
*
|
||||
* @var unknown
|
||||
*/
|
||||
protected $result = null;
|
||||
|
||||
protected $errorCode = 0;
|
||||
|
||||
protected $errorMsg = '';
|
||||
|
||||
public function __construct( $db = null )
|
||||
{
|
||||
if ($db === null) {
|
||||
$this->db = Zend_Db_Table::getDefaultAdapter();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* INSERTION d'un tableau dans une table.
|
||||
* Les index doivent avoir les mêmes noms que les champs.
|
||||
* @param string Table
|
||||
* @param array Valeurs insérer
|
||||
* @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
|
||||
*/
|
||||
public function insert($table, $toAdd, $debug=false, $low_priority=false)
|
||||
{
|
||||
$this->errorCode = 0;
|
||||
$this->errorMsg = '';
|
||||
|
||||
$fields = implode(array_keys($toAdd), ',');
|
||||
foreach (array_values($toAdd) as $key=>$array_values)
|
||||
$tmp[$key]=checkaddslashes($array_values);
|
||||
|
||||
$values = "'".implode(array_values($tmp), "','")."'"; # better
|
||||
$values = str_replace("'NULL'", 'NULL', $values);
|
||||
|
||||
if ($low_priority) {
|
||||
$query = 'INSERT INTO '.$table.' ('.$fields.') VALUES ('.$values.');';
|
||||
} else {
|
||||
$query = 'INSERT INTO '.$table.' ('.$fields.') VALUES ('.$values.');';
|
||||
}
|
||||
if ($debug) $tdeb = microtime(true);
|
||||
|
||||
try {
|
||||
$stmt = $this->db->query($query);
|
||||
$res = $this->db->lastInsertId();
|
||||
if ($debug) $this->trace($query, $res, $tdeb);
|
||||
if ( $res == 0 ) {
|
||||
return true;
|
||||
}
|
||||
return $res;
|
||||
} catch(Zend_Db_Exception $e) {
|
||||
$this->errorCode = $e->getCode();
|
||||
$this->errorMsg = $e->getMessage();
|
||||
$this->trace($query);
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Database Update
|
||||
* @param unknown $table
|
||||
* @param unknown $update
|
||||
* @param unknown $where
|
||||
* @param string $debug
|
||||
* @param number $limit
|
||||
* @param string $low_priority
|
||||
* @return resource
|
||||
*/
|
||||
public function update($table, $update, $where, $debug=false, $limit=0, $low_priority=false)
|
||||
{
|
||||
$this->errorCode = 0;
|
||||
$this->errorMsg = '';
|
||||
|
||||
if ($low_priority) {
|
||||
$query='UPDATE '.$table.' SET ';
|
||||
} else {
|
||||
$query='UPDATE '.$table.' SET ';
|
||||
}
|
||||
$i=0;
|
||||
foreach ($update as $field => $value) {
|
||||
$query.= ' '.$field."=".$this->db->quote($value);
|
||||
$i++;
|
||||
if ($i<count($update)) {
|
||||
$query.= ',';
|
||||
}
|
||||
}
|
||||
$query = str_replace("'NULL'", 'NULL', $query);
|
||||
$query.=' WHERE '.$where;
|
||||
if ($limit>0) $query.=" LIMIT $limit";
|
||||
|
||||
if ($debug) $tdeb = microtime(true);
|
||||
|
||||
try {
|
||||
$stmt = $this->db->query($query);
|
||||
$res = $stmt->rowCount();
|
||||
if ($debug) $this->trace($query, $res, $tdeb);
|
||||
if ( $res == 0 ) {
|
||||
return false;
|
||||
}
|
||||
return $res;
|
||||
} catch(Zend_Db_Exception $e) {
|
||||
$this->errorCode = $e->getCode();
|
||||
$this->errorMsg = $e->getMessage();
|
||||
$this->trace($query, $res, $tdeb);
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Database delete
|
||||
* @param string $table
|
||||
* @param string $where
|
||||
* @param string $debug
|
||||
* @param string $low_priority
|
||||
* @return resource
|
||||
*/
|
||||
public function delete($table, $where, $debug=false, $low_priority=false)
|
||||
{
|
||||
$this->errorCode = 0;
|
||||
$this->errorMsg = '';
|
||||
|
||||
if ($low_priority) {
|
||||
$query='DELETE QUICK FROM '.$table.' WHERE '.$where.';';
|
||||
}
|
||||
else {
|
||||
$query='DELETE FROM '.$table.' WHERE '.$where.';';
|
||||
}
|
||||
|
||||
if ($debug) $tdeb = microtime(true);
|
||||
|
||||
try {
|
||||
$stmt = $this->db->query($query);
|
||||
$res = $this->db->lastInsertId();
|
||||
if ($debug) $this->trace($query, $res, $tdeb);
|
||||
if ( $res == 0 ) {
|
||||
$res = true;
|
||||
}
|
||||
return $res;
|
||||
} catch(Zend_Db_Exception $e) {
|
||||
$this->errorCode = $e->getCode();
|
||||
$this->errorMsg = $e->getMessage();
|
||||
$this->trace($query, $res, $tdeb);
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Database select
|
||||
* @param string $table
|
||||
* @param string $fields
|
||||
* @param string $where
|
||||
* @param string $debug
|
||||
* @param string $assoc
|
||||
* @param string $huge
|
||||
* @return boolean|multitype:multitype: |number
|
||||
*/
|
||||
public function select($table, $fields, $where, $debug=false, $assoc=MYSQL_BOTH, $huge=false)
|
||||
{
|
||||
$this->errorCode = 0;
|
||||
$this->errorMsg = '';
|
||||
|
||||
$query="SELECT $fields FROM $table WHERE $where;";
|
||||
|
||||
if ($debug) $tdeb = microtime(true);
|
||||
|
||||
try {
|
||||
$stmt = $this->db->query($query);
|
||||
$this->result = $stmt;
|
||||
} catch(Zend_Db_Exception $e) {
|
||||
$this->errorCode = $e->getCode();
|
||||
$this->errorMsg = $e->getMessage();
|
||||
$this->trace($query);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( !$huge ) {
|
||||
switch($assoc) {
|
||||
case MYSQL_NUM:
|
||||
$mode = Zend_Db::FETCH_NUM;
|
||||
break;
|
||||
case MYSQL_ASSOC:
|
||||
$mode = Zend_Db::FETCH_ASSOC;
|
||||
break;
|
||||
case MYSQL_BOTH:
|
||||
$mode = Zend_Db::FETCH_BOTH;
|
||||
break;
|
||||
}
|
||||
$tab = $stmt->fetchAll($mode);
|
||||
if ($debug) $this->trace($query, sizeof($tab), $tdeb);
|
||||
return $tab;
|
||||
} else {
|
||||
$nbRows = $stmt->rowCount();
|
||||
if ($debug) $this->trace($query, $nbRows, $tdeb);
|
||||
return $nbRows;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $assoc
|
||||
* @return multitype:
|
||||
*/
|
||||
public function fetch($assoc=MYSQL_BOTH)
|
||||
{
|
||||
switch($assoc) {
|
||||
case MYSQL_NUM:
|
||||
$mode = Zend_Db::FETCH_NUM;
|
||||
break;
|
||||
case MYSQL_ASSOC:
|
||||
$mode = Zend_Db::FETCH_ASSOC;
|
||||
break;
|
||||
case MYSQL_BOTH:
|
||||
$mode = Zend_Db::FETCH_BOTH;
|
||||
break;
|
||||
}
|
||||
return $this->result->fetch($mode);
|
||||
}
|
||||
|
||||
/**
|
||||
* Trace
|
||||
* @param string $query
|
||||
* @param string $error
|
||||
* @param int $tdeb
|
||||
*/
|
||||
public function trace($query, $res='', $tdeb = null)
|
||||
{
|
||||
if ( $tdeb === null) {
|
||||
$duree = microtime(true)-$tdeb;
|
||||
} else {
|
||||
$duree = 'N/D';
|
||||
}
|
||||
if ($this->errorCode == 0) {
|
||||
$msg = date('Y-m-d H:i:s') ." - DEBUG - ".$this->errorCode.":".$this->errorMsg." - ".$query." - ".$duree;
|
||||
} else {
|
||||
$msg = date('Y-m-d H:i:s') ." - ERROR - ".$this->errorCode.":".$this->errorMsg." - ".$query." - ".$duree;
|
||||
}
|
||||
file_put_contents(LOG_PATH . '/mysql.log', $msg . "\n", FILE_APPEND);
|
||||
}
|
||||
|
||||
/**
|
||||
* Exécute la requête passé en paramètre
|
||||
*/
|
||||
public function query($query, $debug=false)
|
||||
{
|
||||
$this->errorCode = 0;
|
||||
$this->errorMsg = '';
|
||||
|
||||
try {
|
||||
$stmt = $this->db->query($query);
|
||||
$this->result = $stmt;
|
||||
} catch(Zend_Db_Exception $e) {
|
||||
$this->errorCode = $e->getCode();
|
||||
$this->errorMsg = $e->getMessage();
|
||||
$this->trace($query);
|
||||
return false;
|
||||
}
|
||||
|
||||
return $this->result->fetchAll(Zend_Db::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
/** Retourne le libellé de la dernière erreur **/
|
||||
public function getLastErrorMsg()
|
||||
{
|
||||
return $this->errorMsg;
|
||||
}
|
||||
/**
|
||||
* Retourne le numéro de la dernière erreur
|
||||
*/
|
||||
public function getLastErrorNum()
|
||||
{
|
||||
return $this->errorCode;
|
||||
}
|
||||
|
||||
/** Retourne le libellé et le numéro de la dernière erreur **/
|
||||
public function getLastError()
|
||||
{
|
||||
return $this->errorMsg.' ('.$this->errorCode.')';
|
||||
}
|
||||
|
||||
/** Retourne le nombre de lignes modifiées par la dernière requête **/
|
||||
public function getAffectedRows()
|
||||
{
|
||||
return $this->result->rowCount();
|
||||
}
|
||||
|
||||
/**
|
||||
* Génère le fichier CSV pour la requete SQL
|
||||
*
|
||||
* @param string $query
|
||||
* @param string $fileCsv
|
||||
* @return bool
|
||||
*/
|
||||
public function exportCSV($query, $fileCsv, $sep=',', $eol=PHP_EOL)
|
||||
{
|
||||
$i = 0;
|
||||
$fp = fopen($fileCsv, 'w');
|
||||
if (!$fp) return false;
|
||||
|
||||
$res = $this->query($query);
|
||||
$nbLignes = count($res);
|
||||
for($i=0; $i<$nbLignes; $i++) {
|
||||
$ligne = $res[$i];
|
||||
|
||||
//Header
|
||||
if ($i==0) {
|
||||
$nbCols = count($ligne);
|
||||
$header = array();
|
||||
foreach ($ligne as $libCol => $col) {
|
||||
$header[] = $libCol;
|
||||
}
|
||||
fputcsv($fp, $header, $sep, '"');
|
||||
}
|
||||
|
||||
//Content
|
||||
$fields = array();
|
||||
foreach ($ligne as $libCol => $col) {
|
||||
$fields[] = $col;
|
||||
}
|
||||
fputcsv($fp, $fields, $sep, '"');
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
return $nbLignes;
|
||||
}
|
||||
}
|
35
library/Metier/Util/Log.php
Normal file
35
library/Metier/Util/Log.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
class Metier_Util_Log
|
||||
{
|
||||
/**
|
||||
* Enregistrer une information dans la log
|
||||
* @param string $level E=Error, W=Warning, N=Notice, I=Info, D=Debug
|
||||
* @param string $message Message d'erreur à inscrire dans la log
|
||||
* @param integer $line __LINE__
|
||||
* @param string $file __FILE__
|
||||
* @param string $function __FUNCTION__
|
||||
* @param string $class __CLASS___
|
||||
*/
|
||||
public static function write($level, $message, $line, $file, $function, $class)
|
||||
{
|
||||
if ($level=='E'){
|
||||
if (!file_exists(LOG_PATH.'/debugError.log')) {
|
||||
file_put_contents(LOG_PATH.'/debugError.log', 'Date/Heure;Niveau;Script;Login;Password;Adresse IP;Action SOAP;Ligne;Fichier;Fonction;Classe;Domaine;POST DATA;Message'.PHP_EOL);
|
||||
} else {
|
||||
file_put_contents(LOG_PATH.'/debugError.log', date('Y/m/d-H:i:s') .';'. $level .';'. $_SERVER['PHP_SELF'] .';'. $_SERVER['PHP_AUTH_USER'] .';'. $_SERVER['PHP_AUTH_PW'] .';'.
|
||||
$_SERVER['REMOTE_ADDR'] .';'. $_SERVER['HTTP_SOAPACTION'] .';'.$line.';'. $file.';'. $function.';'. $class .';'.
|
||||
@gethostbyaddr($_SERVER['REMOTE_ADDR']) .';'. $HTTP_RAW_POST_DATA .';'. @memory_get_usage().';'. $message . PHP_EOL, FILE_APPEND);
|
||||
}
|
||||
} else {
|
||||
if (!file_exists(LOG_PATH.'/debug.log')) {
|
||||
file_put_contents(LOG_PATH.'/debug.log', 'Date/Heure;Niveau;Script;Login;Password;Adresse IP;Action SOAP;Ligne;Fichier;Fonction;Classe;Domaine;POST DATA;Memory;Message'.PHP_EOL);
|
||||
} else {
|
||||
file_put_contents(LOG_PATH.'/debug.log',
|
||||
date('Y/m/d-H:i:s') .';'. $level .';'. $_SERVER['PHP_SELF'] .';'. $_SERVER['PHP_AUTH_USER'] .';'.
|
||||
$_SERVER['PHP_AUTH_PW'] .';'. $_SERVER['REMOTE_ADDR'] .';'. $_SERVER['HTTP_SOAPACTION'] .';'.
|
||||
$line.';'. $file.';'. $function.';'. $class .';'. @gethostbyaddr($_SERVER['REMOTE_ADDR']) .';'.
|
||||
$HTTP_RAW_POST_DATA .';'. @memory_get_usage().';'. $message . PHP_EOL, FILE_APPEND);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
49
library/Metier/Util/Mail.php
Normal file
49
library/Metier/Util/Mail.php
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
class Metier_Util_Mail
|
||||
{
|
||||
/**
|
||||
* Envoi email
|
||||
* @param string $from
|
||||
* @param string $to
|
||||
* @param string $subject
|
||||
* @param string $text
|
||||
* @param string $html
|
||||
* @param array $tabAttachedFiles
|
||||
*/
|
||||
function send($from, $to, $subject, $text='', $html='', $tabAttachedFiles=array())
|
||||
{
|
||||
$to = preg_split("/[\s,;]+/", $to);
|
||||
|
||||
$mail = new Scores_Mail_Method();
|
||||
$mail->setFrom($from);
|
||||
if ( count($to) > 0 ) {
|
||||
foreach ( $to as $item ) {
|
||||
$mail->addTo($item);
|
||||
}
|
||||
}
|
||||
$mail->setSubject($subject);
|
||||
if ($text!='') {
|
||||
$mail->setBodyText($text);
|
||||
}
|
||||
|
||||
if ($html!='') {
|
||||
$mail->setBodyHtml($html);
|
||||
}
|
||||
|
||||
if ( count($tabAttachedFiles) > 0 ) {
|
||||
foreach ($tabAttachedFiles as $file) {
|
||||
$at = new Zend_Mime_Part( file_get_contents( $file ) );
|
||||
$mail->addAttachment($at);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$mail->execute();
|
||||
} catch (Zend_Mail_Transport_Exception $e) {
|
||||
file_put_contents(LOG_PATH.'/sendMailError.log', date('Y-m-d H:i:s')." - ".$e->getMessage()."\n", FILE_APPEND);
|
||||
} catch (Zend_Mail_Protocol_Exception $e) {
|
||||
file_put_contents(LOG_PATH.'/sendMailError.log', date('Y-m-d H:i:s')." - ".$e->getMessage()."\n", FILE_APPEND);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
106
library/Metier/Util/String.php
Normal file
106
library/Metier/Util/String.php
Normal file
@ -0,0 +1,106 @@
|
||||
<?php
|
||||
class Metier_Util_String
|
||||
{
|
||||
const BEFORE = 0;
|
||||
const AFTER = 1;
|
||||
const BOTH = 2;
|
||||
const ALIGN_LEFT = 0;
|
||||
const ALIGN_RIGHT = 1;
|
||||
|
||||
/**
|
||||
* Initialisation d'une chaîne de caractère
|
||||
* @param string $chaine
|
||||
* Chaîne de caractère initiale
|
||||
* @param int $taille
|
||||
* Taille de la chaîne de caractère à initialiser
|
||||
* @param string $caractere_pour_combler
|
||||
* Caractère à utiliser pour combler la chaîne de caractère (espace par défaut)
|
||||
* @param string $align
|
||||
* Aligner la chaîne de caractère à droite (right) ou à gauche (left, par défaut)
|
||||
* @return string
|
||||
*/
|
||||
public static function initstr($chaine, $taille, $caractere_pour_combler=' ', $align=self::ALIGN_LEFT)
|
||||
{
|
||||
if (mb_strlen($chaine) >= $taille) {
|
||||
return substr($chaine, 0, $taille);
|
||||
}
|
||||
|
||||
$encoding = mb_internal_encoding();
|
||||
$diff = strlen($chaine) - mb_strlen($chaine, $encoding);
|
||||
|
||||
if ($align == self::ALIGN_RIGHT) {
|
||||
return str_pad($chaine, $taille + $diff, $caractere_pour_combler, STR_PAD_LEFT);
|
||||
}
|
||||
|
||||
if ($align == self::ALIGN_LEFT) {
|
||||
return str_pad($chaine, $taille + $diff, $caractere_pour_combler, STR_PAD_RIGHT);
|
||||
}
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime les accents
|
||||
* @param string $strWithAccent
|
||||
*/
|
||||
public static function trimAccent($strWithAccent)
|
||||
{
|
||||
$strWithAccent = htmlentities(strtolower($strWithAccent ));
|
||||
$strWithAccent = preg_replace("/&(.)(acute|cedil|circ|ring|tilde|uml|grave);/", "$1", $strWithAccent );
|
||||
$strWithAccent = preg_replace("/([^a-z0-9]+)/", " ", html_entity_decode($strWithAccent ));
|
||||
$strWithAccent = trim($strWithAccent , "-");
|
||||
return $strWithAccent;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param unknown $str
|
||||
*/
|
||||
public static function htm2txt($str)
|
||||
{
|
||||
return trim(strip_tags( str_replace(chr(160), ' ',
|
||||
str_replace('œ', 'oe',
|
||||
str_replace('’', '\'', html_entity_decode($str, ENT_QUOTES))))));
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérification que la variable demandé respecte bien les règles passées en paramètres
|
||||
* @param mixed Variable à tester
|
||||
* @param int Longueur minimum en caractère de la variable
|
||||
* @param int Longueur mximum
|
||||
* @param char(1) Type de variable <b>A</b>:Alphanumérique / <b>N</b>:Numérique
|
||||
* @param mixed Message textuel d'erreur à afficher en cas d'erreur ou false
|
||||
* @return mixed true, false ou Message d'erreur passé en paramètre
|
||||
*/
|
||||
public static function valideData($variable, $taille_min, $taille_max, $type_variable, $erreur=false)
|
||||
{
|
||||
if ( strlen((string)$variable) < $taille_min ) {
|
||||
return $erreur;
|
||||
}
|
||||
|
||||
if ( strlen((string)$variable) > $taille_max ) {
|
||||
return $erreur;
|
||||
}
|
||||
|
||||
if ( $type_variable == 'A' ) {
|
||||
if ( is_string($variable) == true ) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return $erreur;
|
||||
}
|
||||
}
|
||||
elseif ( $type_variable == 'N') {
|
||||
for ($i=0; $i < strlen((string)$variable); $i++) {
|
||||
$car = substr((string)$variable,$i,1);
|
||||
if ($car<'0' || $car>'9') {
|
||||
return $erreur;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return $erreur;
|
||||
}
|
||||
|
||||
}
|
204
library/Metier/sphinx/criteresFonc.php
Normal file
204
library/Metier/sphinx/criteresFonc.php
Normal file
@ -0,0 +1,204 @@
|
||||
<?php
|
||||
// --------------------------------------------------------------------------- //
|
||||
// Fonctions sur les criteres
|
||||
// --------------------------------------------------------------------------- //
|
||||
if (defined('DEBUG') == false) {
|
||||
define( 'DEBUG', 0);
|
||||
}
|
||||
if (defined('LOCAL') == false) {
|
||||
define( 'LOCAL', 0);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------- //
|
||||
// Nouvelle sequence
|
||||
// --------------------------------------------------------------------------- //
|
||||
function nouvelleSequence(&$criteres)
|
||||
{
|
||||
$sequence = array(
|
||||
array( 'crit' => 'IT ', 'next' => '12' ),
|
||||
array( 'crit' => 'I ', 'next' => '00' ),
|
||||
array( 'crit' => 'I SEP ', 'next' => '12' ),
|
||||
array( 'crit' => ' T ', 'next' => '00' ),
|
||||
array( 'crit' => ' TSEP ', 'next' => '13 61 61o61p' ),
|
||||
array( 'crit' => ' D VNR', 'next' => '24 45o24o24p' ),
|
||||
array( 'crit' => ' D NR', 'next' => '21o21p' ),
|
||||
array( 'crit' => ' DL NR', 'next' => '21 21o21p' ),
|
||||
array( 'crit' => ' DLVNR', 'next' => '36 45 24 45o24o24p' ),
|
||||
array( 'crit' => ' P VNR', 'next' => '74 78o74o74p' ),
|
||||
array( 'crit' => ' PD VNR', 'next' => '74 78o74o74p' ),
|
||||
array( 'crit' => ' PDL NR', 'next' => '78 83o74 74o74p' ),
|
||||
array( 'crit' => ' PDLV R', 'next' => '78 81 82 77 71' ),
|
||||
array( 'crit' => ' PDLVN ', 'next' => '82 75 28 71' ),
|
||||
array( 'crit' => ' PDLVNR', 'next' => '78 74 82 78o74o82o82p' ),
|
||||
array( 'crit' => ' S ', 'next' => '30o30p' ),
|
||||
array( 'crit' => ' S R', 'next' => '72o71 71o71p' ),
|
||||
array( 'crit' => ' S N ', 'next' => '31' ),
|
||||
array( 'crit' => ' S NR', 'next' => '77 43 71' ),
|
||||
array( 'crit' => ' S V ', 'next' => '35o35p30' ),
|
||||
array( 'crit' => ' S VN ', 'next' => '75 77o75o77p75p' ),
|
||||
array( 'crit' => ' S V R', 'next' => '75 83' ),
|
||||
array( 'crit' => ' S VNR', 'next' => '43 44 75 83 61 71' ),
|
||||
array( 'crit' => ' S D ', 'next' => '40p40o61p61' ),
|
||||
array( 'crit' => ' S D R', 'next' => '45o77 77o77p' ),
|
||||
array( 'crit' => ' S D N ', 'next' => '71' ),
|
||||
array( 'crit' => ' S D NR', 'next' => '77 43 71 31' ),
|
||||
array( 'crit' => ' S D V ', 'next' => '77o40 40o' ),
|
||||
array( 'crit' => ' S D V R', 'next' => '75 72 71' ),
|
||||
array( 'crit' => ' S D VN ', 'next' => '43 41 77 71' ),
|
||||
array( 'crit' => ' S D VNR', 'next' => '44 43 49 73 75 72 71' ),
|
||||
array( 'crit' => ' S DL ', 'next' => '78 78p61p61p' ),
|
||||
array( 'crit' => ' S DL R', 'next' => '82 78 77 71' ),
|
||||
array( 'crit' => ' S DL N ', 'next' => '41 71' ),
|
||||
array( 'crit' => ' S DL NR', 'next' => '78 82 81 78p77 43 71 31' ),
|
||||
array( 'crit' => ' S DLV ', 'next' => '78 78p71' ),
|
||||
array( 'crit' => ' S DLV R', 'next' => '78 83 82 75 72 40 71' ),
|
||||
array( 'crit' => ' S DLVN ', 'next' => '78 82 78p43 71' ),
|
||||
array( 'crit' => ' S DLVNR', 'next' => '78 49 77 43 78p75 41 72 71 22' ),
|
||||
array( 'crit' => ' S P ', 'next' => '60o60p31 31o31p' ),
|
||||
array( 'crit' => ' S P R', 'next' => '45 77 41' ),
|
||||
array( 'crit' => ' S P N ', 'next' => '71 71o45 45p' ),
|
||||
array( 'crit' => ' S P NR', 'next' => '77 72 33 32' ),
|
||||
array( 'crit' => ' S P V ', 'next' => '63o45 45o45p' ),
|
||||
array( 'crit' => ' S P VN ', 'next' => '45 43 61 64' ),
|
||||
array( 'crit' => ' S P V R', 'next' => '75 83 45 35' ),
|
||||
array( 'crit' => ' S P VNR', 'next' => '77 45 44 43 73 75 72 71 41 42 40' ),
|
||||
array( 'crit' => ' S PD ', 'next' => '45 71p71o' ),
|
||||
array( 'crit' => ' S PD R', 'next' => '77 45 71' ),
|
||||
array( 'crit' => ' S PD N ', 'next' => '71 71o45 45o' ),
|
||||
array( 'crit' => ' S PD NR', 'next' => '77 76 45 41 43 40' ),
|
||||
array( 'crit' => ' S PD V ', 'next' => '45 45o71 42 42p' ),
|
||||
array( 'crit' => ' S PD V R', 'next' => '77 83 43 71 41' ),
|
||||
array( 'crit' => ' S PD VN ', 'next' => '83 75 71 44 83o75o71o44o43 41 40 40o40p' ),
|
||||
array( 'crit' => ' S PD VNR', 'next' => '77 74 45 44 43 75 71 61 63 60 40' ),
|
||||
array( 'crit' => ' S PDL ', 'next' => '71 71o71p45 45o' ),
|
||||
array( 'crit' => ' S PDL R', 'next' => '78 82 75 45 44' ),
|
||||
array( 'crit' => ' S PDL N ', 'next' => '73 48 41' ),
|
||||
array( 'crit' => ' S PDL NR', 'next' => '78 82 81 49 77 65 44 43 75 60 31' ),
|
||||
array( 'crit' => ' S PDLV ', 'next' => '78 45 45o71 42 42p40' ),
|
||||
array( 'crit' => ' S PDLV R', 'next' => '78 83 82 75 45 49 46 42 71 40' ),
|
||||
array( 'crit' => ' S PDLVN ', 'next' => '78 83 77 45 71 42 41 40' ),
|
||||
array( 'crit' => ' S PDLVNR', 'next' => '78 83 27 74 45 44 43 42 40' ),
|
||||
array( 'crit' => ' SE ', 'next' => '31o31p' ),
|
||||
array( 'crit' => ' SE R', 'next' => '72o71 71o71p' ),
|
||||
array( 'crit' => ' SE N ', 'next' => '31' ),
|
||||
array( 'crit' => ' SE NR', 'next' => '77 43 71' ),
|
||||
array( 'crit' => ' SE V ', 'next' => '35o35p30' ),
|
||||
array( 'crit' => ' SE V R', 'next' => '75 83' ),
|
||||
array( 'crit' => ' SE VN ', 'next' => '75 77' ),
|
||||
array( 'crit' => ' SE VNR', 'next' => '43 44 75 83 61 71' ),
|
||||
array( 'crit' => ' SE D ', 'next' => '40o30' ),
|
||||
array( 'crit' => ' SE D R', 'next' => '45o77' ),
|
||||
array( 'crit' => ' SE D N ', 'next' => '71' ),
|
||||
array( 'crit' => ' SE D NR', 'next' => '77 43 71 31' ),
|
||||
array( 'crit' => ' SE D V ', 'next' => '77o40' ),
|
||||
array( 'crit' => ' SE D V R', 'next' => '75 72 71' ),
|
||||
array( 'crit' => ' SE D VN ', 'next' => '43 41 77' ),
|
||||
array( 'crit' => ' SE D VNR', 'next' => '44 43 49 73 75 72 71' ),
|
||||
array( 'crit' => ' SE DL ', 'next' => '40' ),
|
||||
array( 'crit' => ' SE DL R', 'next' => '82 78 77' ),
|
||||
array( 'crit' => ' SE DL N ', 'next' => '45 43 82o45o43o43p' ),
|
||||
array( 'crit' => ' SE DL NR', 'next' => '78 82 81 46 77 43 71 31' ),
|
||||
array( 'crit' => ' SE DLV ', 'next' => '78 78o71 71o71p' ),
|
||||
array( 'crit' => ' SE DLV R', 'next' => '78 83 82 75 72 40' ),
|
||||
array( 'crit' => ' SE DLVN ', 'next' => '78 82 46 43 71' ),
|
||||
array( 'crit' => ' SE DLVNR', 'next' => '78 49 77 43 46 75 41 72 71 22' ),
|
||||
array( 'crit' => ' SEP ', 'next' => '61p31 31p30' ),
|
||||
array( 'crit' => ' SEP R', 'next' => '45 77 41' ),
|
||||
array( 'crit' => ' SEP N ', 'next' => '71 71o45 45p' ),
|
||||
array( 'crit' => ' SEP NR', 'next' => '77 72 33 32' ),
|
||||
array( 'crit' => ' SEP V ', 'next' => '63o45' ),
|
||||
array( 'crit' => ' SEP V R', 'next' => '75 83 45 35' ),
|
||||
array( 'crit' => ' SEP VN ', 'next' => '45 43 61 64' ),
|
||||
array( 'crit' => ' SEP VNR', 'next' => '77 45 44 43 73 75 72 71 41 42 40' ),
|
||||
array( 'crit' => ' SEPD ', 'next' => '45 71p' ),
|
||||
array( 'crit' => ' SEPD R', 'next' => '77 45' ),
|
||||
array( 'crit' => ' SEPD N ', 'next' => '71 71o45 40' ),
|
||||
array( 'crit' => ' SEPD NR', 'next' => '77 76 45 41 43 40' ),
|
||||
array( 'crit' => ' SEPD V ', 'next' => '45 71p71o40' ),
|
||||
array( 'crit' => ' SEPD V R', 'next' => '77 83 43 71 41 40' ),
|
||||
array( 'crit' => ' SEPD VN ', 'next' => '83 75 71 44 83o75o71o44o43 41 40 40o40p' ),
|
||||
array( 'crit' => ' SEPD VNR', 'next' => '77 74 45 44 43 75 71 61 63 60 40' ),
|
||||
array( 'crit' => ' SEPDL ', 'next' => '45 71p40' ),
|
||||
array( 'crit' => ' SEPDL R', 'next' => '78 82 75 45 44 40' ),
|
||||
array( 'crit' => ' SEPDL N ', 'next' => '73 48 41 40' ),
|
||||
array( 'crit' => ' SEPDL NR', 'next' => '78 82 81 49 77 65 44 43 75 60 31' ),
|
||||
array( 'crit' => ' SEPDLV ', 'next' => '78 45 45o71 42 42p' ),
|
||||
array( 'crit' => ' SEPDLV R', 'next' => '78 83 82 75 45 49 46 42 71 40' ),
|
||||
array( 'crit' => ' SEPDLVN ', 'next' => '78 83 77 45 71 42 41 40' ),
|
||||
array( 'crit' => ' SEPDLVNR', 'next' => '78 83 27 74 45 44 43 42 40' ),
|
||||
);
|
||||
|
||||
foreach ($sequence as $ligne) {
|
||||
if (strstr($ligne['crit'], $criteres) != false) {
|
||||
return str_split($ligne['next'], 3);
|
||||
}
|
||||
}
|
||||
return array();
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------- //
|
||||
// Nouvelle combinaison
|
||||
// --------------------------------------------------------------------------- //
|
||||
function nouvelleCombinaison(&$sequence, &$sequencePos, $pass, &$index, &$mode)
|
||||
{
|
||||
for (;;) {
|
||||
if (isset($sequence[$sequencePos]) === false) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$combinaison = trim($sequence[$sequencePos]);
|
||||
++$sequencePos;
|
||||
|
||||
if (strlen($combinaison) == 2) {
|
||||
return $combinaison;
|
||||
}
|
||||
|
||||
// Passage en phonetique ou en orthographique
|
||||
if (strlen($combinaison) == 3) {
|
||||
if ($pass == 2 || $pass == 3) {
|
||||
continue;
|
||||
}
|
||||
$car = strtolower(substr($combinaison, 2, 1));
|
||||
|
||||
//Search Engine Version 2, we remove the orthographique
|
||||
if (SPHINX_ENT_VERSION == 2 && $car == 'o') {
|
||||
return strtolower(substr($combinaison, 0, 2));
|
||||
}
|
||||
|
||||
switch($car) {
|
||||
case 'p':
|
||||
$index = 'ent_phx';
|
||||
$mode = SPH_MATCH_EXTENDED2;
|
||||
break;
|
||||
case 'o':
|
||||
$index = 'ent_mns';
|
||||
$mode = SPH_MATCH_ISPELL;
|
||||
break;
|
||||
default:
|
||||
debugln("attention: mode inconnu: '$car'");
|
||||
}
|
||||
} else if ($pass == 1) {
|
||||
$index = 'ent_mns';
|
||||
//Search Engine Version 2, we remove the orthographique
|
||||
if (SPHINX_ENT_VERSION == 2) {
|
||||
$index = 'ent';
|
||||
}
|
||||
}
|
||||
|
||||
return $combinaison;
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------- //
|
||||
// Nouveaux criteres
|
||||
// --------------------------------------------------------------------------- //
|
||||
function nouveauxCriteres($comb2crit, $combinaison)
|
||||
{
|
||||
if ( array_key_exists($combinaison, $comb2crit) ) {
|
||||
$ligne = $comb2crit[$combinaison];
|
||||
return $ligne;
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
?>
|
1814
library/Metier/sphinx/rechercheFonc.php
Normal file
1814
library/Metier/sphinx/rechercheFonc.php
Normal file
File diff suppressed because it is too large
Load Diff
85
library/Scores/Account/Access.php
Normal file
85
library/Scores/Account/Access.php
Normal file
@ -0,0 +1,85 @@
|
||||
<?php
|
||||
return array (
|
||||
|
||||
//RECHERCHE
|
||||
'RECHCSV' => "Export des résultats de la recherche",
|
||||
'IPARI' => "Investigation par l'image IparI©",
|
||||
'HISTOBODACC' => "Historique des annonces bodacc",
|
||||
'INVESTIG' => "Investigation",
|
||||
'SEARCHENT' => "Recherche Entreprise",
|
||||
'SEARCHDIR' => "Recherche Dirigeant",
|
||||
'SEARCHACT' => "Recherche Actionnaire",
|
||||
|
||||
//IDENTITE
|
||||
'IDENTITE' => "Fiche d'identité",
|
||||
'IDPROCOL' => 'Fiche procédure collective',
|
||||
'LIENS' => "Liens inter-entreprise",
|
||||
'ETABLISSEMENTS' => "Liste des établissements",
|
||||
'GROUPE' => "Informations et organigramme du groupe",
|
||||
'EVENINSEE' => 'Évènements INSEE',
|
||||
'AVISINSEE' => 'Avis de situation INSEE',
|
||||
'AVISRNCS' => 'Avis de situation RNCS',
|
||||
'RNVP' => "Normalisation postale",
|
||||
|
||||
//DIRIGEANT
|
||||
'DIRIGEANTS' => "Liste des dirigeants",
|
||||
'DIRIGEANTSOP' => "Liste des dirigeants opérationnels",
|
||||
|
||||
//FINANCE
|
||||
'SYNTHESE' => "Synthèse",
|
||||
'RATIOS' => "Ratios",
|
||||
'FLUX' => "Flux de trésorerie",
|
||||
'LIASSE' => "Liasse fiscale",
|
||||
'LIASSEXLS' => "Export des Liasses au format XLS",
|
||||
'UPLOADBILAN' => "Saisie de bilan",
|
||||
'BOURSE' => "Bourse & cotations",
|
||||
'BANQUE' => "Relations bancaires",
|
||||
|
||||
//JURIDIQUE
|
||||
'ANNONCES' => "Annonces légales",
|
||||
'INFOSREG' => "Informations réglementée",
|
||||
'COMPETENCES' => "Compétences territoriales",
|
||||
'CONVENTIONS' => "Conventions collectives",
|
||||
'MARQUES' => "Marques déposées",
|
||||
'CONTENTIEUX' => "Contentieux Judiciaires",
|
||||
|
||||
//EVALUATION
|
||||
'INDISCORE' => "indiScore©",
|
||||
'INDISCORE2' => "Rapport synthetique",
|
||||
'INDISCORE3' => "Rapport complet",
|
||||
'INDISCOREP' => "indiScore+",
|
||||
'INDISCORE2P' => "Rapport synthetique+",
|
||||
'INDISCORE3P' => "Rapport complet+",
|
||||
'VALORISATION' => "Valorisation",
|
||||
'SCORECSF' => "Score CSF",
|
||||
'ENQUETEC' => "Enquête commerciale",
|
||||
'AVISCREDIT' => "Avis de crédit personnalisé",
|
||||
|
||||
//PIECES
|
||||
'KBIS' => "Extrait RCS",
|
||||
'ACTES' => "Pièces officielles",
|
||||
'PRIVILEGES' => "Privilèges",
|
||||
|
||||
//SURVEILLANCES
|
||||
'SURVANNONCE' => "Surveillance des annonces légales",
|
||||
'SURVINSEE' => "Surveillance des événements INSEE",
|
||||
'SURVBILAN' => "Surveillance des bilans saisies (liasse fiscale)",
|
||||
'SURVSCORE' => "Surveillance des événements sur le score",
|
||||
'SURVACTES' => "Surveillance des pieces officielles (comptes annuels, actes)",
|
||||
'SURVDIRIGEANTS'=> "Surveillance des dirigeants",
|
||||
'SURVPAIEMENTS' => "Surveillance des paiements",
|
||||
'SURVLIENS' => "Surveillance des liens financiers",
|
||||
'SURVPRIV' => "Surveillance des privilèges",
|
||||
|
||||
//OPTIONS
|
||||
'MONPROFIL' => "Mon profil",
|
||||
'EDITION' => "Mode Edition",
|
||||
'PORTEFEUILLE' => "Portefeuille",
|
||||
'SURVLISTE' => "Liste des surveillances",
|
||||
|
||||
//DIVERS
|
||||
'INTERNATIONAL' => "Recherche Internationale",
|
||||
'BDF' => "Banque de France",
|
||||
'WORLDCHECK' => "World-Check Risk Intelligence",
|
||||
|
||||
);
|
124
library/Scores/Auth/Adapter/Db.php
Normal file
124
library/Scores/Auth/Adapter/Db.php
Normal file
@ -0,0 +1,124 @@
|
||||
<?php
|
||||
class Scores_Auth_Adapter_Db implements Zend_Auth_Adapter_Interface
|
||||
{
|
||||
protected $_username;
|
||||
|
||||
protected $_password;
|
||||
|
||||
protected $_hash;
|
||||
|
||||
protected $_timeout = 3600;
|
||||
|
||||
protected $checkWs = false;
|
||||
|
||||
protected $clients = array();
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $username
|
||||
* @param string $password
|
||||
* @param boolean $checkWs
|
||||
*/
|
||||
public function __construct($username, $password, $checkWs = false)
|
||||
{
|
||||
$this->_username = $username;
|
||||
$this->_password = $password;
|
||||
$this->_hash = md5($username.'|'.$password);
|
||||
$this->checkWs = $checkWs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Limit access to only client IDs
|
||||
* @param array $id
|
||||
*/
|
||||
public function limitClient($id = null)
|
||||
{
|
||||
if (is_array($id) && count($id)>0) {
|
||||
$this->clients = $id;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Override the timeout
|
||||
* @param integer $seconds
|
||||
*/
|
||||
public function setTimeout($seconds = null)
|
||||
{
|
||||
if ($seconds===null)
|
||||
return;
|
||||
|
||||
$this->_timeout = $seconds;
|
||||
}
|
||||
|
||||
/**
|
||||
* (non-PHPdoc)
|
||||
* @see Zend_Auth_Adapter_Interface::authenticate()
|
||||
*/
|
||||
public function authenticate()
|
||||
{
|
||||
$userM = new Application_Model_Sdv1Utilisateurs();
|
||||
|
||||
$sql = $userM->select()
|
||||
->setIntegrityCheck(false)
|
||||
->from(array('u'=>'sdv1.utilisateurs'), array('u.idClient', 'u.id', 'u.login', 'u.password'))
|
||||
->join(array('c'=>'sdv1.clients'), 'u.idClient = c.id', array('c.timeout'))
|
||||
->where('u.login=?', $this->_username)
|
||||
->where('u.actif=?', 1)
|
||||
->where('u.deleted=?', 0)
|
||||
->where('c.actif=?','Oui');
|
||||
|
||||
if ( count($this->clients) > 0 ) {
|
||||
$sql->where('u.idClient IN('.join(',',$this->clients).')');
|
||||
}
|
||||
|
||||
if ($this->checkWs) {
|
||||
$sql->where('u.accesWS=?',1);
|
||||
}
|
||||
|
||||
$result = $userM->fetchRow($sql);
|
||||
|
||||
$identity = new stdClass();
|
||||
$identity->username = $this->_username;
|
||||
$identity->hash = $this->_hash;
|
||||
|
||||
if ( null === $result ) {
|
||||
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND, $identity, array("Identifiant ou mot de passe invalid"));
|
||||
} else {
|
||||
if ( $this->_password == $result->password
|
||||
|| $this->_password == md5($result->login.'|'.$result->password) ) {
|
||||
|
||||
/**
|
||||
* Date de debut de compte
|
||||
*/
|
||||
if ( !empty($result->dateDebutCompte) && $result->dateDebutCompte!='0000-00-00' ) {
|
||||
$today = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
|
||||
$dateDebutCompte = mktime(0, 0, 0, substr($result->dateDebutCompte,5,2), substr($result->dateDebutCompte,8,2), substr($result->dateDebutCompte,0,4));
|
||||
if ( $today < $dateDebutCompte ) {
|
||||
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, $identity, array("Date de validité dépassé"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Date de fin de compte
|
||||
*/
|
||||
if ( !empty($result->dateFinCompte) && $result->dateFinCompte!='0000-00-00' ) {
|
||||
$today = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
|
||||
$dateFinCompte = mktime(0, 0, 0, substr($result->dateFinCompte,5,2), substr($result->dateFinCompte,8,2), substr($result->dateFinCompte,0,4));
|
||||
if ( $today > $dateFinCompte ) {
|
||||
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, $identity, array("Date de validité dépassé"));
|
||||
}
|
||||
}
|
||||
|
||||
$identity->id = $result->id;
|
||||
$identity->idClient = $result->idClient;
|
||||
$timeout = (!empty($result->timeout)) ? $result->timeout : $this->_timeout;
|
||||
$identity->timeout = $timeout;
|
||||
$identity->time = time() + $timeout;
|
||||
return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $identity);
|
||||
|
||||
} else {
|
||||
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, $identity, array("Identification impossible"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
190
library/Scores/Auth/Adapter/Ws.php
Normal file
190
library/Scores/Auth/Adapter/Ws.php
Normal file
@ -0,0 +1,190 @@
|
||||
<?php
|
||||
class Scores_Auth_Adapter_Ws implements Zend_Auth_Adapter_Interface
|
||||
{
|
||||
/**
|
||||
* Identifiant de l'utilisateur
|
||||
* @var string
|
||||
*/
|
||||
protected $_username;
|
||||
|
||||
/**
|
||||
* Password
|
||||
* @var string
|
||||
*/
|
||||
protected $_password;
|
||||
|
||||
/**
|
||||
* Timeout
|
||||
* @var int
|
||||
*/
|
||||
protected $_timeout = 1800;
|
||||
|
||||
/**
|
||||
* Marqueur de vérification IP (en iponly)
|
||||
* @var boolean
|
||||
*/
|
||||
protected $_checkIp = false;
|
||||
|
||||
/**
|
||||
* Marqueur de vérification de hach
|
||||
* @var boolean
|
||||
*/
|
||||
protected $_checkHach = false;
|
||||
|
||||
/**
|
||||
* Liste des IPs des frontends (proxy)
|
||||
* @var array
|
||||
*/
|
||||
protected $listProxyIp = array(
|
||||
'62.210.222.34',
|
||||
);
|
||||
|
||||
/**
|
||||
* Authentification par WS
|
||||
* @param string $username
|
||||
* @param string $password
|
||||
* @param string $mode
|
||||
*/
|
||||
public function __construct($username, $password, $mode = null)
|
||||
{
|
||||
$this->_username = $username;
|
||||
$this->_password = $password;
|
||||
|
||||
if ($mode == 'hach') {
|
||||
$this->_checkHach = true;
|
||||
}
|
||||
|
||||
if ($mode == 'iponly'){
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && in_array($ip, $this->listProxyIp)) {
|
||||
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
}
|
||||
$this->_password = 'iponly:'.$ip;
|
||||
$this->_checkIp = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* (non-PHPdoc)
|
||||
* @see Zend_Auth_Adapter_Interface::authenticate()
|
||||
*/
|
||||
public function authenticate()
|
||||
{
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && in_array($ip, $this->listProxyIp)) {
|
||||
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
}
|
||||
|
||||
$ws = new Scores_Ws_Client('gestion', '0.3');
|
||||
$ws->setHttpLogin($this->_username);
|
||||
$ws->setHttpPassword($this->_password);
|
||||
$adressIp = $_SERVER['REMOTE_ADDR'];
|
||||
$parameters = new stdClass();
|
||||
$parameters->login = $this->_username;
|
||||
$parameters->ipUtilisateur = $ip;
|
||||
$parameters->from = 'auth';
|
||||
$InfosLogin = $ws->getInfosLogin($parameters);
|
||||
|
||||
// --- Renvoi
|
||||
if ( is_string($InfosLogin) || $InfosLogin->error->errnum != 0 ) {
|
||||
$message = $InfosLogin;
|
||||
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, $identity, array($message));
|
||||
}
|
||||
// --- Assignation identity
|
||||
elseif ( $InfosLogin !== false && !empty($InfosLogin->result->login)) {
|
||||
$identity = new stdClass();
|
||||
if ($this->_checkIp || $this->_checkHach) {
|
||||
Zend_Registry::get('firebug')->info("IN");
|
||||
$identity->password = $this->_password;
|
||||
} else {
|
||||
$identity->password = md5($InfosLogin->result->login.'|'.$this->_password);
|
||||
}
|
||||
Zend_Registry::get('firebug')->info($identity->password);
|
||||
$identity->username = $InfosLogin->result->login;
|
||||
$identity->email = $InfosLogin->result->email;
|
||||
$identity->profil = $InfosLogin->result->profil;
|
||||
$identity->pref = $InfosLogin->result->pref;
|
||||
$identity->droits = $InfosLogin->result->droits;
|
||||
$identity->droitsClients = $InfosLogin->result->droitsClients;
|
||||
$identity->nom = $InfosLogin->result->nom;
|
||||
$identity->prenom = $InfosLogin->result->prenom;
|
||||
$identity->tel = $InfosLogin->result->tel;
|
||||
$identity->fax = $InfosLogin->result->fax;
|
||||
$identity->mobile = $InfosLogin->result->mobile;
|
||||
$identity->id = $InfosLogin->result->id;
|
||||
$identity->idClient = $InfosLogin->result->idClient;
|
||||
$identity->reference = $InfosLogin->result->reference;
|
||||
$identity->nbReponses = $InfosLogin->result->nbReponses;
|
||||
$identity->typeScore = $InfosLogin->result->typeScore;
|
||||
$identity->dateValidation = $InfosLogin->result->dateValidation;
|
||||
$identity->nombreConnexions = $InfosLogin->result->nombreConnexions;
|
||||
$identity->dateDerniereConnexion = $InfosLogin->result->dateDerniereConnexion;
|
||||
$identity->dateDebutCompte = $InfosLogin->result->dateDebutCompte;
|
||||
$identity->dateFinCompte = $InfosLogin->result->dateFinCompte;
|
||||
$identity->acceptationCGU = $InfosLogin->result->acceptationCGU;
|
||||
$identity->ip = $ip;
|
||||
$identity->version = $InfosLogin->result->version;
|
||||
$identity->modeEdition = false;
|
||||
|
||||
$timeout = (!empty($InfosLogin->result->timeout)) ? $InfosLogin->result->timeout : $this->_timeout;
|
||||
$identity->timeout = $timeout;
|
||||
$identity->time = time() + $timeout;
|
||||
$lang = in_array($InfosLogin->result->lang, array('fr','en')) ? $InfosLogin->result->lang : 'fr';
|
||||
$identity->lang = $lang;
|
||||
$identity->langtmp = $lang;
|
||||
|
||||
// --- Adresse Ip interdites
|
||||
$ipInterdites = array(
|
||||
'81.252.88.0-81.252.88.7', // CTE D AGGLOMERATION DE SOPHIA
|
||||
'195.200.187.163', // PacWan
|
||||
'213.11.81.41', // Verizon France SAS
|
||||
'83.206.171.252', // FR-BASE-D-INFORMATIONS-LEGALES-BI
|
||||
'81.255.32.139',
|
||||
'212.155.191.100-212.155.191.199', // Satair A/S
|
||||
'212.37.196.156', // GENERALE-MULTIMEDIA-SUD
|
||||
'80.245.60.121', // Planete Marseille - Mailclub
|
||||
'213.246.57.101', // IKOULA
|
||||
'193.104.158.0-193.104.158.255', // Altares.fr
|
||||
'195.6.3.0-195.6.3.255', // ORT
|
||||
'217.144.112.0-217.144.116.63', // Coface
|
||||
);
|
||||
|
||||
// --- Validation IP
|
||||
$overallIpValidate = false;
|
||||
foreach ( $ipInterdites as $filtre ) {
|
||||
if ( strpos($filtre, '*') ) {
|
||||
$filtre = str_replace('*', '0', $filtre) . '-' . str_replace('*', '255', $filtre);
|
||||
}
|
||||
// Is it a range ?
|
||||
if ( strpos($filtre, '-') ) {
|
||||
$validateIp = new Scores_Validate_IpInNetwork();
|
||||
$validateIp->setNetworkNotation($filtre);
|
||||
$overallIpValidate = $validateIp->isValid($ipToValidate);
|
||||
}
|
||||
// Ip only
|
||||
else {
|
||||
if ( $filtre === $ipToValidate ) {
|
||||
$overallIpValidate = true;
|
||||
}
|
||||
}
|
||||
// Break foreach
|
||||
if ( $overallIpValidate === true ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Exit with error
|
||||
if ( $overallIpValidate === false ) {
|
||||
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_UNCATEGORIZED, $identity);
|
||||
}
|
||||
|
||||
// --- OK connecté
|
||||
$this->_username = $identity->username;
|
||||
$this->_password = $identity->password;
|
||||
return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $identity);
|
||||
|
||||
} else {
|
||||
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_UNCATEGORIZED, $identity, array("Identification impossible"));
|
||||
}
|
||||
}
|
||||
}
|
87
library/Scores/Locale/String.php
Normal file
87
library/Scores/Locale/String.php
Normal file
@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/**
|
||||
* Miscellaneous functions to clean string.
|
||||
*/
|
||||
class Scores_Locale_String
|
||||
{
|
||||
/**
|
||||
* Clean up a string value.
|
||||
*
|
||||
* Resulting string contains only alphanumerics and separators.
|
||||
*
|
||||
* @param $string
|
||||
* A string to clean.
|
||||
* @param $clean_slash
|
||||
* Whether to clean slashes from the given string.
|
||||
* @return
|
||||
* The cleaned string.
|
||||
*/
|
||||
public static function cleanstring($string)
|
||||
{
|
||||
$transliterate = TRUE;
|
||||
$reduce_ascii = FALSE;
|
||||
$output = $string;
|
||||
|
||||
// Remove accents and transliterate
|
||||
if ($transliterate) {
|
||||
static $i18n_loaded = false;
|
||||
static $translations = array();
|
||||
if (!$i18n_loaded) {
|
||||
$path = realpath(dirname(__FILE__));
|
||||
if (is_file($path .'/i18n-ascii.txt')) {
|
||||
$translations = parse_ini_file($path .'/String/i18n-ascii.txt');
|
||||
}
|
||||
$i18n_loaded = true;
|
||||
}
|
||||
|
||||
$output = strtr($output, $translations);
|
||||
}
|
||||
|
||||
// Reduce to the subset of ASCII96 letters and numbers
|
||||
if ($reduce_ascii) {
|
||||
$pattern = '/[^a-zA-Z0-9\/]+/ ';
|
||||
$output = preg_replace($pattern, $separator, $output);
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
public static function cleanutf8($string)
|
||||
{
|
||||
$transliterate = TRUE;
|
||||
$output = $string;
|
||||
|
||||
// Remove accents and transliterate
|
||||
if ($transliterate) {
|
||||
static $i18n_loaded = false;
|
||||
static $translations = array();
|
||||
if (!$i18n_loaded) {
|
||||
$path = realpath(dirname(__FILE__));
|
||||
if (is_file($path .'/i18n-ascii.txt')) {
|
||||
$translations = parse_ini_file($path .'/String/i18n-ascii.txt');
|
||||
}
|
||||
$i18n_loaded = true;
|
||||
}
|
||||
|
||||
$output = strtr($output, $translations);
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
// Fixes the encoding to uf8
|
||||
public static function fixEncoding($in_str)
|
||||
{
|
||||
$cur_encoding = mb_detect_encoding($in_str) ;
|
||||
if($cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
|
||||
return $in_str;
|
||||
else
|
||||
return utf8_encode($in_str);
|
||||
} // fixEncoding
|
||||
|
||||
public static function cleanstring_deep($value)
|
||||
{
|
||||
$value = is_array($value) ?
|
||||
array_map('self::cleanstring_deep', $value) :
|
||||
cleanstring($value);
|
||||
return $value;
|
||||
}
|
||||
}
|
564
library/Scores/Locale/String/i18n-ascii.txt
Normal file
564
library/Scores/Locale/String/i18n-ascii.txt
Normal file
@ -0,0 +1,564 @@
|
||||
; global transliteration
|
||||
[default]
|
||||
À = "A"
|
||||
Á = "A"
|
||||
 = "A"
|
||||
à = "A"
|
||||
Ä = "Ae"
|
||||
Å = "A"
|
||||
Æ = "A"
|
||||
Ā = "A"
|
||||
Ą = "A"
|
||||
Ă = "A"
|
||||
Ç = "C"
|
||||
Ć = "C"
|
||||
Č = "C"
|
||||
Ĉ = "C"
|
||||
Ċ = "C"
|
||||
Ď = "D"
|
||||
Đ = "D"
|
||||
È = "E"
|
||||
É = "E"
|
||||
Ê = "E"
|
||||
Ë = "E"
|
||||
Ē = "E"
|
||||
Ę = "E"
|
||||
Ě = "E"
|
||||
Ĕ = "E"
|
||||
Ė = "E"
|
||||
Ĝ = "G"
|
||||
Ğ = "G"
|
||||
Ġ = "G"
|
||||
Ģ = "G"
|
||||
Ĥ = "H"
|
||||
Ħ = "H"
|
||||
Ì = "I"
|
||||
Í = "I"
|
||||
Î = "I"
|
||||
Ï = "I"
|
||||
Ī = "I"
|
||||
Ĩ = "I"
|
||||
Ĭ = "I"
|
||||
Į = "I"
|
||||
İ = "I"
|
||||
IJ = "IJ"
|
||||
Ĵ = "J"
|
||||
Ķ = "K"
|
||||
Ľ = "K"
|
||||
Ĺ = "K"
|
||||
Ļ = "K"
|
||||
Ŀ = "K"
|
||||
Ł = "L"
|
||||
Ñ = "N"
|
||||
Ń = "N"
|
||||
Ň = "N"
|
||||
Ņ = "N"
|
||||
Ŋ = "N"
|
||||
Ò = "O"
|
||||
Ó = "O"
|
||||
Ô = "O"
|
||||
Õ = "O"
|
||||
Ö = "Oe"
|
||||
Ø = "O"
|
||||
Ō = "O"
|
||||
Ő = "O"
|
||||
Ŏ = "O"
|
||||
Œ = "OE"
|
||||
Ŕ = "R"
|
||||
Ř = "R"
|
||||
Ŗ = "R"
|
||||
Ś = "S"
|
||||
Ş = "S"
|
||||
Ŝ = "S"
|
||||
Ș = "S"
|
||||
Š = "S"
|
||||
Ť = "T"
|
||||
Ţ = "T"
|
||||
Ŧ = "T"
|
||||
Ț = "T"
|
||||
Ù = "U"
|
||||
Ú = "U"
|
||||
Û = "U"
|
||||
Ü = "Ue"
|
||||
Ū = "U"
|
||||
Ů = "U"
|
||||
Ű = "U"
|
||||
Ŭ = "U"
|
||||
Ũ = "U"
|
||||
Ų = "U"
|
||||
Ŵ = "W"
|
||||
Ŷ = "Y"
|
||||
Ÿ = "Y"
|
||||
Ý = "Y"
|
||||
Ź = "Z"
|
||||
Ż = "Z"
|
||||
Ž = "Z"
|
||||
à = "a"
|
||||
á = "a"
|
||||
â = "a"
|
||||
ã = "a"
|
||||
ä = "ae"
|
||||
ā = "a"
|
||||
ą = "a"
|
||||
ă = "a"
|
||||
å = "a"
|
||||
æ = "ae"
|
||||
ç = "c"
|
||||
ć = "c"
|
||||
č = "c"
|
||||
ĉ = "c"
|
||||
ċ = "c"
|
||||
ď = "d"
|
||||
đ = "d"
|
||||
è = "e"
|
||||
é = "e"
|
||||
ê = "e"
|
||||
ë = "e"
|
||||
ē = "e"
|
||||
ę = "e"
|
||||
ě = "e"
|
||||
ĕ = "e"
|
||||
ė = "e"
|
||||
ƒ = "f"
|
||||
ĝ = "g"
|
||||
ğ = "g"
|
||||
ġ = "g"
|
||||
ģ = "g"
|
||||
ĥ = "h"
|
||||
ħ = "h"
|
||||
ì = "i"
|
||||
í = "i"
|
||||
î = "i"
|
||||
ï = "i"
|
||||
ī = "i"
|
||||
ĩ = "i"
|
||||
ĭ = "i"
|
||||
į = "i"
|
||||
ı = "i"
|
||||
ij = "ij"
|
||||
ĵ = "j"
|
||||
ķ = "k"
|
||||
ĸ = "k"
|
||||
ł = "l"
|
||||
ľ = "l"
|
||||
ĺ = "l"
|
||||
ļ = "l"
|
||||
ŀ = "l"
|
||||
ñ = "n"
|
||||
ń = "n"
|
||||
ň = "n"
|
||||
ņ = "n"
|
||||
ʼn = "n"
|
||||
ŋ = "n"
|
||||
ò = "o"
|
||||
ó = "o"
|
||||
ô = "o"
|
||||
õ = "o"
|
||||
ö = "oe"
|
||||
ø = "o"
|
||||
ō = "o"
|
||||
ő = "o"
|
||||
ŏ = "o"
|
||||
œ = "oe"
|
||||
ŕ = "r"
|
||||
ř = "r"
|
||||
ŗ = "r"
|
||||
ś = "s"
|
||||
š = "s"
|
||||
ş = "s"
|
||||
ť = "t"
|
||||
ţ = "t"
|
||||
ù = "u"
|
||||
ú = "u"
|
||||
û = "u"
|
||||
ü = "ue"
|
||||
ū = "u"
|
||||
ů = "u"
|
||||
ű = "u"
|
||||
ŭ = "u"
|
||||
ũ = "u"
|
||||
ų = "u"
|
||||
ŵ = "w"
|
||||
ÿ = "y"
|
||||
ý = "y"
|
||||
ŷ = "y"
|
||||
ż = "z"
|
||||
ź = "z"
|
||||
ž = "z"
|
||||
ß = "ss"
|
||||
ſ = "ss"
|
||||
Α = "A"
|
||||
Ά = "A"
|
||||
Ἀ = "A"
|
||||
Ἁ = "A"
|
||||
Ἂ = "A"
|
||||
Ἃ = "A"
|
||||
Ἄ = "A"
|
||||
Ἅ = "A"
|
||||
Ἆ = "A"
|
||||
Ἇ = "A"
|
||||
ᾈ = "A"
|
||||
ᾉ = "A"
|
||||
ᾊ = "A"
|
||||
ᾋ = "A"
|
||||
ᾌ = "A"
|
||||
ᾍ = "A"
|
||||
ᾎ = "A"
|
||||
ᾏ = "A"
|
||||
Ᾰ = "A"
|
||||
Ᾱ = "A"
|
||||
Ὰ = "A"
|
||||
Ά = "A"
|
||||
ᾼ = "A"
|
||||
Β = "B"
|
||||
Γ = "G"
|
||||
Δ = "D"
|
||||
Ε = "E"
|
||||
Έ = "E"
|
||||
Ἐ = "E"
|
||||
Ἑ = "E"
|
||||
Ἒ = "E"
|
||||
Ἓ = "E"
|
||||
Ἔ = "E"
|
||||
Ἕ = "E"
|
||||
Έ = "E"
|
||||
Ὲ = "E"
|
||||
Ζ = "Z"
|
||||
Η = "I"
|
||||
Ή = "I"
|
||||
Ἠ = "I"
|
||||
Ἡ = "I"
|
||||
Ἢ = "I"
|
||||
Ἣ = "I"
|
||||
Ἤ = "I"
|
||||
Ἥ = "I"
|
||||
Ἦ = "I"
|
||||
Ἧ = "I"
|
||||
ᾘ = "I"
|
||||
ᾙ = "I"
|
||||
ᾚ = "I"
|
||||
ᾛ = "I"
|
||||
ᾜ = "I"
|
||||
ᾝ = "I"
|
||||
ᾞ = "I"
|
||||
ᾟ = "I"
|
||||
Ὴ = "I"
|
||||
Ή = "I"
|
||||
ῌ = "I"
|
||||
Θ = "TH"
|
||||
Ι = "I"
|
||||
Ί = "I"
|
||||
Ϊ = "I"
|
||||
Ἰ = "I"
|
||||
Ἱ = "I"
|
||||
Ἲ = "I"
|
||||
Ἳ = "I"
|
||||
Ἴ = "I"
|
||||
Ἵ = "I"
|
||||
Ἶ = "I"
|
||||
Ἷ = "I"
|
||||
Ῐ = "I"
|
||||
Ῑ = "I"
|
||||
Ὶ = "I"
|
||||
Ί = "I"
|
||||
Κ = "K"
|
||||
Λ = "L"
|
||||
Μ = "M"
|
||||
Ν = "N"
|
||||
Ξ = "KS"
|
||||
Ο = "O"
|
||||
Ό = "O"
|
||||
Ὀ = "O"
|
||||
Ὁ = "O"
|
||||
Ὂ = "O"
|
||||
Ὃ = "O"
|
||||
Ὄ = "O"
|
||||
Ὅ = "O"
|
||||
Ὸ = "O"
|
||||
Ό = "O"
|
||||
Π = "P"
|
||||
Ρ = "R"
|
||||
Ῥ = "R"
|
||||
Σ = "S"
|
||||
Τ = "T"
|
||||
Υ = "Y"
|
||||
Ύ = "Y"
|
||||
Ϋ = "Y"
|
||||
Ὑ = "Y"
|
||||
Ὓ = "Y"
|
||||
Ὕ = "Y"
|
||||
Ὗ = "Y"
|
||||
Ῠ = "Y"
|
||||
Ῡ = "Y"
|
||||
Ὺ = "Y"
|
||||
Ύ = "Y"
|
||||
Φ = "F"
|
||||
Χ = "X"
|
||||
Ψ = "PS"
|
||||
Ω = "O"
|
||||
Ώ = "O"
|
||||
Ὠ = "O"
|
||||
Ὡ = "O"
|
||||
Ὢ = "O"
|
||||
Ὣ = "O"
|
||||
Ὤ = "O"
|
||||
Ὥ = "O"
|
||||
Ὦ = "O"
|
||||
Ὧ = "O"
|
||||
ᾨ = "O"
|
||||
ᾩ = "O"
|
||||
ᾪ = "O"
|
||||
ᾫ = "O"
|
||||
ᾬ = "O"
|
||||
ᾭ = "O"
|
||||
ᾮ = "O"
|
||||
ᾯ = "O"
|
||||
Ὼ = "O"
|
||||
Ώ = "O"
|
||||
ῼ = "O"
|
||||
α = "a"
|
||||
ά = "a"
|
||||
ἀ = "a"
|
||||
ἁ = "a"
|
||||
ἂ = "a"
|
||||
ἃ = "a"
|
||||
ἄ = "a"
|
||||
ἅ = "a"
|
||||
ἆ = "a"
|
||||
ἇ = "a"
|
||||
ᾀ = "a"
|
||||
ᾁ = "a"
|
||||
ᾂ = "a"
|
||||
ᾃ = "a"
|
||||
ᾄ = "a"
|
||||
ᾅ = "a"
|
||||
ᾆ = "a"
|
||||
ᾇ = "a"
|
||||
ὰ = "a"
|
||||
ά = "a"
|
||||
ᾰ = "a"
|
||||
ᾱ = "a"
|
||||
ᾲ = "a"
|
||||
ᾳ = "a"
|
||||
ᾴ = "a"
|
||||
ᾶ = "a"
|
||||
ᾷ = "a"
|
||||
β = "b"
|
||||
γ = "g"
|
||||
δ = "d"
|
||||
ε = "e"
|
||||
έ = "e"
|
||||
ἐ = "e"
|
||||
ἑ = "e"
|
||||
ἒ = "e"
|
||||
ἓ = "e"
|
||||
ἔ = "e"
|
||||
ἕ = "e"
|
||||
ὲ = "e"
|
||||
έ = "e"
|
||||
ζ = "z"
|
||||
η = "i"
|
||||
ή = "i"
|
||||
ἠ = "i"
|
||||
ἡ = "i"
|
||||
ἢ = "i"
|
||||
ἣ = "i"
|
||||
ἤ = "i"
|
||||
ἥ = "i"
|
||||
ἦ = "i"
|
||||
ἧ = "i"
|
||||
ᾐ = "i"
|
||||
ᾑ = "i"
|
||||
ᾒ = "i"
|
||||
ᾓ = "i"
|
||||
ᾔ = "i"
|
||||
ᾕ = "i"
|
||||
ᾖ = "i"
|
||||
ᾗ = "i"
|
||||
ὴ = "i"
|
||||
ή = "i"
|
||||
ῂ = "i"
|
||||
ῃ = "i"
|
||||
ῄ = "i"
|
||||
ῆ = "i"
|
||||
ῇ = "i"
|
||||
θ = "th"
|
||||
ι = "i"
|
||||
ί = "i"
|
||||
ϊ = "i"
|
||||
ΐ = "i"
|
||||
ἰ = "i"
|
||||
ἱ = "i"
|
||||
ἲ = "i"
|
||||
ἳ = "i"
|
||||
ἴ = "i"
|
||||
ἵ = "i"
|
||||
ἶ = "i"
|
||||
ἷ = "i"
|
||||
ὶ = "i"
|
||||
ί = "i"
|
||||
ῐ = "i"
|
||||
ῑ = "i"
|
||||
ῒ = "i"
|
||||
ΐ = "i"
|
||||
ῖ = "i"
|
||||
ῗ = "i"
|
||||
κ = "k"
|
||||
λ = "l"
|
||||
μ = "m"
|
||||
ν = "n"
|
||||
ξ = "ks"
|
||||
ο = "o"
|
||||
ό = "o"
|
||||
ὀ = "o"
|
||||
ὁ = "o"
|
||||
ὂ = "o"
|
||||
ὃ = "o"
|
||||
ὄ = "o"
|
||||
ὅ = "o"
|
||||
ὸ = "o"
|
||||
ό = "o"
|
||||
π = "p"
|
||||
ρ = "r"
|
||||
ῤ = "r"
|
||||
ῥ = "r"
|
||||
σ = "s"
|
||||
ς = "s"
|
||||
τ = "t"
|
||||
υ = "y"
|
||||
ύ = "y"
|
||||
ϋ = "y"
|
||||
ΰ = "y"
|
||||
ὐ = "y"
|
||||
ὑ = "y"
|
||||
ὒ = "y"
|
||||
ὓ = "y"
|
||||
ὔ = "y"
|
||||
ὕ = "y"
|
||||
ὖ = "y"
|
||||
ὗ = "y"
|
||||
ὺ = "y"
|
||||
ύ = "y"
|
||||
ῠ = "y"
|
||||
ῡ = "y"
|
||||
ῢ = "y"
|
||||
ΰ = "y"
|
||||
ῦ = "y"
|
||||
ῧ = "y"
|
||||
φ = "f"
|
||||
χ = "x"
|
||||
ψ = "ps"
|
||||
ω = "o"
|
||||
ώ = "o"
|
||||
ὠ = "o"
|
||||
ὡ = "o"
|
||||
ὢ = "o"
|
||||
ὣ = "o"
|
||||
ὤ = "o"
|
||||
ὥ = "o"
|
||||
ὦ = "o"
|
||||
ὧ = "o"
|
||||
ᾠ = "o"
|
||||
ᾡ = "o"
|
||||
ᾢ = "o"
|
||||
ᾣ = "o"
|
||||
ᾤ = "o"
|
||||
ᾥ = "o"
|
||||
ᾦ = "o"
|
||||
ᾧ = "o"
|
||||
ὼ = "o"
|
||||
ώ = "o"
|
||||
ῲ = "o"
|
||||
ῳ = "o"
|
||||
ῴ = "o"
|
||||
ῶ = "o"
|
||||
ῷ = "o"
|
||||
¨ = ""
|
||||
΅ = ""
|
||||
᾿ = ""
|
||||
῾ = ""
|
||||
῍ = ""
|
||||
῝ = ""
|
||||
῎ = ""
|
||||
῞ = ""
|
||||
῏ = ""
|
||||
῟ = ""
|
||||
῀ = ""
|
||||
῁ = ""
|
||||
΄ = ""
|
||||
΅ = ""
|
||||
` = ""
|
||||
῭ = ""
|
||||
ͺ = ""
|
||||
᾽ = ""
|
||||
А = "A"
|
||||
Б = "B"
|
||||
В = "V"
|
||||
Г = "G"
|
||||
Д = "D"
|
||||
Е = "E"
|
||||
Ё = "E"
|
||||
Ж = "ZH"
|
||||
З = "Z"
|
||||
И = "I"
|
||||
Й = "I"
|
||||
К = "K"
|
||||
Л = "L"
|
||||
М = "M"
|
||||
Н = "N"
|
||||
О = "O"
|
||||
П = "P"
|
||||
Р = "R"
|
||||
С = "S"
|
||||
Т = "T"
|
||||
У = "U"
|
||||
Ф = "F"
|
||||
Х = "KH"
|
||||
Ц = "TS"
|
||||
Ч = "CH"
|
||||
Ш = "SH"
|
||||
Щ = "SHCH"
|
||||
Ы = "Y"
|
||||
Э = "E"
|
||||
Ю = "YU"
|
||||
Я = "YA"
|
||||
а = "A"
|
||||
б = "B"
|
||||
в = "V"
|
||||
г = "G"
|
||||
д = "D"
|
||||
е = "E"
|
||||
ё = "E"
|
||||
ж = "ZH"
|
||||
з = "Z"
|
||||
и = "I"
|
||||
й = "I"
|
||||
к = "K"
|
||||
л = "L"
|
||||
м = "M"
|
||||
н = "N"
|
||||
о = "O"
|
||||
п = "P"
|
||||
р = "R"
|
||||
с = "S"
|
||||
т = "T"
|
||||
у = "U"
|
||||
ф = "F"
|
||||
х = "KH"
|
||||
ц = "TS"
|
||||
ч = "CH"
|
||||
ш = "SH"
|
||||
щ = "SHCH"
|
||||
ы = "Y"
|
||||
э = "E"
|
||||
ю = "YU"
|
||||
я = "YA"
|
||||
Ъ = ""
|
||||
ъ = ""
|
||||
Ь = ""
|
||||
ь = ""
|
||||
|
||||
ð = "d"
|
||||
Ð = "D"
|
||||
þ = "th"
|
||||
Þ = "TH"
|
2
library/Scores/Locale/String/special.txt
Normal file
2
library/Scores/Locale/String/special.txt
Normal file
@ -0,0 +1,2 @@
|
||||
[default]
|
||||
№ = "N°"
|
130
library/Scores/Mail/Method.php
Normal file
130
library/Scores/Mail/Method.php
Normal file
@ -0,0 +1,130 @@
|
||||
<?php
|
||||
class Scores_Mail_Method extends Zend_Mail
|
||||
{
|
||||
protected $config;
|
||||
protected $transport;
|
||||
|
||||
/**
|
||||
* Gestion de l'envoi des mails en fonction de la configuration
|
||||
* Fournir un objet de configuration ou utiliser la configuration de l'application
|
||||
* method => smtp, sendmail, file
|
||||
* Si method = smtp
|
||||
* (host => IP, dns)
|
||||
*
|
||||
* Activer l'authentification
|
||||
* (auth => login, plain, ....)
|
||||
* (username => )
|
||||
* (password => )
|
||||
*/
|
||||
public function __construct( $config = null )
|
||||
{
|
||||
if ($config === null) {
|
||||
$c = Zend_Registry::get('config');
|
||||
$this->config = $c->profil->mail;
|
||||
} else {
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
$this->_charset = 'ISO-8859-15';
|
||||
|
||||
// --- Configuration du transport SMTP
|
||||
if ( $this->config->method == 'smtp' ) {
|
||||
|
||||
$config = array();
|
||||
|
||||
if ( isset($this->config->auth) ) {
|
||||
$config['auth'] = $this->config->auth;
|
||||
if ( isset($this->config->username) ) {
|
||||
$config['username'] = $this->config->username;
|
||||
}
|
||||
if ( isset($this->config->password) ) {
|
||||
$config['password'] = $this->config->password;
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset($this->config->port) ) {
|
||||
$config['port'] = $this->config->port;
|
||||
}
|
||||
|
||||
$tr = new Zend_Mail_Transport_Smtp($this->config->host, $config);
|
||||
}
|
||||
|
||||
// --- Configuration transport Sendmail
|
||||
if ( $this->config->method == 'sendmail' ) {
|
||||
$tr = new Zend_Mail_Transport_Sendmail();
|
||||
}
|
||||
|
||||
// --- Configuration transport File
|
||||
if ( $this->config->method == 'file' ) {
|
||||
$tr = new Zend_Mail_Transport_File(array('callback' => array($this, 'recipientFilename')));
|
||||
}
|
||||
|
||||
$this->transport = $tr;
|
||||
}
|
||||
|
||||
/**
|
||||
* Champ From en fonction de la clé de configuration
|
||||
* @param string $configKey
|
||||
*/
|
||||
public function setFromKey($configKey)
|
||||
{
|
||||
$email = $this->config->email->$configKey;
|
||||
$this->setFrom($email, ucfirst($configKey));
|
||||
}
|
||||
|
||||
/**
|
||||
* Champ To en fonction de la clé de configuration
|
||||
* @param string $configKey
|
||||
*/
|
||||
public function addToKey($configKey)
|
||||
{
|
||||
$email = $this->config->email->$configKey;
|
||||
$this->addTo($email, ucfirst($configKey));
|
||||
}
|
||||
|
||||
/**
|
||||
* Définit le sujet de l'email
|
||||
* @param string $texte
|
||||
*/
|
||||
public function setSubjectC($texte = '')
|
||||
{
|
||||
$this->setSubject($this->txtConvert($texte));
|
||||
}
|
||||
|
||||
/**
|
||||
* Définit le corps de l'email au format texte
|
||||
* @param string $texte
|
||||
*/
|
||||
public function setBodyTextC($texte = '')
|
||||
{
|
||||
$this->setBodyText($this->txtConvert($texte));
|
||||
}
|
||||
|
||||
/**
|
||||
* Définit le corps de l'email au format html
|
||||
* @param string $html
|
||||
*/
|
||||
public function setBodyHtmlC($html = '')
|
||||
{
|
||||
$this->setBodyHtml($this->txtConvert($html));
|
||||
}
|
||||
|
||||
/**
|
||||
* Envoi de l'emai
|
||||
*/
|
||||
public function execute()
|
||||
{
|
||||
return $this->send($this->transport);
|
||||
}
|
||||
|
||||
//We suppose that character encoding of strings is UTF-8 on PHP script.
|
||||
protected function txtConvert($string)
|
||||
{
|
||||
return mb_convert_encoding($string, 'ISO-8859-1', 'UTF-8');
|
||||
}
|
||||
|
||||
protected function recipientFilename($transport)
|
||||
{
|
||||
return $transport->recipients . '_' . mt_rand() . '.tmp';
|
||||
}
|
||||
}
|
614
library/Scores/Validate/IpInNetwork.php
Normal file
614
library/Scores/Validate/IpInNetwork.php
Normal file
@ -0,0 +1,614 @@
|
||||
<?php
|
||||
class Scores_Validate_IpInNetwork extends Zend_Validate_Ip
|
||||
{
|
||||
const NOT_IN_NETWORK = 'notInNetwork';
|
||||
const LOW_IN_NETWORK = 'lowInNetwork';
|
||||
const HIGH_IN_NETWORK = 'highInNetwork';
|
||||
const INVALID_NETWORK = 'invalidNetwork';
|
||||
const MISSING_NETWORK = 'missingNetwork';
|
||||
|
||||
/**
|
||||
* A CIDR number (valid values 0-32)
|
||||
* @var int
|
||||
*/
|
||||
protected $_cidr = 0;
|
||||
|
||||
/**
|
||||
* A decimal 32-bit netmask
|
||||
* @var string
|
||||
*/
|
||||
protected $_netmask = '255.255.255.255';
|
||||
|
||||
/**
|
||||
* A 4-octet IPv4 network address
|
||||
* @var string
|
||||
*/
|
||||
protected $_network = null;
|
||||
|
||||
/**
|
||||
* A network/mask notation or network range
|
||||
* @var string
|
||||
*/
|
||||
protected $_notation = null;
|
||||
|
||||
/**
|
||||
* Unsigned decimal "from" IP address
|
||||
* @var string
|
||||
*/
|
||||
protected $_rangeFrom = null;
|
||||
|
||||
/**
|
||||
* Unsigned decimal "to" IP address
|
||||
* @var string
|
||||
*/
|
||||
protected $_rangeTo = 0;
|
||||
|
||||
/**
|
||||
* Will throw Exception instead of trigger_error if true
|
||||
* @var false
|
||||
*/
|
||||
protected $_throw = false;
|
||||
|
||||
/**
|
||||
* Constructor for IpInNetwork class
|
||||
*
|
||||
* @desc <p>Accepts an array with options. Also adds the error messages to the parent's message templates.</p>
|
||||
* @example <p>List of allow options and their use:
|
||||
* $options argument must be an array and allows two key/value pairs for this class and passes on any remaining
|
||||
* values to the parent class Zend_Validate_Ip. If key 'network' exists it will pass on the value to method
|
||||
* setNetworkNotation and for key 'throw' to setThrow4Notation.</p>
|
||||
* @see Zend_Validate_Ip::__construct()
|
||||
* @see Scores_Validate_IpInNetwork::setNetworkNotation()
|
||||
* @see Scores_Validate_IpInNetwork::setThrow4Notation()
|
||||
* @param array $options
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($options = array()) {
|
||||
if ( !empty($options) && is_array($options) ) {
|
||||
if ( array_key_exists('throw',$options) ) {
|
||||
$this->setThrow4Notation($options['throw']);
|
||||
unset($options['throw']);
|
||||
}
|
||||
if ( array_key_exists('network',$options) ) {
|
||||
$this->setNetworkNotation($options['network']);
|
||||
unset($options['network']);
|
||||
}
|
||||
}
|
||||
|
||||
$this->setMessages(array());
|
||||
|
||||
parent::__construct($options);
|
||||
}
|
||||
|
||||
/**
|
||||
* (non-PHPdoc)
|
||||
* @see Zend_Validate_Abstract::setMessages()
|
||||
*/
|
||||
public function setMessages(array $messages) {
|
||||
$newMessages = array(
|
||||
self::MISSING_NETWORK => 'No valid network has been given to validate against',
|
||||
self::INVALID_NETWORK => 'The network is not an accepted format',
|
||||
self::NOT_IN_NETWORK => "The ip '%value%' does not match the provided 32 network",
|
||||
self::LOW_IN_NETWORK => "The ip '%value%' is lower in range than the provided network",
|
||||
self::HIGH_IN_NETWORK => "The ip '%value%' is higher in range than the provided network",
|
||||
);
|
||||
|
||||
foreach ( $newMessages as $messageKey => $messageString ) {
|
||||
if ( !isset($this->_messageTemplates[$messageKey]) ) {
|
||||
$this->_messageTemplates[$messageKey] = $messageString;
|
||||
} elseif ( !empty($messages) && array_key_exists($messageKey,$messages) ) {
|
||||
$this->_messageTemplates[$messageKey] = $messages[$messageKey];
|
||||
unset($messages[$messageKey]);
|
||||
}
|
||||
}
|
||||
|
||||
empty($messages) || parent::setMessages($messages) ;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* (non-PHPdoc)
|
||||
* @see Zend_Validate_Ip::isValid()
|
||||
*/
|
||||
public function isValid($value) {
|
||||
if ( true === parent::isValid($value) ) {
|
||||
$notation = $this->_getNotation();
|
||||
if ( !empty($notation) ) {
|
||||
// a valid notation has been set
|
||||
$network = $this->_getNetwork();
|
||||
if ( !empty($network) ) {
|
||||
if ( true === $this->_validateIpInNetwork($value) ) {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
if ( true === $this->_validateIpInRange($value) ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// NOTE: Errors are only available in regards to the value (ip address) and not the network/netmask (notation)
|
||||
$errors = $this->getErrors();
|
||||
if ( empty($errors) ) {
|
||||
$this->_error(self::NOT_IN_NETWORK);
|
||||
}
|
||||
} else {
|
||||
$this->_error(self::MISSING_NETWORK);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates the IP in a given network
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.36 2012/01/14 16:34:00 CST
|
||||
* @author aw
|
||||
* @desc <p>Takes the CIDR and network (IP) address and validates the given IP address against it. Sets the appropriate
|
||||
* errors if the IP is not a match for the network.</p>
|
||||
* @param string $ip
|
||||
* @return bool
|
||||
*/
|
||||
protected function _validateIpInNetwork($ip) {
|
||||
$netmask = $this->getCidr();
|
||||
$network = $this->_getNetwork();
|
||||
|
||||
// lets get this out of the way first
|
||||
if ( 32 === $netmask ) {
|
||||
// this network has to match the IP
|
||||
if ( $network === $ip ) {
|
||||
return true;
|
||||
} else {
|
||||
$this->_error(self::NOT_IN_NETWORK);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// get the unsigned integers for the IP and network address
|
||||
$ip_addr_uDec = $this->_makeUnsignedAddress($ip);
|
||||
$lNetwork_uDec = $this->_makeUnsignedAddress($network);
|
||||
|
||||
// let verify the IP against the lower end of the range
|
||||
if ( $ip_addr_uDec < $lNetwork_uDec ) {
|
||||
// the ip is below the network range
|
||||
$this->_error(self::LOW_IN_NETWORK);
|
||||
return false;
|
||||
}
|
||||
|
||||
// well then, finally verify the IP against the uppoer end of the range
|
||||
|
||||
// add the decimal representation of the netmask to the network IP
|
||||
$netmask_uDec1 = $netmask < 31 ? pow(2, (32-$netmask)) - 1 : 1 ;
|
||||
$netmask_uDec = pow(2, 32-$netmask) - 1 ;
|
||||
$uNetwork_uDec = $lNetwork_uDec + $netmask_uDec;
|
||||
|
||||
if ( $ip_addr_uDec > $uNetwork_uDec ) {
|
||||
// the ip is above the network range
|
||||
$this->_error(self::HIGH_IN_NETWORK);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates the IP in a given range
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.36 2012/01/16 13:06:00 CST
|
||||
* @author aw
|
||||
* @desc <p>Takes the "from" and "to" (IP) address and validates the given IP address against it. Sets the appropriate
|
||||
* errors if the IP is not within the defined range.</p>
|
||||
* @param string $ip
|
||||
* @return bool
|
||||
*/
|
||||
protected function _validateIpInRange($ip) {
|
||||
$uInt_Ip = $this->_makeUnsignedAddress($ip);
|
||||
|
||||
if ( is_numeric($this->_rangeFrom) && $uInt_Ip >= $this->_rangeFrom ) {
|
||||
if ( $uInt_Ip <= $this->_rangeTo ) {
|
||||
return true;
|
||||
} elseif ( is_numeric($this->_rangeTo) ) {
|
||||
$this->_error(self::HIGH_IN_NETWORK);
|
||||
return false;
|
||||
}
|
||||
} elseif ( is_numeric($this->_rangeFrom) ) {
|
||||
$this->_error(self::LOW_IN_NETWORK);
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->_error(self::MISSING_NETWORK);
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the network (notation) to the properties
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.36 2012/01/14 13:43:00 CST
|
||||
* @author aw
|
||||
* @desc <p>The network is usually a notation with a network/netmask combination. The method uses two methods to validate
|
||||
* the netmask and the network address. If the notation is a range fromIPAddress-toIPAddress the netmask and network address
|
||||
* are ignored. The isValid() will then attempt to validate the value within the range and not the network segment.</p>
|
||||
* string $notation network/address (128.0.0.0/24) (128.0.0.0/255.255.255.0) or (128.0.0.0-128.0.0.255)
|
||||
* @return object|false Awd_Validate_IpInNetwork
|
||||
*/
|
||||
public function setNetworkNotation($notation) {
|
||||
$network = false !== strpos($notation, '/') ? $this->_evaluateNetmask($notation) : false ;
|
||||
if ( false !== $network) {
|
||||
// a valid CIDR/netmask has been found
|
||||
if ( true === parent::isValid($network) ) {
|
||||
if ( $this->_validateNetwork($network) ) {
|
||||
$this->_network = $network;
|
||||
$this->_notation = $notation;
|
||||
|
||||
return $this;
|
||||
}
|
||||
} else {
|
||||
$this->_invalidNetwork(__LINE__);
|
||||
}
|
||||
} elseif ( false !== strpos($notation, '-') ) {
|
||||
// the notation is looking like a from-to IP range
|
||||
if ( true === $this->_validateRange($notation) ) {
|
||||
$this->_notation = $notation;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the value for _throw property
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.35 2012/01/17 08:23:00 CST
|
||||
* @author aw
|
||||
* @desc <p>The value determines if the application will throw an exception or trigger an E_USER_WARNING if
|
||||
* an error was found in the submitted network notation. The default is false.</p>
|
||||
* @throws E_USER_WARNING if the argument is not of type bool
|
||||
* bool $throw
|
||||
* @return object Awd_Validate_IpInNetwork
|
||||
*/
|
||||
public function setThrow4Notation($throw = false) {
|
||||
if ( !is_bool($throw) ) {
|
||||
$msg = '[AWD] Programming error: The argument is not a boolean value';
|
||||
trigger_error($msg,E_USER_WARNING);
|
||||
}
|
||||
|
||||
|
||||
$this->_throw = $throw;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value for _throw property
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.35 2012/01/17 08:27:00 CST
|
||||
* @author aw
|
||||
* @desc <p>The value determines if the application will throw an exception or trigger an E_USER_WARNING if
|
||||
* an error was found in the submitted network notation. The default is false.</p>
|
||||
* @return bool
|
||||
*/
|
||||
public function getThrow4Notation() {
|
||||
return (bool) $this->_throw;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the network (notation) as it has been set if valid
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.36 2012/01/14 16:08:00 CST
|
||||
* @author aw
|
||||
* @desc <p>If empty the network (notation) was either not set or not valid. Hence, this method can be used to
|
||||
* verify if setting a network range or notation was successful with the constructor.</p>
|
||||
* @return string
|
||||
*/
|
||||
public function getNetworkNotation() {
|
||||
return (string) $this->_getNotation();
|
||||
}
|
||||
|
||||
/**
|
||||
* Protected method to gets the network (notation) as it has been set if valid
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.36 2012/01/14 16:08:00 CST
|
||||
* @author aw
|
||||
* @desc <p>Note that the notation is only available when it passed the internal validation. Internally (protected)
|
||||
* the network represents the network (IP) address whereas the notation is the full string as set when is valid.
|
||||
* The notation is a representation of network range or network/mask. This method essentially returns internally
|
||||
* (protected) the same result as the public method getNetworkNotation().</p>
|
||||
* @return string|null
|
||||
*/
|
||||
protected function _getNotation() {
|
||||
return empty($this->_notation) ? null : (string) $this->_notation ;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the network address from the notation if a valid address and mask has been set
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.36 2012/01/14 16:18:00 CST
|
||||
* @author aw
|
||||
* @desc <p>Note that internally (protected) the network represents the network (IP) address extracted from the
|
||||
* "network notation", i.e. a representation of network range or network/mask. If the notation was not valid or a
|
||||
* network range has been set this value will be empty.</p>
|
||||
* @return string
|
||||
*/
|
||||
protected function _getNetwork() {
|
||||
return (string) $this->_network;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the CIDR from the notation if a valid address and mask has been set
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.36 2012/01/14 16:26:00 CST
|
||||
* @author aw
|
||||
* @desc <p>The CIDR has been extracted from the "network notation", i.e. a representation of network/mask or
|
||||
* network/CIDR. If the notation was not valid or a network range has been set this value will be empty.</p>
|
||||
* @return int
|
||||
*/
|
||||
public function getCidr() {
|
||||
return (int) $this->_cidr;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the netmask from a notation
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.36 2012/01/15 10:12:00 CST
|
||||
* @author aw
|
||||
* @desc <p>The notation is usually set as a {network/CIDR} or {network/netmask} notation. This method examines
|
||||
* the string following a slash. A CIDR mask will be verified for its number whereas a netmask is passed to
|
||||
* another method _validateNetmask() for validation and if valid converted into a CIDR representation. In
|
||||
* either case if the value is valid the remaining network (IP) address is returned or false on failure.</p>
|
||||
* @throws Calls method _invalidNetwork() when a failure is detected
|
||||
* @param string $notation
|
||||
* @return string|bool (false)
|
||||
*/
|
||||
protected function _evaluateNetmask($notation) {
|
||||
// split the notation in network and netmask information
|
||||
list($network, $netmask) = explode('/', $notation, 2);
|
||||
if ( is_numeric($netmask) ) {
|
||||
// does look like a CIDR netmask
|
||||
$between = new Zend_Validate_Between(array('min'=>1,'max'=>32));
|
||||
if ( true === $between->isValid($netmask) ) {
|
||||
$this->_cidr = (int) $netmask;
|
||||
return $network;
|
||||
} else {
|
||||
$error_msgs = $between->getMessages();
|
||||
if ( !empty($error_msgs) && is_array($error_msgs) ) {
|
||||
$msg = array_shift($error_msgs);
|
||||
} else {
|
||||
// fallback, should not really be an option
|
||||
$msg = sprintf('The netmask [ %s ] is not a valid option',$netmask);
|
||||
}
|
||||
|
||||
// oops, this CIDR is not a valid range
|
||||
return $this->_invalidNetwork(__LINE__.' - '.$msg);
|
||||
}
|
||||
} elseif ( !empty($netmask) ) {
|
||||
// looks more like 32-bit (like 255.255.255.0) format
|
||||
if ( true === ($line = $this->_validateNetmask($netmask)) ) {
|
||||
return $network;
|
||||
}
|
||||
|
||||
return $this->_invalidNetwork($line);
|
||||
}
|
||||
|
||||
return $this->_invalidNetwork(__LINE__);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates a 32-bit netmask
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.36 2012/01/16 10:34:00 CST
|
||||
* @author aw
|
||||
* @desc <p>A netmask is a decimal representation of 32-bit string where the beginning sequence is a complete
|
||||
* set of 1 (one) followed by a complete set of 0 (zero). If valid the netmask string will be a CIDR numeric
|
||||
* value and set to the proected property _cidr. If not valid the returned value is the line plus the index if
|
||||
* the failure is in one of the segments.</p>
|
||||
* @param string $netmask
|
||||
* @return true|string
|
||||
*/
|
||||
protected function _validateNetmask($netmask) {
|
||||
$classes = explode('.', $netmask);
|
||||
if ( 4 !== count($classes) ) {
|
||||
return __LINE__;
|
||||
}
|
||||
|
||||
$cidr = 0; $end = false;
|
||||
foreach ( $classes as $index => $segment ) {
|
||||
if ( !is_numeric($segment) ) {
|
||||
return __LINE__;
|
||||
} elseif ( 0 === (int) $segment ) {
|
||||
$end = true; // all following segment have to be 0 (zero) as well
|
||||
continue;
|
||||
}
|
||||
$matches = array();
|
||||
|
||||
// evaluate the binary representation of the segment
|
||||
$bin = decbin($segment);
|
||||
if ( 8 !== strlen($bin) || 0 === preg_match('/^([1]{1,8})([0]*)$/', decbin($segment), $matches) ) {
|
||||
if ( 8 !== strlen($bin) ) {
|
||||
// this segment is not a complete byte (8 bits) i.e. a value below 128
|
||||
return __LINE__.':'.++$index; // NOTE: Index begins at 0 (zero)
|
||||
}
|
||||
// this segment is a complete byte (8 bits), i.e. a value above 128, but not a valid binary mask (like 11110000)
|
||||
return __LINE__.':'.++$index; // NOTE: Index begins at 0 (zero)
|
||||
} elseif ( true === $end ) {
|
||||
// a mask was found in the previous segment; therefore, this segment should be 0 (zero)
|
||||
return __LINE__.':'.++$index; // NOTE: Index begins at 0 (zero)
|
||||
}
|
||||
$len = strlen($matches[1]);
|
||||
if ( $len < 8 ) { $end = true; }
|
||||
$cidr += $len;
|
||||
}
|
||||
|
||||
$this->_cidr = $cidr;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates the network address in a subnet notation
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.36 2012/01/16 10:34:00 CST
|
||||
* @author aw
|
||||
* @desc <p>The network address in a CIDR or subnet mask notation is the base of the assigned block.
|
||||
* Because the size of the block is specified by the CIDR or subnet mask the base of a network address
|
||||
* has to fit and match into the block size. This method evaluates the block size and then validates
|
||||
* if the base of network address fits into the assigned block. If not valid the line plus the index
|
||||
* of the failed segment is sent to method _invalidNetwork() triggering or throwing an error.</p>
|
||||
* @param string $network
|
||||
* @return true|string
|
||||
*/
|
||||
protected function _validateNetwork($network) {
|
||||
$cidr = $this->getCidr();
|
||||
$class = $cidr / 8;
|
||||
|
||||
// an integer indicates a classful (unicast) network
|
||||
if ( is_int($class) ) {
|
||||
$iClass = $class;
|
||||
$maskBits = 0;
|
||||
} else {
|
||||
$iClass = (int) floor($class);
|
||||
$maskBits = (int) 8 - ($cidr - ($iClass * 8));
|
||||
$hosts = (int) pow(2, $maskBits); // number of usable hosts in a subnet
|
||||
}
|
||||
|
||||
$segments = explode('.', $network);
|
||||
// Note: $segments index begins at 0 (zero) and $iClass is the last complete segment in the netmask (8 bits (255))
|
||||
// It is irrelevant but just to clarify for $iClass: 1 = Class A, 2 = Class B, 3 = Class C
|
||||
|
||||
$complete = false;
|
||||
// check all segments following the last complete class and because we have to check for
|
||||
// subnetting in the _follow_ class we do NOT add 1 to $iClass as the index in $segments
|
||||
for ($index = $iClass; $index < 4; $index++) {
|
||||
$subNetwork = (int) $segments[$index];
|
||||
|
||||
if ( 0 === $maskBits ) {
|
||||
// this class has no subnets (aka classful network)
|
||||
// all 0 (zero) are expected as (sub)network numbers
|
||||
if ( 0 !== $subNetwork ) {
|
||||
return $this->_invalidNetwork(__LINE__.':'.++$index); // NOTE: Index begins at 0 (zero)
|
||||
}
|
||||
continue;
|
||||
} else {
|
||||
// this class has subnets (aka a classless (subnetted) network)
|
||||
if ( true === $complete ) {
|
||||
// for all following networks 0 (zero) is expected as (sub)network number
|
||||
if ( 0 !== $subNetwork ) {
|
||||
return $this->_invalidNetwork(__LINE__.':'.++$index); // NOTE: Index begins at 0 (zero)
|
||||
}
|
||||
continue;
|
||||
}
|
||||
$complete = true;
|
||||
|
||||
// the (sub)network must be a fact or hosts(/subnets)
|
||||
$block = $subNetwork / $hosts;
|
||||
if ( is_int($block) ) {
|
||||
// all clear
|
||||
// NOTE: We do NOT return yet because we may have to verify any following segments
|
||||
continue;
|
||||
} else {
|
||||
return $this->_invalidNetwork(__LINE__.':'.++$index.':'.$hosts); // NOTE: Index begins at 0 (zero)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates a network range with a "from-to" IP address notation
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.35 2012/01/16 12:44:00 CST
|
||||
* @author aw
|
||||
* @desc <p>A network range can be any difference (or equal) between two valid IP addresses. The method will even switch the
|
||||
* values if the "to" is lower than the "from" address.</p>
|
||||
* @param string $range
|
||||
* @return bool
|
||||
*/
|
||||
protected function _validateRange($range) {
|
||||
list($from,$to) = explode('-', $range); // Note: we do NOT care if more IP ranges have been set, i.e. the range would be invalid
|
||||
|
||||
if ( false === ($uInt_from = $this->_makeUnsignedAddress($from)) || false === ($uInt_to = $this->_makeUnsignedAddress($to)) ) {
|
||||
return $this->_invalidNetwork(__LINE__); // at least one of the addresses is not a valid IP address
|
||||
}
|
||||
|
||||
if ( $uInt_from <= $uInt_to ) {
|
||||
$this->_rangeFrom = $uInt_from;
|
||||
$this->_rangeTo = $uInt_to;
|
||||
} else {
|
||||
// the range is not in the correct order
|
||||
$this->_rangeFrom = $uInt_to;
|
||||
$this->_rangeTo = $uInt_from;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts an IP address into an unsigned decimal number (see ATTENTION note for returned value)
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.35 2012/01/16 12:31:00 CST
|
||||
* @author aw
|
||||
* @desc <p>Uses php function ip2long() to convert the IP into a signed value first and then returns the value with
|
||||
* sprintf($u). ATTENTION: Function sprintf returns this value as a string and typecasting will not produce the expected
|
||||
* result for IP addresses above 128.0.0.0. Do not typecast this value to an integer!</p>
|
||||
* @param string $ip
|
||||
* @return string
|
||||
*/
|
||||
private function _makeUnsignedAddress($ip) {
|
||||
if ( false === ($ip_addr_long = ip2long($ip)) ) {
|
||||
// not a valid IP address
|
||||
return false;
|
||||
}
|
||||
|
||||
// Note ip2long creates signed integers
|
||||
// a positive number means the address is in the lower half < 128 (0nnn nnnn.)
|
||||
// a negative number means the address is in the upper half >= 128 (1nnn nnnn.)
|
||||
// 127.255.255.255 = 2147483647
|
||||
// 128.0.0.1 = -2147483647
|
||||
// 128.0.0.0 = -2147483648
|
||||
|
||||
// convert to unsigned decimal number
|
||||
return sprintf('%u',$ip_addr_long);
|
||||
}
|
||||
|
||||
/**
|
||||
* Triggers an error warning or throws an exception
|
||||
*
|
||||
* @since Version 0.1.36
|
||||
* @version 0.1.36 2012/01/15 11:54:00 CST
|
||||
* @author aw
|
||||
* @desc <p>The error message contains the argument which is usually the line where the error occured. The calling method
|
||||
* may add additional information to the line number.</p>
|
||||
* @throws E_USER_WARNING If the _throw property is false (default)
|
||||
* @throws Exception If the _throw property is true
|
||||
* @param string|int $line
|
||||
* @return bool (false)
|
||||
*/
|
||||
private function _invalidNetwork($line) {
|
||||
$error_msg = 'The provided network information is not a recognized format [#'.$line.']';
|
||||
$this->_error(self::INVALID_NETWORK,$error_msg);
|
||||
$msg = '[SCORES] Application error: '.$error_msg;
|
||||
if ( false === $this->_throw ) {
|
||||
trigger_error($msg,E_USER_WARNING);
|
||||
return false;
|
||||
} else {
|
||||
throw new Exception($msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
39
library/Scores/Validate/IpInNetwork.txt
Normal file
39
library/Scores/Validate/IpInNetwork.txt
Normal file
@ -0,0 +1,39 @@
|
||||
This validator class will test an IP against a provide network notation. The
|
||||
network notation can be a network range, or network address with CIDR or 32-bit
|
||||
decimal subnet mask notation. Note that the main validation method always uses
|
||||
the CIDR notation, i.e a bitmask will be converted into a CIDR.
|
||||
|
||||
|
||||
Examples for network notations
|
||||
------------------------------
|
||||
Network Range:
|
||||
**************
|
||||
128.0.0.12-128.0.0.19
|
||||
true for all IP addresses inclusively in this range (i.e. from .12 to .19)
|
||||
|
||||
CIDR notation:
|
||||
**************
|
||||
128.0.0.8/30
|
||||
block with 4 hosts
|
||||
true for IP addresses from .8-.11 (i.e. .8, .9, .10, .11)
|
||||
|
||||
Subnet mask notation:
|
||||
*********************
|
||||
128.0.0.8/255.255.255.252
|
||||
same as CIDR notation
|
||||
|
||||
Special Notes:
|
||||
--------------
|
||||
1) The network notation is validated, i.e. you have to pass a valid network and
|
||||
CIDR or subnet mask combination. For the network range the two values must be
|
||||
valid IP addresses.
|
||||
|
||||
2) A CIDR notation of /32, subnet mask /255.255.255.255 or a range with two
|
||||
equal addresses will match for one host, i.e. the result is true if the network
|
||||
address or the range addresses are identical to the IP address
|
||||
|
||||
3) The network notation or a range has to be set prior to calling isValid() as
|
||||
is custom with all Zend validators. The notation can be set when instantiating
|
||||
the object as an array and 'network' as the index. The setter method is
|
||||
setNetworkNotation($notation) and expects a string as the argument.
|
||||
|
53
library/Scores/Wkhtml/Pdf.php
Normal file
53
library/Scores/Wkhtml/Pdf.php
Normal file
@ -0,0 +1,53 @@
|
||||
<?php
|
||||
class Scores_Wkhtml_Pdf
|
||||
{
|
||||
protected $wkhtml;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$c = Zend_Registry::get('config');
|
||||
$this->wkhtml = $c->profil->wkhtmltopdf->path;
|
||||
}
|
||||
|
||||
/**
|
||||
* Défini les options supplémentaires à l'execution de wkhtmltopdf
|
||||
* -n, --disable-javascript Do not allow webpages to run javascript.
|
||||
* --disable-internal-links Do no make local links
|
||||
* --disable-external-links Do no make links to remote web pages
|
||||
* --user-style-sheet <url> Specify a user style sheet, to load with every page.
|
||||
* --print-media-type Use print media-type instead of screen.
|
||||
* --header-left|right
|
||||
* @param string $name
|
||||
* @param string $value
|
||||
*/
|
||||
public function setOptions($name, $value = '')
|
||||
{
|
||||
$this->options[$name] = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Imprime un fichier HTML en PDF avec l'utilitaire wkhtmltopdf
|
||||
* @param string $fileIn
|
||||
* @param string $fileOut
|
||||
* @return string Nom du fichier
|
||||
*/
|
||||
public function exec($fileIn, $fileOut = '')
|
||||
{
|
||||
if (empty($fileOut)) {$fileOut = str_replace('.html', '.pdf', $fileIn); }
|
||||
if(file_exists($fileOut)){ unlink($fileOut); }
|
||||
|
||||
$options = '--disable-internal-links';
|
||||
if ( count($this->options) )
|
||||
{
|
||||
foreach ( $this->options as $name => $value )
|
||||
{
|
||||
$options.= ' --'.$name;
|
||||
if ($value!= '') $options.= ' "'.$value.'"';
|
||||
}
|
||||
}
|
||||
|
||||
$cmd = $this->wkhtml.' '.$options.' "'.$fileIn.'" "'.$fileOut.'"';
|
||||
exec( $cmd );
|
||||
return $fileOut;
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user