export: ratios + bug graph evolution sur ratio unique introduit dans r606, issue #0000011

This commit is contained in:
Sebastien BEAUGRAND 2010-05-24 09:03:22 +00:00
parent 020dfff52d
commit a3dcc575a4
4 changed files with 235 additions and 97 deletions

View File

@ -421,7 +421,94 @@ function synthese_graph_linecompare($data){
return $return;
}
// --------------------------------------------------------------------------- //
// tabRatio
// --------------------------------------------------------------------------- //
$tabRatio = array(
array('titre' => 'EQUILIBRE FINANCIER'),
array('titre' => 'MARGE BRUTE D\'AUTOFINANCEMENT',
'stitre'=> '(MBA ou CAF)',
'ratio' => 'r233', 'parent' => 0, 'position' => '>'),
array('titre' => 'COUVERTURE du BFR',
'stitre'=> '(FR/BFR)',
'ratio' => 'r234', 'parent' => 0, 'position' => '>'),
array('titre' => 'COUVERTURE des IMMOS NETTES',
'stitre'=> '(Capitaux permanents / Immobilisations nettes)',
'ratio' => 'r237', 'parent' => 0, 'position' => '>'),
array('titre' => 'COUVERTURE du CA',
'stitre'=> '(Fond de roulement net global sur 12m x 360'.
' / Chiffre d\'affaire)',
'ratio' => 'r238', 'parent' => 0, 'position' => '>'),
array('titre' => 'SOLVABILITE',
'stitre'=> '(Capitaux propres / Ensemble des dettes)',
'ratio' => 'r239', 'parent' => 0, 'position' => '>'),
array('titre' => 'INDEPENDANCE FINANCIERE',
'stitre'=> '(Cap.propres/Capitaux permanents)',
'ratio' => 'r240', 'parent' => 0, 'position' => '>'),
array('titre' => 'PROFITABILITE'),
array('titre' => 'RENTABILITE ECONOMIQUE',
'stitre'=> '(EBE/TOTAL bilan)',
'ratio' => 'r262', 'parent' => 7, 'position' => '>'),
array('titre' => 'RENTABILITE FINANCIERE',
'stitre'=> '(Résult.Net/Cap.propres)',
'ratio' => 'r263', 'parent' => 7, 'position' => '>'),
array('titre' => 'RENTABILITE COMMERCIALE',
'stitre'=> '(Résultat net/CA)',
'ratio' => 'r264', 'parent' => 7, 'position' => '>'),
array('titre' => 'CONTRIBUTION DU CAPITAL',
'stitre'=> '(Capacité d\'autofinancement sur 12 mois'.
' / Capitaux permanents)',
'ratio' => 'r265', 'parent' => 7, 'position' => '>'),
array('titre' => 'CONTRIBUTION DE LA VA',
'stitre'=>'(Capacité d\'autofinancement / Valeur ajoutée)',
'ratio' => 'r266', 'parent' => 7, 'position' => '>'),
array('titre' => 'LIQUIDITE'),
array('titre' => 'LIQUIDITE IMMEDIATE',
'stitre'=> '(Disponibilité / Dettes CT)',
'ratio' => 'r250', 'parent' => 13, 'position' => '>'),
array('titre' => 'LIQUIDITE GENERALE',
'stitre'=> '(Act.circulant net/Dettes CT)',
'ratio' => 'r251', 'parent' => 13, 'position' => '>'),
array('titre' => 'LIQUIDITE REDUITE',
'stitre'=>'(Disponibilité et créances réelles / Dettes CT)',
'ratio' => 'r252', 'parent' => 13, 'position' => '>'),
array('titre' => 'ENDETTEMENT'),
array('titre' => 'ENDETTEMENT',
'stitre'=> '(Dettes a + 1 an / Capitaux propres)',
'ratio' => 'r244', 'parent' => 17, 'position' => '<'),
array('titre' => 'CAPACITE DE REMBOURSEMENT',
'stitre'=> '(Dettes.bancaires.(+MT+LT+C.bail)/CAF)',
'ratio' => 'r247', 'parent' => 17, 'position' => '<'),
array('titre' => 'FINANCEMENT DES STOCKS',
'stitre'=> '(Dettes aux fournisseurs / Stock)',
'ratio' => 'r248', 'parent' => 17, 'position' => '<'),
array('titre' => 'PRODUCTIVITE'),
array('titre' => 'PRODUCTIVITE DE L\'ACTIF',
'stitre'=> '(Chiffre d\'affaire / Actif comptable)',
'ratio' => 'r271', 'parent' => 21, 'position' => '>'),
array('titre' => 'DUREE CLIENT',
'stitre'=> '(Rotation clients en VJ TTC)',
'ratio' => 'r278', 'parent' => 21, 'position' => '<'),
array('titre' => 'DUREE FOURNISSEUR',
'stitre'=> '(Rotation fournisseurs en JA TTC)',
'ratio' => 'r279', 'parent' => 21, 'position' => '<'),
array('titre' => 'POIDS MASSE SALARIALE',
'stitre'=> '(Ch personnel / VA)',
'ratio' => 'r281', 'parent' => 21, 'position' => '<'),
array('titre' => 'RENDEMENT',
'stitre'=> '(Production sur 12mois / Effectif)',
'ratio' => 'r261', 'parent' => 21, 'position' => '>'),
array('titre' => 'PRODUCTIVITE',
'stitre'=> '(CA / Effectif)',
'ratio' => 'r267', 'parent' => 21, 'position' => '>'));
// --------------------------------------------------------------------------- //
// ratios_tablerow
// --------------------------------------------------------------------------- //
/**
* Retourne une chaîne contenant la ligne d'un tableau html.
* @param array $ratiosInfos
@ -433,96 +520,119 @@ function synthese_graph_linecompare($data){
* @return string
* Retourne une chaîne.
*/
function ratios_tablerow($ratiosInfos, $bilan, $ratio = ''){
global $siret, $siren, $idEntreprise, $typeBilan;
// --------------------------------------------------------------------------- //
function ratios_tablerow($ratiosInfos, $bilan, $ratio = '')
{
global $siret, $siren, $idEntreprise, $typeBilan, $tabRatio;
$tabRatio = array(
0 => array('titre'=>'EQUILIBRE FINANCIER'),
1 => array('titre'=>'MARGE BRUTE D\'AUTOFINANCEMENT', 'stitre'=>'(MBA ou CAF)', 'ratio'=>'r233', 'parent'=>0, 'position'=>'>' ),
2 => array('titre'=>'COUVERTURE du BFR ', 'stitre'=>'(FR/BFR)', 'ratio'=>'r234', 'parent'=>0, 'position'=>'>' ),
3 => array('titre'=>'COUVERTURE des IMMOS NETTES ', 'stitre'=>'(Capitaux permanents / Immobilisations nettes)', 'ratio'=>'r237', 'parent'=>0, 'position'=>'>' ),
4 => array('titre'=>'COUVERTURE du CA ', 'stitre'=>'(Fond de roulement net global sur 12m x 360 / Chiffre d\'affaire)', 'ratio'=>'r238', 'parent'=>0, 'position'=>'>' ),
5 => array('titre'=>'SOLVABILITE ', 'stitre'=>'(Capitaux propres / Ensemble des dettes)', 'ratio'=>'r239', 'parent'=>0, 'position'=>'>' ),
6 => array('titre'=>'INDEPENDANCE FINANCIERE ', 'stitre'=>'(Cap.propres/Capitaux permanents)', 'ratio'=>'r240', 'parent'=>0, 'position'=>'>' ),
7 => array('titre'=>'PROFITABILITE'),
8 => array('titre'=>'RENTABILITE ECONOMIQUE ', 'stitre'=>'(EBE/TOTAL bilan)', 'ratio'=>'r262', 'parent'=>7, 'position'=>'>' ),
9 => array('titre'=>'RENTABILITE FINANCIERE ', 'stitre'=>'(Résult.Net/Cap.propres)', 'ratio'=>'r263', 'parent'=>7, 'position'=>'>' ),
10 => array('titre'=>'RENTABILITE COMMERCIALE ', 'stitre'=>'(Résultat net/CA)', 'ratio'=>'r264', 'parent'=>7, 'position'=>'>' ),
11 => array('titre'=>'CONTRIBUTION DU CAPITAL', 'stitre'=>'(Capacité d\'autofinancement sur 12 mois / Capitaux permanents)', 'ratio'=>'r265', 'parent'=>7, 'position'=>'>' ),
12 => array('titre'=>'CONTRIBUTION DE LA VA', 'stitre'=>'(Capacité d\'autofinancement / Valeur ajoutée)', 'ratio'=>'r266', 'parent'=>7, 'position'=>'>' ),
13 => array('titre'=>'LIQUIDITE'),
14 => array('titre'=>'LIQUIDITE IMMEDIATE', 'stitre'=>'(Disponibilité / Dettes CT)', 'ratio'=>'r250', 'parent'=>13, 'position'=>'>' ),
15 => array('titre'=>'LIQUIDITE GENERALE', 'stitre'=>'(Act.circulant net/Dettes CT)', 'ratio'=>'r251', 'parent'=>13, 'position'=>'>' ),
16 => array('titre'=>'LIQUIDITE REDUITE', 'stitre'=>'(Disponibilité et créances réelles /Dettes CT)', 'ratio'=>'r252', 'parent'=>13, 'position'=>'>' ),
17 => array('titre'=>'ENDETTEMENT'),
18 => array('titre'=>'ENDETTEMENT ', 'stitre'=>'(Dettes a + 1 an / Capitaux propres)', 'ratio'=>'r244', 'parent'=>17, 'position'=>'<' ),
19 => array('titre'=>'CAPACITE DE REMBOURSEMENT', 'stitre'=>'(Dettes.bancaires.(+MT+LT+C.bail)/CAF)', 'ratio'=>'r247', 'parent'=>17, 'position'=>'<' ),
20 => array('titre'=>'FINANCEMENT DES STOCKS', 'stitre'=>'(Dettes aux fournisseurs / Stock)', 'ratio'=>'r248', 'parent'=>17, 'position'=>'<' ),
21 => array('titre'=>'PRODUCTIVITE'),
22 => array('titre'=>'PRODUCTIVITE DE L\'ACTIF', 'stitre'=>'(Chiffre d\'affaire / Actif comptable)', 'ratio'=>'r271', 'parent'=>21, 'position'=>'>' ),
23 => array('titre'=>'DUREE CLIENT', 'stitre'=>'(Rotation clients en VJ TTC)', 'ratio'=>'r278', 'parent'=>21, 'position'=>'<' ),
24 => array('titre'=>'DUREE FOURNISSEUR', 'stitre'=>'(Rotation fournisseurs en JA TTC)', 'ratio'=>'r279', 'parent'=>21, 'position'=>'<' ),
25 => array('titre'=>'POIDS MASSE SALARIALE', 'stitre'=>'(Ch personnel / VA)', 'ratio'=>'r281', 'parent'=>21, 'position'=>'<' ),
26 => array('titre'=>'RENDEMENT', 'stitre'=>'(Production sur 12mois / Effectif)', 'ratio'=>'r261', 'parent'=>21, 'position'=>'>' ),
27 => array('titre'=>'PRODUCTIVITE', 'stitre'=>'(CA / Effectif)', 'ratio'=>'r267', 'parent'=>21, 'position'=>'>' ),
);
if (($siret*1)==0 || ($siren*1)<100){ $fileName = 'ratios-'.$idEntreprise;
}else{ $fileName = 'ratios-'.$siret; }
$fileName.= '-'.$typeBilan;
if (($siret * 1) == 0 ||
($siren * 1) < 100) {
$fileName = 'ratios-'.$idEntreprise;
} else {
$fileName = 'ratios-'.$siret;
}
$fileName .= '-'.$typeBilan;
$row = '';
foreach($tabRatio as $item)
{
if($ratio==''){
if(isset($item['ratio'])){
$row.= '<tr>'."\n";
$row.= ' <td><a tooltip="'.wrapComment($ratiosInfos[$item['ratio']]['commentaires']).'">'.$item['titre'].'<br/>'.$item['stitre'].'</a></td>'."\n";
$row.= ' <td class="right">'.dRatio($bilan,$item['ratio']).'</td>'."\n";
$row.= ' <td class="right">'.dSecteur($bilan,$item['ratio']).'</td>'."\n";
$row.= ' <td class="position">';
$row.= '<a class="rTip" href="/?page=ratios&siret='.$_REQUEST['siret'].'&idEntreprise='.$_REQUEST['idEntreprise'].'&ratio='.$item['ratio'].'" rel="./pages/ratios_dgraph.php?width=375&f='.ratios_graph($item['ratio'], dGraph($item['ratio']), $fileName).'" name="'.$item['titre'].'">'."\n";
$row.= dPosition($bilan,$item['ratio'],$item['position']);
$row.= '</a>';
$row.= '</td>'."\n";
$row.= '</tr>'."\n";
}else{
$row.= '<tr class="subhead">'."\n";
$row.= ' <td class="center italique">'.$item['titre'].'</td>'."\n";
$row.= ' <td>Entreprise</td>'."\n";
$row.= ' <td>Secteur</td>'."\n";
$row.= ' <td>Position</td>'."\n";
$row.= '</tr>'."\n";
}
foreach ($tabRatio as $item) {
if ($ratio == '') {
if (isset($item['ratio'])) {
$row .= '<tr>'."\n";
$row .= '<td><a tooltip="'.
wrapComment($ratiosInfos[$item['ratio']]['commentaires']).
'">'.$item['titre'].'<br/>'.$item['stitre'].'</a></td>'."\n";
$row .= '<td class="right">'.
dRatio($bilan, $item['ratio']).'</td>'."\n";
$row .= '<td class="right">'.
dSecteur($bilan, $item['ratio']).'</td>'."\n";
$row .= '<td class="position">';
$row .= '<a class="rTip" href="/?page=ratios'.
'&siret='.$_REQUEST['siret'].
'&idEntreprise='.$_REQUEST['idEntreprise'].
'&ratio='.$item['ratio'].
'" rel="./pages/ratios_dgraph.php?width=375&f='.
ratios_graph($item['ratio'],
dGraph($item['ratio']), $fileName).
'" name="'.$item['titre'].'">'."\n";
$row .= dPosition($bilan, $item['ratio'], $item['position']);
$row .= '</a>';
$row .= '</td>'."\n";
$row .= '</tr>'."\n";
} else {
$row .= '<tr class="subhead">'."\n";
$row .= '<td class="center italique">'.
$item['titre'].'</td>'."\n";
$row .= '<td>Entreprise</td>'."\n";
$row .= '<td>Secteur</td>'."\n";
$row .= '<td>Position</td>'."\n";
$row .= '</tr>'."\n";
}
} else if ($ratio == $item['ratio']) {
$row .= '<tr class="subhead">'."\n".
'<td class="center italique">'.
$tabRatio[$item['parent']]['titre'].'</td>'."\n".
'<td>Entreprise</td>'."\n".
'<td>Secteur</td>'."\n".
'<td>Position</td>'."\n".
'</tr>'."\n";
$row .= '<tr>'."\n".
'<td><a tooltip="'.
wrapComment($ratiosInfos[$item['ratio']]['commentaires']).
'">'.$item['titre'].'<br/>'.$item['stitre'].'</a></td>'."\n".
'<td class="right">'.
dRatio($bilan, $item['ratio']).'</td>'."\n".
'<td class="right">'.
dSecteur($bilan, $item['ratio']).'</td>'."\n".
'<td class="position">'."\n".
'<a href="#" name="'.$item['titre'].'">'."\n".
dPosition($bilan, $item['ratio'], $item['position'])."\n".
'</a>'."\n".
'</td>'."\n".
'</tr>'."\n";
}
}
return $row;
}
}elseif($ratio==$item['ratio']){
$row.= '<tr class="subhead">'."\n".
' <td class="center italique">'.$tabRatio[$item['parent']]['titre'].'</td>'."\n".
' <td>Entreprise</td>'."\n".
' <td>Secteur</td>'."\n".
' <td>Position</td>'."\n".
'</tr>'."\n";
$row.= '<tr>'."\n".
' <td><a tooltip="'.wrapComment($ratiosInfos[$item['ratio']]['commentaires']).'">'.$item['titre'].'<br/>'.$item['stitre'].'</a></td>'."\n".
' <td class="right">'.dRatio($bilan,$item['ratio']).'</td>'."\n".
' <td class="right">'.dSecteur($bilan,$item['ratio']).'</td>'."\n".
' <td class="position">'."\n".
' <a href="#" name="'.$item['titre'].'">'."\n".
dPosition($bilan,$item['ratio'],$item['position'])."\n".
' </a>'."\n".
' </td>'."\n".
'</tr>'."\n";
}
}
return $row;
// --------------------------------------------------------------------------- //
// ratiosExport
// --------------------------------------------------------------------------- //
function ratiosExport($siren, $raisonSociale, $secteur, $type, $date, $duree,
$ratiosInfos, $bilan, $ratio = '')
{
global $tabRatio;
$e = array('siren' => $siren,
'raisonSociale' => $raisonSociale,
'secteur' => $secteur,
'type' => $type);
if (empty($ratio) == true) {
$e['date'] = $date;
$e['duree'] = $duree;
$titre = '';
foreach ($tabRatio as $item) {
if (isset($item['ratio'])) {
$label = $item['titre'];
$entr = dRatio ($bilan, $item['ratio']);
$sect = dSecteur ($bilan, $item['ratio']);
$pos = dPosition($bilan, $item['ratio'], $item['position']);
if (preg_match('/bon/', $pos) == true) {
$pos = 'bon';
} else if (preg_match('/mauvais/', $pos) == true) {
$pos = 'mauvais';
}
$e[$titre][] = array('label' => $label,
'entreprise' => $entr,
'secteur' => $sect,
'position' => $pos);
} else {
$titre = str_replace(' ', '_', $item['titre']);
$e[$titre] = array();
}
}
} else {
$e = array_merge($e, dGraph($ratio, $bilan));
}
return $e;
}
/**

View File

@ -148,8 +148,7 @@ function ajouteExport(&$liste)
$c = substr($label, 0, 1);
if ($c == '+' ||
$c == '-') {
$label = substr($label, 1);
$export[] = array('label' => $label,
$export[] = array('label' => substr($label, 1),
'signe' => $c,
'valeurs' => $valeurs);
} else {

View File

@ -38,10 +38,10 @@ if ($page == 'identite' ||
$page == 'dirigeants' ||
$page == 'annonces' ||
$page == 'bilans' ||
$page == 'ratios' ||
$page == 'bourse' ||
$page == 'banque' ||
$page == 'scorescf' ||
$page == 'conventions') {
$page == 'scorescf') {
if (($page != 'competences' &&
$page != 'marques') ||
($page == 'competences' && empty($_GET['vue']) == true) ||

View File

@ -213,17 +213,46 @@ if($ratio!=''){
if(count($data['data'])<=1){
print "Les informations sont insuffisantes pour générer la courbe d'évolution";
}else{
$image = ratios_graph('', $data, $fileName);
$image = ratios_graph($ratio, $data, $fileName);
?>
<img id="imgEvol" src="./imgcache/<?=$image;?>" />
<?php
}
}
?>
<p class="confidentiel blockh2">
<?php
// --------------------------------------------------------------------------- //
// Export
// --------------------------------------------------------------------------- //
require_once 'export.php';
if (isset($siret) == true) {
$fileName = $page.'-'.$siret;
} else {
$fileName = $page.'-'.$idEntreprise;
}
$export = ratiosExport($siren, $raisonSociale,
$_SESSION['tabInfo']['entrep']['nafEn'],
$typeBilan,
$bilansInfos[$bilan]['dateCloture'],
$bilansInfos[$bilan]['duree'],
$ratiosInfos, $bilan, $ratio);
$parseTab = new tabExport;
$parseTab->tab = array($export);
$parseTab->type = array();
$array2csv = new ExportCSV;
$array2csv->records = $parseTab->convertTable();
$array2csv->writeCSV($fileName);
$array2xml = new ExportXML;
$array2xml->rootName = $page;
$array2xml->defaultTagName = 'elem';
$array2xml->records = $export;
$array2xml->writeXML($fileName);
require_once 'cgu/cgu.php';
echo afficheCgu();
print '<p class="confidentiel blockh2">'.afficheCgu();
?>
</p>
</div>
</div>