fixed #61, #62 refactored getTime variants
Some checks failed
Tests / Run Go Tests (push) Failing after 1m20s
Some checks failed
Tests / Run Go Tests (push) Failing after 1m20s
This commit is contained in:
@@ -86,77 +86,6 @@ func (a *Absence) GetTimes(u User, base WorktimeBase, includeKurzarbeit bool) (w
|
||||
return a.GetWorktime(u, base, includeKurzarbeit), a.GetPausetime(u, base, includeKurzarbeit), a.GetOvertime(u, base, includeKurzarbeit)
|
||||
}
|
||||
|
||||
func (a *Absence) GetWorktimeReal(u User, base WorktimeBase) time.Duration {
|
||||
if a.AbwesenheitTyp.WorkTime <= 0 {
|
||||
return 0
|
||||
}
|
||||
switch base {
|
||||
case WorktimeBaseDay:
|
||||
return u.ArbeitszeitProTagFrac(float32(a.AbwesenheitTyp.WorkTime) / 100)
|
||||
case WorktimeBaseWeek:
|
||||
return u.ArbeitszeitProWocheFrac(0.2 * float32(a.AbwesenheitTyp.WorkTime) / 100)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
func (a *Absence) GetPausetimeReal(u User, base WorktimeBase) time.Duration {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (a *Absence) GetOvertimeReal(u User, base WorktimeBase) time.Duration {
|
||||
if a.AbwesenheitTyp.WorkTime > 0 {
|
||||
return 0
|
||||
}
|
||||
switch base {
|
||||
case WorktimeBaseDay:
|
||||
return -u.ArbeitszeitProTagFrac(1)
|
||||
case WorktimeBaseWeek:
|
||||
return -u.ArbeitszeitProWocheFrac(0.2)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (a *Absence) GetWorktimeVirtual(u User, base WorktimeBase) time.Duration {
|
||||
return a.GetWorktimeReal(u, base)
|
||||
}
|
||||
|
||||
func (a *Absence) GetPausetimeVirtual(u User, base WorktimeBase) time.Duration {
|
||||
return a.GetPausetimeReal(u, base)
|
||||
}
|
||||
|
||||
func (a *Absence) GetOvertimeVirtual(u User, base WorktimeBase) time.Duration {
|
||||
return a.GetOvertimeReal(u, base)
|
||||
}
|
||||
|
||||
func (a *Absence) GetTimesReal(u User, base WorktimeBase) (work, pause, overtime time.Duration) {
|
||||
return a.GetWorktimeReal(u, base), a.GetPausetimeReal(u, base), a.GetOvertimeReal(u, base)
|
||||
}
|
||||
|
||||
func (a *Absence) GetTimesVirtual(u User, base WorktimeBase) (work, pause, overtime time.Duration) {
|
||||
return a.GetWorktimeVirtual(u, base), a.GetPausetimeVirtual(u, base), a.GetOvertimeVirtual(u, base)
|
||||
}
|
||||
|
||||
func (a *Absence) TimeWorkVirtual(u User) time.Duration {
|
||||
return a.TimeWorkReal(u)
|
||||
}
|
||||
|
||||
func (a *Absence) TimeWorkReal(u User) time.Duration {
|
||||
if a.AbwesenheitTyp.WorkTime > 1 {
|
||||
return time.Duration(u.ArbeitszeitPerTag * float32(time.Hour)).Round(time.Minute)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (a *Absence) TimePauseReal(u User) (work, pause time.Duration) {
|
||||
return 0, 0
|
||||
}
|
||||
|
||||
func (a *Absence) TimeOvertimeReal(u User) time.Duration {
|
||||
if a.AbwesenheitTyp.WorkTime > 1 {
|
||||
return 0
|
||||
}
|
||||
return -u.ArbeitszeitProTag()
|
||||
}
|
||||
|
||||
func (a *Absence) ToString() string {
|
||||
return "Abwesenheit"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user