webservice/includes/conversion/bilAltares.php
2010-11-29 14:17:26 +00:00

707 lines
35 KiB
PHP

<?php
include_once(FWK_PATH.'common/chiffres.php');
include_once(FWK_PATH.'common/dates.php');
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
include_once(INCLUDE_PATH.'insee/classMInsee.php');
include_once(INCLUDE_PATH.'partenaires/classMRncs.php');
include_once(FWK_PATH.'mail/sendMail.php');
global $tabEvenSolib;
global $tabEven2SO;
global $tabEven2RO;
$tabEvenSolib=array(10=>'CR',
11=>'CR',
13=>'CR',
14=>'CR',
15=>'CR',
16=>'CR',
17=>'CR',
18=>'CR',
19=>'CR',
20=>'VT',
21=>'VT',
22=>'VT',
24=>'VT',
25=>'VT',
30=>'CE',
31=>'ME',
32=>'ME',
33=>'ME',
34=>'ME',
35=>'Rec',
36=>'MAF',
37=>'LG',
38=>'LG',
39=>'MD',
40=>'RD',
41=>'DIS',
42=>'FLG',
51=>'RJ',
52=>'RJ',
53=>'RA',
56=>'PIE',
57=>'SAUVJ',
58=>'SAUVP',
59=>'RR',
60=>'R&L',
61=>'LB',
62=>'LJ',
63=>'FP',
64=>'INT',
65=>'LQ',
69=>'RL',
70=>'Suite',
71=>'SRJ',
72=>'SRLJ',
73=>'SP',
74=>'AP',
75=>'MP',
76=>'EP',
77=>'PRO',
78=>'DC',
79=>'CIA',
80=>'INFR',
91=>'DC',
92=>'CP',
);
$tabEven2SO=array( // PROCOL
1010=>92, // Déclaration de cessation de paiement
1050=>70, // Homologation de la conciliation
1055=>70, // Résolution de la conciliation
1100=>57, // Jugement de sauvegarde
1101=>58, // Plan de sauvegarde
1200=>52, // Redressement Judiciaire
1201=>52, // Conversion sauvegarde en Redressement Judiciaire
1202=>75, // Renouv. Periode Observation
1203=>78, // Avis de dépot de l'état de collocation
1204=>78, // Dépôt des créances
1205=>78,
1206=>78,
1207=>53, // Règlemement amiable
1208=>78,
1209=>51, // Règlement Judiciaire
1210=>77, // Production
1211=>52, // Redressement Judiciaire par extension au(x) gérant(s)
1212=>69, // Rectif ou Annul.LJ
1214=>78, // Avis de dépôt de l'état des créances (Loi de 1985)
1215=>70, // Jugement de désignation des organes de la procédure
1216=>78, // Autre avis de dépôt
1300=>62, // Conversion Redressement Judiciaire en Liquidation
1301=>62, // Ouverture Liquidation Judiciaire
1302=>66, // Ouverture Liquidation Judiciaire Simplifiée
1303=>62, // Ouverture Liquidation Judiciaire sur résolution
1304=>62, // Réouverture Liquidation Judiciaire
1305=>62, // Liquidation Judiciaire
1306=>66, // Liquidation Judiciaire simplifiée
1307=>62, // Conversion sauvegarde en Liquidation Judiciaire
1308=>62, // Fin du régime de Liquidation Judiciaire Simplifiée
1309=>62, // Conversion Liquidation Judiciaire en Liquidation
1310=>56, // Procédure d'Insolvabilité Européenne
1311=>62, // Liquidation Judiciaire par extension au(x) gérants
1312=>62, // Liquidation Judiciaire avec continuation d'exploitation
1313=>62, // Liquidation Judiciaire sans remise des accessoires
1346=>70, // Procédure d'insolvabilité (Règlement 1346/2000 du Conseil Européen)
1400=>70, // Nomination d'un administrateur judiciaire
1401=>70, // Nomination d'un mandataire judiciaire
1402=>70, // Nomination d'un représentant des créanciers
1403=>70, // Nominnation/Remplacement de commissaire à l'exécution du plan
1404=>70, // Prolongement de la mission du commissaire à l'exécution du plan
1405=>70, // Nomination d'un juge commissaire
1406=>70, // Changement de SYNDIC
1407=>75, // Modif. de Plan
1408=>75, // Modification du plan de cession
1409=>75, // Modif. de de continuation
1410=>75, // Suite de jugement/règlement/liquidation
1411=>75, // Arrêt du plan de cession
1412=>75, // Arrêt du plan de cession partielle
1413=>75, // Arrêt du plan de continuation
1414=>75, // Arrêt du plan de redressement
1415=>75, // Prolongement du plan cession
1416=>75, // Jugement constatant la bonne exécution du plan
1417=>62, // Jugement d'extension de liquidation judiciaire
1418=>52, // Jugement d'extension d'une procédure de redressement judiciaire
1419=>57, // Jugement d'extension d'une procédure de sauvegarde
1420=>70, // Nomination d'un liquidateur judiciaire
1421=>70, // Jugement prorogeant le plan de redressement
1425=>70, // Plan de cession avec location gérance
1430=>70, // Jugement autorisant la poursuite d'activité
1431=>70, // Jugement de cessation partielle d'activité
1435=>70, // Suspension de l'exécution provisoire
1436=>70, // Suspension provisoire des poursuites
1440=>70, // Jugement accordant un délai pour déposer la liste des créances
1445=>70, // Concordat
1450=>92, //Cessation paiement
1455=>70, // Jugement arrêtant le plan d'apurement du passif
1460=>70, // Homologation du plan
1470=>70, // Fin de mission d'administrateur judiciaire
1480=>70, // Jugement ordonnant la jonction des procédures
1500=>79, // Clôture de la procédure
1501=>79, // Clôture de la procédure après cession totale
1502=>76, // Clôture de la procédure pour extinction du passif
1503=>79, // Cloture insuf.Actif
1504=>79, // Clôture sauvegarde pour absence de projet de plan
1505=>74, // Appel de jugement
1506=>59, // Rectif ou Annulation RJ
1507=>74, // Appel de jugement
1508=>70, // Extinction du plan de sauvegarde
1509=>70, // Extinction du plan de redressement
1510=>74, // Rejet du plan
1511=>70, // Résolution du plan de cession
1512=>70, // Résolution du plan de continuation
1513=>70, // Résolution du plan de sauvegarde
1515=>74, // Arrêt divers
1517=>59, // Rectification d'une erreur matérielle
1520=>70, // Ordonnance
1525=>74, // Appel du ministère public
1530=>70, // Jugement constatant l'impécuniosité de la procédure de liquidation
1540=>70, // Ordonnance statuant sur les contestations du projet de répartition
1541=>74, // Rétractation de prononcé de liquidation judiciaire sur tierce opposition
1542=>74, // Rétractation de jugement d'ouverture d'une procédure de sauvegarde sur tierce opposition
1543=>74, // Rétractation de jugement d'ouverture d'une procédure de redressement judiciaire sur tierce opposition
1544=>74, // Rétractation de jugement d'ouverture d'une procédure de liquidation judiciaire sur tierce opposition
1545=>74, // Rétractation de jugement d'ouverture sur tierce opposition
1546=>74, // Autre rétractation sur tierce opposition
1550=>70, // Suites de jugements
1580=>70, // Jugement prononçant la continuation de l'activité par apurement du passif
1600=>63, // Faillite personnelle
1601=>64, // Interdiction de gérer
1602=>70, // Jugement de réhabilitation
1603=>61, // Liquidation de Biens
1604=>80, // Banqueroute
1605=>70, // Jugement autorisant la reprise des poursuites individuelles
1610=>80, // Faillite personnelle (Loi de 1985)
1611=>80, // Interdiction de gérer (Loi de 1985)
1620=>70, // Jugement condamnant le dirigeant en comblement du passif
1650=>80, // Rétablissement Personnel
1700=>70, // Décision soumise à publicité
1900=>80, // Interdiction temporaire d'exercice de la profession de CAC
1901=>80, // Radiation de la liste des CAC
1999=>70, // Autre procédure collective
// MMD
2000=>40, // Mention d'office
2100=>39, // Chg.Capital/Cess.apport de parts
2101=>39, // Chg.Capital/Cess.apport de parts
2102=>39, // Chg.Capital/Cess.apport de parts
2200=>40, // Cessation d'activité
2201=>40, // Cessation d'activité temporaire
2202=>41, // Dissolution
2203=>41, // Dissolution de la société
2204=>41, // Cessation d'activité avec dissolution
2205=>40, // Fermeture du fonds
2206=>39, // Mise en sommeil de la société
2207=>39, // Suppression d'une branche d'activité
2208=>39, // Suppression de l'établissement principal
2209=>39, // Vente du fonds
2210=>39, // Déclaration de dissolution par l'associé unique.
2211=>39, // Clôture de la liquidation
2212=>39, // Liquidation amiable
2300=>39, // Changement d'Adresse
2301=>39, // Modification de l'adresse du siège
2302=>39, // Modification de l'enseigne
2303=>39, // Modification de la date de clôture de l'exercice
2304=>39, // Modification de la date de début d'activité
2305=>39, // Modification de la dénomination
2306=>39, // Modification de la durée de la société
2307=>39, // Modification de la forme juridique
2308=>39, // Modification du nom
2309=>39, // Modification du nom commercial
2310=>39, // Modification du pseudonyme
2311=>39, // Modification sur l'exploitation
2312=>39, // Modification(s) diverse(s)
2313=>39, // Modification de l'activité
2314=>39, // Poursuite de l'activité
2315=>39, // Modification de l'administration
2316=>39, // Mise en activité de la société
2317=>39, // Modification du sigle
2318=>39, // Modifications diverses
2319=>39, // Poursuite de l'activité malgré la perte de plus de...
2320=>39, // Reconsitution de l'actif net
2321=>39, // Reconsitution de la moitié de l'actif net
2350=>39, // Déclaration des associés (loi du 1er février 2005)
2401=>39, // Changement de régime matrimonial
2402=>39, // Changement de régime matrimonial (divorce)
2403=>39, // Changement de régime matrimonial (mariage)
2404=>39, // Changement de régime matrimonial (veuvage)
2405=>39, // Changement de régime matrimonial (contrat de maria...
2406=>39, // Reprise du fonds par le conjoint
2407=>39, // Mention du conjoint collaborateur
2408=>39, // Radiation du conjoint collaborateur
2500=>30, // Confirmation établissement principal ou secondaire
2510=>39, // L'établissement secondaire devient principal
2520=>39, // Extension de l'établissement principal
2600=>39, // Décès
2610=>39, // Décision de l'unique actionnaire
2620=>39, // Transmission universelle du patrimoine
2630=>39, // Donation/Partage
2635=>39, // Cession de parts
2639=>39, // Nantissement de parts sociales
2640=>39, // Changement de domicile personnel
2650=>39, // Changement de nationalité
2660=>39, // Réalisation de l'apport partiel d'actif
2661=>39, // Apport partiel
2700=>39, // Fusion/Absorption (entitée absorbante)
2701=>39, // Fusion/Absorption (Entitée absorbante. Entité abso...
2702=>39, // Fusion/Absorption (Entitée absorbante. Entité abso...
2703=>39, // Fusion/Absorption (Entitée absorbante. Entité abso...
2710=>39, // Projet de fusion (entitée absorbante)
2720=>39, // Fusion/Absorption (entitée absorbée)
2721=>39, // Fusion/Absorption (entitée absorbée non identifiée...
2725=>39, // Fusion/Absorption
2726=>39, // Projet de Fusion/Absorption
2730=>39, // Projet de fusion (entitée absorbée)
2740=>39, // Scission
2750=>39, // Société participation
2800=>37, // Location gérance reçue
2840=>38, // Location/Gérance
2850=>38, // Location gérance donnée : Précédent propriétaire e...
2851=>38, // Location gérance donnée : Précédent propriétaire
2860=>38, // Location gérance donnée : Précédent exploitant
2870=>38, // Location gérance donnée
2875=>38, // Gérance/Mandat
2880=>38, // Renouvellement de location gérance
2881=>38, // Changement de location gérance
2885=>42, // Fin de location gérance
2890=>38, // Location gérance relative à une branche
2891=>39, // Location gérance relative à un établissement
2892=>39, // Location gérance relative à un fond
2900=>32, // Transfert d'établissement
2901=>32, // Transfert de siège
2902=>32, // Transfert du fonds
2903=>32, // Projet de transfert du siège
2904=>32, // Transfert du siège à l'étranger
2950=>32, // Création de fonds
2980=>32, // Transfert entre tribunaux
// DEPOTS DES COMPTES
3100=>91,
3200=>91,
3300=>91,
3999=>91,
// CREATIONS
4000=>10, // Création d'entreprise
4050=>10, // Création d'entreprise sans activité
4100=>10, // Création d'entreprise sans établissement
4200=>17, // Création d'établissement
4250=>17, // Création suite à transfert
4300=>17, // Création suite à reprise d'activité
4350=>10, // Création suite à fin de location-gérance
4355=>10, // Création suite à prise en location-gérance
4360=>10, // Reprise d'activité par suite de la résolution de v
4400=>10, // Création suite à changement de FJ
4410=>10, // Création suite à héritage ou donation
4450=>10, // Création suite à reprise par le conjoint
4500=>17, // Fonds acquis dans le cadre d'une PC
4501=>17, // Fonds acquis par achat
4502=>17, // Fonds acquis par apport
4600=>10, // Immatriculation d'une société de droit européen
4999=>10, // Création
// ventes !!!
5500=>20, // Entreprise réalisant la vente
5501=>20, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5502=>20, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5503=>20, // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5510=>20, // Entreprise réalisant la vente : Co-propriétaire BODA ventes 12 0000-00-00 00:00:00
5600=>20, // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00
5650=>20,
5700=>20, // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00
5999=>20,
// RADIATIONS
6000=>40, //Radiation pour cause de clôture de la liquidation (amiable/simplifié/général)
6001=>40, //Radiation pour cause de clôture de la liquidation amiable
6002=>40, //Radiation pour cause de clôture de la liquidation judiciaire pour IA
6003=>40, //Radiation pour cause de clôture de la liquidation judiciaire
6004=>40, //Radiation pour cause de clôture de la liquidation judiciaire simplifié
6005=>40, //Radiation pour clôture du plan de cession
6100=>40, //Radiation pour cause de décès
6200=>40, //Radiation pour cause de mention d'office
6201=>40, //Radiation pour cause de cessation d'activité
6300=>40, //Radiation pour cause de non-exercice
6400=>40, //Radiation pour cause de transfert
6500=>40, //Radiation pour cause de jugement de clôture du plan de cession
6600=>40, //Radiation d'un établissement
6700=>40, //Radiation
);
$tabEven2RO=array( 2305=>'a',
2308=>'a', // Chg de dénomination(RS,Ens,Sigle)
2309=>'a', // Modification du nom commercial BODB mmd 12 0000-00-00 00:00:00
2310=>'a', // Modification du pseudonyme
2300=>'b', // Changement d'Adresse
2301=>'b',
2900=>'b', // Transfert d'établissement
2901=>'b', // Transfert de siège
2902=>'b', // Transfert du fonds
2903=>'b', // Projet de transfert du siège
2904=>'b', // Transfert du siège à l'étranger
2950=>'b', // Création de fonds
2980=>'b', // Transfert entre tribunaux
2101=>'c', // Chg.Capital/Cess.apport de parts
2315=>'d', // Changement de Dirigeants
2313=>'e', // Mod Act/obj.soc./Cess./Mise somm.
2307=>'f', // Changement de Forme juridique
2318=>'g', // Opération sur Participations
2725=>'h', // Fusion Absorption
2318=>'i', // Mod.garantie financière/Caution
2401=>'j', // Changement de régime matrimonial
2319=>'k', // Non dissolution anticipée
2318=>'l', // Non dissolution anticipée
2318=>'m', // Dissolution anticipée (ou non)
2303=>'n', // Mod.date cloture exercice social
5500=>'V', // Entreprise réalisant la vente
5501=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5502=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5503=>'V', // Entreprise réalisant la vente : Ancien propriétair... BODA ventes 12 0000-00-00 00:00:00
5510=>'V', // Entreprise réalisant la vente : Co-propriétaire BODA ventes 12 0000-00-00 00:00:00
5600=>'V',
5650=>'V',
5700=>'A', // Entreprise réalisant l'acquisition BODA ventes 12 0000-00-00 00:00:00
1411=>'F', // Arrêt du plan de cession
1408=>'G', // Modification du plan de cession
1409=>'N', // Modification du plan de continuation
1414=>'M', // Arrêt du plan de redressement
);
function exporte($txt, $lon, $sep='') {
$txt=strtr(trim($txt),array('&#039;'=>"'",'&amp;'=>'&', '&sup2;'=>'²', "\r"=>'', "\n"=>'', "\t"=>''));
if ($sep=='') return sprintf("%-".$lon.'.'.$lon."s", $txt);
return trim(sprintf("%-".$lon.'.'.$lon."s", $txt)).$sep;
}
function conversionSd2So2000($nomFichierIn, $numeroAbonneBil='000960030', $nomFichierOut='') {
$message='';
$iBodacc=new MBodacc();
$iInsee=new MInsee();
$iRncs=new MRncs();
global $tabEvenSolib;
global $tabEven2SO;
global $tabEven2RO;
$tabLignes=file($nomFichierIn);
//print_r($tabLignes);
//die();
$ligne001=$ligne100=$ligne104=$ligne999=0;
if ($nomFichierOut=='') $nomFichierOut=$nomFichierIn.'.bil';
$fp=fopen($nomFichierOut, 'w');
$dateJ=date('Ymd');
$ecrireLignePre=false;
/** Codes/Variables à gérer **/
$depPar=0;
$SOSTAE='';
foreach ($tabLignes as $i=>$ligne) {
$typeLigne=substr($ligne, 0, 3)*1;
switch ($typeLigne) {
case 1: // Ligne ignorée
// Ecriture de l'entête
$ligne001++;
break;
case 100: // Structure Bodacc
case 999: // Fin
$strTxt=wordwrap($txtAnn, 39, EOL);
$tabTxt=explode(EOL, $strTxt);
foreach($tabTxt as $j=>$txt) {
$SOSEQ++;
if($j%16==0) {
// Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$typEnr=9;
if ($j==0) $ligneTXT =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
else $ligneTXT.=EOL.initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
$ligneTXT.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ?
$ligneTXT.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$ligneTXT.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$ligneTXT.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$ligneTXT.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$ligneTXT.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ
$ligneTXT.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence
$ligneTXT.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Numéro dans la séquence
$ligneTXT.=exporte($typEnr, 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$ligneTXT.=exporte('TXT', 3); // Structure identité
$ligneTXT.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle
$ligneTXT.=exporte($ref, 30); // Réf. Client
$ligneTXT.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié
$ligneTXT.=exporte($SOJAL, 3); // 001=Bodacc A, 200=Bodacc B, 300=Bodacc C
$ligneTXT.=exporte($datePar, 8); // Date de parution
$ligneTXT.=initstr(0, 5, '0', ALIGN_RIGHT); // Page
$ligneTXT.=exporte($codeEve, 2); //
$ligneTXT.=initstr($depPar, 2, '0', ALIGN_RIGHT);
$ligneTXT.=initstr($numAnn, 6, '0', ALIGN_RIGHT);
$ligneTXT.=exporte($codeRol, 1); //
$ligneTXT.=exporte('T', 1);
}
$ligneTXT.=exporte($txt, 40);
}
$codeEve=$codeRol='';
$ligneOut=$ligneID.EOL.$ligneANN.EOL.$ligneTXT;
if ($ligne100>1) $ecrireLignePre=true;
if($typeLigne==999) {
$ligne999++;
break;
}
$nann = trim(substr($ligne, 3 , 10 ))*1; // N° d'annonce
$siren = substr($ligne, 13 , 9 ); // Siren de l'entreprise concernée par l'annonce
$tabIdentite=@$iInsee->getIdentiteEntreprise($siren);
$nic = trim(substr($ligne, 22, 5 ))*1; // Nic
$ref = trim(substr($ligne, 71, 18 )); // Référence Client
$numPar = substr($ligne, 27 , 3 ); // Numéro de parution du Bodacc dans l'année
$bodacc = substr($ligne, 30 , 1 ); // Code Bodacc (A, B ou C) A, B ou C
$datePar= substr($ligne, 31 , 8 ); // Date de parution du Bodacc Format AAAAMMJJ
$numAnn = substr($ligne, 39 , 5 ); // Numéro de l'annonce dans le Bodacc
$typeAnn= substr($ligne, 47 , 1 ); // Type d'annonce Bodacc I=Insertion (publication d'une annonce), A=Additif (ajout à une précédente annonce), (1) R=Rectificatif (correction d'une annonce), S=Suppression d'une annonce
$corNumA= substr($ligne, 48 , 5 ); // Numéro de l'annonce corrigée Si annonce différent de Insertion
$corDate= substr($ligne, 53 , 8 ); // Date du Bodacc de l'annonce corrigée Si annonce différent de Insertion. Format AAAAMMJJ
$corPage= substr($ligne, 61 , 6 ); // Première page du Bodacc de l'annonce corrigée Si annonce différent de Insertion
$corNumP= substr($ligne, 67 , 4 ); // Numéro parution du Bodacc dans l'année de l'annonce corrigée Si annonce différent de Insertion
$numRC = trim(substr($ligne,95 , 9 )); // Numéro de RC (Registre du Commerce) de l'entreprise
$rs = trim(substr($ligne,104, 150 )); // Raison sociale de l'entreprise
$nomCom = trim(substr($ligne,254, 100 )); // Nom Commerciale
$ens = trim(substr($ligne,354, 100 )); // Enseigne
$fj = trim(substr($ligne,484, 4 ))*1; // FJ
$fjLib = trim(substr($ligne,488, 90 )); // FJ libellé
$capMnt = trim(substr($ligne,578, 15 )); // Capital
$capDev = trim(substr($ligne,593, 3 )); // Capital Devise
$adrNum = trim(substr($ligne,596, 4 )); //
$adrBtq = trim(substr($ligne,600, 1 )); // FJ libellé
$adrVoi = trim(substr($ligne,601, 5 )); // FJ libellé
$adrLib = trim(substr($ligne,606, 50 )); // FJ libellé
$adrL2 = trim(substr($ligne,656, 50 )); // FJ libellé
$adrL3 = trim(substr($ligne,706, 40 )); // FJ libellé
$adrCP = trim(substr($ligne,746, 5 ))*1; // FJ libellé
$adrVil = trim(substr($ligne,751, 45 )); // FJ libellé
if ($adrCP==0) {
$adrNum = trim(substr($ligne,796, 4 )); // FJ libellé
$adrBtq = trim(substr($ligne,800, 1 )); // FJ libellé
$adrVoi = trim(substr($ligne,801, 5 )); // FJ libellé
$adrLib = trim(substr($ligne,806, 50 )); // FJ libellé
$adrL2 = trim(substr($ligne,856, 50 )); // FJ libellé
$adrL3 = trim(substr($ligne,906, 40 )); // FJ libellé
$adrCP = trim(substr($ligne,946, 5 ))*1; // FJ libellé
$adrVil = trim(substr($ligne,951, 45 )); // FJ libellé
}
$even=array();
$even[7]= substr($ligne, 996 , 4 )*1; // Code Evènement Bodacc n°1 Cf. Table EVEN
$even[6]= substr($ligne, 1000, 4 )*1; // Code Evènement Bodacc n°2 Cf. Table EVEN
$even[5]= substr($ligne, 1004, 4 )*1; // Code Evènement Bodacc n°3 Cf. Table EVEN
$even[4]= substr($ligne, 1008, 4 )*1; // Code Evènement Bodacc n°4 Cf. Table EVEN
$even[3]= substr($ligne, 1012, 4 )*1; // Code Evènement Bodacc n°5 Cf. Table EVEN
$even[2]= substr($ligne, 1016, 4 )*1; // Code Evènement Bodacc n°6 Cf. Table EVEN
$even[1]= substr($ligne, 1020, 4 )*1; // Code Evènement Bodacc n°7 Cf. Table EVEN
$even[0]= substr($ligne, 1024, 4 )*1; // Code Evènement Bodacc n°8 Cf. Table EVEN
$txtEven='';
foreach ($even as $codeEven)
if ($codeEven<>0) {
if (@$codeEve=='') $codeEve=$tabEven2SO[$codeEven];
if (@$codeRol=='') $codeRol=$tabEven2RO[$codeEven];
$txtEven.=$iBodacc->getEvenement($codeEven).', ';
$catEven=$iBodacc->getChapitreEvenement($codeEven);
}
else
$txtEven.='';
$txtEven=substr($txtEven,0,strlen($txtEven)-2);
$dateCess= substr($ligne, 1136, 8 ); // Date de cessat° des paiements
$dateJuge= substr($ligne, 1144, 8 ); // Date de jugement
$dateEffet=substr($ligne, 1161, 8 ); // Date d'effet
if ($dateEffet*1==0) $dateEffet=$dateJuge;
$vteMnt=substr($ligne, 1169, 15 ); // Montant de la vente
$vteDev=substr($ligne, 1184, 3 ); // Devise de la vente
if ($nic*1==0) $nic=$tabIdentite['Nic'];
$SONABO=$numeroAbonneBil;
if ($tabIdentite['Actif']==1) $SOORIG=1;
elseif (!isset($tabIdentite['Actif'])) $SOORIG=3;
elseif ($tabIdentite['Actif']==0 && ($tabIdentite['EntActiveRCS']==1||$tabIdentite['EtabActifRCS']==1)) $SOORIG=7;
elseif ($tabIdentite['Actif']==0 && $tabIdentite['EntActiveRCS']==0 && $tabIdentite['EtabActifRCS']==0) $SOORIG=9;
else $SOORIG=8;
if ($tabIdentite['Civilite']==1) $SOTSEX='M';
elseif ($tabIdentite['Civilite']==2) $SOTSEX='F';
else $SOTSEX='';
$SONUME=''.preg_replace('/^0+/','', $tabIdentite['Source']).$tabIdentite['SourceId'];
$SONUS='000000000';
$SOSEQ=1;
if ($adrCP==0) {
$adrNum = $tabIdentite['AdresseNum'];
$adrBtq = $tabIdentite['AdresseBtq'];
$adrVoi = $tabIdentite['AdresseVoie'];
$adrLib = $tabIdentite['AdresseRue'];
$adrL2 = $tabIdentite['Adresse2'];
$adrL3 = '';
$adrCP = $tabIdentite['CP'];
$adrVil = $tabIdentite['Ville'];
}
$typEnr=1;
$DBILS2 =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
$DBILS2.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ?
$DBILS2.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$DBILS2.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$DBILS2.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$DBILS2.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ
$DBILS2.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence
$DBILS2.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Numéro dans la séquence
$DBILS2.=exporte($typEnr, 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$DBILS2.=exporte('ID', 3); // Structure identité
$DBILS2.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle
$DBILS2.=exporte($ref, 30); // Réf. Client
//($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT)
$DBILS2.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié
$DBILS2.=exporte('', 1); // D=Siren douteux
$DBILS2.=initstr('', 9); // Témoin de MAJ
$DBILS2.=exporte($rs, 60); //
$DBILS2.=exporte(substr($rs,60),30); //
$DBILS2.=exporte($tabIdentite['Sigle'], 30); // Vide !
$DBILS2.=exporte($ens, 60); //
$DBILS2.=initstr($adrNum, 4, '0', ALIGN_RIGHT); //
$DBILS2.=exporte($adrBtq, 1); //
$DBILS2.=exporte(preg_replace('/ +/',' ',$adrVoi.' '.$adrLib), 33); //
$DBILS2.=exporte($adrVil, 32); //
$DBILS2.=initstr($adrCP, 5, '0', ALIGN_RIGHT); //
$DBILS2.=exporte(preg_replace('/ +/',' ',$adrL2.' '.$adrL3), 30); //
$DBILS2.=exporte($tabIdentite['DateCreaEn'], 8); // Date créa ENT
$DBILS2.=exporte($tabIdentite['Siege'], 1); // Statut de l'établissement
$DBILS2.=initstr($tabIdentite['FJ'], 4, 0, ALIGN_RIGHT);
$DBILS2.=exporte($SOTSEX, 1); // Sexe M/F
$DBILS2.=initstr($tabIdentite['NbEtab']*1, 4, 0, ALIGN_RIGHT);
$DBILS2.=exporte($SOSTAE, 4); // NAF4 ENT
$DBILS2.=exporte('', 4); // Famille ENT
$DBILS2.=exporte($SOSTAE, 4); // NAF4 ETAB
$DBILS2.=exporte('', 4); // Famille ETAB
$DBILS2.=exporte('', 3);
$DBILS2.=initstr(0, 13, '0', ALIGN_RIGHT); // Filler A1
$DBILS2.=exporte('', 16); // Filler A2
$DBILS2.=initstr(strtr($tabIdentite['Tel'],array('.'=>'','+'=>'00',' '=>'','-'=>'','/'=>'')), 10, '0', ALIGN_RIGHT);
$DBILS2.=initstr(strtr($tabIdentite['Fax'],array('.'=>'','+'=>'00',' '=>'','-'=>'','/'=>'')), 10, '0', ALIGN_RIGHT);
//5630Z5630Z RUE 00000000 00000000 2901929019
$DBILS2.=exporte($tabIdentite['Web'], 40); //
$DBILS2.=exporte('', 63); // Filler B1
$DBILS2.=initstr(0, 8, '0', ALIGN_RIGHT); // Filler B2
$DBILS2.=exporte('', 79);
$DBILS2.=exporte($tabIdentite['NafEnt'], 5);
$DBILS2.=exporte($tabIdentite['NafEtab'], 5);
$DBILS2.=exporte('', 18);
$DBILS2.=exporte('', 9); // RUE ?
$DBILS2.=initstr(0, 8, '0', ALIGN_RIGHT); // Filler B2
$DBILS2.=exporte('', 6);
$DBILS2.=initstr(0, 8, '0', ALIGN_RIGHT); // Filler B2
$DBILS2.=exporte('', 20);
$DBILS2.=exporte($tabIdentite['Dept'], 2); // Département du siège
$DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité
$DBILS2.=exporte($tabIdentite['Dept'], 2); // Département de l'étab
$DBILS2.=exporte($tabIdentite['codeCommune'], 3); // Localité
$DBILS2.=exporte('', 39); // Filler C
$ligneID=$DBILS2;
$ligne100++;
$cor='';
if ($typeAnn<>'I')
$cor=" - Annonce n°$corNumA $corNumP, page $corPage, du ".WDate::dateT('Ymd','d/M/Y',$corDate);
switch($typeAnn) {
case 'I': $cor='Insertion'.$cor; break;
case 'A': $cor='Additif'.$cor; break;
case 'R': $cor='Rectificatif'.$cor; break;
case 'S': $cor='Suppression'.$cor; break;
default: break;
}
$codeTri= substr($ligne, 89 , 6 ); // Code Tribunal Codification interne utilisée par le Bodacc
$libTri=$iBodacc->getTribunalNom($codeTri);
$SOSEQ++;
if ($bodacc=='A') $SOJAL='001';
elseif ($bodacc=='B') $SOJAL='200';
elseif ($bodacc=='C') $SOJAL='300';
else $SOJAL='999';
$DBILS2 =initstr($SONABO, 9, '0', ALIGN_RIGHT); // Numéro d'abonné BIL ?
$DBILS2.=initstr($SONUME, 9, '0', ALIGN_RIGHT); // Numéro d'entreprise BIL ?
$DBILS2.=initstr($SONUS, 9, '0', ALIGN_RIGHT); // Numéro d'UFS BIL ?
$DBILS2.=initstr($nann, 9, '0', ALIGN_RIGHT); // Numéro d'annonce BIL ?
$DBILS2.=initstr($siren, 9, '0', ALIGN_RIGHT); // Siren
$DBILS2.=initstr($nic, 5, '0', ALIGN_RIGHT); // Nic
$DBILS2.=exporte('SE', 2); // Code produit BIL ? SE, DE, DI, SJ
$DBILS2.=initstr($SOSEQ, 5, '0', ALIGN_RIGHT); // Numéro dans la séquence
$DBILS2.=initstr($dateJ, 8, '0', ALIGN_RIGHT); // Numéro dans la séquence
$DBILS2.=exporte('9', 1); // Type d'enregistrement 1=EntConf, 2=Rejet, 4=Multipropo, 5=Suivi MAJ Entrep, 7=Infos, 8=Envoi documen, 9=Annonce
$DBILS2.=exporte('ANN', 3); // Structure identité
$DBILS2.=exporte('A', 1); // Confirmation 'A'uto ou 'C' pour manuelle
$DBILS2.=exporte($ref, 30); // Réf. Client
//($annonce['codePostalSiege'], 5, '0', ALIGN_RIGHT)
$DBILS2.=exporte($SOORIG, 1); // 1:Insee actif, 2=Ufs, 3=Annonce, 4=Manuelle, 5=Asso, 7=RCS actif, 8=Insee cessa eco, 9=Insee/RCS radié
$DBILS2.=exporte($SOJAL, 3); // 001=Bodacc A, 200=Bodacc B, 300=Bodacc C
$DBILS2.=exporte($datePar, 8); // Date de parution
$DBILS2.=initstr(0, 5, '0', ALIGN_RIGHT); // Page
if ($codeEve=='') {
$message.="Code évènement non géré : '$codeEven'".EOL;
sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales SOFID (ERREUR)", $message);
return $message;
}
$DBILS2.=exporte($codeEve, 2); //
$DBILS2.=initstr($depPar, 2, '0', ALIGN_RIGHT);
$DBILS2.=initstr($numAnn, 6, '0', ALIGN_RIGHT);
$DBILS2.=exporte($codeRol, 1); //
$DBILS2.=exporte($tabEvenSolib[$codeEve], 5);
$DBILS2.=exporte($codeTri, 6); //
$DBILS2.=exporte($numPar, 3); //
$DBILS2.=initstr($dateJuge, 8, '0', ALIGN_RIGHT); // Date de jugement
$DBILS2.=initstr($dateEffet, 8, '0', ALIGN_RIGHT); // Date d'effet
$DBILS2.=initstr($dateCess, 8, '0', ALIGN_RIGHT); // Date de cessat° des paiements
$DBILS2.=exporte($vteDev, 2); // Devise de la vente
$DBILS2.=initstr($vteMnt, 11, '0', ALIGN_RIGHT); // Montant de la vente
$DBILS2.=exporte('', 33); // Particularité
$DBILS2.=exporte('', 4); // Code rubrique du Bodacc A1xx
$DBILS2.=exporte('', 6); // Code lib injecté
$tabJuge=$iRncs->getIntervenants($siren);
foreach ($tabJuge as $iDepot=>$depot) {
$DBILS2.=exporte('', 5); // Mot clé Nom
$DBILS2.=exporte('', 1); // Type officier ministeriel
$DBILS2.=exporte($depot['admcode'], 7); // Code Bil
$DBILS2.=exporte($depot['admnom'], 30); // Nom syndic
$DBILS2.=exporte($depot['admadrNum'], 4); // N° rue
$DBILS2.=exporte($depot['admadrInd'], 1); // Bis
$DBILS2.=exporte('', 3); // Type Voie
$DBILS2.=exporte($depot['admadrVoie'], 33); // Lib Voie
$DBILS2.=exporte('', 32); // Lieu
$DBILS2.=exporte($depot['admadrCP'], 5); // CP
$DBILS2.=exporte($depot['admadrVille'], 32); // Ville
$DBILS2.=exporte('', 10); // Tel
if ($iDepot==1) break;
}
$ligneANN=$DBILS2;
$txtAnn='';
//if ($ligne100>1) $ecrireLignePre=true;
break;
case 104: // Annonce
$ligne104++;
$txtAnn=trim($txtAnn.' '.trim(substr($ligne, 89 , 1910))); // Texte Annonce
break;
default: // Ligne non gérée
break;
}
if ($ecrireLignePre) {
fwrite($fp, $ligneOut.EOL);
$ecrireLignePre=false;
}
}
fclose($fp);
return true;
}
?>