> /home/data/sources/log/rapportsTextesWeb.log * 0 23 * * * /home/scores/batch/scripts/rapportsTextes.php -f >> /home/data/sources/log/rapportsTextesFtp.log */ error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE & ~E_WARNING & ~E_DEPRECATED); ini_set('auto_detect_line_endings', true); // Define path to application directory defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); // Define application environment defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production')); // Ensure library/ is on include_path set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../library'), get_include_path(), ))); //Use classmap autoloader - useful with opcode and realpath cache require_once 'Zend/Loader/AutoloaderFactory.php'; require_once 'Zend/Loader/ClassMapAutoloader.php'; Zend_Loader_AutoloaderFactory::factory(array( 'Zend_Loader_ClassMapAutoloader' => array( __DIR__ . '/../library/autoload_classmap.php', ), 'Zend_Loader_StandardAutoloader' => array( 'prefixes' => array( 'Zend' => __DIR__ . '/../library/Zend', 'Application' => __DIR__ . '/../library/Application', 'Scores' => __DIR__ . '/../library/Scores', 'SdMetier' => __DIR__ . '/../library/SdMetier', 'Metier' => __DIR__ . '/../library/Metier', ), 'fallback_autoloader' => true ) )); // Create application, bootstrap, and run $application = new Zend_Application( APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini' ); $c = new Zend_Config($application->getOptions()); // Stockage Client => SD $pathClientSend = '/home/data/clients/fransbonhomme/send'; // Stockage SD => Client $pathClientRecv = '/home/data/clients/fransbonhomme/recv'; //Options try { $opts = new Zend_Console_Getopt(array( 'help|?' => "Displays usage information.", 'site-s' => "Rapports relatifs aux indiscore 2 et 3 de la journée courante ou depuis le SSAAMMJJ inclus", 'ftp-s' => "Traitement des demandes par ftp", 'file=s' => "Spécification du fichier de demande", 'verbose|v' => "Mode bavard ou debug", )); $opts->parse(); } catch (Zend_Console_Getopt_Exception $e) { echo $e->getUsageMessage(); exit; } //Usage if( isset($opts->help) || count($opts->getOptions())==0 ) { echo "\n"."Spécifique FransBonhomme : rapports textes suite à demande fichier."."\n\n"; echo $opts->getUsageMessage(); exit; } $db = Zend_Db::factory($c->profil->db->metier); Zend_Db_Table::setDefaultAdapter($db); require_once APPLICATION_PATH.'/configs/config.php'; require_once 'framework/fwk.php'; require_once 'framework/common/chiffres.php'; require_once 'framework/common/dates.php'; require_once 'framework/mail/sendMail.php'; require_once 'Metier/partenaires/classMLiens2.php'; require_once 'Metier/partenaires/classMBanques.php'; require_once 'Metier/insee/classMInsee.php'; require_once 'Metier/scores/classMScores.php'; $tabCreation = array( 'a'=>'N/D', 'a1' => 'Création', 'a2' => 'Création suite à déménagement', 'a3' => 'Achat', 'a4' => 'Apport', 'a6' => 'Prise en location gérance', 'a7' => 'Partage', 'a8' => 'Reprise', 'aA' => 'Reprise globale de l\'exploitation agricole', 'aB' => 'Poursuite de l\'exploitation agricole par le conjoint', 'aC' => 'Transfert de propriété de l\'exploitation agricole', 'aD' => 'Apport d\'exploitation(s) agricole(s) individuelle(s)', 'aE' => 'Reprise d\'exploitation agricole individuelle', ); $tabTypeExploitation = array( 0 => 'N/D', 1 => "Locataire du fond de commerce", 2 => "Loueur du fond de commerce", 3 => "Prestation de personnel", 10 => "Exploitation directe" ); $tabFichLigneCmd=array(); $modeDebug=false; $iDb=new WDB(); $iInsee=new MInsee($iDb); $message=''; $tdate = new WDate(); // --- Génération du fichier de demande depuis les logs de consultation indiscore2, indiscore3 if ($opts->site) { if ($opts->site === true) { $dateDemandes = date('Ymd'); } else { $dateDemandes = $opts->site; } $fichierJour = 'extranet'.$dateDemandes; $strDates = 'AND dateHeure>='.$dateDemandes.'000000'; $tabTmp = $iDb->select( 'sdv1.logs l, sdv1.utilisateurs u', 'siren, dateHeure', "l.login=u.login AND u.login<>'fransbonrapports' AND u.idClient=93 AND l.page IN ('indiscore2','indiscore3') $strDates", false, MYSQL_ASSOC); echo date('Y/m/d H:i:s') . " - Nombre de rapports 1 et 2 sur l'extranet : ".count($tabTmp)."\n"; $strDemandes=''; if ( count($tabTmp)>0 ) { foreach ($tabTmp as $i=>$demande) { echo date('Y/m/d H:i:s') . " - " .$demande['siren'] ."\n"; $strDemandes.= $demande['siren'].' '.EOL; } file_put_contents($pathClientSend . '/' . $fichierJour, $strDemandes); $tabFichLigneCmd[] = $fichierJour; } } // --- Fichier de demande par FTP if ($opts->ftp) { //client, name, depotType, depotDate, depotFile, nbLines, dateInsert, dateExecute $fluxinM = new Application_Model_Sdv1FluxFileIn(); // --- Auto if ($opts->ftp === true) { // --- Detecter si la date n'est pas trop ancienne $dateNow = new Zend_Date(); $dateIn1 = $dateNow->toString('yyyy-MM-dd HH:mm:ss'); $diff = $dateNow->sub(28, Zend_Date::HOUR); $dateIn2 = $diff->toString('yyyy-MM-dd HH:mm:ss'); $sql = $fluxinM->select() ->where('client=?','fransbonhomme') ->where('name=?', 'RAPPORT') ->where('depotType=?','FTP') ->where('dateExecute=?','0000-00-00 00:00:00') ->where("dateInsert BETWEEN '".$dateIn2."' AND '".$dateIn1."' ") ->order('dateInsert DESC'); $pitems = $fluxinM->fetchAll($sql); if ( $pitems->count()==0 ) { echo date('Y-m-d H:i:s')." : Aucun traitement à réaliser.".PHP_EOL; exit; } foreach ($pitems as $p) { $tabFichLigneCmd[] = $p->depotFile; break; } } // --- Manuel else { $sql = $fluxinM->select() ->where('client=?','fransbonhomme') ->where('name=?', 'RAPPORT') ->where('depotType=?','FTP') ->where('depotFile=?', $opts->ftp) ->order('dateInsert DESC'); $p = $fluxinM->fetchRow($sql); if ($p !== null) { $tabFichLigneCmd[] = $p->depotFile; } } } // --- Fichier de demande manuel if ($opts->file) { $tabFichLigneCmd[] = $opts->file; } // --- Traitement des fichiers en demande if (count($tabFichLigneCmd) > 0) { foreach ($tabFichLigneCmd as $fichierIn) { $dateBegin = date('YmdHis'); if ( !file_exists($pathClientSend.'/'.$fichierIn) ) { die("Erreur fichier '$fichierIn' inexistant !\n"); } $dateIn = date("dmy", filemtime($pathClientSend.'/'.$fichierIn)); $fp = fopen($pathClientSend.'/'.$fichierIn, 'r'); if (!$fp) { echo date('Y-m-d H:i:s') . " - Impossible de lire le fichier !"."\n"; exit; } // Lecture des lignes pour insertion en surveillance score $nbLinesTotal = 0; while (($ligne = fgets($fp)) !== false) { $nbLinesTotal++; $siren = substr($ligne, 0, 9); if (!$iInsee->valideSiren($siren)) { continue; } $ref = substr($ligne, 9, 10); echo "$fichierIn\t$siren\t$ref".EOL; if (!$iDb->insert('jo.scores_surveillance', array('siren'=>$siren))) { if ( $iDb->getLastErrorNum()==1062 ) continue; die('Erreur SQL #'.mysql_errno().':'.mysql_error().EOL); } } // --- Ecriture nombre d'entités total du fichier d'entrée if ($opts->ftp) { $fluxinM->update(array('nbLines' => $nbLinesTotal), 'id='.$p->id); } echo date ('Y/m/d H:i:s') . " - Nombre de lignes du fichier '$fichierIn' : ".$nbLinesTotal."\n"; // --- Retour au début du fichier rewind($fp); // --- Génération du fichier de sortie $fichierOut = $fichierIn.'.out'; echo date('Y/m/d H:i:s') . " - Génération du fichier '$fichierOut'...".EOL; $dateOut = date("dmy"); $nbLines = 0; while (($ligne = fgets($fp)) !== false) { $nbLines++; echo date('Y/m/d H:i:s') . " - Ligne ".$nbLines."/".$nbLinesTotal.EOL; $siren = substr($ligne, 0, 9); $ref = trim(substr($ligne, 9, 10)); $rapport = ''; //Siren valide if ($iInsee->valideSiren($siren)) { $tabId = $iInsee->getIdentiteEntreprise($siren,0,0,false,false); $siretOut = $tabId['SiretSiege']; $tabIndiscore = calculIndiScore($siren, 0, false, 2, false); $note = $tabIndiscore['Indiscore20']; $encours = round($tabIndiscore['encours']/1000)*1000; } // Siren Faux else { $siretOut = $note = $encours = 0; } $siretIn=$siren.'00000'; //Entete $entete = '02'; $entete.= initstr($siretIn, 14, '0', ALIGN_RIGHT); // SIRET demandé $entete.= initstr($siretOut, 14, '0', ALIGN_RIGHT); // SIRET réponse $entete.= initstr($ref, 10); // Référence FransBonhomme $entete.= initstr($dateIn, 6, '0', ALIGN_RIGHT); // Date demande $entete.= initstr($dateOut, 6, '0', ALIGN_RIGHT); // Date réponse $entete.= initstr($note, 2, '0', ALIGN_RIGHT); // Note $entete.= initstr('', 2); // Filler 1 $entete.= initstr($encours, 6, '0', ALIGN_RIGHT); // Encours en euros sans décimale $entete.= initstr('00000004S et D', 63); // 7x0 + 4 (code Sté) + Nom Sté RC //Fin Entete; //Rapport if ( intval($siretOut)!=0 ) { $rapport =initstr('', 80).EOL; $rapport.=initstr(' '.$tabId['Nom'], 80).EOL; $rapport.=initstr(' '.$tabId['Nom2'].' '.$tabId['Sigle'].' '.$tabId['Enseigne'],80).EOL; $rapport.=initstr(' '.preg_replace('/^0+/','',$tabId['Adresse']), 50). initstr(' TEL : '.preg_replace('/[^0-9]/','',$tabId['Tel']), 30).EOL; if (trim($tabId['Adresse2'])<>'') $rapport.=initstr(' '.$tabId['Adresse2'], 80).EOL; $rapport.=initstr(' '.$tabId['CP'].' '.$tabId['Ville'], 50). initstr(' FAX : '.preg_replace('/[^0-9]/','',$tabId['Fax']), 30).EOL; if ($tabId['PaysIso2']<>'FR') $rapport.=initstr(' '.$tabId['Pays'], 80).EOL; if (trim($tabId['Web'])<>'') $rapport.=initstr(' WEB : '.$tabId['Web'], 80).EOL; if (trim($tabId['Mail'])<>'') $rapport.=initstr(' MEL : '.$tabId['Mail'], 80).EOL; $rapport.=initstr('', 80).EOL; $rapport.=initstr('SIRET : '. substr($tabId['SiretSiege'],0,3).' '. substr($tabId['SiretSiege'],3,3).' '. substr($tabId['SiretSiege'],6,3).' '. substr($tabId['SiretSiege'],9,5).' '. ' RCS : '.$tabId['numRC'].' '. preg_replace('/^(TC |TI |TGI |TGIcc )/i','',$tabId['TribunalLib']), 80).EOL; /** Situation Juridique **/ $dateRadiation=$tabId['dateRad']; $situationjuridique=$tabId['SituationJuridique']; $libSituation=''; if (in_array(substr($situationjuridique,0,1), array('P', 'R')) ) { if(isset($dateRadiation) && $dateRadiation!='' && $dateRadiation!='0000-00-00'){ $dateRad = $tdate->dateT('Ymd', 'd/m/Y', str_replace('-','',$dateRadiation)); } if ($situationjuridique=='P') { $libSituation.= 'En procédure collective'; if($dateRad!=''){ $libSituation.= 'Radié du RCS le '.$dateRad; } } //Radiation if($situationjuridique=='RR') { $libSituation.= 'Radié du RCS'; if($dateRad!=''){ $libSituation.= ' le '.$dateRad; } }elseif($situationjuridique=='RP'){ $libSituation.= 'Radiation publiée'; if($dateRad!=''){ $libSituation.= ' le '.$dateRad; } } } elseif($tabId['EntActiveRCS']==1) { $libSituation.= 'Actif au RCS'; } $rapport.=initstr('', 80).EOL; $rapport.=initstr('SITUA. JUR.: '.$libSituation, 80).EOL;//@todo multiligne $rapport.=initstr('', 80).EOL; $rapport.=initstr('FORME JUR. : '.$tabId['FJ'].' '.$tabId['FJ_lib'], 80).EOL;//@todo multiligne if ($tabId['Capital']>0) { $rapport.=initstr('', 80).EOL; $rapport.=initstr('CAPITAL : '.number_format($tabId['Capital'],0,'.',' ').' '.$tabId['CapitalDev'], 80).EOL; } $rapport.=initstr('', 80).EOL; $dateImm=str_replace('-','',$tabId['dateImmat']); if (substr($dateImm,0,4)*1==0) $dateImm=$tabId['DateCreaEn']; if (substr($dateImm,0,4)*1==0) $dateImm=$tabId['DateCreaEt']; $rapport.=initstr('CREATION : '.$tdate->dateT('Ymd','M Y',$dateImm), 80).EOL; $rapport.=initstr('', 80).EOL; $rapport.=initstr('CODE NAF : '.$tabId['NafEnt'].' '.$tabId['NafEntLib'], 80).EOL;//@todo multiligne $rapport.=initstr('', 80).EOL; $rapport.=initstr('ACTIVITE : ',80).EOL; $rapport.=wordwrap($tabId['Activite'], 80, EOL).EOL;//@todo multiligne $rapport.=initstr('', 80).EOL; $rapport.=initstr('ORIGINE DU FOND : '.$tabCreation['a'.$tabId['OrigineCreation']], 80).EOL;//@todo multiligne $rapport.=initstr('', 80).EOL; $rapport.=initstr('TYPE D\'EXPLOITATION : '.$tabTypeExploitation[$tabId['TypeExploitation']*1], 80).EOL;//@todo multiligne $rapport.=initstr('', 80).EOL; $nbEts=($tabId['NbEtab']*1)-1; if ($nbEts<0) $nbEts=0; $rapport.=initstr('NOMBRE D\'ETABLISSEMENTS SECONDAIRES : '.$nbEts, 80).EOL; $rapport.=initstr('', 80).EOL; $rapport.=initstr('DIRIGEANT 1: '.strtoupper($tabId['dir1Titre']), 80).EOL; if (substr($tabId['dir1DateNaiss'],0,4)*1==0) $strNaiss=''; else $strNaiss=' né(e) le '.$tdate->dateT('Y-m-d','d/m/Y',$tabId['dir1DateNaiss']); $rapport.=initstr(' '.$tabId['dir1NomPrenom'].$strNaiss,80).EOL; $rapport.=initstr('DIRIGEANT 2: '.strtoupper($tabId['dir2Titre']), 80).EOL; if (substr($tabId['dir2DateNaiss'],0,4)*1==0) $strNaiss=''; else $strNaiss=' né(e) le '.$tdate->dateT('Y-m-d','d/m/Y',$tabId['dir2DateNaiss']); $rapport.=initstr(' '.$tabId['dir2NomPrenom'].$strNaiss,80).EOL; $rapport.=initstr('', 80).EOL; $rapport.=initstr('GARANTIES',80).EOL; /**@todo MORE*/ $tabBilans=$tabIndiscore['tabBilan']; $devise=$tabBilans[0]['MONNAIE']; //print_r($tabIndiscore);die(); if (($tabIndiscore['NbBilansScore']*1)==0) { $rapport.=initstr(' Néant',80).EOL; $rapport.=initstr('', 80).EOL; $rapport.=initstr('ELEMENTS FINANCIERS', 80).EOL; $rapport.=initstr(' Néant',80).EOL; } else { $rapport.=initstr(' Elles sont représentées par la valeur brute au bilan',80).EOL; $rapport.=initstr(' du fonds de commerce pour un montant de : '.sprintf("%27s", number_format($tabBilans[0]['AH'], 0, ',', ' '))." $devise",80).EOL; $rapport.=initstr(' des constructions pour un montant de : '.sprintf("%27s", number_format($tabBilans[0]['AP'], 0, ',', ' '))." $devise",80).EOL; $rapport.=initstr('', 80).EOL; $rapport.=initstr("ELEMENTS FINANCIERS (SOMMES EN $devise)", 80).EOL; $rapport.=initstr(' '. $tdate->dateT('Ymd','d/m/Y',$tabBilans[0]['DATE_CLOTURE']) .' '. $tdate->dateT('Ymd','d/m/Y',$tabBilans[1]['DATE_CLOTURE']) .' '. $tdate->dateT('Ymd','d/m/Y',$tabBilans[2]['DATE_CLOTURE']), 80).EOL; $rapport.=initstr(' '. $tabBilans[0]['DUREE_MOIS'].' mois' .' '. $tabBilans[1]['DUREE_MOIS'].' mois' .' '. $tabBilans[2]['DUREE_MOIS'].' mois', 80).EOL; $rapport.=initstr('CA : '. sprintf("%14s", number_format($tabBilans[0]['FL'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[1]['FL'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[2]['FL'], 0, ',', ' ')), 80).EOL; $rapport.=initstr('CA EXPORT : '. sprintf("%14s", number_format($tabBilans[0]['FK'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[1]['FK'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[2]['FK'], 0, ',', ' ')), 80).EOL; $rapport.=initstr('RESULTAT COURANT : '. sprintf("%14s", number_format($tabBilans[0]['GW'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[1]['GW'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[2]['GW'], 0, ',', ' ')), 80).EOL; $rapport.=initstr('RESULTAT NET : '. sprintf("%14s", number_format($tabBilans[0]['HN'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[1]['HN'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[2]['HN'], 0, ',', ' ')), 80).EOL; $rapport.=initstr('FONDS PROPRES : '. sprintf("%14s", number_format($tabBilans[0]['DL'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[1]['DL'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[2]['DL'], 0, ',', ' ')), 80).EOL; $rapport.=initstr('FRAIS FINANCIERS : '. sprintf("%14s", number_format($tabBilans[0]['GU'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[1]['GU'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[2]['GU'], 0, ',', ' ')), 80).EOL; $rapport.=initstr('TOTAL DETTES : '. sprintf("%14s", number_format($tabBilans[0]['EC'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[1]['EC'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[2]['EC'], 0, ',', ' ')), 80).EOL; $rapport.=initstr('EFFECTIFS : '. sprintf("%14s", number_format($tabBilans[0]['YP'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[1]['YP'], 0, ',', ' ')) .' '. sprintf("%14s", number_format($tabBilans[2]['YP'], 0, ',', ' ')), 80).EOL; } $rapport.=initstr('', 80).EOL; $rapport.=initstr('PARTENAIRES FINANCIERS', 80).EOL; $mBanque = new MBanques($iDb); $tabBanque = $mBanque->getListeBanques($siren); if (count($tabBanque)==0) { $rapport.=initstr(' Aucun partenaire n\'est référencé dans notre base.',80).EOL; } else { foreach ($tabBanque as $i=>$lien) { $rapport.=initstr(' '.$lien['libBanque'], 80).EOL; if ($i>=3) break; } } /** § ANNONCES **/ $bodc=false; $nbAnn=0; $tabAnn=$iInsee->getAnnoncesLegales($siren); $rapport.=initstr('', 80).EOL; $rapport.=initstr('ANNONCES LEGALES', 80).EOL; if (count($tabAnn)>0) { foreach ($tabAnn as $i=>$depot) { $annDate=$tdate->dateT('Y-m-d','d/m/Y',$depot['DateParution']); foreach ($depot['evenements'] as $even) { $annEve=$even['CodeEven']; if ($annEve>=3000 && $annEve<4000) { if ($bodc) continue; $bodc=true; } $annLib=$even['LibEven']; $rapport.=initstr(" $annDate $annLib",80).EOL; $annDate=' '; } $nbAnn++; if ($nbAnn>=6) break; } } else $rapport.=initstr(' Aucune annonce pour cette entreprise.',80).EOL; /** § dirigeance **/ $rapport.=initstr('', 80).EOL; $rapport.=initstr('DIRIGEANCE', 80).EOL; /** § Liens **/ $mLiens = new MLiens2($siren, 'siren'); $tabAct = $tabPar = array(); try { $tabAct = $mLiens->getActionnaires(); } catch(Exception $e) {} try { $tabPart = $mLiens->getParticipations(); } catch(Exception $e) {} if (count($tabAct)==0 && count($tabPart)==0) $rapport.=initstr(' A notre connaissance, l\'entreprise est indépendante.',80).EOL; else { foreach ($tabAct as $i=>$lien) { $rapport.=initstr(' ACTIONNAIRE à '.$lien->PDetention.' % : '.$lien->RS.' ('.$lien->siren.')', 80).EOL; if ($i>=3) break; } foreach ($tabPart as $i=>$lien) { $rapport.=initstr(' FILIALE à '.$lien->PDetention.' % : '.$lien->RS.' ('.$lien->siren.')', 80).EOL; if ($i>=3) break; } } $rapport.=initstr('', 80).EOL; /** § commentaires **/ $nbLiP=$nbLiM=0; $startLi = false; $startPaiement = 0; foreach ($tabIndiscore['tabCommentaires'] as $i=>$txt) { if ($i==5000) continue; if ($i==10001000 || $startPaiement==1) { $rapport.= initstr('', 80).EOL; $startPaiement++; } else { $startPaiement=0; } if ($i==10000700 || $i==10000800) { $rapport.= initstr('', 80).EOL; $startLi = true; } else { $startLi = false; } $ligneLi = false; if (preg_match('/LI\+/i', $txt)) { $ligneLi=true; $nbLiP++; } elseif (preg_match('/LI\-/i', $txt)) { $ligneLi=true; $nbLiM++; } if (!$startLi && !$ligneLi && $startPaiement==0) { continue; } //Plus de 5 LI, on arrete if ( ($nbLiP>5 && $ligneLiP) || ($nbLiM>5 && $ligneLiM) ) { continue; } //echo "Ligne : $i => $txt\n"; /*$txt = strtr($txt, array( ''=>'+', ''=>'-', ' '=>' ', '€'=>'E', '€'=>'E', chr(160)=>' ', ));*/ //$txt = str_replace(array('','',' ','€','€',chr(160)), array('+','-',' ','E','E',' '), $txt); $txt = str_replace(array('','','€'), array('+','-','E'), $txt); //echo ".=> $txt\n"; $txt = html_entity_decode($txt, ENT_QUOTES, 'UTF-8'); //echo ".=> $txt\n"; $txt = wordwrap(strip_tags($txt),80,EOL).EOL; //echo ".=> $txt\n"; $rapport.= $txt; } /** § scoring **/ if ($tabIndiscore['Indiscore20']==0) $strTendance=''; else $strTendance=' (Tendance '.$tabIndiscore['TendanceIndiscore'].')'; $rapport.=initstr('', 80).EOL; $rapport.=initstr('COTATION INDISCORE : '.$tabIndiscore['Indiscore20'].'/20 '.$strTendance, 80).EOL; $rapport.=initstr('', 80).EOL; $rapport.=initstr('LIMITE DE CREDIT : '.(round($tabIndiscore['encours']/1000)*1000).' EUR', 80).EOL; $rapport.=initstr('', 80).EOL; $rapport.=initstr('', 80).EOL; $rapport.=initstr('', 80).EOL; $rapport = utf8_decode($rapport); } //Fin rapport // --- Ecriture ligne dans le fichier file_put_contents($pathClientRecv.'/'.$fichierOut, $entete.EOL.$rapport, FILE_APPEND); // --- Insertion log de facturation if ($opts->ftp!==null || $opts->file!==null) { $logsM = new Application_Model_Sdv1Logs(); try { $logsM->insert(array( 'login' => 'fransbonrapports', 'page' => 'indiscore3', 'siren' => $siren, 'nic' => substr($siretOut,9,5), 'params' => '', 'dateHeure' => date('YmdHis') )); } catch (Zend_Db_Exception $e) { echo date('Y/m/d H:i:s') ."Impossible d'enregistrer le log $siren :".$e->getMessage()."\n"; } } } // Fin de lecture des lignes du fichier //Surcharge du nom du fichier pour les traitements manuel if ( $opts->file ) { $newname = preg_replace('/[0-9]{8}/', date('Ymd'), basename($fichierOut, '.out')); if ( rename($pathClientRecv.'/'.$fichierOut, $pathClientRecv.'/'.$newname.'.out') === true ) { $fichierOut = $newname.'.out'; } } //Ecriture dans la table des prestations $fluxoutM = new Application_Model_Sdv1FluxFileOut(); $dateEnd = date('YmdHis'); $fluxoutM->insert(array( 'client' => 'fransbonhomme', 'name' => 'RAPPORT', 'nbLines' => $nbLines, 'dateBegin' => $dateBegin, 'dateEnd' => $dateEnd, 'fileOut' => $fichierOut, 'depotType' => 'FTP', 'depotDate' => '0000-00-00 00:00:00', )); if ($opts->ftp) { // -- Ecriture date d'exectution $fluxinM->update(array('dateExecute' => $dateEnd), 'id='.$p->id); } } } // Fin de lecture des fichiers de demande else { echo date('Y/m/d H:i:s') . "Aucun fichier à traiter !\n"; } echo date('Y/m/d H:i:s')." - Fin du traitement !\n" ?>