Sinistralité

This commit is contained in:
KONE SOREL 2025-12-26 11:52:53 +00:00
parent b2b05daf76
commit f9156ba9db
3 changed files with 44 additions and 21 deletions

View File

@ -15,7 +15,7 @@ class ControleurAccueil extends Controleur {
public function index() {
// KPIs
$kpis = $this->synthese->getKpis();
$kpis = $this->synthese->getKpis();
// Activité récente
$activities = [
@ -33,30 +33,40 @@ class ControleurAccueil extends Controleur {
];
// Répartition sinistres
$claims = $this->synthese->getClaims();
$claims = $this->synthese->getClaims();
$tabclaims = [
'claimsLabels' => array_column($claims, 'claimsLabels'),
'claimsValues' => array_column($claims, 'claimsValues')
$tabclaims = [
'claimsLabels' => array_column($claims, 'claimsLabels'),
'claimsValues' => array_column($claims, 'claimsValues')
];
$dataTabClaims = json_encode($tabclaims, JSON_NUMERIC_CHECK);
$dataTabClaims = json_encode($tabclaims, JSON_NUMERIC_CHECK);
// Evolution des sinistres par mois
$claimsMonth = $this->synthese->getClaimsMonth();
$claimsSingleMonth = $this->synthese->getClaimsSingleMonth();
$tabclaimsMonth = [
'months' => array_column($claimsMonth, 'months'),
'monthlyClaims' => array_column($claimsMonth, 'monthlyClaims'),
'singleClaims' => array_column($claimsSingleMonth, 'singleClaims')
$tabclaimsMonth = [
'months' => array_column($claimsMonth, 'months'),
'monthlyClaims' => array_column($claimsMonth, 'monthlyClaims'),
'singleClaims' => array_column($claimsSingleMonth, 'singleClaims')
];
$dataTabClaimsMonth = json_encode($tabclaimsMonth, JSON_NUMERIC_CHECK);
// SINISTRALITÉ
$lossRatioLabels = ["Jan", "Fév", "Mar", "Avr", "Mai", "Juin"];
$lossRatioValues = [62, 68, 71, 65, 73, 69]; // %
$claimsLossRatio = $this->synthese->getClaimsLossRatio();
$tabLossRatio = [
'lossRatioLabels' => array_column($claimsLossRatio, 'months'),
'lossRatioValues' => array_column($claimsLossRatio, 'ratio')
];
$dataLossRatio = json_encode($tabLossRatio, JSON_NUMERIC_CHECK);
//$lossRatioLabels = ["Jan", "Fév", "Mar", "Avr", "Mai", "Juin"];
//$lossRatioValues = [62, 68, 71, 65, 73, 69]; // %
// Polices
$polices = $this->synthese->getPolices();
@ -65,13 +75,12 @@ class ControleurAccueil extends Controleur {
array
(
'kpis' => $kpis,
'polices' => $polices,
'activities' => $activities,
'alerts' => $alerts,
'lossRatioLabels' => $lossRatioLabels,
'lossRatioValues' => $lossRatioValues,
'dataTabClaims' => $dataTabClaims,
'dataTabClaimsMonth' => $dataTabClaimsMonth,
'polices' => $polices
'dataLossRatio' => $dataLossRatio
)
);
}

View File

@ -63,6 +63,17 @@ class Synthese extends Modele {
$resultat = $this->executerRequete($sql, array($idClient));
return $resultat->fetchAll();
}
public function getClaimsLossRatio()
{
$idClient = $_SESSION['idClient_C'];
$sql = 'call sp_c_sinistralites_mois(?)';
$resultat = $this->executerRequete($sql, array($idClient));
return $resultat->fetchAll();
}
}

View File

@ -25,14 +25,15 @@
<div class="card">
<h3><?= _('Primes')?></h3>
<div class="sub-values">
<div class="sub-item">
<span><?= _('TTC') ?> :</span>
<strong><?= format_N($kpis["primeTtc"]).' '.$_SESSION['devise_C'] ?></strong>
</div>
<div class="sub-item">
<span><?= _('Statistique') ?> :</span>
<strong class="text-success"><?= format_N($kpis["primeNetteStat"]).' '.$_SESSION['devise_C'] ?></strong>
</div>
<div class="sub-item">
<span><?= _('TTC') ?> :</span>
<strong><?= format_N($kpis["primeTtc"]).' '.$_SESSION['devise_C'] ?></strong>
</div>
</div>
</div>
@ -322,13 +323,15 @@
});
// Sinistralité
const dataLossRatio = <?= $dataLossRatio ?>;
new Chart(document.getElementById('lossRatioBar'), {
type: 'bar',
data: {
labels: <?= json_encode($lossRatioLabels) ?>,
labels: dataLossRatio.lossRatioLabels,
datasets: [{
label: "Sinistralité (%)",
data: <?= json_encode($lossRatioValues) ?>
data: dataLossRatio.lossRatioValues
}]
},
options: {