Compare commits
4 Commits
dc690f3350
...
67c341a091
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
67c341a091 | ||
|
|
c74d63c178 | ||
|
|
5f2c7ffeab | ||
|
|
8d1e6aed7a |
@@ -21,7 +21,8 @@ public class DrinkingBar extends AbstractLoadingBar implements WorkdayLoadingBar
|
|||||||
|
|
||||||
private static final int MINS_PER_HALF_HOUR = CommonTools.MINS_PER_HOUR / 2;
|
private static final int MINS_PER_HALF_HOUR = CommonTools.MINS_PER_HOUR / 2;
|
||||||
private static final int MINUTES_BEFORE_PAUSE = 4 * CommonTools.MINS_PER_HOUR + MINS_PER_HALF_HOUR;
|
private static final int MINUTES_BEFORE_PAUSE = 4 * CommonTools.MINS_PER_HOUR + MINS_PER_HALF_HOUR;
|
||||||
private static final int MINUTES_WITH_PAUSE = 6 * CommonTools.MINS_PER_HOUR;
|
private static final int MAX_MINUTES_WITHOUT_PAUSE = 6 * CommonTools.MINS_PER_HOUR;
|
||||||
|
private static final int MAX_MINUTES_WITH_PAUSE = 6 * CommonTools.MINS_PER_HOUR;
|
||||||
private static final int DEFAULT_TOTAL_TIME = 8 * CommonTools.MINS_PER_HOUR + MINS_PER_HALF_HOUR;
|
private static final int DEFAULT_TOTAL_TIME = 8 * CommonTools.MINS_PER_HOUR + MINS_PER_HALF_HOUR;
|
||||||
private static final BigDecimal DEFAULT_TOTAL_TIME_BD = BigDecimal.valueOf(DEFAULT_TOTAL_TIME);
|
private static final BigDecimal DEFAULT_TOTAL_TIME_BD = BigDecimal.valueOf(DEFAULT_TOTAL_TIME);
|
||||||
private static final BigDecimal DEFAULT_TOTAL_LITRES = BigDecimal.valueOf(2.0);
|
private static final BigDecimal DEFAULT_TOTAL_LITRES = BigDecimal.valueOf(2.0);
|
||||||
@@ -65,7 +66,10 @@ public class DrinkingBar extends AbstractLoadingBar implements WorkdayLoadingBar
|
|||||||
@Override
|
@Override
|
||||||
protected String fillLoadingBar(long passedMinutes, boolean progressive) {
|
protected String fillLoadingBar(long passedMinutes, boolean progressive) {
|
||||||
long effectivePassedMinutes = passedMinutes < 0 ? 0 : passedMinutes;
|
long effectivePassedMinutes = passedMinutes < 0 ? 0 : passedMinutes;
|
||||||
if (getTotalMinutes() > MINUTES_WITH_PAUSE && passedMinutes > MINUTES_BEFORE_PAUSE && passedMinutes <= MINUTES_WITH_PAUSE) {
|
/* the pause in counting up passed minutes could be more precise.
|
||||||
|
there IS a way to find out how LONG the lunch break was (known until WorkdayLoadingBar.realInitZapfenstreich),
|
||||||
|
but NOT the exact time slot from when to when the lunch break did take place... */
|
||||||
|
if (getTotalMinutes() > MAX_MINUTES_WITHOUT_PAUSE && passedMinutes > MINUTES_BEFORE_PAUSE && passedMinutes <= MAX_MINUTES_WITH_PAUSE) {
|
||||||
effectivePassedMinutes = MINUTES_BEFORE_PAUSE;
|
effectivePassedMinutes = MINUTES_BEFORE_PAUSE;
|
||||||
}
|
}
|
||||||
var effectivePassedMinutesBD = BigDecimal.valueOf(effectivePassedMinutes);
|
var effectivePassedMinutesBD = BigDecimal.valueOf(effectivePassedMinutes);
|
||||||
|
|||||||
@@ -20,12 +20,12 @@ public interface WorkdayLoadingBar {
|
|||||||
void showLoadingBar(boolean debug, boolean passedMinutesZero);
|
void showLoadingBar(boolean debug, boolean passedMinutesZero);
|
||||||
|
|
||||||
|
|
||||||
default boolean hasMittagspauseArrived() {
|
default boolean canHaveHadNoMittagspauseYet() {
|
||||||
return hasMittagspauseArrived(false);
|
return canHaveHadNoMittagspauseYet(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
default boolean hasMittagspauseArrived(boolean debugWithPassedMinutesZero) {
|
default boolean canHaveHadNoMittagspauseYet(boolean debugWithPassedMinutesZero) {
|
||||||
return getPassedMinutes(debugWithPassedMinutesZero) < DEFAULT_NUMBER_WORK_MINS_BEFORE_LUNCH;
|
return getPassedMinutes(debugWithPassedMinutesZero) < DEFAULT_NUMBER_WORK_MINS_BEFORE_LUNCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,11 +61,11 @@ public class LoadingBarCliTools {
|
|||||||
WorkdayLoadingBar lb = constructor.apply(startTime);
|
WorkdayLoadingBar lb = constructor.apply(startTime);
|
||||||
boolean debug = false;
|
boolean debug = false;
|
||||||
boolean passedMinutesZero = false;
|
boolean passedMinutesZero = false;
|
||||||
if (lb.hasMittagspauseArrived(debug && passedMinutesZero)) {
|
if (lb.couldHaveHadNoMittagspauseYetYetYet(debug && passedMinutesZero)) {
|
||||||
handleMittagspause(br, lb);
|
handleMittagspause(br, lb);
|
||||||
lb.showLoadingBar(debug, passedMinutesZero);
|
lb.showLoadingBar(debug, passedMinutesZero);
|
||||||
}
|
}
|
||||||
handleZapfenstreich(br, lb);
|
handleZapfenstreich(br, lb, passedMinutesZero);
|
||||||
lb.showLoadingBar(debug, passedMinutesZero);
|
lb.showLoadingBar(debug, passedMinutesZero);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,14 +89,14 @@ public class LoadingBarCliTools {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static void handleZapfenstreich(BufferedReader br, WorkdayLoadingBar lb) throws IOException {
|
private static void handleZapfenstreich(BufferedReader br, WorkdayLoadingBar lb, boolean passedMinutesZero) throws IOException {
|
||||||
print("Mittagspause hat gedauert (optional): ");
|
print("Mittagspause hat gedauert (optional): ");
|
||||||
String mittagspauseDurationRaw = br.readLine();
|
String mittagspauseDurationRaw = br.readLine();
|
||||||
Integer mittagspauseDuration = null;
|
Integer mittagspauseDuration = null;
|
||||||
if (mittagspauseDurationRaw != null && !mittagspauseDurationRaw.isBlank()) {
|
if (mittagspauseDurationRaw != null && !mittagspauseDurationRaw.isBlank()) {
|
||||||
mittagspauseDuration = Integer.valueOf(mittagspauseDurationRaw);
|
mittagspauseDuration = Integer.valueOf(mittagspauseDurationRaw);
|
||||||
}
|
}
|
||||||
LocalTime vorlaeufigeEndzeit = lb.getStartTime().plusMinutes(WorkdayLoadingBar.MAX_NUMBER_WORK_MINS)
|
LocalTime vorlaeufigeEndzeit = lb.getStartTime().plusMinutes(lb.getPassedMinutes(passedMinutesZero))
|
||||||
.plusMinutes(mittagspauseDuration != null ? mittagspauseDuration : WorkdayLoadingBar.MIN_LUNCH_DURATION);
|
.plusMinutes(mittagspauseDuration != null ? mittagspauseDuration : WorkdayLoadingBar.MIN_LUNCH_DURATION);
|
||||||
println("Endzeit: " + FormatTools.TIME_FORMATTER.format(vorlaeufigeEndzeit));
|
println("Endzeit: " + FormatTools.TIME_FORMATTER.format(vorlaeufigeEndzeit));
|
||||||
print("Feierabend verschieben um (optional): ");
|
print("Feierabend verschieben um (optional): ");
|
||||||
|
|||||||
Reference in New Issue
Block a user