diff --git a/build.gradle b/build.gradle index f91b977..4a8d2c2 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ apply plugin: 'eclipse' apply plugin: 'nu.studer.jooq' group = 'jottyfan' -version = '1.0.6' +version = '1.0.7' description = """timetrack""" diff --git a/src/main/java/de/jottyfan/timetrack/modules/done/DoneGateway.java b/src/main/java/de/jottyfan/timetrack/modules/done/DoneGateway.java index e9c8211..91f2cd5 100644 --- a/src/main/java/de/jottyfan/timetrack/modules/done/DoneGateway.java +++ b/src/main/java/de/jottyfan/timetrack/modules/done/DoneGateway.java @@ -46,9 +46,12 @@ import net.bootsfaces.component.fullCalendar.FullCalendarEventList; */ public class DoneGateway extends JooqGateway { private final static Logger LOGGER = LogManager.getLogger(DoneGateway.class); + private final Integer requested; public DoneGateway(JooqFacesContext facesContext) { super(facesContext); + String dailyMinutes = facesContext.getExternalContext().getInitParameter("requestedDailyMinutes"); + this.requested = dailyMinutes == null ? 480 : Integer.valueOf(dailyMinutes); // defaults to 8 hours/day } /** @@ -279,9 +282,9 @@ public class DoneGateway extends JooqGateway { String endTime = r.get(V_TOTALOFDAY.ENDTIME); String workTime = r.get(V_TOTALOFDAY.WORKTIME); String breakTime = r.get(V_TOTALOFDAY.BREAKTIME); - return new WholeDaySummaryBean(startTime, endTime, workTime, breakTime); + return new WholeDaySummaryBean(startTime, endTime, workTime, breakTime, requested); } - return new WholeDaySummaryBean("", "", "", ""); + return new WholeDaySummaryBean("", "", "", "", requested); } } diff --git a/src/main/java/de/jottyfan/timetrack/modules/done/WholeDaySummaryBean.java b/src/main/java/de/jottyfan/timetrack/modules/done/WholeDaySummaryBean.java index 54ce2eb..e63a1d4 100644 --- a/src/main/java/de/jottyfan/timetrack/modules/done/WholeDaySummaryBean.java +++ b/src/main/java/de/jottyfan/timetrack/modules/done/WholeDaySummaryBean.java @@ -10,13 +10,15 @@ public class WholeDaySummaryBean { private final String endTime; private final String workTime; private final String breakTime; + private final Integer dayrequests; - public WholeDaySummaryBean(String startTime, String endTime, String workTime, String breakTime) { + public WholeDaySummaryBean(String startTime, String endTime, String workTime, String breakTime, Integer dayrequests) { super(); this.startTime = startTime; this.endTime = endTime; this.workTime = workTime; this.breakTime = breakTime; + this.dayrequests = dayrequests == null ? 468 : dayrequests; // 7:48 by default } public String getOvertime() { @@ -25,7 +27,7 @@ public class WholeDaySummaryBean { Integer hours = Integer.valueOf(workTime.substring(0, workTime.indexOf(":"))); Integer minutes = Integer.valueOf(workTime.substring(workTime.indexOf(":") + 1)); Integer wholeMinutes = hours * 60 + minutes; - Integer overtime = wholeMinutes - (7 * 60 + 48); + Integer overtime = wholeMinutes - dayrequests; Integer overtimeHours = overtime / 60; Integer overtimeMinutes = overtime % 60; StringBuilder buf = new StringBuilder(); @@ -42,7 +44,13 @@ public class WholeDaySummaryBean { return ""; } } - return "-07:48"; + Integer requestHours = dayrequests / 60; + Integer requestMinutes = dayrequests % 60; + StringBuilder buf = new StringBuilder("-"); + buf.append(requestHours < 10 ? "0" : "").append(requestHours); + buf.append(":"); + buf.append(requestMinutes < 10 ? "0" : "").append(requestMinutes); + return buf.toString(); } public String getStartTime() { diff --git a/src/test/java/de/jottyfan/timetrack/moduls/done/TestWholeDaySummaryBean.java b/src/test/java/de/jottyfan/timetrack/moduls/done/TestWholeDaySummaryBean.java index 3345f9d..8addc7e 100644 --- a/src/test/java/de/jottyfan/timetrack/moduls/done/TestWholeDaySummaryBean.java +++ b/src/test/java/de/jottyfan/timetrack/moduls/done/TestWholeDaySummaryBean.java @@ -14,11 +14,12 @@ import de.jottyfan.timetrack.modules.done.WholeDaySummaryBean; public class TestWholeDaySummaryBean { @Test public void testGetOvertime() { - assertEquals("00:00", new WholeDaySummaryBean("", "", "07:48", "").getOvertime()); - assertEquals("00:12", new WholeDaySummaryBean("", "", "08:00", "").getOvertime()); - assertEquals("-00:48", new WholeDaySummaryBean("", "", "07:00", "").getOvertime()); - assertEquals("-07:48", new WholeDaySummaryBean("", "", "00:00", "").getOvertime()); - assertEquals("-07:48", new WholeDaySummaryBean("", "", "", "").getOvertime()); - assertEquals("", new WholeDaySummaryBean("", "", "a:b", "").getOvertime()); + assertEquals("00:00", new WholeDaySummaryBean("", "", "07:48", "", 468).getOvertime()); + assertEquals("00:12", new WholeDaySummaryBean("", "", "08:00", "", 468).getOvertime()); + assertEquals("-00:48", new WholeDaySummaryBean("", "", "07:00", "", 468).getOvertime()); + assertEquals("-07:48", new WholeDaySummaryBean("", "", "00:00", "", 468).getOvertime()); + assertEquals("-07:48", new WholeDaySummaryBean("", "", "", "", 468).getOvertime()); + assertEquals("", new WholeDaySummaryBean("", "", "a:b", "", 468).getOvertime()); + assertEquals("00:00", new WholeDaySummaryBean("", "", "08:00", "", 480).getOvertime()); } }