From 707136d2fce7144b7e07e7328dec6266967f2465 Mon Sep 17 00:00:00 2001 From: Kathy Ruffing Date: Tue, 22 Aug 2023 08:46:07 -0400 Subject: [PATCH] B2023-088: Vogtle Alarm pagination issues --- PROMS/Formats/fmtall/VEGPAlrall.xml | Bin 200104 -> 200242 bytes .../Format/PlantFormat.cs | 9 +++++++ PROMS/Volian.Print.Library/Pagination.cs | 6 ++++- PROMS/Volian.Print.Library/vlnParagraph.cs | 24 +++++++++++++----- 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/PROMS/Formats/fmtall/VEGPAlrall.xml b/PROMS/Formats/fmtall/VEGPAlrall.xml index e70869aee395fdb6190a58d1a163af8a1a312a05..50bd229a0f7e502746002558c3fb3f0b282ec8cf 100644 GIT binary patch delta 164 zcmZ26n`hG;o(&y3;tC9o3^@#m3`GpN3;{qoogtGUk0Eio{VgW(>AyBG@=X^w$jH(> zOQ(I74&(M&I!v23O8YV7Gx#%!sLZ|(N4&(L{I!v23PPcf)D6##(Jth}5FmpPP X88dytb0)Uw7k)FzY(K%uoW%hE=#LzF diff --git a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs index 879952fe..b35ee527 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs @@ -4303,6 +4303,15 @@ namespace VEPROMS.CSLA.Library return LazyLoad(ref _PaginateOnLowerStepLevel, "@PaginateOnLowerStepLevel"); } } + // B2023-088: alarm format pagination + private LazyLoad _AlarmPagination; + public bool AlarmPagination + { + get + { + return LazyLoad(ref _AlarmPagination, "@AlarmPagination"); + } + } private LazyLoad _CustomSpacing; public bool CustomSpacing { diff --git a/PROMS/Volian.Print.Library/Pagination.cs b/PROMS/Volian.Print.Library/Pagination.cs index 2633b070..78c01396 100644 --- a/PROMS/Volian.Print.Library/Pagination.cs +++ b/PROMS/Volian.Print.Library/Pagination.cs @@ -1565,7 +1565,7 @@ namespace Volian.Print.Library float yAddForBtmMsg = 0; // useful for debugging pagination issues, lastbreak gets the paragraph at the top of the previous page, shows all // of the locations within 'range' on the next page. - //if (lastBreak != null && lastBreak.MyItemInfo.InList(72481)) + //if (lastBreak != null && lastBreak.MyItemInfo.InList(72481)) //{ // int range = 120; // Console.WriteLine("lastBreak = {0}, {1}", yUpperLimit, lastBreak); @@ -1720,7 +1720,11 @@ namespace Volian.Print.Library { vlnParagraph rnoChild = myPara.HasSecondRNOThatWillFit(yStart, yLowerLimit, yUpperLimit, myList, stepLevel, yTop); // Only if it is more than the lower limit if (rnoChild != null) + { + // B2023-088: don't return the 'rnochild' if this is a caution or note in an alarm format + if (myPara.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.AlarmPagination && minPara2 != null && minPara2.MyItemInfo.IsCautionOrNotePart) return minPara2; return rnoChild; + } } // B2019-103, B2019-114 Break at a step if the step will fit on a page by itself and it will // not fit in the current page diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index 466a61b2..f9d8f6f4 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -7088,13 +7088,25 @@ namespace Volian.Print.Library { // B2020-116: change from checking for type 20001 to looking for a non-high sequential since some // step types were sequential but not 20001 - if (!paraLoc.MyParagraph.MyItemInfo.IsHigh && paraLoc.MyParagraph.MyItemInfo.IsSequential) + bool keepBullettedTogether = paraLoc.MyParagraph.MyItemInfo.IsSubStep; + if (!paraLoc.MyParagraph.MyItemInfo.IsHigh) { - if (DontBreakHere(paraLoc)) - //if (paraLoc.MyParagraph.MyItemInfo.MyPrevious == null) // First substep - level = 0; - else - level = 1; + bool AlarmPagination = paraLoc.MyParagraph.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.AlarmPagination; + if (paraLoc.MyParagraph.MyItemInfo.IsSequential) + { + if (DontBreakHere(paraLoc)) + //if (paraLoc.MyParagraph.MyItemInfo.MyPrevious == null) // First substep + level = 0; + else + level = AlarmPagination?3:1; // B2023-088 make it easier to break on a sequential for alarms + } + else if (AlarmPagination && paraLoc.MyParagraph.MyItemInfo.IsSubStep) + { + // make it harder to break on first caution or note & within a list if doing Alarm Pagination: + vlnParagraph myPara = paraLoc.MyParagraph; + if ((myPara.MyItemInfo.IsCaution || myPara.MyItemInfo.IsNote) && myPara.MyItemInfo.MyPrevious == null) level = 1; + else if (myPara.MyItemInfo.MyPrevious != null || myPara.MyItemInfo.NextItem != null) level = 2; + } } } // For B2015-014, some migrated data for background documents had the TitleWithTextBelow with associated paragraphs -- 2.47.2