batch/1.1/old/diffusionBodaccCSF.php
2013-06-19 08:24:49 +00:00

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();
?>