Skip to content

Liste générique : mécanique de cartes KPI (agrégats sur périmètre filtré) #1362

Description

@nicolas-eoxia

Contexte

Les listes génériques Saturne (view/saturne_list.php) ne proposent aucune synthèse chiffrée : l'utilisateur doit parcourir les lignes pour estimer des totaux. Il manque une mécanique générique réutilisable par tous les modules pour afficher des cartes de KPI au-dessus d'une liste, calculées sur tout le périmètre filtré (et pas seulement la page courante).

Proposition

Ajouter dans Saturne la mécanique générique (le contenu métier restant à la charge de chaque module via le hook printFieldPreListTitle) :

  • $sqlForList : exposer dans core/tpl/list/objectfields_list_build_sql_select.tpl.php un instantané de la requête filtrée (tous filtres/jointures appliqués) avant tri et pagination.
  • saturne_get_list_aggregates(DoliDB, string $baseSql, array $aggregates) : enveloppe la requête en sous-requête et calcule des agrégats SQL sur l'ensemble filtré.
  • saturne_render_kpi_cards(array $cards) : rend une barre de cartes KPI (label / valeur / icône / couleur).
  • SCSS : nouveau partial css/scss/modules/kpi-cards/_kpi-cards.scss (classes .saturne-kpi-* non scopées, cohérent avec filter-panel).

Bénéfice

Tout module Saturne peut afficher des indicateurs synthétiques respectant automatiquement les filtres actifs, sans dupliquer de logique.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions