extranet/www/pages/ratios.php

232 lines
9.2 KiB
PHP
Raw Normal View History

2009-03-25 09:37:17 +00:00
<?php
2009-03-25 18:32:45 +00:00
if (!$_SESSION['connected']) die();
2009-04-02 09:54:01 +00:00
2009-08-17 14:37:52 +00:00
require_once 'cache/cache.php';
require_once 'ratios/ratios.php';
2009-04-02 09:54:01 +00:00
2009-03-25 18:32:45 +00:00
$siret=trim(preg_replace('/[^0-9]/', '', $_REQUEST['siret']));
if (strlen($siret)<>0 && strlen($siret)<>9 && strlen($siret)<>14) die('Param<61>tres incorrects !');
$idEntreprise=trim(preg_replace('/[^0-9]/', '', $_REQUEST['idEntreprise']))*1; // Si id=0 alors non communiqu<71>
if (($siret*1)==0 && $idEntreprise==0) die('Param<61>tres incorrects !');
$siren=substr($siret,0,9);
isset($_REQUEST['bilan']) ? $bilan=$_REQUEST['bilan'] : $bilan=0 ;
isset($_REQUEST['ratio']) ? $ratio=$_REQUEST['ratio'] : $ratio='' ;
2009-05-28 15:52:29 +00:00
if (($siret*1)==0 || ($siren*1)<100){ $fileName = $page2.'-'.$idEntreprise;
}else{ $fileName = $page2.'-'.$siret; }
2009-05-28 17:10:09 +00:00
$fileName.= '-'.$bilan;
if($ratio!=''){$fileName.='-'.$ratio;}
2009-08-17 14:37:52 +00:00
cache_filename($fileName);
2009-05-28 17:10:09 +00:00
2009-08-17 14:37:52 +00:00
if( cache_exist() && !( preg_match('/saisie/i', $_SESSION['tabInfo']['droits']) || $_SESSION['tabInfo']['mode_edition']==1 ) )
{
$bilansInfos = cache_get('bilansInfos');
$ratiosEntrep = cache_get('ratiosEntrep');
$ratiosEntrepEvol = cache_get('ratiosEntrepEvol');
$ratiosInfos = cache_get('ratiosInfos');
$ratiosSecteur = cache_get('ratiosSecteur');
2009-04-03 09:30:51 +00:00
}else{
2009-08-17 14:37:52 +00:00
cache_delete();
2009-05-28 15:52:29 +00:00
try {
2009-08-17 14:37:52 +00:00
$O = $client->getRatios($siren, 'bilan');
2009-05-28 15:52:29 +00:00
$bilansInfos = $O['result']['BilansInfos'];
$ratiosInfos = $O['result']['RatiosInfos'];
$ratiosEntrep = $O['result']['RatiosEntrep'];
$ratiosEntrepEvol = $O['result']['RatiosEntrepEvol'];
$ratiosSecteur = $O['result']['RatiosSecteur'];
2009-08-17 14:37:52 +00:00
//Affichage des dates dans l'ordre d<>croissant
//Tri des tableaux
foreach ($bilansInfos as $key => $row) {
$bilansInfos[$key]['cle'] = $key;
$date[$key] = $row['dateCloture'];
$duree[$key] = $row['duree'];
$devise[$key] = $row['devise'];
$unite[$key] = $row['unite'];
$cle[$key] = $row['cle'];
}
array_multisort($date, SORT_DESC, $duree, SORT_DESC, $devise, SORT_DESC, $unite, SORT_DESC, $cle, SORT_DESC, $bilansInfos);
//Tri des autres tableaux
$tempRatiosEntrep = $ratiosEntrep;
$tempRatiosEntrepEvol = $ratiosEntrepEvol;
$tempRatiosSecteur = $ratiosSecteur;
$i = 0;
foreach ($bilansInfos as $row){
$ratiosEntrep[$i] = $tempRatiosEntrep[$row['cle']];
$ratiosEntrepEvol[$i] = $tempRatiosEntrepEvol[$row['cle']];
$ratiosSecteur[$i] = $tempRatiosSecteur[$row['cle']];
$i++;
}
//Fin de tri des tableaux
cache_add('bilansInfos', $bilansInfos);
cache_add('ratiosEntrep', $ratiosEntrep);
cache_add('ratiosEntrepEvol', $ratiosEntrepEvol);
cache_add('ratiosInfos', $ratiosInfos);
cache_add('ratiosSecteur', $ratiosSecteur);
2009-08-17 14:37:52 +00:00
2009-05-28 15:52:29 +00:00
}catch (SoapFault $fault) {
require_once 'soaperror.php';
2009-08-17 14:37:52 +00:00
processSoapFault($client,$fault,$_SESSION['tabInfo']);
2009-05-28 15:52:29 +00:00
die();
}
2009-08-17 14:37:52 +00:00
}
2009-08-17 14:37:52 +00:00
$tabRatio = array(
0 => array('titre'=>'EQUILIBRE FINANCIER'),
2009-08-17 14:37:52 +00:00
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'=>'>' ),
2009-08-17 14:37:52 +00:00
7 => array('titre'=>'PROFITABILITE'),
2009-08-17 14:37:52 +00:00
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<69> d\'autofinancement sur 12 mois / Capitaux permanents)', 'ratio'=>'r265', 'parent'=>7, 'position'=>'>' ),
12 => array('titre'=>'CONTRIBUTION DE LA VA', 'stitre'=>'(Capacit<69> d\'autofinancement / Valeur ajout<75>e)', 'ratio'=>'r266', 'parent'=>7, 'position'=>'>' ),
2009-08-17 14:37:52 +00:00
13 => array('titre'=>'LIQUIDITE'),
2009-08-17 14:37:52 +00:00
14 => array('titre'=>'LIQUIDITE IMMEDIATE', 'stitre'=>'(Disponibilit<69> / 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<69> et cr<63>ances r<>elles /Dettes CT)', 'ratio'=>'r252', 'parent'=>13, 'position'=>'>' ),
2009-08-17 14:37:52 +00:00
17 => array('titre'=>'ENDETTEMENT'),
2009-08-17 14:37:52 +00:00
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'=>'<' ),
2009-08-17 14:37:52 +00:00
21 => array('titre'=>'PRODUCTIVITE'),
2009-08-17 14:37:52 +00:00
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'=>'>' ),
);
2009-08-17 14:37:52 +00:00
?>
<div id="center">
<h1 class="titre">RATIOS</h1>
2009-08-17 14:37:52 +00:00
<table width="570" border="0" align="left" bgcolor="#FFFFFF">
<tr>
<td width="30">&nbsp;</td>
<td width="200" class="StyleInfoLib">Num&eacute;ro identifiant Siren</td>
<td width="340" class="StyleInfoData"><?=substr($siren,0,3).' '.substr($siren,3,3).' '.substr($siren,6,3)?></td>
</tr>
<tr>
<td width="30">&nbsp;</td>
<td width="200" class="StyleInfoLib">Raison Sociale</td>
<td width="340" class="StyleInfoData"><?=$_SESSION['tabInfo']['entrep']['raisonSociale'];?></td>
</tr>
</table>
<br/><br/>
2009-08-17 14:37:52 +00:00
<?php
if (count($ratiosEntrep)==0 || !isset($ratiosEntrep)){
?>
<table>
<tr><td width="30">&nbsp;</td><td><b>Aucun bilan disponible pour cette entreprise !</b></td></tr>
</table>
<?php
}else{
?>
<br/><br/>
2009-08-17 14:37:52 +00:00
<table width="570" border="0" align="left" bgcolor="#FFFFFF">
<tr>
<td width="30">&nbsp;</td>
<td width="200" class="StyleInfoLib">Secteur d'activit<EFBFBD> :</td>
<td width="340" class="StyleInfoData">
<?php print $_SESSION['tabInfo']['entrep']['nafEn']; ?> - <?php print $_SESSION['tabInfo']['entrep']['nafEnLib']; ?>
</td>
</tr>
<tr>
<td width="30">&nbsp;</td>
<td width="200" class="StyleInfoLib">Millesime</td>
<td width="340" class="StyleInfoData">
<form name="selectBilan" method="post" action="index.php?<?=$_SERVER['QUERY_STRING'];?>">
<select name="bilan">
<?php
$countBilans = 0;
if(count($bilansInfos)>0){
foreach($bilansInfos as $bilanItem){
if(isset($bilanItem['dateCloture'])) {
?>
2009-08-17 14:37:52 +00:00
<option value="<?php print $countBilans;?>"<?php if($bilan==$countBilans){ print 'selected="selected"';} ?>><?php print substr($bilanItem['dateCloture'],6,2).'/'.substr($bilanItem['dateCloture'],4,2).'/'.substr($bilanItem['dateCloture'],0,4);?></option>
<?php
2009-08-17 14:37:52 +00:00
}
$countBilans++;
}
}else{ print '-'; }
?>
</select>
&nbsp;<a href="javascript:document.selectBilan.submit();">Ok</a>
</form>
</td>
</tr>
<tr>
<td width="30">&nbsp;</td>
<td width="200" class="StyleInfoLib">Dur<EFBFBD>e du bilan</td>
<td width="340" class="StyleInfoData">
<?php
2009-08-17 14:37:52 +00:00
if(isset($bilansInfos[$bilan]['dateCloture'])) {
print $bilansInfos[$bilan]['duree']; ?> mois
<?php }else{ print '-'; } ?>
</td>
</tr>
<?php
if($ratio!=''){
?>
<tr>
<td colspan="3">&nbsp;</td>
</tr>
<tr>
<td width="30">&nbsp;</td>
<td width="200" class="StyleInfoLib">Retour <EFBFBD> la page compl<EFBFBD>te</td>
<td width="340" class="StyleInfoData"><a href="/?page=ratios&siret=<?=$_REQUEST['siret']?>&idEntreprise=<?=$_REQUEST['idEntreprise']?>" title="Retour <20> la page compl<70>te"><img src="./img/synthese/chart_bar.png" alt="Visionner le graphique"></a></td>
</tr>
<?php
}
?>
</table>
<br/><br/>
<table id="ratios">
<tbody>
<?php print ratios_tablerow($ratiosInfos, $tabRatio, $bilan, $ratio);?>
</tbody>
</table><EFBFBD>
<?php
}
?>
<br/>
<?php
//Affichage du graphique associ<63> au ratio s<>lectionn<6E>
if($ratio!=''){
$data = dGraph($ratio, $bilan);
2009-05-28 15:52:29 +00:00
?>
2009-08-17 14:37:52 +00:00
<div id="titreEvol"><b>Evolution</b></div>
<?php
2009-08-17 14:37:52 +00:00
if(count($data['data'])<=1){
print "Les informations sont insuffisantes pour g<>n<EFBFBD>rer la courbe d'<27>volution";
}else{
$image = ratios_graph('', $data, $fileName);
?>
2009-08-17 14:37:52 +00:00
<img id="imgEvol" src="./imgcache/<?=$image;?>" />
<?php
}
2009-08-17 14:37:52 +00:00
}
2009-04-03 09:30:51 +00:00
?>
2009-08-17 14:37:52 +00:00
</div>