Commit Graph

251 Commits

Author SHA1 Message Date
tristan 94cf8eb7a9 [#SIRH] Récap salaire: exclure les salariés sans contrat sur le mois
Le récap listait tous les employés sans filtrer le contrat: un salarié au
contrat terminé (ex. Marine, fin 26/02) apparaissait sur le récap de juin.
Ajout du filtre hasContractInRange (même règle que l'impression absences) sur
la période [from, to] du mois imprimé.

4 tests ajoutés. Vérifié sur données prod (Marine + 6 autres contrats terminés
exclus du mois de juin, 39 salariés contractés conservés).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 08:10:54 +02:00
tristan 7886666812 [#SIRH] Exports heures annuelles: afficher tous les jours contractés + week-ends plus foncés
- YearlyHoursExportBuilder: ne plus sauter les jours de semaine vides/non saisis.
  Tous les jours sous contrat sont affichés (jusqu'à aujourd'hui); seuls les
  jours hors contrat restent omis. Corrige les lignes manquantes signalées par la RH.
- Templates print/print-all: gris des samedis/dimanches foncé (#f3f3f3 -> #c0c0c0).
- Docs (functional-rules, in-app, CLAUDE.md).

NB: l'export tous-salariés sur l'année peut dépasser memory_limit=256M (Dompdf) —
limitation pré-existante (déjà le cas avant ce changement), non corrigée ici.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 23:47:31 +02:00
tristan c1ff46933a [#SIRH] Récap salaire: scinder la colonne Heures payés en 25% / 50%
En-tête fusionné "Heures payés" (colspan=2) avec deux sous-colonnes 25% et
50% sous-jacentes. paid25Hours=base25Minutes, paid50Hours=base50Minutes
(bases seules, total inchangé vs l'ancienne colonne unique). buildRttPaymentMap
renvoie ['m25','m50'] par employé. Tableau passé à 20 colonnes (colspan ajustés).
PDF généré et validé sur données prod (A4 paysage, largeurs ~228mm).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 23:34:59 +02:00
tristan 1486b770b1 [#SIRH] Récap salaire: congés N-1 forfait non affichés et comptés en présence
L'export récap salaire comptait tous les congés 'C' d'un forfait et ne
créditait aucune présence sur les jours de congé. Or un congé imputé sur le
stock N-1 ne doit pas s'afficher et doit compter comme jour de présence
(règle déjà appliquée dans la fiche employé via EmployeeLeaveSummaryProvider).

- Nouvelle méthode publique resolvePreviousYearTakenDays() (mutualise le budget
  N-1 avec la fiche: phase courante + recalcul jours payés).
- SalaryRecapPrintProvider charge les congés depuis le 1er janvier et consomme
  le budget N-1 chronologiquement (splitForfaitCongesByN1): jours couverts N-1
  retirés de l'affichage congés et ajoutés à la présence; au-delà = congés N.
- Non-forfait / budget N-1 = 0: comportement inchangé.

Vérifié end-to-end sur données prod (SARAZI mai: +1 présence, 4 congés affichés;
LIOT/ODUNCU budget 0 après paiement N-1 -> congés affichés).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 23:20:07 +02:00
tristan 89e637ce9e [#SIRH] RTT: proratiser le plafond 25%/50% pour les embauches en milieu de semaine
Le seuil de départ du +25% était proratisé aux jours contractés, mais le
plafond 25%/50% restait codé en dur à 43h: pour une embauche en milieu de
semaine, toutes les heures supp tombaient en 25%, jamais en 50%.

Le plafond vaut désormais seuil_départ_proraté + largeur de bande +25%
(4h pour un 39h, 8h pour un 35h). Semaine pleine: plafond = 43h (inchangé).
Témoin Dylan (CDD 39h embauché jeudi, 22h): 4h à 25% + 3h à 50%.

Écran Heures (WorkHourWeeklySummaryProvider) laissé tel quel (décision métier).
Suppression de deux helpers morts (computeOvertime25/50BonusMinutes) du service.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 22:29:08 +02:00
tristan 892d3b3c68 docs: synchroniser le docblock @var rows de WorkHourDayContext
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 21:55:55 +02:00
tristan d248df69ea docs: vue jour contrat à la date affichée (doc + in-app + CLAUDE.md) 2026-06-01 21:51:07 +02:00
tristan 1143baa169 [#SIRH] Vue jour: typer contractType (ContractType) sur la ligne du jour 2026-06-01 21:49:26 +02:00
tristan 441bac9d51 [#SIRH] Vue jour: saisie/présence et libellé résolus à la date affichée
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 21:45:23 +02:00
tristan f8e65496d7 [#SIRH] Vue jour: exposer le contrat du jour sur DayContextRow 2026-06-01 21:42:04 +02:00
tristan 71ae624c29 docs: plan vue jour contrat à la date affichée
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 21:39:51 +02:00
tristan 387cff2293 docs: spec vue jour résolution contrat à la date affichée
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 21:37:26 +02:00
gitea-actions 8b34a429cc chore: bump version to v0.1.103
Auto Tag Develop / tag (push) Successful in 8s
Build & Push Docker Image / build (push) Successful in 45s
v0.1.103
2026-05-26 14:09:11 +00:00
tristan cf2e12c8ba [#SIRH-32] Ajouter l'exercice 2026/2027 dans les congés/RTT (#20)
Auto Tag Develop / tag (push) Successful in 9s
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
|                  |                 |

## Description de la PR

## Modification du .env

## Check list

- [x] Pas de régression
- [x] TU/TI/TF rédigée
- [x] TU/TI/TF OK
- [ ] CHANGELOG modifié

Reviewed-on: #20
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-05-26 14:09:02 +00:00
gitea-actions 25083f00c8 chore: bump version to v0.1.102
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 1m11s
v0.1.102
2026-05-22 06:42:46 +00:00
tristan abdaf809f8 Gestion du changement de type de contrat + correction du calcule des RTT sur un contrat qui commence en milieu de semaine (#19)
Auto Tag Develop / tag (push) Has been cancelled
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
|                  |                 |

## Description de la PR

## Modification du .env

## Check list

- [x] Pas de régression
- [x] TU/TI/TF rédigée
- [x] TU/TI/TF OK
- [x] CHANGELOG modifié

Reviewed-on: #19
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-05-22 06:42:33 +00:00
gitea-actions b541f9ded8 chore: bump version to v0.1.101
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 38s
v0.1.101
2026-05-04 07:59:16 +00:00
tristan 47f9bea57d feat : sélecteur d'exercice sur l'onglet RTT de la fiche employé
Auto Tag Develop / tag (push) Has been cancelled
Permet de consulter les exercices passés (table hebdomadaire RTT) en
réutilisant le pattern de l'onglet Congés. Plage bornée par
max(début historique contrat, RTT_START_DATE). Bouton + Payer les RTT
verrouillé sur exercices clos. Onglet masqué pour FORFAIT (inchangé).

Backend : rttStartDate désormais toujours exposé sur EmployeeRttSummary
pour que le sélecteur conserve sa borne lors de la navigation vers un
exercice passé. Le masquage existant des lignes Report continue de
fonctionner (comparaison mois-à-mois).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 09:58:50 +02:00
tristan 7cadcfa362 feat : sélecteur d'année sur l'onglet Congés de la fiche employé
Permet de consulter les exercices passés (calendrier + compteurs) sur
l'onglet Congés. La plage proposée est bornée par max(début historique
contrat, RTT_START_DATE) pour ne pas remonter avant la mise en service
du logiciel. Édition des stocks N-1 et fractionnés verrouillée sur
exercices clos.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 09:51:19 +02:00
gitea-actions 3ec0d4b074 chore: bump version to v0.1.100
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 40s
v0.1.100
2026-04-29 15:45:14 +00:00
tristan eaf8a11e2b feat: ajout des commentaires à la semaine (#15)
Auto Tag Develop / tag (push) Has been cancelled
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
|                  |                 |

## Description de la PR

## Modification du .env

## Check list

- [x] Pas de régression
- [ ] TU/TI/TF rédigée
- [x] TU/TI/TF OK
- [ ] CHANGELOG modifié

Reviewed-on: #15
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-04-29 15:45:02 +00:00
gitea-actions 02fc94fbed chore: bump version to v0.1.99
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 39s
v0.1.99
2026-04-29 15:28:10 +00:00
tristan eb5910dffe feat : surlignage des jours fériés sur la vue semaine des heures
Auto Tag Develop / tag (push) Has been cancelled
Quand un employé n'a pas d'absence sur un jour férié, la cellule prend le fond bleu clair (#b3e5fc) et affiche le nom du férié au survol — cohérent avec la vue jour.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 17:27:46 +02:00
tristan 78f73ed2e9 feat : ajout des jours fériés sur l'export PDF des heures
Affiche désormais une ligne dédiée pour chaque jour férié (Lun-Ven) avec la mention "Férié : {nom}" et le total créditant les heures contractuelles, comme sur l'écran Heures.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 17:21:59 +02:00
tristan eacf52425a fix : récap salaire chauffeur, comptage des repas (déjeuner + dîner)
Un jour avec déjeuner ET dîner cochés ne comptait qu'1 repas (||) au lieu de 2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 15:27:00 +02:00
gitea-actions 6f43c3356f chore: bump version to v0.1.98
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 44s
v0.1.98
2026-04-29 09:43:56 +00:00
tristan 13eeeb9c86 feat : ajout colonne Cumul sur l'écran RTT (#18)
Auto Tag Develop / tag (push) Has been cancelled
Affiche le solde RTT à la fin de chaque semaine (report N-1 + somme
totalMinutes des semaines − paiements des mois antérieurs). Permet la
comparaison ligne à ligne avec un suivi RH externe.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
|                  |                 |

## Description de la PR

## Modification du .env

## Check list

- [ ] Pas de régression
- [ ] TU/TI/TF rédigée
- [ ] TU/TI/TF OK
- [ ] CHANGELOG modifié

Reviewed-on: #18
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-04-29 09:43:46 +00:00
gitea-actions 973de2d094 chore: bump version to v0.1.97
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 56s
v0.1.97
2026-04-27 13:02:01 +00:00
tristan 74c109713c fix : malio UI
Auto Tag Develop / tag (push) Has been cancelled
2026-04-27 15:01:51 +02:00
gitea-actions 06173e7225 chore: bump version to v0.1.96
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 2m59s
v0.1.96
2026-04-27 12:08:31 +00:00
tristan cc868a1e82 feat: ajout malio UI + décompte des jours de présence forfait (#17)
Auto Tag Develop / tag (push) Has been cancelled
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
|                  |                 |

## Description de la PR

## Modification du .env

## Check list

- [ ] Pas de régression
- [ ] TU/TI/TF rédigée
- [ ] TU/TI/TF OK
- [ ] CHANGELOG modifié

Reviewed-on: #17
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-04-27 12:08:24 +00:00
gitea-actions 90843dd997 chore: bump version to v0.1.95
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 31s
v0.1.95
2026-04-20 14:19:05 +00:00
tristan 8a449cf81b feat : paiement RTT en centièmes d'heures + auto-calcul bonus
Auto Tag Develop / tag (push) Has been cancelled
- Input step passé de 0.5 à 0.01 pour accepter les centièmes (xx,xx)
- Labels mis à jour "(centièmes)" au lieu de "(heures)"
- Auto-remplissage du bonus 25% (base × 0.25) et 50% (base × 0.50)
- Ligne "Payé" affiche désormais les centièmes en gris comme les autres lignes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 16:18:54 +02:00
gitea-actions 3926946a5f chore: bump version to v0.1.94
Auto Tag Develop / tag (push) Successful in 4s
Build & Push Docker Image / build (push) Successful in 33s
v0.1.94
2026-04-20 10:12:10 +00:00
tristan b9c3a8a84f [#SIRH-25] Version mobile (#16)
Auto Tag Develop / tag (push) Has been cancelled
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
|                  |                 |

## Description de la PR

## Modification du .env

## Check list

- [ ] Pas de régression
- [ ] TU/TI/TF rédigée
- [ ] TU/TI/TF OK
- [ ] CHANGELOG modifié

Reviewed-on: #16
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
2026-04-20 10:12:05 +00:00
gitea-actions b2f6fdf222 chore: bump version to v0.1.93
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 18s
v0.1.93
2026-04-20 06:25:18 +00:00
tristan 0fe82c63c5 Merge remote-tracking branch 'origin/develop' into develop
Auto Tag Develop / tag (push) Has been cancelled
2026-04-20 08:25:11 +02:00
tristan 849d19f124 fix : autoriser docker/php/config/php.ini dans .dockerignore pour le build prod
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 08:24:39 +02:00
gitea-actions d230a252b6 chore: bump version to v0.1.92
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Failing after 6s
v0.1.92
2026-04-20 06:21:05 +00:00
tristan d46e7c04d5 fix : copier la config PHP custom (memory_limit 512M) dans l'image de prod
Auto Tag Develop / tag (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-20 08:20:26 +02:00
gitea-actions fe0910a661 chore: bump version to v0.1.91
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 33s
v0.1.91
2026-04-17 14:58:36 +00:00
tristan ff7566d4cd feat : export PDF heures groupé depuis la liste employés + memory_limit 256M
Auto Tag Develop / tag (push) Has been cancelled
- Nouveau endpoint GET /yearly-hours/print-all (admin, par mois uniquement)
- Service YearlyHoursExportBuilder extrait du provider existant (logique partagée)
- EmployeeYearlyHoursPrintProvider refactorisé pour utiliser le builder
- Template print-all.html.twig avec saut de page entre chaque employé
- Drawer BulkYearlyHoursDrawer avec loader "Génération en cours..."
- Bouton "Export heures" ajouté sur la page liste employés
- PHP memory_limit passé de 128M à 256M dans php.ini (nécessaire pour Dompdf multi-employés)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 16:57:58 +02:00
gitea-actions 2f25a3cd52 chore: bump version to v0.1.90
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 31s
v0.1.90
2026-04-17 09:47:42 +00:00
tristan 1fe7f2cdde feat : agence d'intérim sur les contrats INTERIM + renommage Types d'absence en Types de statut + colonne Absence en Statut
Auto Tag Develop / tag (push) Has been cancelled
- Nouvelle entité InterimAgency (table interim_agencies, API lecture seule)
- Sélecteur agence conditionnel dans les formulaires création employé et ajout contrat
- Affichage "Intérim (NomAgence)" sur la liste employés et l'historique contrat
- Date de fin obligatoire côté frontend pour CDD et INTERIM (aligné backend)
- Renommage "Types d'absence" → "Types de statut" (sidebar, page, titre)
- Renommage en-tête "Absence" → "Statut" sur les vues jour heures et conducteurs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 11:47:14 +02:00
gitea-actions 9e411be3c3 chore: bump version to v0.1.89
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 32s
v0.1.89
2026-04-17 09:05:24 +00:00
tristan 90e63a463e feat : autoriser la création d'absences sur les jours fériés depuis le calendrier
Auto Tag Develop / tag (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 11:04:57 +02:00
gitea-actions 51bf155b0e chore: bump version to v0.1.88
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 56s
v0.1.88
2026-04-17 06:59:10 +00:00
tristan 1095421424 feat : modification des exports PDF et affichage du type de contrat sur l'écran des heures
Auto Tag Develop / tag (push) Has been cancelled
2026-04-17 08:58:58 +02:00
gitea-actions be7c16778a chore: bump version to v0.1.87
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Failing after 46s
v0.1.87
2026-04-16 13:52:31 +00:00
tristan a8fe244b5c feat : modification de la gestion des jours fériés
Auto Tag Develop / tag (push) Successful in 6s
2026-04-16 15:52:19 +02:00