78 lines
3.1 KiB
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:"-"`
|
|
}
|