aggregators for person, accompanying period and activity

This commit is contained in:
2023-10-24 13:13:24 +02:00
parent 3128fa299d
commit 1165b5edbd
10 changed files with 375 additions and 95 deletions
+93 -6
View File
@@ -136,6 +136,37 @@ Le champ "utilisateur principal" n'apparait que pour certains types d'échange,
### Regroupements liés aux échanges
#### Grouper les échanges par action liée
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ACPAggregators/BySocialActionAggregator.php -->
Groupe les échanges par action sociale liée à l'échange.
**Relation un-à-plusieurs**: Lorsqu'un échange est lié à plusieurs actions sociales, alors l'échange est comptabilisée une seule fois en regard de chaque type d'action.
#### Grouper les échanges par créateur de l'échange
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ACPAggregators/ByCreatorAggregator.php-->
Groupe les échanges par l'utilisateur ayant créé l'échange.
#### Grouper les échanges par date
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ACPAggregators/DateAggregator.php-->
Groupe les échanges par date.
Les dates des échanges peuvent être retroupées par mois, année ou semaine. Dans ce dernier cas, la numérotation de la semaine est calculée en suivant la norme ISO 8601[^iso8601week]. Les regroupements par mois ou semaine sont préfixés par l'année correspondante.
[^iso8601week]: Voir <https://fr.wikipedia.org/wiki/Num%C3%A9rotation_ISO_des_semaines>
#### Grouper les échanges par envoyé / reçu
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/SentReceivedAggregator.php-->
Groupe les échanges selon le champ envoyé / reçu indiqué dans l'échange.
#### Grouper les échanges par localisation de l'échange
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityLocationAggregator.php-->
@@ -143,24 +174,79 @@ Groupe les échanges par nom de la localisation de l'échange.
Les localisations qui possèdent le même nom sont regroupées ensemble.
#### Grouper les échanges par métier des utilisateurs participants
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityUsersJobAggregator.php-->
Groupe les échanges par métier des utilisateurs participants, ajoutés dans les "parties concernées" de l'échange.
Le métier pris en compte est celui associé à l'utilisateur à la date de l'échange.
**Relation un-à-plusieurs**: lorsque plusieurs utilisateurs participent à l'échange, l'échange est comptabilisé une seule fois par métier de chaque utilisateur. Si plusieurs utilisateurs participant comportent le même métier, l'échange n'est donc comptabilisé qu'une seule fois.
#### Grouper les échanges par problématique liée
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ACPAggregators/BySocialIssueAggregator.php-->
Groupe les échanges par problématique sociale associée à l'échange.
**Relation un-à-plusieurs**: lorsqu'un échange est associée à plusieurs problématiques, il est comptabilisé une fois en regard de chaque problématique.
#### Grouper les échanges par référent
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityUserAggregator.php-->
Groupe les échanges par le référent de l'échange (l'utilisateur principal).
#### Grouper les échanges par service du créateur de l'échange
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ACPAggregators/CreatorScopeAggregator.php-->
Groupe les échange par service du créateur de l'échange.
Le service pris en compte est celui du créateur de l'échange à la date de l'échange.
#### Grouper les échanges par tiers impliqué
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ACPAggregators/ByThirdpartyAggregator.php-->
Groupe les échanges par tiers impliqué dans les "usagers concernés" de l'échange.
**Relation un-à-plusieurs**: lorsque plusieurs tiers participent à l'échange, l'échange est comptabilisé une fois pour chaque tiers.
#### Grouper les échanges par type
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityTypeAggregator.php-->
Groupe les échanges par type d'échange.
#### Grouper les échanges par type de localisation
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ACPAggregators/LocationTypeAggregator.php-->
Groupe les échanges par type de localisation associé à l'échange.
#### Grouper les échanges par usager participant
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/PersonsAggregator.php -->
Groupe les échanges par usager participant à l'échange.
Les échanges sont comptabilisés en regard de chaque usager. Cela signifie que chaque échange est comptabilisé autant de fois qu'il y a de participants à l'échange.
**Relation un-à-plusieurs**: Les échanges sont comptabilisés une fois en regard de chaque usager.
Ce regroupement a pour effet de ne pas faire apparaitre les échanges qui ne comptent pas de participants.
#### Grouper les échanges par utilisateurs participants
Groupe les échanges par utilisateurs participant.
**Relation un-à-plusieurs**: Les échanges sont comptabilisés une fois en regard de chaque utilisateur participant.
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityTypeAggregator.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityUserAggregator.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityUsersAggregator.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityUsersJobAggregator.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityUsersScopeAggregator.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/PersonAggregators/ActivityReasonAggregator.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Aggregator/SentReceivedAggregator.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Export/LinkedToACP/AvgActivityDuration.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Export/LinkedToACP/AvgActivityVisitDuration.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Export/LinkedToACP/CountActivity.php-->
@@ -169,4 +255,5 @@ Ce regroupement a pour effet de ne pas faire apparaitre les échanges qui ne com
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Export/LinkedToACP/SumActivityVisitDuration.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Export/LinkedToPerson/CountActivity.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Export/LinkedToPerson/ListActivity.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Export/LinkedToPerson/StatActivityDuration.php-->
<!-- PHPFILE: src/Bundle/ChillActivityBundle/Export/Export/LinkedToPerson/StatActivityDuration.php-->