avicenna/service/data-hub/business-engine/internal/domain/domain.go

78 lines
3.1 KiB
Go

package domain
import (
"business-engine/internal/database"
"time"
)
type PayrollInput struct {
Firstname string
Surname string
// Vertragliche Basis
HourlyRate float64
ContractHours int64
DepartmentIsKtw bool
DepartmentNotLeitstelle bool
// Erfasste Zeiten
WorkedHours float64
WorkedDays int64
SickDays int64
HolidayDays int64
TotalHours float64
OvertimeHours float64
SickdaysYear []database.ListSickdaysForEmployeeRow
// Zulagen und Boni
ZulageTourengeld float64
ZulagePassengerTransport int64
ZulagePuenktlichkeit int64
Verpflegungspauschale int64
// Zuschlaege
ZuschlagNacht25 float64
ZuschlagNacht40 float64
ZuschlagSamstag float64
ZuschlagSonntag float64
ZuschlagVerpflegung float64
ZuschlagFeiertag125 float64
ZuschlagFeiertag150 float64
}
type WeeklyTimeData struct {
WeekStart time.Time
WorkedHours float64
WorkedDays float64
SickHours float64
HolidayDays float64
}
type PayrollStatement struct {
Nachname string `json:"nachname" csv:"Nachname"`
Vorname string `json:"vorname" csv:"Vorname"`
Verpflegungspauschale float64 `json:"verpflegungspauschale" csv:"Verpflegungspauschale"`
VertragStundenlohn float64 `json:"stundenlohn" csv:"Vertr. Stundenlohn"`
Vertragsstunden float64 `json:"vertragsstunden" csv:"Arbeitsstunden lt. Vertrag"`
GearbeiteteStunden float64 `json:"gearbeiteteStunden" csv:"Gearbeitet Stunden"`
GearbeiteteTage float64 `json:"gearbeiteteTage" csv:"Gearbeitet Tage"`
PuenktlichkeitspraemieAnzahl float64 `json:"puenktlichkeitspraemieAnzahl" csv:"Pünktlichkeitsprämie anzahl"`
Krankheitstage float64 `json:"krankheitstage" csv:"Krankheitstage x 8 Stunden"`
Ueberstunden float64 `json:"ueberstunden" csv:"davon Überstunden"`
Tourengeld float64 `json:"tourengeld" csv:"Tourengeld Anzahl"`
TourengeldBonus float64 `json:"tourengeldBonus" csv:"Tourengeld-Bonus (Platz 1-3, EUR)"`
GesundheitsbonusAbzug string `json:"gesundheitsbonusAbzug" csv:"Gesundheitsbonus abzuziehen? (ja/nein)"`
Gesundheitsbonus float64 `json:"gesundheitsbonus" csv:"Gesundheitsbonus"`
Urlaubsgeld float64 `json:"urlaubsgeld" csv:"Urlaubsgeld (44 EUR pro tag)"`
PScheinZulage float64 `json:"pScheinZulage" csv:"P-schein Zulage"`
Wochenendzuschlag15 float64 `json:"wochenendzuschlag15" csv:"Wochenendzuschlag 15%"`
Sonntagszuschlag50 float64 `json:"sonntagszuschlag50" csv:"Sonntagszuschlag 50%"`
Feiertagszuschlag125 float64 `json:"feiertagszuschlag125" csv:"Feiertagszuschlag 125%,omitempty"`
Feiertagszuschlag150 float64 `json:"feiertagszuschlag150" csv:"Feiertagszuschlag 150%,omitempty"`
Nachtzuschlag25 float64 `json:"nachtzuschlag25" csv:"Nachtzuschlag 25%"`
Nachtzuschlag40 float64 `json:"nachtzuschlag40" csv:"Nachtzuschlag 40%"`
SickdaysYear []database.ListSickdaysForEmployeeRow `json:"-" csv:"-"`
}