diff --git a/build.gradle b/build.gradle index cf5d4be..a21bd7e 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ plugins { apply plugin: 'io.spring.dependency-management' group = 'de.jottyfan' -version = '1.4.5' +version = '1.4.6' description = """timetrack""" diff --git a/src/main/java/de/jottyfan/timetrack/modules/done/DoneController.java b/src/main/java/de/jottyfan/timetrack/modules/done/DoneController.java index a8319cc..58e745a 100644 --- a/src/main/java/de/jottyfan/timetrack/modules/done/DoneController.java +++ b/src/main/java/de/jottyfan/timetrack/modules/done/DoneController.java @@ -242,4 +242,20 @@ public class DoneController extends CommonController { bean.getIncludeSaturday(), bean.getIncludeSunday()); return "redirect:/done/list"; } + + @RolesAllowed("timetrack_user") + @GetMapping("/done/slot/back") + public String oneMonthBack(Model model, @ModelAttribute("doneModel") DoneModel doneModel) { + LocalDate day = doneModel.getDay(); + doneModel.setDay(day.minusMonths(1)); + return "redirect:/done/list"; + } + + @RolesAllowed("timetrack_user") + @GetMapping("/done/slot/forward") + public String oneMonthForward(Model model, @ModelAttribute("doneModel") DoneModel doneModel) { + LocalDate day = doneModel.getDay(); + doneModel.setDay(day.plusMonths(1)); + return "redirect:/done/list"; + } } diff --git a/src/main/java/de/jottyfan/timetrack/modules/done/DoneRepository.java b/src/main/java/de/jottyfan/timetrack/modules/done/DoneRepository.java index 24c96c3..950dc33 100644 --- a/src/main/java/de/jottyfan/timetrack/modules/done/DoneRepository.java +++ b/src/main/java/de/jottyfan/timetrack/modules/done/DoneRepository.java @@ -95,17 +95,17 @@ public class DoneRepository { Field OVERTIME = DSL.field("overtime", Integer.class); SelectHavingStep> sql = jooq // @formatter:off - .select(T_OVERTIME.OVERTIME_MINUTES.plus(DSL.sum(DSL.extract(V_DAY.WORKTIME, DatePart.MINUTE).minus(T_REQUIRED_WORKTIME.REQUIRED_MINUTES))).as(OVERTIME)) + .select(T_OVERTIME.OVERTIME_MINUTES.plus(DSL.sum(DSL.extract(V_DAY.WORKTIME, DatePart.EPOCH).div(60).minus(T_REQUIRED_WORKTIME.REQUIRED_MINUTES))).as(OVERTIME)) .from(V_DAY) .innerJoin(T_REQUIRED_WORKTIME).on(T_REQUIRED_WORKTIME.DAY.eq(V_DAY.DAY).and(T_REQUIRED_WORKTIME.FK_LOGIN.eq(V_DAY.FK_LOGIN))) .innerJoin(T_OVERTIME).on(T_OVERTIME.FK_LOGIN.eq(V_DAY.FK_LOGIN)) .innerJoin(T_LOGIN).on(T_LOGIN.PK.eq(V_DAY.FK_LOGIN)) - .where(T_OVERTIME.IMPACT.ge(V_DAY.DAY.cast(LocalDateTime.class))) + .where(T_OVERTIME.IMPACT.le(V_DAY.DAY.cast(LocalDateTime.class))) .and(V_DAY.DAY.le(day)) .and(T_LOGIN.LOGIN.eq(login)) .groupBy(V_DAY.FK_LOGIN, T_OVERTIME.OVERTIME_MINUTES); // @formatter:on - LOGGER.trace(sql); + LOGGER.info(sql); return sql.fetchOne(OVERTIME); } diff --git a/src/main/resources/templates/done/list.html b/src/main/resources/templates/done/list.html index 7575960..2398b45 100644 --- a/src/main/resources/templates/done/list.html +++ b/src/main/resources/templates/done/list.html @@ -1,6 +1,5 @@ - + Arbeitszeit @@ -8,8 +7,10 @@ Arbeitszeit
@@ -71,33 +89,44 @@ -
+
- - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -111,14 +140,10 @@ - WP2 - WP4 - WP5 - TA3 + WP2 + WP4 + WP5 + TA3 X @@ -140,13 +165,14 @@ - + + + - neues Projekt - + neues Projekt @@ -164,7 +190,9 @@ - + + + @@ -187,7 +215,9 @@ - + + + @@ -242,9 +272,8 @@
- Zur Berechnung der täglichen Überstunden müssen Slots angelegt werden, die definieren, an welchen Tagen wieviele Stunden zu arbeiten ist. - Die Überstundenberechnung hängt von der Vollständigkeit der vorhandenen Slots ab; fehlen Slots, wird die Arbeitszeit jener Tage nicht eingerechnet.
- Hier werden nur die Slots für diesen Monat angezeigt. + Zur Berechnung der täglichen Überstunden müssen Slots angelegt werden, die definieren, an welchen Tagen wieviele Stunden zu arbeiten ist. Die Überstundenberechnung hängt von der + Vollständigkeit der vorhandenen Slots ab; fehlen Slots, wird die Arbeitszeit jener Tage nicht eingerechnet.
Hier werden nur die Slots für diesen Monat angezeigt.
@@ -259,21 +288,24 @@
- - + + - + + -  --:--  +  --:-- 

-
@@ -281,69 +313,73 @@ Legende
- Üb: Überstunden, Mehrarbeit
- Ur: Urlaub, Sonderurlaub, Kur
- gF: gesetzlicher Feiertag
+ Üb: Überstunden, Mehrarbeit
Ur: Urlaub, Sonderurlaub, Kur
gF: gesetzlicher Feiertag
- Kr: Arbeits- und Dienstunfähigkeit
- Gl: Freistellung aus Gleitzeitguthaben
- Ar: Arbeits- und Dienstbefreiung
+ Kr: Arbeits- und Dienstunfähigkeit
Gl: Freistellung aus Gleitzeitguthaben
Ar: Arbeits- und Dienstbefreiung
- mK: "mit Kind krank"
- Di: Dienstreise, Dienstgänge
+ mK: "mit Kind krank"
Di: Dienstreise, Dienstgänge