diff --git a/src/main/java/org/jlab/btm/persistence/projection/CcAccShiftTotals.java b/src/main/java/org/jlab/btm/persistence/projection/CcAccShiftTotals.java index 53552f1..6ecd9c5 100644 --- a/src/main/java/org/jlab/btm/persistence/projection/CcAccShiftTotals.java +++ b/src/main/java/org/jlab/btm/persistence/projection/CcAccShiftTotals.java @@ -62,4 +62,8 @@ public void setAccSeconds(Integer accSeconds) { public Integer calculateProgramSeconds() { return restoreSeconds + accSeconds + upSeconds + studiesSeconds + downSeconds; } + + public Integer calculatePossibleDowntimeSeconds() { + return upSeconds + downSeconds; + } } diff --git a/src/main/java/org/jlab/btm/persistence/projection/CcDowntimeCrossCheck.java b/src/main/java/org/jlab/btm/persistence/projection/CcDowntimeCrossCheck.java index 54e08ff..43b741f 100644 --- a/src/main/java/org/jlab/btm/persistence/projection/CcDowntimeCrossCheck.java +++ b/src/main/java/org/jlab/btm/persistence/projection/CcDowntimeCrossCheck.java @@ -8,25 +8,22 @@ */ public class CcDowntimeCrossCheck { + private static final int TEN_MINUTES_OF_SECONDS = 600; private final boolean passed; private final boolean lowProgramPassed; - private final boolean lowDownHardPassed; private final String lowProgramMessage; - private final String lowDownHardMessage; public CcDowntimeCrossCheck(CcAccShiftTotals acc, long dtmEventDownSeconds) { - int programSeconds = acc.getUpSeconds() + acc.getDownSeconds() + acc.getRestoreSeconds() + acc.getStudiesSeconds() + acc.getAccSeconds(); + int possibleDowntimeSeconds = acc.calculatePossibleDowntimeSeconds(); - lowProgramMessage = "DTM event down (" + BtmFunctions.formatDuration((int) dtmEventDownSeconds, DurationUnits.HOURS) + " hours) is greater than BTM program time [PHYSICS + STUDIES + RESTORE + ACC + DOWN] (" + BtmFunctions.formatDuration(programSeconds, DurationUnits.HOURS) + " hours)"; - lowDownHardMessage = ""; + lowProgramMessage = "DTM event down (" + BtmFunctions.formatDuration((int) dtmEventDownSeconds, DurationUnits.HOURS) + " hours) is significantly greater than BTM possible down time [PHYSICS + INTERNAL DOWN] (" + BtmFunctions.formatDuration(possibleDowntimeSeconds, DurationUnits.HOURS) + " hours)"; - lowProgramPassed = programSeconds >= dtmEventDownSeconds; - lowDownHardPassed = true; + lowProgramPassed = possibleDowntimeSeconds >= dtmEventDownSeconds - TEN_MINUTES_OF_SECONDS; - passed = lowProgramPassed && lowDownHardPassed; + passed = lowProgramPassed; } public boolean isPassed() { diff --git a/src/main/webapp/WEB-INF/includes/cross-check-panel.jsp b/src/main/webapp/WEB-INF/includes/cross-check-panel.jsp index b91f9d8..8720205 100644 --- a/src/main/webapp/WEB-INF/includes/cross-check-panel.jsp +++ b/src/main/webapp/WEB-INF/includes/cross-check-panel.jsp @@ -12,18 +12,18 @@
-
DTM vs BTM
+
BTM vs DTM
- - + + - +
BTM ProgramDTM EventBTM Possible DowntimeDTM Event Downtime Cross Check Status
${btm:formatDurationLossy(accAvailability.shiftTotals.calculateProgramSeconds(), durationUnits)}${btm:formatDurationLossy(accAvailability.shiftTotals.calculatePossibleDowntimeSeconds(), durationUnits)} ${btm:formatDurationLossy(dtmTotals.eventSeconds, durationUnits)} ${downCrossCheck.isPassed() ? '✔' : 'X'}