C2021-063 logic to display a check box to generate Alarm Point List information when a print/merge is done.

C2021-062 logic to display a check box to set the Rev Number for all procedures that are being printed with the Print All or Print/Merge
This commit is contained in:
2021-12-08 17:23:05 +00:00
parent 14dc69dc98
commit 7cb7081d7a
3 changed files with 132 additions and 54 deletions

View File

@@ -214,7 +214,6 @@ namespace VEPROMS
private void PrepForAllOrOne(bool oneProcedure)
{
txbPDFName.Visible = lblPDFFileName.Visible = oneProcedure;
txbRevNum.Visible = lblRevNum.Visible = oneProcedure;
txbReviewDate.Visible = lblReviewDate.Visible = oneProcedure;
txbRevDate.Visible = lblRevDate.Visible = oneProcedure;
cbxOpenAfterCreate2.Visible = oneProcedure;
@@ -226,7 +225,12 @@ namespace VEPROMS
cbxGenerateConActSum.Checked = false;
swtbtnGeneratePlacekeeper.Visible = lblGeneratePlacekeeper.Visible = oneProcedure &&
((MyProcedure.ActiveFormat.PlantFormat.FormatData.PurchaseOptions & E_PurchaseOptions.AutoPlacekeeper) == E_PurchaseOptions.AutoPlacekeeper);
btnMergePDFs.Visible = !oneProcedure;
// C2021-062 make visable the check box to assign rev number for all procedures being printed
// also make visable the Rev Num entry field.
txbRevNum.Enabled = oneProcedure;
cbxAssignRevToAllMergedPrcs.Visible = btnMergePDFs.Visible = !oneProcedure;
// C2021-063 make the Generate Alarm Point List text checkbox visable in the format flag is set.
cbxAlmPtTxt.Visible = !oneProcedure && MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.ChkBoxToGeneratePointListText;
}
private string _UnitNumber;
public string UnitNumber
@@ -406,7 +410,8 @@ namespace VEPROMS
if(SelectedSlave > 0) pc.SelectedSlave = SelectedSlave;
if (pc != null)
{
RevNum = pc.Print_Rev;
//C2021-062 use the save rev number for all procedures if set, or just use the rev number in the current procedure config
RevNum = (_NewRevForAllProcs == null) ? pc.Print_Rev : _NewRevForAllProcs;
RevDate = pc.Print_RevDate; //== null || pc.Print_RevDate=="" ? DateTime.Today : Convert.ToDateTime(pc.Print_RevDate);
ReviewDate = pc.Print_ReviewDate; // == null ? DateTime.Today : Convert.ToDateTime(pc.Print_ReviewDate);
//Now check the format flags to determine if/how the Rev string should be parsed.
@@ -709,7 +714,6 @@ namespace VEPROMS
string waterMarkTextOverride = "";
if (procConfig != null) waterMarkTextOverride = procConfig.GetValue("PSI", "WATERMARKOVERRIDE");
if (swtbtnWaterMark.Value && waterMarkTextOverride != null && waterMarkTextOverride != "") waterMarkText = waterMarkTextOverride;
// C2020-002 paper size is now set in the format files - default is Letter
Volian.Print.Library.Rtf2Pdf.PaperSize = myProc.ActiveFormat.PlantFormat.FormatData.PDFPageSize.PaperSize;
if (myProc.Sections != null)
@@ -723,6 +727,8 @@ namespace VEPROMS
{
MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = SelectedSlave;
SetupForProcedure();
// C2021-062 save the entered Rev Number to all of the procedures that are being printed
if (_NewRevForAllProcs != null) SaveRevNumToProcedureConfig(_NewRevForAllProcs);
pbPDFsStatus.TextVisible = true;
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
pbPDFsStatus.Value = i;
@@ -759,6 +765,8 @@ namespace VEPROMS
{
MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = k;
SetupForProcedure();
// C2021-062 save the entered Rev Number to all of the procedures that are being printed
if (_NewRevForAllProcs != null) SaveRevNumToProcedureConfig(_NewRevForAllProcs);
pbPDFsStatus.TextVisible = true;
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
pbPDFsStatus.Value = i;
@@ -1187,13 +1195,24 @@ namespace VEPROMS
txbDate.Text = e.Start.ToShortDateString();
}
string _NewRevForAllProcs = null;
private void txbRevNum_Leave(object sender, EventArgs e)
{
if (_Initializing) return;
// C2021-062 save the current rev number to be used when printing all procedures or merging
if (cbxAssignRevToAllMergedPrcs.Checked && btnMergePDFs.Visible)
_NewRevForAllProcs = txbRevNum.Text; // C2021-062 we will save the rev number as we print each procedure during the print merge or print all procedures
else
SaveRevNumToProcedureConfig(txbRevNum.Text);
}
// C2021-062 used to save rev number information when all procedures are printed or merged
private void SaveRevNumToProcedureConfig(string newrevnum)
{
// save the RevNum to the procedure's config.
ProcedureConfig pc = MyProcedure.MyConfig as ProcedureConfig;
if (pc == null) return;
pc.Print_Rev = txbRevNum.Text;
pc.Print_Rev = newrevnum;
using (Item itm = Item.Get(MyProcedure.ItemID))
{
itm.MyContent.Config = MyProcedure.MyConfig.ToString();
@@ -1254,8 +1273,8 @@ namespace VEPROMS
PromsPrinter.MergedLandscapePages = null; // B2019-152: MergedLandscapePages has data set when creating separate pdfs (DoCreatePDF)
DoCreatePDF(); // create indivitual pdfs
if (_MergedPdfPath != null && _MergedPdfPath != PDFPath) PDFPath = _MergedPfd.Folder = _MergedPdfPath;
if (!_MergedPfd.DoTheMerge(PromsPrinter.MergedLandscapePages)) return; // merge them together.
// C2021-063 pass in whether to generate Alarm Point List text when a merge is done
if (!_MergedPfd.DoTheMerge(PromsPrinter.MergedLandscapePages,cbxAlmPtTxt.Checked)) return; // merge them together.
// if the property to show the file after printing is set (on the version dialog), display it. Otherwise do a dialog to let user know it's done
if (_DocVersionConfig.Print_MergedPdfsViewAfter)
{
@@ -1279,6 +1298,15 @@ namespace VEPROMS
this.Close();
}
private void cbxAssignRevToAllMergedPrcs_CheckedChanged(object sender, EventArgs e)
{
txbRevNum.Enabled = cbxAssignRevToAllMergedPrcs.Checked;
if (cbxAssignRevToAllMergedPrcs.Checked)
_NewRevForAllProcs = txbRevNum.Text;
else
_NewRevForAllProcs = null;
}
//private void cbxDebug_CheckedChanged(object sender, EventArgs e)
//{
// cbxCmpPRMSpfd.Visible = cbxDebug.Checked;