diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 8fc87d14..1cdda809 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -1606,6 +1606,27 @@ namespace Volian.Controls.Library FlexibleMessageBox.Show("Approved procedure saved to import file " + fileName, "Creating Export of Approved Procedure", MessageBoxButtons.OK, MessageBoxIcon.Information); } + //C2025-015 Get a partial folder path. This will be used in building the PDF file name when viewing Approved procedures + string ProcFolderPathforApprovedPDF(string fullPath) + { + string rtnStr = ""; + try + { + // the fullPath string that is passed in ends with the Working Draft node. We want to trim that off + string[] strParts = fullPath.Substring(0, fullPath.LastIndexOf("\\")).Split('\\'); //fullPath.Replace("\\Working Draft","").Split('\\'); + int lastPart = Math.Max(strParts.Length - 1, 0); + rtnStr = strParts[lastPart]; + if (rtnStr.ToUpper().StartsWith("UNIT")) + { + rtnStr = strParts[lastPart - 1] + "_" + rtnStr; + } + } + catch + { + rtnStr = fullPath.Replace("\\", "_"); // just return the full path with _ intead of backslashes + } + return rtnStr; + } void ApprovedRevision_Click(object sender, EventArgs e) { @@ -1619,7 +1640,10 @@ namespace Volian.Controls.Library if ((ri.RevisionID < int.Parse(mip.Parent.Tag.ToString())) && ri.LatestVersion.MyStage.IsApproved != 0) superceded = true; } - vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : ""); + ProcedureInfo prcInfo = ProcedureInfo.Get(ri.ItemID); + // C2025-015 build a file name that includes a partial folder path and approved revision number + string approvedPDFName = string.Format("{0}_{1} Revision {2}", ProcFolderPathforApprovedPDF(prcInfo.SearchDVPath_clean), prcInfo.PDFNumber,ri.RevisionNumber); + vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(approvedPDFName), ri.LatestVersion.PDF, superceded ? "Superceded" : ""); OnViewPDF(sender, args); // System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded)); } @@ -1628,6 +1652,7 @@ namespace Volian.Controls.Library bool superceded = false; MenuItem mi = sender as MenuItem; if (mi == null) return; + string childName = ""; //RevisionInfo ri = mi.Tag as RevisionInfo; RevisionInfo ri = RevisionInfo.Get(int.Parse(mi.Tag.ToString())); { @@ -1635,12 +1660,22 @@ namespace Volian.Controls.Library //B2021-086 Added the check for the last revision stage is an Approved stage if ((ri.RevisionID < int.Parse(mip.Parent.Tag.ToString())) && ri.LatestVersion.MyStage.IsApproved != 0) superceded = true; + // C2025_015 get the child's name to append to file name + mip = mip.Parent as MenuItem; + if (mip != null) + { + childName = "_" + mip.Text; + } } ItemInfo ii = ItemInfo.Get(ri.ItemID); ii.MyDocVersion.DocVersionConfig.SelectedSlave = ri.MyConfig.Applicability_Index; - vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : ""); + ProcedureInfo prcInfo = ProcedureInfo.Get(ri.ItemID); + if (prcInfo.MyContent.Number.ToUpper().Contains("