vaktor-lonn

command module
v0.0.0-...-79f47bc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2024 License: MIT Imports: 13 Imported by: 0

README

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

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

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL