Skip to content

navikt/vaktor-lonn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vaktor Lønn

Dette er en komponent som regner ut lønn for beredskapsvakt i NAV IT. Lønnen blir beregnet basert på vaktperioden din minus arbeidet tid.

Flyten i Vaktor

sequenceDiagram
actor Vakthaver
actor Vaktsjef
actor BDM
participant Plan as Vaktor Plan
participant Lønn as Vaktor Lønn
Plan-->>Plan: Endt vaktperiode
Plan->>Vakthaver: Ber om godkjenning av periode
Vakthaver-->>Plan: Godkjenner vaktperiode
Plan->>Vaktsjef: Ber om godkjenning av vaktperiode
Vaktsjef-->>Plan: Godkjenner vaktperiode
Plan->>Lønn: Godkjent vaktperiode
Lønn-->>Plan: Periode mottatt
loop Every hour
  Lønn->>MinWinTid: Ber om arbeidstid i vaktperiode
  MinWinTid-->>Lønn: Arbeidstid
  Lønn-->>Lønn: Sjekk om arbeidstid er godkjent av personalleder
  Lønn-->>Lønn: Sjekk at det ikke er ferie i vaktperioden
  Lønn-->>Lønn: Beregner utbetaling av kronetillegg og<br/>overtidstillegg for vaktperioden
  Lønn->>Plan: Utbetaling for vaktperiode
end
Plan->>Fullmaktregister: Henter BDM for vakthaver
Fullmaktregister-->>Plan: Liste over BDMer for vakthaver
Plan->>BDM: Ber om godkjenning av utbetalinger
BDM-->>Plan: Godkjenner vakthaver sin utbetalinger
Plan-->>Økonomi: Sender godkjente lønnstransaksjoner
Loading

Dataflyt i Vaktor

flowchart LR
  subgraph NAIS
    vp(Vaktor Plan)
    vl(Vaktor Lønn)
    pgvp[("Vaktor Plan (10år lagring)")]
    pgvl[(Vaktor Lønn)]
    vp<-- "BMD (ident)" -->Fullmaktsregister
  end

  vp-- "vaktplan (ident, vaktplan)" -->vl
  vl-- "beregning (sum, timer)" -->vp
  vl<-- "Ident, vaktplan (begge slettes etter beregning)" -->pgvl

  vp-- "Vaktplan (ident), beregning (sum, timer) " -->pgvp

  subgraph Azure
    vp-- "Innlogging/SSO" -->AzureAD
  end

  subgraph on-prem
    vp-- "beregning (artskoder, sum, timer) per ident" -->ØT
    vl<-- "timelister, satser, lønn" -->Datavarehus
  end
Loading

Utvikling

Det er satt opp CI/CD for automatisk utrulling av kodebasen. I dev har vi lagd en mock av MinWinTid som automatisk genererer arbeidstid innenfor vaktperioden man tester mot. Foreløpig satt til å kjøre utregning hvert 5 minutt.

Lokalt

For å kjøre lokalt trenger man en egen Postgres database, tilgang til Azure AD, og mock av MinWinTid.

make env # krever tilgang til GCP
make db
make mock # i et eget shell
make local

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •  

Languages