generation document: add budget

This commit is contained in:
Julien Fastré 2022-03-25 14:07:03 +01:00
parent 6bfb229995
commit 642a9fabbb
1 changed files with 65 additions and 9 deletions

View File

@ -110,9 +110,9 @@ Les administrateurs fonctionnels peuvent activer les paramètres suivants:
Le document présente:
* une variable `course`, de type `AccompanyingPeriod`;
* Si `usager principal du parcours` est coché, une variable `mainPerson`, de type `Person`, avec les variants `relations` et `household` (ménage);
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations` et `household` (ménage);
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations` et `household` (ménage);
* si `usager principal du parcours` est coché, une variable `mainPerson`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
### Document générés pour une évaluation
@ -122,9 +122,9 @@ Le document présente:
* une variable `evaluation` de type `AccompanyingPeriodWorkEvaluation`: l'évaluation concernée;
* une variable `work` de type `AccompanyingPeriodWork`: l'action d'accompagnement au sein de laquelle l'évaluation est générée;
* une variable `course`, de type `AccompanyingPeriod`: le parcours au sein duquel l'évaluation est générée;
* Si `usager principal du parcours` est coché, une variable `mainPerson`, de type `Person`, avec les variants `relations` et `household` (ménage);
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations` et `household` (ménage);
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations` et `household` (ménage);
* si `usager principal du parcours` est coché, une variable `mainPerson`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
### Document générés pour un échange
@ -136,9 +136,14 @@ Le document présente:
Il est possible également d'injecter des dossiers d'usagers, parmi ceux associés **à l'échange** (l'utilisateur peut choisir parmis les usagers de l'échange, et pas les usagers concernés du parcours).
* Si `usager principal` est coché, une variable `mainPerson`, de type `Person`, avec les variants `relations` et `household` (ménage);
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations` et `household` (ménage);
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations` et `household` (ménage);
* si `usager principal du parcours` est coché, une variable `mainPerson`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
### Documents générés dans le dossier d'une personne
* une variable `person`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`.
## Champs par objet { #sec:gendoc-champs-objets }
@ -429,6 +434,48 @@ En outre, si la personne est mineure, on a accès aux champs suivants:
* `relations` (liste de Relationship): les relations (filiations) de l'usager;
#### variant `budget`
Le budget des usagers et de leur ménage est accessible de manière synthétisée: la somme globale de chaque "ligne" de budget est effectuée et disponible pour l'inclusion.
Chaque "ligne" dépend de la configuration de votre instance.
Toutes les lignes de budget possibles sont toujours présentes. Il est possible d'ajouter une condition dans le document pour n'afficher que les lignes ayant une somme supérieure à zéro.
##### Attributs pour une `Ligne de budget`
Pour chaque ligne, les informations suivantes sont disponibles:
* `sum` (nombre décimal): la somme de toutes les lignes du budget du même type;
* `label` (texte): le libellé de cette ligne dans l'interface;
##### Méthode de globalisation de chaque ligne
Pour chaque ligne de budget, la somme de toutes les lignes de budget du même type est disponible. Ainsi, si une entrée dans les ressources permet de saisir une charge "frais de communication téléphonique":
* pour un usager, si plusieurs lignes `frais de communication` sont enregistrées, alors c'est la somme de celles-ci qui apparaitra dans la génération de documents;
* pour un ménage, alors ce sera la somme de tous les `frais de communication` de chaque membre du ménage **au moment de la génération du document** qui apparaitra, mais également la somme des `frais de communications` enregistrés directement dans le dossier du ménage.
On verra donc apparaitre non seulement les frais payés par chaque usager (pour leur abonnement individuel au téléphone mobile, par exemple), mais également la somme payée par le ménage (pour le téléphone fixe ou l'accès à internet).
Enfin, seules les lignes _actives_ **au moment de la génération du document** sont prises en compte. Ainsi, par exemple, si un CDI a expiré la veille de la génération, son montant ne sera pas pris en compte.
Le calcul du caractère actif d'une ligne est effectué comme suit:
* la date de début est antérieure à la date de génération du document;
* la date de fin est vide, ou postérieure à la date de génération du document.
##### Attributs supplémentaire avec le variant `budget`:
Les attributs suivants sont disponibles, pour chaque objet `Person` qui a un variant `budget`:
* `budget.person.resources.<clé du type de ligne de budget>` (Ligne de budget): une ligne de budget pour la ressource dont la clé est indiquée par `<clé du type de ligne de budget>`. La liste des clés est à obtenir auprès de l'administrateur technique. Seules les lignes du budget associées au dossier de l'usager sont présentes ici;
* `budget.person.charges.<clé du type de ligne de budget>` (Ligne de budget): une ligne de budget pour la charge dont la clé est indiquée par `<clé du type de ligne de budget>`. La liste des clés est à obtenir auprès de l'administrateur technique. Seules les lignes du budget associées au dossier de l'usager sont présentes ici;
* `budget.household.resources.<clé du type de ligne de budget>` (Ligne de budget): une ligne de budget pour la ressource dont la clé est indiquée par `<clé du type de ligne de budget>`. La liste des clés est à obtenir auprès de l'administrateur technique. Les lignes de budget de tous les usagers actuels du ménages sont globalisées, ainsi que les lignes de budget associées directement au dossier ménage;
* `budget.household.charges.<clé du type de ligne de budget>` (Ligne de budget): une ligne de budget pour la charge dont la clé est indiquée par `<clé du type de ligne de budget>`. La liste des clés est à obtenir auprès de l'administrateur technique. Les lignes de budget de tous les usagers actuels du ménages sont globalisées, ainsi que les lignes de budget associées directement au dossier ménage;
#### Exemple d'utilisation
```
@ -668,3 +715,12 @@ Les variables présentent le nom de la relation (`text`), et la personne avec qu
* `id` (texte): identifiant
* `goal` (Goal): objectif d'une action
* `results` (liste de Result): liste des résultats
### Comment
Certains champs commentaire enregistrent également l'utilisateur qui a effectué la dernière mise à jour, et la date de celle-ci, en plus du commentaire en tant que tel. Ces champs ont les attributs suivants:
* `comment` (texte): le commentaire en tant que tel;
* `date` (Date): la date de la dernière modification;
* `user` (User): l'utilisateur qui a effectué la dernière modification;