Workshop-Anforderungen, erster Teil: was ohne Migration geht
Anforderung 1 — Freiwilliger vs unfreiwilliger Austritt. Die Liste der Beendigungsarten zieht aus TerminatePanel.tsx nach lib/beendigung.ts um: der Berichtemanager braucht sie ebenso, und zwei Listen liefen auseinander. Zwei neue Arten (Beendigung in der Probezeit, je Seite). Auf wessen Betreiben beendet wurde, wird aus der Art **abgeleitet** und nicht daneben gespeichert — als zweites freies Feld liesse sich "Entlassung, freiwillig" erfassen. Das Dropdown im Formular schraenkt die Auswahl darunter ein. Drei Gruppen statt zwei: Befristungsablauf geschieht auf niemandes Betreiben, ein Nichtantritt ist kein Austritt. Beide einer Seite zuzuschlagen wuerde jede Fluktuationsquote verfaelschen. Anforderung 2 — Namensfilter in "Anstehend", ab neun Eintraegen. Anforderung 3 — die zwei Unterschriftenfelder im gedruckten Blatt sind weg; "Firmenfahrzeug" steht in beiden Checklisten. has_dienstwagen sagt, ob eines zusteht, nicht ob es uebergeben wurde. Anforderung 4 — "+794 weitere" ist ein Knopf geworden; die Namen waren vorher nur ueber den Export erreichbar. Stammdatenaenderung und Gehaltsanpassung stehen nicht mehr zur Auswahl: die eine entsteht bei jeder geaenderten Telefonnummer, die andere ist ein totes Ereignis, seit das Gehalt in Loga liegt. Neu ist der Untertyp — Beendigungsart beim Austritt, Art der Abwesenheit bei der Langzeitabwesenheit, im Bericht und im Export. Anforderung 10 — zwei Kacheln. "Aktives Dienstverhaeltnis" ist nicht dasselbe wie "Aktive Mitarbeiter:innen": dort steht, wer heute arbeitet, hier, mit wem ein Vertrag laeuft. Sichtbar waren 806 und 10, addieren musste man selbst.
This commit is contained in:
@@ -25,8 +25,10 @@ describe("Das Verzeichnis", () => {
|
||||
});
|
||||
|
||||
it("bildet jeden Punkt aus dem Blatt ab", () => {
|
||||
expect(OFFBOARDING_PUNKTE).toHaveLength(11);
|
||||
// 11 vom Blatt, dazu „Firmenfahrzeug" aus dem Workshop.
|
||||
expect(OFFBOARDING_PUNKTE).toHaveLength(12);
|
||||
for (const key of [
|
||||
"firmenfahrzeug",
|
||||
"br_verstaendigung",
|
||||
"kuendigungsschreiben",
|
||||
"bestaetigung_kdn_bei",
|
||||
|
||||
@@ -25,8 +25,9 @@ describe("Das Verzeichnis", () => {
|
||||
});
|
||||
|
||||
it("bildet jeden Punkt aus dem Blatt ab", () => {
|
||||
expect(ONBOARDING_PUNKTE).toHaveLength(25);
|
||||
for (const key of ["dienstzettel", "meldezettel", "salmonellenbefund", "willkommensmappe", "webreise"]) {
|
||||
// 25 vom Blatt, dazu „Firmenfahrzeug" aus dem Workshop.
|
||||
expect(ONBOARDING_PUNKTE).toHaveLength(26);
|
||||
for (const key of ["dienstzettel", "meldezettel", "salmonellenbefund", "willkommensmappe", "webreise", "firmenfahrzeug"]) {
|
||||
expect(punktZu(key), key).toBeDefined();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -314,6 +314,7 @@ describe("aggregateEvents", () => {
|
||||
event_date: "2026-03-01",
|
||||
event_type: "Eintritt",
|
||||
description: "Eintritt als Maschinenbediener:in",
|
||||
subtype: null,
|
||||
...overrides,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user