Development #265

Merged
djankowski merged 15 commits from Development into master 2024-03-12 14:01:12 -04:00
7 changed files with 42 additions and 8 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2932,7 +2932,19 @@ namespace VEPROMS.CSLA.Library
string str = MyContent.Text;
// B2022-035: resolve unit specific designators
if (str.ToUpper().Contains(@"<U")) str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(this.MyDocVersion, str);
return ConvertToDisplayText(str, false);
return ConvertToDisplayText(str, false, " "); // B2024-013 added " " to replace hard returns with a space instead of semi-colon
}
}
// B2024-013 added for Vogtle Units 3 & 4, used with {TOPSECTIONTITLE} pagelist item
// this will format the text and keep the hard return command
public string FormattedDisplayTextKeepHardReturn
{
get
{
string str = MyContent.Text;
// B2022-035: resolve unit specific designators
if (str.ToUpper().Contains(@"<U")) str = VEPROMS.CSLA.Library.DisplayText.ResolveUnitSpecific(this.MyDocVersion, str);
return ConvertToDisplayText(str, false, ""); // pass in empty string for hard retun char will keep hard return
}
}
// Used in Comanche Peak EOP and Flex formats for step designators. Will allow a hard return to be used that that caution type.
@ -3109,7 +3121,12 @@ namespace VEPROMS.CSLA.Library
return ConvertToDisplayText(txt, true);
}
public static string ConvertToDisplayText(string txt, bool stripRTF)
// B2024-013 This allos us to control "what with" or "whether to" replace hard returns
// Semi-colons where printing on auto table of contents for section titles with hard returns
// added HardReturnChar string to parameter. The default is to use the semi-colon, for auto table of contents
// we replace it with a space, for Vogtle Unit 3 & 4 we retain the hard return when printing the section
public static string ConvertToDisplayText(string txt, bool stripRTF, string HardReturnChar = ";")
{
string retval = txt;
@ -3120,9 +3137,12 @@ namespace VEPROMS.CSLA.Library
retval = ReplaceSpecialCharacters(retval);
retval = retval.Replace("\u2011", "-");
retval = retval.Replace("\u2572", @"\"); // replace backslash symbol with a backslash
retval = Regex.Replace(retval, @"\\line ?", ";"); // better handing of hard returns - replace with semi-colon for use on tree view
retval = retval.Replace("\r\n", ";");
retval = retval.Replace("\n", ";"); //added for consistency checking with approved version
if (HardReturnChar != "") // B2024-013 if a null string don't replace the hard return
{
retval = Regex.Replace(retval, @"\\line ?", HardReturnChar); // better handing of hard returns - replace with semi-colon for use on tree view
retval = retval.Replace("\r\n", HardReturnChar);
retval = retval.Replace("\n", HardReturnChar); //added for consistency checking with approved version
}
}
return retval;

View File

@ -2023,15 +2023,17 @@ i = 0;
break;
case "{TOPSECTIONTITLE}": // This will print the top level section title
case "[TOPSECTIONTITLE]":
// get top most section:
// get top most section: put in for Vogtle Units 3 & 4 formats
{
ItemInfo top = section;
while (top.MyParent != null && !top.MyParent.IsProcedure)
{
top = top.MyParent;
}
// B2024-013 changed to use the FormattedDisplayTextKeepHardReturn instead of display text for the section title
// this gives us to use the hard return that the user placed in the section title
if (top.IsSection)
plstr = SplitTitle(svgGroup, pageItem, top.DisplayText, section.ActiveFormat.PlantFormat.FormatData.SectData.SectionTitleLength, token, plstr, section.ActiveFormat.PlantFormat.FormatData.SectData.SectionNumberAndTitleLength);
plstr = SplitTitle(svgGroup, pageItem, top.FormattedDisplayTextKeepHardReturn, section.ActiveFormat.PlantFormat.FormatData.SectData.SectionTitleLength, token, plstr, section.ActiveFormat.PlantFormat.FormatData.SectData.SectionNumberAndTitleLength);
else
plstr = plstr.Replace(token, string.Empty);
}

View File

@ -2831,7 +2831,7 @@ namespace Volian.Print.Library
// 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)
if (((docstyle.Continue.Top.HLS ?? 0) == 4) || ((docstyle.Continue.Top.HLS ?? 0) == 7))
{
// 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:
@ -2842,6 +2842,13 @@ namespace Volian.Print.Library
// 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.
// F2024-027 & F2024-028
// Vogtle Units 3&4 needed similar top continue messages in the Local Alarms attachments as they have for the MCR Alarm point pages
// with the exception that when High Level Step (grouping text) is split and continued to the next page, the top continue message
// needs to be the HLS text with "(continued)" appended to it.
// Added a TOP.HLS value of 7 to allow for this minor difference and is set in the docstyle for that section
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
@ -2856,6 +2863,11 @@ namespace Volian.Print.Library
// if sequential, add on step number, otherwise just put out message:
myMsg = !cur.IsSequential ? myMsg : cur.CombinedTab + ". " + myMsg;
}
// F2024-027 & F2024-028 added else if to check of the case where we want to use the High Level Step text in the top continue message
else if (((docstyle.Continue.Top.HLS ?? 0) == 7) && MyItemInfo.MyParent != null && MyItemInfo.MyParent.IsHigh)
{
myMsg = MyItemInfo.MyParent.DisplayText + " " + myMsg;
}
else // if not doing message, clear it & set yPageStart back to what it was before handling message
{
myMsg = "";