flexible daily work times

This commit is contained in:
2019-09-23 12:33:53 +02:00
parent 02b8280cc8
commit bab71445a8
4 changed files with 24 additions and 12 deletions

View File

@ -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);
}
}

View File

@ -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() {