456 lines
23 KiB
PHP
456 lines
23 KiB
PHP
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
|
<?php
|
|
|
|
define('VERSION_FICHIER_BODACC','0106');
|
|
|
|
/**
|
|
* @todo
|
|
* 1. Numéroter toutes les procédures OK
|
|
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
|
|
* 101 Commentaire
|
|
* 102 Activite déclaré au Bodacc
|
|
* 103 texte rectificatif
|
|
* 104 Annonce complète au format texte
|
|
* 105 Structure Dirigeants BODACC
|
|
* 106 Libellé du Périmètre de la vente
|
|
* 3.
|
|
* 5. JugesCommissaires à intégrer correctement
|
|
|
|
Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
|
|
|
|
Raison sociale du vendeur Anum. 255
|
|
Siren du vendeur (en cas de Vente/Cessions) Num. 9
|
|
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
|
|
*/
|
|
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');
|
|
|
|
$repProduction='/mnt/samba/partage/production/';
|
|
|
|
$incrementationDesTour=true;
|
|
$typePrestaton='diffusionBodacc';
|
|
$ignoreDateDerExec=$retroActivite=false;
|
|
|
|
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
|
Extaction Bodacc pour CSF.
|
|
|
|
Options :
|
|
-a:2004 Année 2004
|
|
";
|
|
|
|
$argv=$_SERVER['argv'];
|
|
if ($_SERVER['argc']>1)
|
|
{
|
|
for ($i=1; isset($argv[$i]); $i++) {
|
|
if (substr($argv[$i],0,1)=='-') {
|
|
switch (substr($argv[$i],1,1)) {
|
|
case 'a':
|
|
$annee=substr($argv[$i],3,strlen($argv[$i])-3);
|
|
break;
|
|
case '-':
|
|
case '?':
|
|
die($strInfoScript);
|
|
break;
|
|
default:
|
|
die('Option '. $argv[$i] . " inconnue !\n");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$iDb=new WDB('historiques');
|
|
$iDb2=new WDB('historiques');
|
|
//$iDb2=new WDB('jo');
|
|
$iBodacc=new MBodacc();
|
|
|
|
function genereMultiLigne($typeLigne, $enteteLigne, $chaine, $eol="\r\n", &$nbLignes=0) {
|
|
$lonLigne=LONGUEUR_LIGNE_SORTIE-90;
|
|
$str='';
|
|
$chaine=preg_replace('/ +/', ' ', strtr($chaine, array("\n"=>' ',"\r"=>' ',";"=>' ')));
|
|
switch ($typeLigne) {
|
|
case '102': // Activité déclarée au Bodacc
|
|
case '103': // Texte rectificatif
|
|
case '104': // Annonce Bodacc Complète
|
|
case '105': // Structure dirigeants
|
|
$tabLigne=str_split($chaine, $lonLigne);
|
|
foreach ($tabLigne as $i=>$ligne) {
|
|
$str.=initstr($typeLigne.$enteteLigne.$ligne, LONGUEUR_LIGNE_SORTIE).$eol;
|
|
$nbLignes++;
|
|
}
|
|
break;
|
|
default:
|
|
die("ERREUR : Structure de sortie n°$typeLigne non prise en charge !\n");
|
|
break;
|
|
}
|
|
return $str;
|
|
}
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Début du traitement diffusion BODACC.\n";
|
|
|
|
/** On récupère la liste des Adhérents **/
|
|
|
|
$optionZip='none';
|
|
$optionEOL="\r\n";
|
|
$tabOptOutput=array();
|
|
$dateDernierTraitement=false;
|
|
|
|
$dateDebutPrestation=''.$annee.'0301';
|
|
$dateFinPrestation=''.$annee.'1231';
|
|
//$dateFinPrestation=''.$annee.'0631';
|
|
|
|
$clientIdentifiant='CSF_BodaccAB_'.$annee;
|
|
|
|
/**
|
|
** On génère la ligne d'entête
|
|
**/
|
|
$fp=fopen(REP_TEMP . $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', 'w');
|
|
if ($fp==false) die('ERREUR : Impossible de créer le fichier !');
|
|
error_reporting(E_ALL ^ E_NOTICE);
|
|
$str= initstr('001', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
|
initstr(date('YmdHis'), 14) . // Date de génération du fichier
|
|
initstr(0, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
|
|
initstr($clientIdentifiant, 36) . // Identifiant Client
|
|
initstr($typePrestaton, 32) . // Type de prestation
|
|
initstr(VERSION_FICHIER_BODACC, 4) . // Type de prestation
|
|
initstr(FILLER, 1901) . // FILLER
|
|
'';
|
|
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
|
|
$nbLignes=1;
|
|
|
|
/**
|
|
** On génère les lignes de détail
|
|
**/
|
|
$strRubrique='';
|
|
$tabOptOutput[104]=true;
|
|
$tabNaf=array();
|
|
$versionEvenClient=11;
|
|
|
|
$tables='entrep e, texte x, annonce_hiz z';
|
|
$fields='e.ANBASE, e.NOBOD, e.CODTRI, e.JAL, e.DATE, e.CODEVE, e.SSCODE, e.DEPT, e.NOANN, e.ROLE, e.SIREN, e.E1GSIR, e.E1GNIC, x.annonceNum, x.annonceTxt, E1TNOM, E1TSIG, E1ENRU, E1EBTQ, E1ETVI, E1EVOI, E1ECPI, E1EVIL, z.DATEZ, z.DTEFFZ, z.RUBODZ';
|
|
//d.id, d.siren, sirenValide, Bodacc_Num, Bodacc_Date_Parution, Num_Annonce, Rubrique_Bodacc, Rubrique, typeAnnonce, corrNum_Annonce, corrBodacc_Date_Parution, corrPage, corrNumParution, corrTexteRectificatif, RC, d.raisonSociale, nomCommercial, d.enseigne, nationalite, FJ, Capital, CapitalDev, adresse, adrNum, adrIndRep, adrTypVoie, adrLibVoie, adrComp1, adrComp2, codePostal, d.ville, adresseSiege, adrSiegeNum, adrSiegeIndRep, adrSiegeTypVoie, adrSiegeLibVoie, adrSiegeComp1, adrSiegeComp2, codePostalSiege, villeSiege, administration, activite, typeEven, commentaires, dateEffet, publication, publicationNom, publicationDate, fusion, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, Numero, VenteMt, VenteDev, bienAcqui, Mandataire, mandNom, mandRepr, mandAdresse, mandCP, mandVille, JugeCommissaire, jugeCommissaireSuppleant, ReprCreanciers, creaNom, creaRepr, creaAdresse, creaCP, creaVille, administrateur, admNom, admRepr, admAdresse, admCP, admVille, oppositions, oppoNom, oppoRepr, oppoAdresse, oppoCP, oppoVille, perimetre, dateFinDepotCreances, delaiDepotCreances, dateFinObservation, FinObservationBodacc, d.dateInsert';
|
|
$where="e.E1GSIR>10000 AND e.DATE BETWEEN $dateDebutPrestation AND $dateFinPrestation AND e.ANBASE=x.annonceNum AND e.ANBASE=z.ANBAZ AND E1GSTB=1";
|
|
|
|
echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
|
|
$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true); // Gérer la table surveillance
|
|
echo date ('Y/m/d - H:i:s')." - $nbAnnonces annonces à traiter...".EOL;
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Début de génération du fichier client en version $versionEvenClient...".EOL;
|
|
|
|
$numAnnonceSD=0010000000+(($annee*1)-1995)*3000000;
|
|
$numPre=-1;
|
|
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
|
|
|
|
if ($annonce['ANBASE']==$numPre) continue;
|
|
$numPre=$annonce['ANBASE'];
|
|
|
|
if ($annonce['JAL']==1) $Bodacc_Code='A';
|
|
elseif ($annonce['JAL']==200) $Bodacc_Code='B';
|
|
|
|
if ($annonce['CODEVE']<20) $tabEven=array('4999');
|
|
elseif ($annonce['CODEVE']<=25) $tabEven=array('5999');
|
|
elseif ($annonce['CODEVE']<40) $tabEven=array('2312');
|
|
elseif ($annonce['CODEVE']<42) $tabEven=array('6700');
|
|
elseif ($annonce['CODEVE']<50) $tabEven=array('2312');
|
|
elseif ($annonce['CODEVE']<80) $tabEven=array('1999');
|
|
|
|
$tabTmp=$iDb2->select('annonce_hinl', 'NUMEZ, DATEZ, DTEFFZ', 'ANBAZ='.$annonce['ANBASE'], false, MYSQL_ASSOC);
|
|
$dateJ=@$tabTmp[0]['DATEZ'];
|
|
|
|
$tabTmp=$iDb2->select('annonce_hia', 'DATEZ, DTEFFZ, MOVENA, MTVENA', 'ANBAZ='.$annonce['ANBASE'], false, MYSQL_ASSOC);
|
|
$VenteMt=$tabTmp[0]['MTVENA']*1;
|
|
$VenteDev=@$tabTmp[0]['MOVENA'];
|
|
|
|
/* $tabRet[$k]=array( 'id'=>-$ann['ANBASE'],
|
|
'BodaccCode'=>$Bodacc_Code,
|
|
'BodaccNum'=>$ann['NOBOD'],
|
|
'NumAnnonce'=>$ann['NOANN'],
|
|
'DateParution'=>substr($ann['DATE'],0,4).'-'.substr($ann['DATE'],4,2).'-'.substr($ann['DATE'],6,2),
|
|
'Departement'=>$ann['DEPT'],
|
|
'Tribunal'=>$ann['triNom'],
|
|
'TribunalSiret'=>$ann['triSiret'],
|
|
'Rubrique'=>$rub,
|
|
'typeAnnonce'=>'Insertion',/** @todo à GERER $ann['SSCODE'],
|
|
//'texteRectificatif'=>$ann['corrTexteRectificatif'],
|
|
// 'texteAnnonce'=>$ann['annonceTxt'],
|
|
'dateEffet'=>$ann['DATE'],
|
|
'dateJugement'=>$ann['DATE'],
|
|
'dateInsertionSD'=>'',
|
|
'evenements'=>array(array('CodeEven'=>$tabTmp[$ann['CODEVE']],'LibEven'=>$this->iBodacc->getEvenement($tabTmp[$ann['CODEVE']]))),
|
|
);
|
|
if ($idAnnonce<>0) $tabRet[$k]['texteAnnonce']=$ann['NOANN'].' - '.$ann['annonceTxt'];
|
|
} */
|
|
$numInter=0;
|
|
$inter=array();
|
|
if ($annonce['mandNom']<>'' || $annonce['mandCP']<>0) {
|
|
$inter[$numInter]['type']='M'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
|
$inter[$numInter]['SIRET']=0;
|
|
$inter[$numInter]['Nom']=$annonce['mandNom'];
|
|
$inter[$numInter]['Repr']=$annonce['mandRepr'];
|
|
$inter[$numInter]['adrNum']='';
|
|
$inter[$numInter]['adrBis']='';
|
|
$inter[$numInter]['adrType']='';
|
|
$inter[$numInter]['adrLib']=$annonce['mandAdresse'];
|
|
$inter[$numInter]['CP']=$annonce['mandCP'];
|
|
$inter[$numInter]['Ville']=$annonce['mandVille'];
|
|
$inter[$numInter]['Tel']='';
|
|
$numInter++;
|
|
}
|
|
if ($annonce['creaNom']<>'' || $annonce['creaCP']<>0) {
|
|
$inter[$numInter]['type']='R'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
|
$inter[$numInter]['SIRET']=0;
|
|
$inter[$numInter]['Nom']=$annonce['creaNom'];
|
|
$inter[$numInter]['Repr']=$annonce['creaRepr'];
|
|
$inter[$numInter]['adrNum']='';
|
|
$inter[$numInter]['adrBis']='';
|
|
$inter[$numInter]['adrType']='';
|
|
$inter[$numInter]['adrLib']=$annonce['creaAdresse'];
|
|
$inter[$numInter]['CP']=$annonce['creaCP'];
|
|
$inter[$numInter]['Ville']=$annonce['creaVille'];
|
|
$inter[$numInter]['Tel']='';
|
|
$numInter++;
|
|
}
|
|
if ($annonce['admNom']<>'' || $annonce['admCP']<>0) {
|
|
$inter[$numInter]['type']='A'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
|
$inter[$numInter]['SIRET']=0;
|
|
$inter[$numInter]['Nom']=$annonce['admNom'];
|
|
$inter[$numInter]['Repr']=$annonce['admRepr'];
|
|
$inter[$numInter]['adrNum']='';
|
|
$inter[$numInter]['adrBis']='';
|
|
$inter[$numInter]['adrType']='';
|
|
$inter[$numInter]['adrLib']=$annonce['admAdresse'];
|
|
$inter[$numInter]['CP']=$annonce['admCP'];
|
|
$inter[$numInter]['Ville']=$annonce['admVille'];
|
|
$inter[$numInter]['Tel']='';
|
|
$numInter++;
|
|
}
|
|
/* if ($annonce['oppoNom']<>'' || $annonce['oppoCP']<>0) {
|
|
$inter[$numInter]['type']='O'; // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
|
$inter[$numInter]['SIRET']=0;
|
|
$inter[$numInter]['Nom']=$annonce['oppoNom'];
|
|
$inter[$numInter]['Repr']=$annonce['oppoRepr'];
|
|
$inter[$numInter]['adrNum']='';
|
|
$inter[$numInter]['adrBis']='';
|
|
$inter[$numInter]['adrType']='';
|
|
$inter[$numInter]['adrLib']=$annonce['oppoAdresse'];
|
|
$inter[$numInter]['CP']=$annonce['oppoCP'];
|
|
$inter[$numInter]['Ville']=$annonce['oppoVille'];
|
|
$inter[$numInter]['Tel']='';
|
|
$numInter++;
|
|
}*/
|
|
$numAnnonceSD++;
|
|
$str= initstr('100', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
|
initstr($numAnnonceSD, 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
|
|
initstr($annonce['E1GSIR'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
|
|
initstr(FILLER, 5) . // On garde la place pour le NIC
|
|
initstr($annonce['NOBOD'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
|
|
initstr($Bodacc_Code, 1) . // Code Bodacc (A, B ou C)
|
|
initstr($annonce['DATE'], 8) . // Date de parution du Bodacc
|
|
initstr($annonce['NOANN'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
|
|
initstr($annonce['RUBODZ'], 3, '0') . // Rubrique dans le Bodacc
|
|
initstr('I', 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
|
|
// R=Rectif, S=Suppression
|
|
initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée
|
|
initstr(FILLER, 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
|
|
initstr(FILLER, 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
|
|
initstr(FILLER, 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée
|
|
// (ex: 230A, 001B)
|
|
initstr(FILLER, 18) . // REFERENCE DU CLIENT
|
|
initstr($annonce['CODTRI'], 6) .
|
|
initstr(FILLER, 9) . // Numéro de RC (Registre du Commerce) de l'entreprise
|
|
initstr($annonce['E1TNOM'], 150) . // Raison sociale de l'entreprise
|
|
initstr(FILLER, 100) . // Nom commercial de l'entreprise
|
|
initstr($annonce['E1TSIG'], 100) . // Enseigne de l'établissement
|
|
initstr(FILLER, 30) . // Nationalité si Personne physique
|
|
//initstr(MInsee::getFJInsee($annonce['siren']), 4) . // FJ codification Insee
|
|
initstr('0000', 4) . // FJ codification Insee
|
|
initstr(FILLER, 90) . // Forme juridique de l'entreprise déclarée au BODACC
|
|
initstr(FILLER, 15, '0', ALIGN_RIGHT) . // Capital
|
|
initstr(FILLER, 3) . // Devise du capital (format ISO)
|
|
// Adresse / 150 car
|
|
initstr(FILLER, 4, '0', ALIGN_RIGHT) . //
|
|
initstr(FILLER, 1) . //
|
|
initstr(FILLER, 5) .
|
|
initstr(FILLER, 50) .
|
|
initstr(FILLER, 50) .
|
|
initstr(FILLER, 40) .
|
|
initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
|
|
initstr(FILLER, 45) . // Ville de l'établissement
|
|
// Adresse du siège / 150 car
|
|
initstr($annonce['E1ENRU'], 4, '0', ALIGN_RIGHT) . //
|
|
initstr($annonce['E1EBTQ'], 1) . //
|
|
initstr($annonce['E1ETVI'], 5) .
|
|
initstr($annonce['E1EVOI'], 50) .
|
|
initstr(FILLER, 50) .
|
|
initstr(FILLER, 40) .
|
|
initstr($annonce['E1ECPI'], 5, '0', ALIGN_RIGHT) . // Code Postal de l'établissement
|
|
initstr($annonce['E1EVIL'], 45) . // Ville de l'établissement
|
|
initstr(implode('',$tabEven), 32, '0', ALIGN_RIGHT) . // Code Evènement Bodacc n°1 à 8
|
|
initstr(FILLER, 100) . // NOM du JAL si publication
|
|
initstr(FILLER, 8) . // Date de publication du JAL si publication
|
|
initstr(FILLER, 8) . // Date de cessation des paiements
|
|
initstr($dateJ, 8) . // Date du jugement
|
|
initstr(FILLER, 1) . // FILLER (Replace type de création)
|
|
initstr(FILLER, 8) . // Date de début d'activité
|
|
initstr($annonce['DTEFFZ'], 8) . // Date d'effet (Ventes/MMD)
|
|
// ou Date clôture exercice si ann dépôt comptes
|
|
initstr($VenteMt, 15, '0', ALIGN_RIGHT) . // Montant de la vente
|
|
initstr($VenteDev, 3) . // Devise de la ventre
|
|
initstr(FILLER, 35) . // Numéro de l'affaire au greffe
|
|
initstr($inter[0]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
|
initstr($inter[0]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
|
|
initstr($inter[0]['Nom'], 80) . // Raison sociale
|
|
initstr($inter[0]['Repr'], 80) . // Représentant
|
|
initstr($inter[0]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
|
|
initstr($inter[0]['adrBis'], 1) . // Adresse, Bis/Ter
|
|
initstr($inter[0]['adrType'], 4) . // Adresse, type de voie
|
|
initstr($inter[0]['adrLib'], 32) . // Adresse, libellé de la voie
|
|
initstr($inter[0]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
|
|
initstr($inter[0]['Ville'], 45) . // Adresse, commune
|
|
initstr($inter[0]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
|
|
initstr($inter[1]['type'], 1) . // Type d'intervenant A : Mand/Adm/ReprCre/Oppo
|
|
initstr($inter[1]['SIRET'], 14, '0', ALIGN_RIGHT) . // Intervenant A : Siret
|
|
initstr($inter[1]['Nom'], 80) . // Raison sociale
|
|
initstr($inter[1]['Repr'], 80) . // Représentant
|
|
initstr($inter[1]['adrNum'], 4, '0', ALIGN_RIGHT) . // Adresse, numéro dans la voie
|
|
initstr($inter[1]['adrBis'], 1) . // Adresse, Bis/Ter
|
|
initstr($inter[1]['adrType'], 4) . // Adresse, type de voie
|
|
initstr($inter[1]['adrLib'], 32) . // Adresse, libellé de la voie
|
|
initstr($inter[1]['CP'], 5, '0', ALIGN_RIGHT) . // Adresse, code Postal
|
|
initstr($inter[1]['Ville'], 45) . // Adresse, commune
|
|
initstr($inter[1]['Tel'], 10, '0', ALIGN_RIGHT) . // Téléphone
|
|
initstr(FILLER/*$annonce['JugeCommissaireNom']*/, 30) . // NOM du JugeCommissaire
|
|
initstr(FILLER/*$annonce['JugeCommissairePrenom']*/, 30) . // Prénom du JugeCommissaire
|
|
initstr(FILLER/*$annonce['JugeCommissaireSupplNom']*/, 30) . // NOM du JugeCommissaire suppléant
|
|
initstr(FILLER/*$annonce['JugeCommissaireSupplPrenom']*/, 30) . // Prénom du JugeCommissaire suppléant
|
|
initstr(FILLER, 8) . // Date limite pour le dépôt des créances
|
|
initstr(FILLER, 8) . // Date de fin de la période d'observation
|
|
'';
|
|
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE).$optionEOL);
|
|
$nbLignes++;
|
|
// if ($tabOptOutput['commentaire']==true && $annonce['commentaires']<>'')
|
|
// fwrite($fp, '101'.initsrt($annonce['commentaires'],1500).$eol); // Commentaire textuel si nécessaire
|
|
$enteteL= initstr($numAnnonceSD, 10, '0', ALIGN_RIGHT) . // Numéro unique d'identification interne d'une annonce
|
|
initstr($annonce['E1GSIR'], 9, '0', ALIGN_RIGHT) . // Siren de l'entreprise concernée par l'annonce
|
|
initstr(FILLER, 5) . // On garde la place pour le NIC
|
|
initstr($annonce['NOBOD'], 3, '0', ALIGN_RIGHT) . // Numéro de parution du Bodacc dans l'année
|
|
initstr($Bodacc_Code, 1) . // Code Bodacc (A, B ou C)
|
|
initstr($annonce['DATE'], 8) . // Date de parution du Bodacc
|
|
initstr($annonce['NOANN'], 5, '0', ALIGN_RIGHT) . // Numéro de l'annonce dans le Bodacc
|
|
initstr($annonce['RUBODZ'], 3, '0') . // Rubrique dans le Bodacc
|
|
initstr('I', 1) . // Type d'annonce Bodacc : I=Insertion, A=Additif,
|
|
initstr(FILLER, 5, '0', ALIGN_RIGHT) . // Si annonce diff. de I, numéro de l'annonce corrigée
|
|
initstr(FILLER, 8) . // Si diff. I, date du Bodacc de l'annonce corrigée
|
|
initstr(FILLER, 6, '0', ALIGN_RIGHT) . // Si diff. I, page du Bodacc de l'annonce corrigée
|
|
initstr(FILLER, 4, '0', ALIGN_RIGHT) . // Si diff. I, Num parut°/année de annonce corrigée // (ex: 230A, 001B)
|
|
initstr(FILLER, 18) .
|
|
'';
|
|
|
|
$texte=trim(strtr(preg_replace('/ +/', ' ', strtr(preg_replace('/ +/', ' ',$annonce['annonceTxt'].'.'),
|
|
array( ' Jugement '=>'. Jugement ',
|
|
' RCS '=>'. RCS ',
|
|
' RCS non encore inscrit '=>'. RCS non encore inscrit. ',
|
|
'RCSnon encore inscrit '=>'RCS non encore inscrit. ',
|
|
'RCSNon encore inscrits '=>'RCS non encore inscrit. ',
|
|
'RCSRCS '=>'RCS ',
|
|
' Forme:'=>'. Forme : ',
|
|
' Capital:'=>'. Capital : ',
|
|
' Enseigne:'=>'. Enseigne : ',
|
|
' Sigle:'=>'. Sigle : ',
|
|
' Activité:'=>'. Activité : ',
|
|
' Commentaires:'=>'. Commentaires : ',
|
|
' Adresse:'=>'. Adresse : ',
|
|
' Date de cessation des paiements:'=>'. Date de cessation des paiements : ',
|
|
' Mandataire judiciaire:'=>'. Mandataire judiciaire : ',
|
|
' Les déclarations de créances '=>' Les déclarations de créances ',
|
|
' Fonds acquis par achat '=>'. Fonds acquis par achat ',
|
|
" Date d'effet:"=>". Date d'effet : ",
|
|
" Date d' effet:"=>". Date d'effet : ",
|
|
' Précédent propriétaire '=>'. Précédent propriétaire : ',
|
|
' Précédent exploitant '=>'. Précédent exploitant : ',
|
|
' Première insertion:'=>'. Première insertion : ',
|
|
' oppositions:'=>'. Oppositions : ',
|
|
' Oppositions:'=>'. Oppositions : ',
|
|
' Adresse du siège social:'=>'. Adresse du siège social : ',
|
|
" Adresse de l'établissement principal:"=>". Adresse de l'établissement principal : ",
|
|
' Administration:'=>'. Administration : ',
|
|
))), array(':.'=>':', '..'=>'.', '. .'=>'.')));
|
|
|
|
fwrite($fp, genereMultiLigne('104', $enteteL, $texte, $optionEOL, $nbLignes));
|
|
|
|
if ($nbLignes%1000==1) echo date ('Y/m/d - H:i:s')." - Nb lignes=$nbLignes\n";
|
|
}
|
|
|
|
/**
|
|
** On génère la ligne de fin de fichier
|
|
**/
|
|
$nbLignes++;
|
|
$str= initstr('999', 3, '0', ALIGN_RIGHT) . // Type de ligne
|
|
initstr(date('YmdHis'), 14) . // Date & Heure de fin génération du fichier
|
|
initstr($clientNumTourFichier, 10, '0', ALIGN_RIGHT) . // Numéro de tour du fichier pour le client
|
|
initstr($clientIdentifiant, 36) . // Identifiant Client
|
|
initstr($typePrestaton, 32) . // Type de prestation
|
|
initstr($nbLignes, 10, '0', ALIGN_RIGHT) . // Nombre de lignes Total du fichier
|
|
'';
|
|
fwrite($fp, initstr($str,LONGUEUR_LIGNE_SORTIE)); // Pas de fin de ligne sur la dernière ligne
|
|
fclose($fp);
|
|
echo date ('Y/m/d - H:i:s')." - Prestation n°$numPrestation, Client $nomClient :Fichier client terminé.".EOL;
|
|
|
|
/** Mise à jour des numéros de tour et des date de dernières exécutions
|
|
**/
|
|
if ($incrementationDesTour) {
|
|
$iDbCrm=new WDB('sugarcrm');
|
|
$rep=$iDbCrm->update('cases_cstm', array('trtdatederniereexec_c'=>date('YmdHis'), 'trtnumerotour_c'=> $clientNumTourFichier),
|
|
"id_c='".$tabAdherent['idPrestationBdd']."'");
|
|
}
|
|
/*Gzip ou zip zt envoi par mail ou dépot sur le site FTP*/
|
|
switch ($optionZip) {
|
|
case 'zip':
|
|
$zip = new ZipArchive;
|
|
$res = $zip->open($repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.zip', ZipArchive::CREATE);
|
|
if ($res === TRUE) {
|
|
// $zip->addFromString('test.txt', 'file content goes here');
|
|
$zip->addFile( REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt',
|
|
$typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
|
$zip->close();
|
|
echo date ('Y/m/d - H:i:s')." - Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.zip OK...'.EOL;
|
|
} else {
|
|
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Zip du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
|
}
|
|
break;
|
|
case 'gzip':
|
|
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
|
$gz = gzopen($repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.gz','w9');
|
|
if (!$gz) {
|
|
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Gzip du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
|
} else {
|
|
gzwrite($gz, $string);
|
|
gzclose($gz);
|
|
echo date ('Y/m/d - H:i:s')." - Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt.gz OK...'.EOL;
|
|
}
|
|
break;
|
|
case 'bzip2':
|
|
$string=file_get_contents(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt');
|
|
$bz = bzopen($repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt.bz2','w');
|
|
// Ne sait pas si le niveau de compression 1 à 9 est implémenté pour cette fonction
|
|
if (!$bz) {
|
|
echo date ('Y/m/d - H:i:s')." - ERREUR : Compression Bzip2 impossible pour ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
|
} else {
|
|
bzwrite($bz, $string, strlen($string));
|
|
bzclose($bz);
|
|
echo date ('Y/m/d - H:i:s')." - Compression du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt.bz2 OK...'.EOL;
|
|
}
|
|
break;
|
|
default:
|
|
if (!copy(REP_TEMP. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt', $repProduction. $typePrestaton.'_'.$clientIdentifiant.'_'.DATETIME.'.txt'))
|
|
echo date ('Y/m/d - H:i:s')." - ERREUR : Déplacement du fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt impossible !'.EOL;
|
|
else
|
|
echo date ('Y/m/d - H:i:s')." - Le fichier ". $typePrestaton .'_'. $clientIdentifiant .'.txt a été créé...'.EOL;
|
|
break;
|
|
}
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Fin du traitement diffusion BODACC.\n";
|
|
die();
|
|
?>
|