Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ed9df4e178 | ||
| 625b4af5ba |
@@ -1,2 +1,2 @@
|
|||||||
parameters:
|
parameters:
|
||||||
app.version: '0.1.46'
|
app.version: '0.1.47'
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ Documents complementaires:
|
|||||||
- Validation: même logique que les heures classiques (`isValid`, `isSiteValid`, bulk)
|
- Validation: même logique que les heures classiques (`isValid`, `isSiteValid`, bulk)
|
||||||
- Vue semaine:
|
- Vue semaine:
|
||||||
- jour/nuit/atelier par jour + indicateurs repas/dîner/nuitée
|
- jour/nuit/atelier par jour + indicateurs repas/dîner/nuitée
|
||||||
- panier de nuit (PN): affiché par jour si nightMinutes > dayMinutes, et total hebdo dans la colonne Jour/Nuit sem.
|
- panier de nuit (PN): affiché par jour si (nightMinutes > dayMinutes) OU (nightMinutes >= 240, soit au moins 4h de travail entre 21h et 6h), et total hebdo dans la colonne Jour/Nuit sem.
|
||||||
- totaux hebdo: jour, nuit, atelier, total, compteurs petit déj/déjeuner/dîner/nuitée
|
- totaux hebdo: jour, nuit, atelier, total, compteurs petit déj/déjeuner/dîner/nuitée
|
||||||
- pas de calcul d'heures supplémentaires pour les conducteurs
|
- pas de calcul d'heures supplémentaires pour les conducteurs
|
||||||
- Le flag `isDriver` est sur `EmployeeContractPeriod` (un employé peut changer de statut chauffeur selon la période)
|
- Le flag `isDriver` est sur `EmployeeContractPeriod` (un employé peut changer de statut chauffeur selon la période)
|
||||||
@@ -325,7 +325,7 @@ Tous les filtres checkbox sont cochés par défaut à l'ouverture du drawer.
|
|||||||
| Base | Contract.name | Via EmployeeContractResolver pour le mois |
|
| Base | Contract.name | Via EmployeeContractResolver pour le mois |
|
||||||
| Jour de présence Cadre | WorkHour | Uniquement FORFAIT (PRESENCE). Somme isPresentMorning (0.5) + isPresentAfternoon (0.5) |
|
| Jour de présence Cadre | WorkHour | Uniquement FORFAIT (PRESENCE). Somme isPresentMorning (0.5) + isPresentAfternoon (0.5) |
|
||||||
| Heures de nuit | WorkHour | Non-chauffeurs: calcul intervalles nuit (00:00-06:00, 21:00-24:00). Chauffeurs: somme nightHoursMinutes |
|
| Heures de nuit | WorkHour | Non-chauffeurs: calcul intervalles nuit (00:00-06:00, 21:00-24:00). Chauffeurs: somme nightHoursMinutes |
|
||||||
| Panier de nuit | WorkHour | Nombre de jours où nightMinutes > dayMinutes |
|
| Panier de nuit | WorkHour | Nombre de jours où (nightMinutes > dayMinutes) OU (nightMinutes >= 240, soit 4h entre 21h-6h) |
|
||||||
| Heures payés | EmployeeRttPayment | Somme base25Minutes + base50Minutes du mois, convertie en heures |
|
| Heures payés | EmployeeRttPayment | Somme base25Minutes + base50Minutes du mois, convertie en heures |
|
||||||
| Congés - Nombre | Absence code 'C' | Jours (demi-journées = 0.5) |
|
| Congés - Nombre | Absence code 'C' | Jours (demi-journées = 0.5) |
|
||||||
| Congés - Date | Absence code 'C' | Dates formatées dd/mm |
|
| Congés - Date | Absence code 'C' | Dates formatées dd/mm |
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<!-- Report N-1 row (RTT rollover carry, June only) -->
|
<!-- Report N-1 row (RTT rollover carry, June only) -->
|
||||||
<tr v-if="showCarryRow">
|
<tr v-if="showCarryRow" class="bg-tertiary-500">
|
||||||
<td class="px-5 py-[10px] font-bold text-primary-500 border border-primary-500">Report</td>
|
<td class="px-5 py-[10px] font-bold text-primary-500 border border-primary-500">Report</td>
|
||||||
<td class="px-4 py-[10px] text-center text-neutral-500 border border-primary-500 border-r-2">-</td>
|
<td class="px-4 py-[10px] text-center text-neutral-500 border border-primary-500 border-r-2">-</td>
|
||||||
<td class="px-4 py-[10px] text-center font-bold text-primary-500 border border-primary-500">{{ formatMinutes(summary!.carryBase25Minutes) }}</td>
|
<td class="px-4 py-[10px] text-center font-bold text-primary-500 border border-primary-500">{{ formatMinutes(summary!.carryBase25Minutes) }}</td>
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<!-- Report mois précédent (cumulated balance from previous months, July+) -->
|
<!-- Report mois précédent (cumulated balance from previous months, July+) -->
|
||||||
<tr v-if="showMonthReportRow">
|
<tr v-if="showMonthReportRow" class="bg-tertiary-500">
|
||||||
<td class="px-5 py-[10px] font-bold text-primary-500 border border-primary-500">Report</td>
|
<td class="px-5 py-[10px] font-bold text-primary-500 border border-primary-500">Report</td>
|
||||||
<td class="px-4 py-[10px] text-center text-neutral-500 border border-primary-500 border-r-2">-</td>
|
<td class="px-4 py-[10px] text-center text-neutral-500 border border-primary-500 border-r-2">-</td>
|
||||||
<td class="px-4 py-[10px] text-center font-bold text-primary-500 border border-primary-500">{{ formatMinutes(monthReport.base25) }}</td>
|
<td class="px-4 py-[10px] text-center font-bold text-primary-500 border border-primary-500">{{ formatMinutes(monthReport.base25) }}</td>
|
||||||
|
|||||||
@@ -298,7 +298,7 @@ class SalaryRecapPrintProvider implements ProviderInterface
|
|||||||
$nightMinutesTotal += $wh->getNightHoursMinutes() ?? 0;
|
$nightMinutesTotal += $wh->getNightHoursMinutes() ?? 0;
|
||||||
$dayMin = $wh->getDayHoursMinutes() ?? 0;
|
$dayMin = $wh->getDayHoursMinutes() ?? 0;
|
||||||
$nightMin = $wh->getNightHoursMinutes() ?? 0;
|
$nightMin = $wh->getNightHoursMinutes() ?? 0;
|
||||||
if ($nightMin > $dayMin && $nightMin > 0) {
|
if (($nightMin > $dayMin && $nightMin > 0) || $nightMin >= 240) {
|
||||||
++$nightBasketCount;
|
++$nightBasketCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -322,7 +322,7 @@ class SalaryRecapPrintProvider implements ProviderInterface
|
|||||||
} else {
|
} else {
|
||||||
$metrics = $this->computeNightMinutes($wh);
|
$metrics = $this->computeNightMinutes($wh);
|
||||||
$nightMinutesTotal += $metrics['nightMinutes'];
|
$nightMinutesTotal += $metrics['nightMinutes'];
|
||||||
if ($metrics['nightMinutes'] > $metrics['dayMinutes'] && $metrics['nightMinutes'] > 0) {
|
if (($metrics['nightMinutes'] > $metrics['dayMinutes'] && $metrics['nightMinutes'] > 0) || $metrics['nightMinutes'] >= 240) {
|
||||||
++$nightBasketCount;
|
++$nightBasketCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ final readonly class WorkHourWeeklySummaryProvider implements ProviderInterface
|
|||||||
$present = min(1.0, $morning + $afternoon + $creditedPresence);
|
$present = min(1.0, $morning + $afternoon + $creditedPresence);
|
||||||
}
|
}
|
||||||
|
|
||||||
$hasNightBasket = $nightMinutes > $dayMinutes && $nightMinutes > 0;
|
$hasNightBasket = ($nightMinutes > $dayMinutes && $nightMinutes > 0) || $nightMinutes >= 240;
|
||||||
if ($hasNightBasket) {
|
if ($hasNightBasket) {
|
||||||
++$weeklyNightBasketCount;
|
++$weeklyNightBasketCount;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user