Exemplo n.º 1
0
        //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);
        }
Exemplo n.º 2
0
 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();
     //}
 }
Exemplo n.º 3
0
 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;
     }
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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"));
            }
        }
Exemplo n.º 6
0
        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);
        }