From 30f56d1f9bbbcae2e894702abcb0e37cfc11e08a Mon Sep 17 00:00:00 2001 From: John Jenko Date: Wed, 14 Jan 2026 16:01:40 -0500 Subject: [PATCH] F2026-001 Added the ability to prefix a Continuous Action sub-step tab with its parent tab. --- PROMS/Formats/fmtall/BASEall.xml | Bin 91132 -> 91196 bytes PROMS/Formats/fmtall/VEGP2all.xml | Bin 236454 -> 236516 bytes .../Format/PlantFormat.cs | 10 +++++ PROMS/Volian.Print.Library/ContActionSum.cs | 39 +++++++++++++++++- 4 files changed, 47 insertions(+), 2 deletions(-) diff --git a/PROMS/Formats/fmtall/BASEall.xml b/PROMS/Formats/fmtall/BASEall.xml index 56657cc2a26697f470b093e7a194ae888682551d..eec99ffad4e8cc94960595fd15097a50fdc68062 100644 GIT binary patch delta 67 zcmex!oORC$)(r(Q(+{vPvM{GGq)cX9CM+1jkk1gzP|A=5Buf}l844ydP8a92W8j3q S$qSpco0r9GUlzj{#ts0!0uu`W delta 34 jcmdmUg7wdF)(r(Q+;$9{FgW>Pvv%{dnC;JE7{k~B&g~0= diff --git a/PROMS/Formats/fmtall/VEGP2all.xml b/PROMS/Formats/fmtall/VEGP2all.xml index 3b797a864defa090a2b23c93935346b1740fee4b..db5751afc3b658879e4a63013780ff1174ee541a 100644 GIT binary patch delta 92 zcmZ3so$twZz6}QEjtUHp3@Jbuz>vsL#E{C6$56r$0%Ruv$$W-jhEgCa7$}y?PyiLT fWl#dLihweyK$cyzv3a|(IU^7=Z8tV&E=~ae0237B delta 30 kcmaE|op0H8z6}QE%ytZ%&4uReh31Sv%(T7GoVhp!0IWX>I{*Lx diff --git a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs index 87719a04..282cc8f1 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs @@ -4351,6 +4351,16 @@ public LeftJustifyList(XmlNodeList xmlNodeList) : base(xmlNodeList) { } return LazyLoad(ref _IncludeSectionLabel, "@IncludeSectionLabel"); } } + //F2026-001 default (in base format) is False. Put in for Vogtle Units 3 & 4. + // this will add the parent sub-step tab if the parent is not identified as a continueous action step + private LazyLoad _AddParentTabToSubStepTab; + public bool AddParentTabToSubStepTab + { + get + { + return LazyLoad(ref _AddParentTabToSubStepTab, "@AddParentTabToSubStepTab"); + } + } // the font and font styles to use for the continuous action summary private VE_Font _Font; public VE_Font Font diff --git a/PROMS/Volian.Print.Library/ContActionSum.cs b/PROMS/Volian.Print.Library/ContActionSum.cs index d7853e03..02276c91 100644 --- a/PROMS/Volian.Print.Library/ContActionSum.cs +++ b/PROMS/Volian.Print.Library/ContActionSum.cs @@ -47,6 +47,7 @@ namespace Volian.Print.Library AddHeader(doingTimeCriticalSummary); // F2022-024 pass flag when creating a Time Critical Action Summary report foreach (pkParagraph myContAct in myContActSteps) { + bool addParentTab = myContAct.MyParagraph.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.ContinuousActionSummaryData.AddParentTabToSubStepTab; // F2026-001 prefix Continuous Action sub-step with parent tab if (myContAct.MyChildren.Count > 0) if (myContAct.MyParagraph.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.ContinuousActionSummaryData.IncludeSectionNumAndTitle) // only print the section title if it has Continuous Action Steps AddSectionHeader(myContAct.MyParagraph.MyItemInfo.DisplayNumber, myContAct.MyParagraph.MyItemInfo.FormattedDisplayText, myContAct.MyParagraph.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.ContinuousActionSummaryData.IncludeSectionLabel); @@ -79,8 +80,27 @@ namespace Volian.Print.Library } else if (!pgh.MyParagraph.MyItemInfo.IsHigh) // if the high level step was not included, adjust the tab for a sub-step/RNO { - string tabPre = (_FirstLine) ? hlsii.MyTab.Text.Trim() + " " : ""; - if (!_FirstLine) + string tabPre = ""; + StringBuilder sbTabPre = new StringBuilder(); + ItemInfo prevItemInfo = pgh.MyParagraph.MyItemInfo.MyParent; + // F2026-001 The while loop below will build a sub-step prefix of the continuous action sub-step + // if the format flag (AddParentTabToSubStepTab) is set - the base format has this set to false + // it will not add the parent tab + // - if the parent is a continuous action step or sub-step as that information would be redundant + // - if the current is a RNO step type and the Parent is NOT a RNO step type + if (prevItemInfo.IncludeOnContActSum || !addParentTab) prevItemInfo = null; + while (prevItemInfo != null && !prevItemInfo.IsHigh && !prevItemInfo.IncludeOnContActSum) + { + sbTabPre.Insert(0, prevItemInfo.MyTab.CleanText.Trim()); + if ((prevItemInfo.IsInRNO && !prevItemInfo.MyParent.IsInRNO) || prevItemInfo.MyParent.IncludeOnContActSum) + prevItemInfo = null; + else + prevItemInfo = prevItemInfo.MyParent; + } + if (_FirstLine) // the first of a CAS on the report include the High Level Step tab + sbTabPre.Insert(0, (hlsii != null) ? hlsii.MyTab.Text.Trim() + " " : ""); + tabPre = sbTabPre.ToString(); + if (!_FirstLine) // if not the first line we indent the size of high level step tab preTabLen = GetTextWidth(hlsii.MyTab.Text.Trim() + " ") / 72f; if (pgh.MyParagraph.MyItemInfo.IsInRNO) { @@ -103,10 +123,13 @@ namespace Volian.Print.Library private void AddChildren(pkParagraph pgh, int level) { + StringBuilder sbPreTab = new StringBuilder(); + bool addParentTab = pgh.MyParagraph.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.AccSectionData.ContinuousActionSummaryData.AddParentTabToSubStepTab; // F2026-001 flag to add parent tab to CAS sub-step if (pgh.MyChildren.Count > 0) level++; foreach (pkParagraph cpgh in pgh.MyChildren) { + sbPreTab.Clear(); if (cpgh.MyCautionsAndNotes.Count > 0) AddNotesOrCautions(cpgh,level); string stpTab = cpgh.MyParagraph.MyItemInfo.MyTab.CleanText.Trim() + (cpgh.MyParagraph.MyItemInfo.IsInRNO ? "[R] ": " "); @@ -114,6 +137,18 @@ namespace Volian.Print.Library { stpTab = string.Format("{0} ", cpgh.MyParagraph.MyParent.MyTab.Text.Trim()) + " " + stpTab; } + ItemInfo prevItmInfo = cpgh.MyParagraph.MyItemInfo.MyParent; + // F2026-001 the while loop below will add the sub-step's parent tab if applicable + if (prevItmInfo.IncludeOnContActSum || !addParentTab) prevItmInfo = null; // don't try to add parent tab + while (prevItmInfo != null && !prevItmInfo.IsHigh) + { + sbPreTab.Insert(0, prevItmInfo.MyTab.CleanText.Trim()); + if ((prevItmInfo.IsInRNO && !prevItmInfo.MyParent.IsInRNO) || prevItmInfo.MyParent.IncludeOnContActSum) + prevItmInfo = null; + else + prevItmInfo = prevItmInfo.MyParent; + } + stpTab = sbPreTab.ToString() + stpTab; AddContinuousAction(stpTab, GetContActStepText(cpgh.MyParagraph.MyItemInfo), "", (cpgh.MyParagraph.MyItemInfo.PageNumber + 1).ToString(),level,0); AddChildren(cpgh, level); }