extranet/includes/ratios/functions.php

260 lines
7.0 KiB
PHP

<?php
/**
* Retourne le résultat du webservice.
* @param string $nRatio
* Le n° de ratio.
* @param string $type
* Le type de ratio demandé.
* @return array
* Retourne le tableau structuré.
*/
function getRatios($siren, $type){}
/**
* Retourne le tableau pour l'affichage des graphiques d'évolution.
* @param string $nRatio
* Le n° de ratio.
* @return array
* Retourne le tableau structuré.
*/
function dGraph($nRatio){
global $bilansInfos;
global $ratiosSecteur;
global $ratiosEntrep;
global $ratiosInfos;
$evol = array();
$nbrAnnees=count($bilansInfos)-1;
$i=0;
foreach($bilansInfos as $dateCloture){
if(isset($bilansInfos[$nbrAnnees-$i]['dateCloture'])){
$div = 1;
$ratioE = $ratiosEntrep[$nbrAnnees-$i][$nRatio];
$ratioS = $ratiosSecteur[$nbrAnnees-$i][$nRatio];
if ( ($ratiosInfos[$nRatio]['unite']=='EUR') && ((abs($ratioE)/1000)>0) ){
$unite = 'KEURO';
$div = 1000;
}else{
$unite = $ratiosInfos[$nRatio]['unite'];
}
//Données pour les graphiques évolutions
$data[] = array(
'date'=>$bilansInfos[$nbrAnnees-$i]['dateCloture'],
'entreprise'=>(($ratioE!='NS') ? $ratioE/$div : 0 ),
'secteur'=>(($ratioS!='NS') ? $ratioS/$div : 0 ),
);
}
$i++;
}
$evol = array('data' => $data, 'unite' => $unite);
return $evol;
}
/**
* Affiche la position de l'entité en comparant son ratio avec le ratio secteur.
* @param int $nAnnee
* Le n° de l'année à comparé.
* @param string $nRatio
* Le n° de ratio.
* @param string $compare
* < ou > pour définir si le ratio doit être supérieur ou inférieur au ratio secteur
*/
function dPosition($nAnnee,$nRatio,$compare){
global $ratiosSecteur;
global $ratiosEntrep;
$ratioS = $ratiosSecteur[$nAnnee][$nRatio];
$ratioE = $ratiosEntrep[$nAnnee][$nRatio];
$ecart = 1/100;
if( $ratioS=='NS' || $ratioE=='NS' || $ratioS==NULL || $ratioE==NULL){
print '-';
}elseif($compare=='>'){
if( $ratioE+$ecart > $ratioS ){
print '<img src="./img/ratios_bon.png" />';
}elseif( ($ratioS-($ratioS*$ecart))<$ratioE && ($ratioS+($ratioS*$ecart))>$ratioE){
print '-';
}else{
print '<img src="./img/ratios_mauvais.png" />';
}
}elseif($compare=='<'){
if($ratioE < $ratioS){
print '<img src="./img/ratios_bon.png" />';
}elseif( ($ratioS-($ratioS*$ecart))<$ratioE && ($ratioS+($ratioS*$ecart))>$ratioE){
print '-';
}else{
print '<img src="./img/ratios_mauvais.png" />';
}
}
}
/**
* Affiche le ratio secteur.
* @param int $nAnnee
* Le n° de l'année.
* @param string $nRatio
* Le n° de ratio.
*/
function dSecteur($nAnnee,$nRatio){
global $ratiosSecteur;
global $ratiosInfos;
$ratio = $ratiosSecteur[$nAnnee][$nRatio];
$return = '';
$formatRatio = TRUE;
if ($ratio=='NS') {
$return.= 'NS';
$formatRatio = FALSE;
}elseif(substr($ratio,0,1)=='<' ){
$return.= '< ';
$ratio = substr($ratio,1)*1;
}elseif(substr($ratio,0,1)=='>'){
$return.= '> ';
$ratio = substr($ratio,1)*1;
}elseif($ratio==NULL){
$return.= '-';
$formatRatio = FALSE;
}
if($formatRatio == TRUE) {
if ( ($ratiosInfos[$nRatio]['unite']=='EUR') && ((abs($ratio)/1000)>0) ){
$return.= number_format($ratio/1000, 0, '', ' ').' K&euro;';
}elseif (($ratiosInfos[$nRatio]['unite']=='EUR') && ((abs($ratio)/1000)<0)) {
$return.= number_format($ratio, 0, '', ' ').' &euro;';
}elseif (($ratiosInfos[$nRatio]['unite']=='Jours')) {
$return.= number_format($ratio, 0, '', ' ').' '.$ratiosInfos[$nRatio]['unite'];
}elseif (($ratiosInfos[$nRatio]['unite']=='AN')) {
$return.= round($ratio, 2).' '.$ratiosInfos[$nRatio]['unite'];
}elseif (($ratiosInfos[$nRatio]['unite']=='%')) {
$return.= round($ratio).' '.$ratiosInfos[$nRatio]['unite'];
}else{
$return.= $ratio.' '.$ratiosInfos[$nRatio]['unite'];
}
}
print $return;
}
/**
* Affiche le ratio de l'entité.
* @param int $nAnnee
* Le n° de l'année.
* @param string $nRatio
* Le n° de ratio.
*/
function dRatio($nAnnee,$nRatio){
global $ratiosEntrep;
global $ratiosInfos;
$ratio = $ratiosEntrep[$nAnnee][$nRatio];
$return = '';
$formatRatio = TRUE;
if ($ratio=='NS') {
$return.= 'NS';
$formatRatio = FALSE;
}elseif(substr($ratio,0,1)=='<' ){
$return.= '< ';
$ratio = substr($ratio,1)*1;
}elseif(substr($ratio,0,1)=='>'){
$return.= '> ';
$ratio = substr($ratio,1)*1;
}elseif($ratio==NULL){
$return.= '-';
$formatRatio = FALSE;
}
if($formatRatio == TRUE) {
if ( ($ratiosInfos[$nRatio]['unite']=='EUR') && ((abs($ratio)/1000)>0) ){
$return.= number_format($ratio/1000, 0, '', ' ').' K&euro;';
}elseif (($ratiosInfos[$nRatio]['unite']=='EUR') && ((abs($ratio)/1000)<0)) {
$return.= number_format($ratio, 0, '', ' ').' &euro;';
}elseif (($ratiosInfos[$nRatio]['unite']=='Jours')) {
$return.= number_format($ratio, 0, '', ' ').' '.$ratiosInfos[$nRatio]['unite'];
}elseif (($ratiosInfos[$nRatio]['unite']=='AN')) {
$return.= round($ratio, 2).' '.$ratiosInfos[$nRatio]['unite'];
}elseif (($ratiosInfos[$nRatio]['unite']=='%')) {
$return.= round($ratio).' '.$ratiosInfos[$nRatio]['unite'];
}else{
$return.= $ratio.' '.$ratiosInfos[$nRatio]['unite'];
}
}
return $return;
}
/**
* Affiche l'évolution d'un ratio.
* @param int $nAnnee
* Le n° de l'année.
* @param string $nRatio
* Le n° de ratio.
*/
function dEvol($nAnnee,$nRatio){
global $ratiosEntrepEvol;
$ratio = $ratiosEntrepEvol[$nAnnee][$nRatio];
if ($ratio=='NS') {
return 'NS';
}elseif($ratio==NULL){
return '-';
}else{
return $ratio.' %';
}
}
/**
* Retourne le pourcentage d'un ratio par rapport au total pour les graphiques .
* @param sting $nRatio
* Le n° de ratio.
* @param string $totalRatio
* Le n° du ratio total
* @return int
*/
function graphPercent($nRatio,$totalRatio){
global $ratiosEntrep;
$ratio = isset($ratiosEntrep[0][$nRatio]) ? $ratiosEntrep[0][$nRatio] : 0;
$totalRatio = $ratiosEntrep[0][$totalRatio];
if ( ($ratio!='NS' || $ratio!=NULL) && ($totalRatio!=0 || $totalRatio!='NS')){
return $ratio*100/$totalRatio;
}else{
return 0;
}
}
/**
* Affiche le pourcentage d'un ratio par rapport au total.
* @param sting $nRatio
* Le n° de ratio.
* @param string $totalRatio
* Le n° du ratio total
* @return int
*/
function dPercent($nAnnee,$nRatio,$totalRatio){
global $ratiosEntrep;
$ratio = $ratiosEntrep[$nAnnee][$nRatio];
$totalRatio = $ratiosEntrep[$nAnnee][$totalRatio];
if ($ratio=='NS') {
print 'NS';
}elseif($ratio==NULL){
print '-';
}else {
if ($totalRatio!=0 || $totalRatio!='NS'){
$percent = $ratio*100/$totalRatio;
}else{
$percent = 0;
}
print round($percent, 2);
}
}
/**
* Formatte le commentaire pour l'afficher dans l'infobulle.
* Place un retour à la ligne si le texte parait plus long que le bloc d'affichage
* Transforme les entités HTML
* Transforme le \n par des <br/>
* @param string $text
* Commentaire .
* @return string
*/
function wrapComment($text){
$fontSize = 2;
$blockSize = 500;
$newtext = wordwrap($text, $blockSize/$fontSize , "\n");
$newtext = htmlentities($newtext);
$newtext = nl2br($newtext);
return $newtext;
}
?>