B2023-115: Vogtle Alarms - Top Continue message (round 2)

This commit is contained in:
Kathy Ruffing 2023-12-12 09:02:40 -05:00
parent 8e682201d7
commit 389847c9ca

View File

@ -2823,25 +2823,35 @@ namespace Volian.Print.Library
ItemInfo parentStep = MyItemInfo.MyHLS; // get the high level step
myMsg = string.Format(myMsg, parentStep.CombinedTab, parentStep.DisplayTextKeepSpecialChars);
}
if ((docstyle.Continue.Top.HLS ?? 0) == 4) // B2023-115 Top continue message for Vogtle Alarms
// B2023-115 Top continue message for Vogtle Alarms: 1st version done on 12/6/23. Changes to logic as per request
// from engineering done on 12/12/23. See comment below for logic for 12/12/23 (history of this file has previous
// logic)
if ((docstyle.Continue.Top.HLS ?? 0) == 4)
{
// Vogtle Alarms: Their alarms are set up differently than standard procedures - the HLS in Vogtle
// alarms is a section in other procedures. The top continue message is shown when a break occurs between
// first level sub-steps '(continued)' with no step number as part of message' within the first level sub-step
// only if it is sequential (which is like a HLS in standard procedures) and the continue message
// has the first level sub-step's tab. There should be NO continue message if the break occurs at the HLS.
ItemInfo cur = MyItemInfo;
if (!(cur.IsCaution || cur.IsNote || cur.IsHigh))
while (!cur.MyParent.IsHigh) cur = cur.MyParent; // get to the first level substep to get its tab
// alarms is a section in other procedures. The top continue message is shown when a break occurs:
// • A continued message will appear on the top of the page ONLY if the pagination occurs anywhere
// within the first level substep. If, for example, the page break occurs between substep 3 and substep
// 4 as in example 2, no continued message will appear on the top of the page.
// • If a continued message is needed, the continued message will include the first level substep number
// if it is a sequential substep, such as “5. (continued)”. If it is NOT a sequential substep, then only
// the word “(continued)” will appear.
// • If a page break occurs between high level steps, such as before “Causes:”, then no continued message is needed.
bool doMessage = true;
if (MyItemInfo.IsHigh) doMessage = false; // at high, don't do message
if (MyItemInfo.MyParent.IsHigh) doMessage = false; // at first level, don't do message
// Caution/Note on first level, don't do message
if ((MyItemInfo.IsCaution || MyItemInfo.IsNote) && MyItemInfo.MyParent.MyParent.IsHigh) doMessage = false;
myMsg = docstyle.Continue.Top.Message;
// if within first level sequential, add on the sequential's number:
if (!cur.IsHigh && cur.IsSequential && MyItemInfo.MyParent.MyParent.IsHigh)
if (doMessage)
{
ItemInfo parentStep = MyItemInfo.MyParent;
myMsg = MyItemInfo.IsHigh ? myMsg : parentStep.CombinedTab + ". " + myMsg;
// Get to highest level below HLS
ItemInfo cur = MyItemInfo;
while (!cur.MyParent.IsHigh) cur = cur.MyParent;
// if sequential, add on step number, otherwise just put out message:
myMsg = !cur.IsSequential ? myMsg : cur.CombinedTab + ". " + myMsg;
}
// don't put a message out for HLS, note that the page start is decremented above so need to add that amount back on
if (MyItemInfo.IsHigh)
else // if not doing message, clear it & set yPageStart back to what it was before handling message
{
myMsg = "";
yPageStart += 2 * SixLinesPerInch;