diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index be9e805d..dbb64880 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -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;