//public static PdfPTable CreateZoneHeader(PdfReportConfig cfg, ZoneDetails zDets) //{ // PdfPTable table = DefineStandardTable(cfg); // Phrase phrase = new Phrase { new Chunk(zDets.ZoneName, cfg.TableHeaderFont) }; // PdfPCell cell = new PdfPCell(phrase); // cell.Border = 0; // cell.Colspan = 8; // cell.GrayFill = (float)0.95; // table.AddCell(cell); // string entertime = zDets.EnterTime != null ? ((DateTime) zDets.EnterTime).ToLocalTime().ToString(CultureInfo.InvariantCulture) : ""; // string exittime = zDets.ExitTime != null ? ((DateTime)zDets.ExitTime).ToLocalTime().ToString(CultureInfo.InvariantCulture) : ""; // phrase = new Phrase { new Chunk("Enter Zone: ", cfg.TableHeaderFont) }; // phrase.Add(new Chunk(entertime, cfg.TableCellFont)); // cell = new PdfPCell(phrase); // cell.Border = 0; // cell.Colspan = 3; // table.AddCell(cell); // phrase = new Phrase { new Chunk("Exit Zone: ", cfg.TableHeaderFont) }; // phrase.Add(new Chunk(exittime, cfg.TableCellFont)); // cell = new PdfPCell(phrase); // cell.Border = 0; // cell.Colspan = 3; // table.AddCell(cell); // phrase = new Phrase(""); // cell = new PdfPCell(phrase); // cell.Border = 0; // cell.Colspan = 2; // table.AddCell(cell); // return table; //} public static PdfPTable CreateProcCodeStats(PdfReportConfig cfg, ProcessCodeSummary sum) { PdfPTable table = DefineStandardTable(cfg); //Phrase phrase; //PdfPCell cell; //phrase = new Phrase { new Chunk($"Process Code {sum.ProcessCodeName}: ", cfg.TableHeaderFont) }; //phrase.Add(new Chunk((sum.ProcessCode).ToString(CultureInfo.InvariantCulture), cfg.TableCellFont)); //cell = new PdfPCell(phrase); //cell.Border = 0; //cell.Colspan = 2; //table.AddCell(cell); //phrase = new Phrase { new Chunk("Time Down: ", cfg.TableHeaderFont) }; //phrase.Add(new Chunk($"{sum.TimeSpanDown}", cfg.TableCellFont)); //cell = new PdfPCell(phrase); //cell.Border = 0; //cell.Colspan = 2; //table.AddCell(cell); //phrase = new Phrase { new Chunk("Percent Down: ", cfg.TableHeaderFont) }; //phrase.Add(new Chunk($"{sum.PercentOfTime}", cfg.TableCellFont)); //cell = new PdfPCell(phrase); //cell.Border = 0; //cell.Colspan = 2; //table.AddCell(cell); return(table); }
private void OnBuildDataSection(Document doc, PdfReportConfig cfg) { //foreach (ProcessCodeSummary ps in cfg.PcSumm.ProcessCodeSummaries) //{ // doc.Add(new Phrase("\n")); // PdfPTable table = ReportShared.CreateProcCodeStats(cfg,ps); // doc.Add(table); // doc.NewPage(); //} }
protected ReportBase(InductionDowntimeProcessCodeSummary pcodesumm) { Config = new PdfReportConfig(); Config.ReportCreationDateTime = DateTime.Now; Config.PcSumm = pcodesumm; if (pcodesumm.FirstDate != null) { Config.StartDate = (DateTime)pcodesumm.FirstDate; } if (pcodesumm.LastDate != null) { Config.EndDate = (DateTime)pcodesumm.LastDate; } }
public static PdfPTable DefineStandardTable(PdfReportConfig cfg) { // the table object const int cols = 8; PdfPTable table = new PdfPTable(cols); table.DefaultCell.PaddingBottom = 5; table.WidthPercentage = 100; table.HeaderRows = 0; table.DefaultCell.Phrase = new Phrase { Font = cfg.TableCellFont }; // columns relative widths float[] colWidths = new float[] { 1, 1, 1, 1, 1, 1, 1, 1 }; table.SetWidths(colWidths); return(table); }
private void OnBuildParametersSection(Document doc, PdfReportConfig cfg) { const int cols = 8; PdfPTable table = new PdfPTable(cols); table.DefaultCell.PaddingBottom = 5; table.WidthPercentage = 100; table.HeaderRows = 0; // columns relative widths float[] colWidths = new float[] { 1, 1, 1, 1, 1, 1, 1, 1 }; table.SetWidths(colWidths); Phrase phrase = new Phrase { new Chunk("SUMMARY", cfg.TableHeaderFont) }; PdfPCell cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 8; cell.GrayFill = (float)0.95; table.AddCell(cell); phrase = new Phrase { new Chunk("First Event: ", cfg.TableCellFont) }; //phrase.Add(new Chunk(cfg.PcSumm.FirstDate.ToString(), cfg.TableCellFont)); cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk(cfg.PcSumm.FirstDate.ToString(), cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk("Last Event: ", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk(cfg.PcSumm.LastDate.ToString(), cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk("Total Time Analyzed: ", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk(cfg.PcSumm.TotalTimeSpanString, cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk("Total Downtime Logged:", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk(cfg.PcSumm.TotalDownTimeSpanString, cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk("Down Time Percent:", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk($"{cfg.PcSumm.TotalPercentDowntime.ToString("#0.0")}%", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 6; table.AddCell(cell); string jobnums = ""; for (int i = 0; i < cfg.PcSumm.JobNumbersProcessed.Count; i++) { if (i == 0) { jobnums += $"{cfg.PcSumm.JobNumbersProcessed[i]}"; } else { jobnums += $",{cfg.PcSumm.JobNumbersProcessed[i]}"; } } phrase = new Phrase { new Chunk("Job Numbers: ", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk(jobnums, cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 6; table.AddCell(cell); doc.Add(table); doc.Add(new Phrase("\n")); foreach (JobCountSummary jc in cfg.PcSumm.JobCountSummaries) { //table = ReportShared.DefineStandardTable(cfg); table = new PdfPTable(cols); table.DefaultCell.PaddingBottom = 5; table.WidthPercentage = 100; table.HeaderRows = 0; table.SpacingAfter = 10; phrase = new Phrase { new Chunk($"{jc.JobNumber} JOB SUMMARY", cfg.TableHeaderFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 8; cell.GrayFill = (float)0.95; table.AddCell(cell); phrase = new Phrase { new Chunk("First Event Date:", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk($"{jc.FirstEventDate}", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk("Last Event Date:", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk($"{jc.LastEventDate}", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk("Total Job Time:", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk($"{jc.TotalTimeSpanString}", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk("Total Down Time:", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk($"{jc.TotalDownTimeSpanString}", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk() }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 4; table.AddCell(cell); phrase = new Phrase { new Chunk("Down Time Percent:", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk($"{jc.TotalPercentDowntime.ToString("0.0")}%", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk("Total Part Count:", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk($"{jc.TotalPartCount}", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk("Avg Parts/Min:", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); phrase = new Phrase { new Chunk($"{jc.AvgPartsPerMinute.ToString("####0")}", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); doc.Add(table); } //doc.Add(new Phrase("\n")); foreach (ProcessCodeSummary sum in cfg.PcSumm.ProcessCodeSummaries) { //table = ReportShared.DefineStandardTable(cfg); table = new PdfPTable(cols); table.DefaultCell.PaddingBottom = 5; table.WidthPercentage = 100; table.HeaderRows = 0; phrase = new Phrase { new Chunk($"PROCESS CODE #{sum.ProcessCode} - {sum.ProcessCodeName}", cfg.TableHeaderFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 8; table.AddCell(cell); phrase = new Phrase { new Chunk("Time Down:", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 1; table.AddCell(cell); phrase = new Phrase { new Chunk($"{sum.TimeSpanDownString}", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 7; table.AddCell(cell); phrase = new Phrase { new Chunk("% of Tot Time:", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 1; table.AddCell(cell); phrase = new Phrase { new Chunk($"{sum.PercentOfTime.ToString("#0.0")}%", cfg.TableCellFont) }; cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 7; table.AddCell(cell); table.AddCell(new PdfPCell()); doc.Add(table); //doc.Add(new Phrase("\n")); } }
public static PdfPTable CreateAlarmTable(PdfReportConfig cfg) { //Left in as a teaser for next phase of the project // the table object const int cols = 6; PdfPTable table = new PdfPTable(cols); table.DefaultCell.PaddingBottom = 5; table.WidthPercentage = 100; table.HeaderRows = 2; table.DefaultCell.Phrase = new Phrase { Font = cfg.TableAlmCellFont }; // columns relative widths float[] colWidths = new float[] { 10, 30, 0, 20, 20, 20 }; table.SetWidths(colWidths); // Alarms - Row1 Phrase phrase = new Phrase("ALARMS", cfg.TableHeaderFont); PdfPCell cell = new PdfPCell(phrase); cell.GrayFill = (float).95; cell.Border = 0; cell.Colspan = 6; table.AddCell(cell); // Alarms - Row2 - col1 phrase = new Phrase("ALM #", cfg.TableAlmHeaderFont); cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 1; table.AddCell(cell); // Alarms - Row2 - col2 phrase = new Phrase("DESCRIPTION", cfg.TableAlmHeaderFont); cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 1; table.AddCell(cell); // Alarms - Row2 - col3 phrase = new Phrase("GROUP", cfg.TableAlmHeaderFont); cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 1; table.AddCell(cell); // Alarms - Row2 - col4 phrase = new Phrase("SET TIME", cfg.TableAlmHeaderFont); cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 1; table.AddCell(cell); // Alarms - Row2 - col5 phrase = new Phrase("CLEAR TIME", cfg.TableAlmHeaderFont); cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 1; table.AddCell(cell); // Alarms - Row2 - col6 phrase = new Phrase("ACK TIME", cfg.TableAlmHeaderFont); cell = new PdfPCell(phrase); cell.Border = 0; cell.Colspan = 1; table.AddCell(cell); //clsAlarmList almList = cfg.OrderBase.AggregateAlarms(); //if (almList.Count > 0) //{ // foreach (clsAlarm alm in almList) // { // cell = new PdfPCell(new Phrase(alm.Alm_ID.ToString(CultureInfo.InvariantCulture), cfg.TableAlmCellFont)); // table.AddCell(cell); // cell = new PdfPCell(new Phrase(alm.Alm_Desc, cfg.TableAlmCellFont)); // table.AddCell(cell); // cell = new PdfPCell(new Phrase(alm.Alm_Group, cfg.TableAlmCellFont)); // table.AddCell(cell); // cell = new PdfPCell(new Phrase(alm.Alm_SetTime.ToString(CultureInfo.InvariantCulture), cfg.TableAlmCellFont)); // table.AddCell(cell); // cell = new PdfPCell(new Phrase(alm.Alm_ClearTime.ToString(CultureInfo.InvariantCulture), cfg.TableAlmCellFont)); // table.AddCell(cell); // cell = new PdfPCell(new Phrase(alm.Alm_AckTime.ToString(CultureInfo.InvariantCulture), cfg.TableAlmCellFont)); // table.AddCell(cell); // } //} //else //{ cell = new PdfPCell(new Phrase("No alarms recorded for this order", cfg.TableAlmTableEmptyFont)); cell.Colspan = 6; table.AddCell(cell); //} return(table); }