Materialiser opptjening
Konverterer prognoseførte opptjeninger til faktiske tidskontohendelser og krediterer de ansattes fraværssaldoer.
Hvordan det fungerer
Jobben for å materialisere opptjening kjører daglig og utfører følgende:
- Finner forfalte opptjeninger — prognoser med en neste opptjeningsdato på eller før kjøringsdatoen
- Oppretter hendelser — konverterer hver forfalt prognoseføring til en faktisk tidskontohendelse
- Oppdaterer sporing — registrerer siste materialiserte dato for å forhindre dobbeltbehandling
Dette er jobben som faktisk krediterer fraværssaldoer. Inntil materialisering skjer, eksisterer opptjeninger bare som projeksjoner i prognosen.
Daglig behandling kontra etterfylling
Jobben håndterer to scenarioer:
Daglig behandling
For ansatte med eksisterende materialiseringshistorikk gjør jobben følgende:
- Finner opptjeninger med
next_accrual_date <= run_date - Oppretter hendelser bare for de forfalte opptjeningene
- Oppdaterer prognosens
last_materialized_date
Etterfyllingsbehandling
For ansatte uten noen materialiseringshistorikk (nye oppsett eller migreringer) gjør jobben følgende:
- Materialiserer alle opptjeninger fra prognosestart frem til kjøringsdatoen
- Dette gjør det mulig å ta igjen historiske opptjeninger i én enkelt kjøring
Oppførsel for kjøringsdato
Kjøringsdatoen er avgjørende for denne jobben:
| Scenario | Kjøringsdato | Effekt |
|---|---|---|
| Normal daglig kjøring | I dag | Materialiserer opptjeninger som forfaller til og med i dag |
| Innhentingskjøring | Tidligere dato | Materialiserer bare frem til den datoen (nyttig for kontrollert utrulling) |
| Fremtidig dato | Fremtidig dato | Materialiserer opptjeninger inn i fremtiden (bruk med forsiktighet) |
Etterfylling av historiske opptjeninger
For å materialisere opptjeninger for tidligere perioder:
- Sørg for at Opptjeningsprognose har blitt kjørt for den historiske perioden
- Utløs denne jobben manuelt med kjøringsdatoen satt til den historiske måldatoen
- Kjør igjen med gradvis senere datoer hvis du ønsker kontrollert, trinnvis materialisering
Jobbresultater
| Måltall | Beskrivelse |
|---|---|
forecasts_processed | Antall ansattprognoser som ble evaluert |
accruals_materialized | Antall opptjeningshendelser opprettet (daglig behandling) |
accruals_backfilled | Antall opptjeningshendelser opprettet (etterfyllingsbehandling) |
errors | Antall feil under materialiseringen |
Tidspunkt for opptjening
Opptjeninger tildeles den første dagen i påfølgende måned. For eksempel:
- Arbeid i januar → opptjening datert 1. februar
- Arbeid i desember → opptjening datert 1. januar (året etter)
Dette betyr at materialiseringsjobben som kjører 1. februar vil opprette opptjeningshendelsen for januars opptjente fravær.
Feilsøking
| Problem | Løsning |
|---|---|
| Opptjeninger vises ikke | Kontroller at jobben Opptjeningsprognose har kjørt først |
| Manglende historiske opptjeninger | Kontroller at last_materialized_date er null for å utløse etterfylling, eller kjør prognosen på nytt med historisk kjøringsdato |
| Dupliserte opptjeninger | Dette skal ikke skje — jobben er idempotent. Sjekk om hendelser er opprettet manuelt |
| Saldo virker feil | Kontroller konfigurasjonen av opptjenings-pluginen og innstillingene for forholdsmessig fordeling |