CHANGE: added report section

This commit is contained in:
2025-02-26 15:05:50 +01:00
parent 0ddca8b9ce
commit 54104d5a0e
15 changed files with 376 additions and 96 deletions

View File

@@ -116,11 +116,11 @@ func (b *Booking) GetBookingsByCardID(card_uid string, tsFrom time.Time, tsTo ti
return bookings, nil
}
func (b *Booking) GetBookingsGrouped(card_uid string, tsFrom time.Time, tsTo time.Time) ([]WorkDay, error){
func (b *Booking) GetBookingsGrouped(card_uid string, tsFrom time.Time, tsTo time.Time) ([]WorkDay, error) {
var grouped = make(map[string][]Booking)
bookings, err := b.GetBookingsByCardID(card_uid, tsFrom, tsTo)
if (err != nil){
log.Println("Failed to get bookings",err)
if err != nil {
log.Println("Failed to get bookings", err)
return []WorkDay{}, nil
}
for _, booking := range bookings {
@@ -161,14 +161,14 @@ func (b Booking) Save() {
}
func (b *Booking) GetBookingType() string {
switch b.CheckInOut{
case 1,3: //manuelle Änderung
switch b.CheckInOut {
case 1, 3: //manuelle Änderung
return "kommen"
case 2, 4: //manuelle Änderung
case 2, 4: //manuelle Änderung
return "gehen"
case 255:
case 255:
return "abgemeldet"
default:
default:
return "Buchungs Typ unbekannt"
}
}
@@ -183,7 +183,7 @@ func (b *Booking) Update(nb Booking) {
if b.GeraetID != nb.GeraetID && nb.GeraetID != 0 {
b.GeraetID = nb.GeraetID
}
if(b.Timestamp != nb.Timestamp){
if b.Timestamp != nb.Timestamp {
b.Timestamp = nb.Timestamp
}
}
@@ -209,19 +209,19 @@ func checkLastBooking(b Booking) bool {
return true
}
func (b *Booking) UpdateTime(newTime time.Time){
func (b *Booking) UpdateTime(newTime time.Time) {
hour, minute, _ := newTime.Clock()
if(hour == b.Timestamp.Hour() && minute == b.Timestamp.Minute()){
if hour == b.Timestamp.Hour() && minute == b.Timestamp.Minute() {
return
}
// TODO: add check for time overlap
var newBooking Booking
newBooking.Timestamp = time.Date(b.Timestamp.Year(), b.Timestamp.Month(), b.Timestamp.Day(), hour, minute, 0, 0, time.Local)
if(b.CheckInOut < 3){
newBooking.Timestamp = time.Date(b.Timestamp.Year(), b.Timestamp.Month(), b.Timestamp.Day(), hour, minute, 0, 0, time.Local)
if b.CheckInOut < 3 {
newBooking.CheckInOut = b.CheckInOut + 2
}
if(b.CheckInOut == 255){
if b.CheckInOut == 255 {
newBooking.CheckInOut = 4
}
b.Update(newBooking)