B2023-115: Vogtle Alarms - Top Continue message (round 2)
This commit is contained in:
		@@ -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:
 | 
			
		||||
					//	<EFBFBD>	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.
 | 
			
		||||
					//	<09>	If a continued message is needed, the continued message will include the first level substep number
 | 
			
		||||
					//		if it is a sequential substep, such as <20>5.  (continued)<29>.  If it is NOT a sequential substep, then only
 | 
			
		||||
					//		the word <20>(continued)<29> will appear.
 | 
			
		||||
					//	<09>	If a page break occurs between high level steps, such as before <20>Causes:<3A>, 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;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user