Headcount heisst ueberall dasselbe
"Headcount" stand auf der Uebersicht fuer die Aktiven und im Bericht fuer eine andere Zahl -- 785 gegen 788, dasselbe Wort fuer Verschiedenes (N.02). Max hat die Begriffe festgelegt: Headcount Aktiv fuer die Aktiven, Headcount Aktives Dienstverhaeltnis fuer Aktive plus Langzeitabwesende. Die beiden Kacheln auf der Uebersicht tragen jetzt genau diese Namen. Beide Zahlen gab es dort schon, nur hiess die eine "Aktives Dienstverhaeltnis" und die andere "Aktive Mitarbeiter:innen (HC)". Im Bericht ginge ein fester Name nicht: die Kennzahl zaehlt, was gerade ausgewaehlt ist, auch Geplante oder Ausgetretene. Trifft die Auswahl eine der beiden Groessen, steht ihr Name in der Ueberschrift; sonst steht dabei, welche Status gezaehlt wurden -- mit den Anzeigenamen, also "Langzeitabwesenheit" und nicht "Karenz".
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { ABSENCE_TYPES } from "./absence";
|
||||
import { ABSENCE_TYPES, statusLabel } from "./absence";
|
||||
import { BEENDIGUNGSART_WERTE } from "./beendigung";
|
||||
import { fmtName, todayIso, yearsBetweenIso } from "./format";
|
||||
import { HAY_GRADE_WERTE } from "./hay-grade";
|
||||
@@ -32,6 +32,33 @@ export type GroupDimension =
|
||||
| "teilzeit_art"
|
||||
| "weekday";
|
||||
|
||||
/**
|
||||
* Die Kennzahl mit dem, was sie tatsächlich zählt.
|
||||
*
|
||||
* „Headcount" stand auf der Übersicht für die Aktiven und im Bericht für eine
|
||||
* andere Zahl — dasselbe Wort für Verschiedenes, gemeldet als N.02. Der Kunde
|
||||
* führt zwei Grössen mit festen Namen (Max, 30.09.): **Headcount Aktiv** für
|
||||
* die Aktiven und **Headcount Aktives Dienstverhältnis** für Aktive plus
|
||||
* Langzeitabwesende.
|
||||
*
|
||||
* Die Kennzahl im Bericht zählt aber, was gerade ausgewählt ist — auch
|
||||
* Geplante oder Ausgetretene. Ein fester Name wäre dort also schlicht falsch.
|
||||
* Deshalb: trifft die Auswahl eine der beiden Grössen, steht ihr Name da;
|
||||
* sonst steht dabei, welche Status gezählt wurden.
|
||||
*/
|
||||
export function messgroesseLabel(measure: Measure, statuses: readonly string[]): string {
|
||||
const basis = MEASURE_LABELS[measure];
|
||||
if (measure !== "headcount") return basis;
|
||||
|
||||
const gewaehlt = new Set(statuses);
|
||||
if (gewaehlt.size === 1 && gewaehlt.has("Aktiv")) return "Headcount Aktiv";
|
||||
if (gewaehlt.size === 2 && gewaehlt.has("Aktiv") && gewaehlt.has("Karenz")) {
|
||||
return "Headcount Aktives Dienstverhältnis";
|
||||
}
|
||||
if (gewaehlt.size === 0) return basis;
|
||||
return `${basis} (${statuses.map((s) => statusLabel(s as EmploymentStatus)).join(", ")})`;
|
||||
}
|
||||
|
||||
export const MEASURE_LABELS: Record<Measure, string> = {
|
||||
headcount: "Headcount",
|
||||
fte: "FTE",
|
||||
|
||||
Reference in New Issue
Block a user