public bool Lista(string nome_pdf, ArrayList descricoes, ArrayList valores, char origem) { PDF pdf = new PDF(nome_pdf); pdf.Abre(); pdf.CriaTabela(2, 0); pdf.tabela.WidthPercentage = 80; pdf.AdicionaCelula("imagens\\logo_rel.jpg", 1000, 1000); if (origem == 'p') { pdf.AdicionaCelula("Despesas por Natureza", BaseFont.HELVETICA_BOLD, 16); } else { pdf.AdicionaCelula("Receitas por Natureza", BaseFont.HELVETICA_BOLD, 16); } pdf.AdicionaTabela(); pdf.CriaTabela(3, 0); pdf.tabela.WidthPercentage = 40; pdf.AdicionaCelula("Natureza", BaseFont.HELVETICA_BOLD, 8, Color.LIGHT_GRAY, 2); pdf.AdicionaCelula("Valor", BaseFont.HELVETICA_BOLD, 8, Color.LIGHT_GRAY, Element.ALIGN_RIGHT, 1); double total = 0; int i = 0; foreach (string descricao in descricoes) { int j = 0; string valor = ""; foreach (float v in valores) { valor = v.ToString("#,###,##0.00"); if (j++ == i) { total += v; break; } } i++; //if ((i % 2) == 0) //{ pdf.AdicionaCelula(descricao, BaseFont.HELVETICA, 8, Element.ALIGN_LEFT, 2); pdf.AdicionaCelula(valor, BaseFont.HELVETICA, 8, Element.ALIGN_RIGHT, 1); //} //else //{ //pdf.AdicionaCelula(descricao, BaseFont.HELVETICA, 8, Element.ALIGN_LEFT, 2, 0.8f); //pdf.AdicionaCelula(valor, BaseFont.HELVETICA, 8, Element.ALIGN_RIGHT, 1, 0.8f); //} } pdf.AdicionaCelulaLinha("Total", BaseFont.HELVETICA_BOLD, 8, 2); pdf.AdicionaCelulaLinha(total.ToString("#,###,##0.00"), BaseFont.HELVETICA_BOLD, 8, Element.ALIGN_RIGHT, 1); pdf.AdicionaTabela(); pdf.Fecha(); return(true); }
public bool Gera(string where, string arquivo, string titulo, char quebra) { FbCommand cmd; FbDataReader reader; string order = ""; bool quebrou; if (quebra == 'v') { order = "order by a.DAT_VENCIMENTO"; } if (quebra == 'p') { order = "order by a.DAT_PAGAMENTO"; } if (quebra == 'n') { order = "order by a.COD_NATUREZA"; } cmd = new FbCommand("select a.DAT_VENCIMENTO," + "b.DES_NATUREZA," + "a.COD_PARCEIRO," + "a.COD_FUNCIONARIO," + "a.COD_DOC_ORIGEM," + "a.IDT_TIPO," + "a.DAT_EMISSAO," + "a.VLR_PREVISTO," + "a.VLR_PAGO," + "a.DAT_PAGAMENTO," + "c.DES_FORMA," + "a.COD_DOC_GERADO," + "a.TXT_OBSERVACAO " + "from TITULOS_PAGAR a " + "left outer join NATUREZAS_PAGAMENTO b " + "on b.COD_NATUREZA = a.COD_NATUREZA " + "left outer join FORMAS_PAGAMENTO c " + "on c.COD_FORMA = a.COD_FORMA " + where + " " + order, Globais.bd); reader = cmd.ExecuteReader(CommandBehavior.Default); PDF pdf = new PDF(arquivo); pdf.Abre(); Parte1(pdf, titulo); /* * pdf.CriaTabela(2, 0); * pdf.AdicionaCelula("imagens\\logo_rel.jpg", 1000, 1000); * pdf.AdicionaCelula(titulo, BaseFont.HELVETICA_BOLD, 16); * pdf.AdicionaTabela(); */ int colunas = (quebra == 'n') ? 11 : 13; pdf.CriaTabela(colunas, 0); DateTime dataquebra = DateTime.Parse("01/01/1970"); string naturezaquebra = ""; string DES_NATUREZA; string DES_FORMA; float TotalPrevisto = -1; float TotalPago = -1; float TotalGeralPrevisto = 0; float TotalGeralPago = 0; bool datanula = false; while (reader.Read()) { DAT_VENCIMENTO = !reader.IsDBNull(0) ? reader.GetDateTime(0) : DateTime.Now; DES_NATUREZA = !reader.IsDBNull(1) ? reader.GetString(1).Trim() : ""; COD_PARCEIRO = !reader.IsDBNull(2) ? reader.GetString(2).Trim() : ""; COD_FUNCIONARIO = !reader.IsDBNull(3) ? reader.GetString(3).Trim() : ""; COD_DOC_ORIGEM = !reader.IsDBNull(4) ? reader.GetString(4).Trim() : ""; IDT_TIPO = !reader.IsDBNull(5) ? reader.GetString(5).Trim() : "F"; DAT_EMISSAO = !reader.IsDBNull(6) ? reader.GetDateTime(6) : DateTime.Now; VLR_PREVISTO = !reader.IsDBNull(7) ? reader.GetFloat(7) : 0; VLR_PAGO = !reader.IsDBNull(8) ? reader.GetFloat(8) : 0; datanula = reader.IsDBNull(9); DAT_PAGAMENTO = !reader.IsDBNull(9) ? reader.GetDateTime(9) : DateTime.Now; DES_FORMA = !reader.IsDBNull(10) ? reader.GetString(10).Trim() : ""; COD_DOC_GERADO = !reader.IsDBNull(11) ? reader.GetString(11).Trim() : ""; TXT_OBSERVACAO = !reader.IsDBNull(12) ? reader.GetString(12).Trim() : ""; quebrou = false; if (quebra == 'v') { quebrou = dataquebra.Date != DAT_VENCIMENTO.Date; } if (quebra == 'p') { quebrou = dataquebra.Date != DAT_PAGAMENTO.Date; } if (quebra == 'n') { quebrou = naturezaquebra != DES_NATUREZA; } if (quebrou) { if ((TotalPrevisto != -1) || (TotalPago != -1)) { pdf.AdicionaCelulaLinha("Total", BaseFont.HELVETICA_BOLD, 6, 2); pdf.AdicionaCelulaLinha("", BaseFont.HELVETICA_BOLD, 6, colunas - 7); pdf.AdicionaCelulaLinha(TotalPrevisto.ToString("#,###,##0.00"), BaseFont.HELVETICA_BOLD, 6, Element.ALIGN_RIGHT, 1); pdf.AdicionaCelulaLinha(TotalPago.ToString("#,###,##0.00"), BaseFont.HELVETICA_BOLD, 6, Element.ALIGN_RIGHT, 1); pdf.AdicionaCelulaLinha("", BaseFont.HELVETICA_BOLD, 6, 3); TotalGeralPrevisto += TotalPrevisto; TotalGeralPago += TotalPago; } TotalPrevisto = 0; TotalPago = 0; if (quebra == 'v') { pdf.AdicionaCelula("Vencimento: " + DAT_VENCIMENTO.ToString("d/M/yyyy"), BaseFont.HELVETICA_BOLD, 6, Color.GRAY, colunas); dataquebra = DAT_VENCIMENTO; } if (quebra == 'p') { pdf.AdicionaCelula("Pagamento: " + DAT_PAGAMENTO.ToString("d/M/yyyy"), BaseFont.HELVETICA_BOLD, 6, Color.GRAY, colunas); dataquebra = DAT_PAGAMENTO; } if (quebra == 'n') { pdf.AdicionaCelula("Natureza: " + DES_NATUREZA, BaseFont.HELVETICA_BOLD, 6, Color.GRAY, colunas); naturezaquebra = DES_NATUREZA; } pdf.AdicionaCelula("Parceiro", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY, 3); pdf.AdicionaCelula("Doc Origem", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY); pdf.AdicionaCelula("Tipo", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY); pdf.AdicionaCelula("Emissão", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY); pdf.AdicionaCelula("Previsto", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY, Element.ALIGN_RIGHT, 1); pdf.AdicionaCelula("Pago", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY, Element.ALIGN_RIGHT, 1); if ((quebra == 'v') || (quebra == 'n')) { pdf.AdicionaCelula("Pagto", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY); } if (quebra == 'p') { pdf.AdicionaCelula("Vencto", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY); } pdf.AdicionaCelula("Forma", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY); pdf.AdicionaCelula("Doc Gerado", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY); if (colunas > 11) { pdf.AdicionaCelula("", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY, colunas - 11); } pdf.AdicionaCelula("", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY, 2); pdf.AdicionaCelula("Observação", BaseFont.HELVETICA_BOLD, 6, Color.LIGHT_GRAY, colunas - 2); } if (quebra != 'n') { pdf.AdicionaCelula(DES_NATUREZA, BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 2); } if (COD_PARCEIRO.Trim().Length > 0) { pdf.AdicionaCelula(COD_PARCEIRO, BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 3); } else { pdf.AdicionaCelula(COD_FUNCIONARIO, BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 3); } pdf.AdicionaCelula(COD_DOC_ORIGEM, BaseFont.HELVETICA, 6); switch (IDT_TIPO[0]) { case 'F': pdf.AdicionaCelula("Fixo", BaseFont.HELVETICA, 6); break; case 'V': pdf.AdicionaCelula("Variável", BaseFont.HELVETICA, 6); break; case 'S': pdf.AdicionaCelula("Semi-fixa", BaseFont.HELVETICA, 6); break; } pdf.AdicionaCelula(DAT_EMISSAO.ToString("d/M/yyyy"), BaseFont.HELVETICA, 6); pdf.AdicionaCelula(VLR_PREVISTO.ToString("#,###,##0.00"), BaseFont.HELVETICA, 6, Element.ALIGN_RIGHT, 1); pdf.AdicionaCelula(VLR_PAGO.ToString("#,###,##0.00"), BaseFont.HELVETICA, 6, Element.ALIGN_RIGHT, 1); if ((quebra == 'v') || (quebra == 'n')) { if (!datanula) { pdf.AdicionaCelula(DAT_PAGAMENTO.ToString("d/M/yyyy"), BaseFont.HELVETICA, 6); } else { pdf.AdicionaCelula("-", BaseFont.HELVETICA, 6); } } else { pdf.AdicionaCelula(DAT_VENCIMENTO.ToString("d/M/yyyy"), BaseFont.HELVETICA, 6); } pdf.AdicionaCelula(DES_FORMA, BaseFont.HELVETICA, 6); pdf.AdicionaCelula(COD_DOC_GERADO, BaseFont.HELVETICA, 6); pdf.AdicionaCelula("", BaseFont.HELVETICA, 6, Color.WHITE, 2); pdf.AdicionaCelula(TXT_OBSERVACAO, BaseFont.HELVETICA, 6, Color.WHITE, colunas - 2); TotalPrevisto += VLR_PREVISTO; TotalPago += VLR_PAGO; } if ((TotalPrevisto != 0) || (TotalPago != 0)) { pdf.AdicionaCelulaLinha("Total", BaseFont.HELVETICA_BOLD, 6, 2); pdf.AdicionaCelulaLinha("", BaseFont.HELVETICA_BOLD, 6, colunas - 7); pdf.AdicionaCelulaLinha(TotalPrevisto.ToString("#,###,##0.00"), BaseFont.HELVETICA_BOLD, 6, Element.ALIGN_RIGHT, 1); pdf.AdicionaCelulaLinha(TotalPago.ToString("#,###,##0.00"), BaseFont.HELVETICA_BOLD, 6, Element.ALIGN_RIGHT, 1); pdf.AdicionaCelulaLinha("", BaseFont.HELVETICA_BOLD, 6, 3); TotalGeralPrevisto += TotalPrevisto; TotalGeralPago += TotalPago; } pdf.AdicionaCelulaLinha("Total Geral", BaseFont.HELVETICA_BOLD, 6, 2); pdf.AdicionaCelulaLinha("", BaseFont.HELVETICA_BOLD, 6, colunas - 7); pdf.AdicionaCelulaLinha(TotalGeralPrevisto.ToString("#,###,##0.00"), BaseFont.HELVETICA_BOLD, 6, Element.ALIGN_RIGHT, 1); pdf.AdicionaCelulaLinha(TotalGeralPago.ToString("#,###,##0.00"), BaseFont.HELVETICA_BOLD, 6, Element.ALIGN_RIGHT, 1); pdf.AdicionaCelulaLinha("", BaseFont.HELVETICA_BOLD, 6, 3); reader.Close(); pdf.AdicionaTabela(); pdf.Fecha(); return(true); }
public bool Gera(DataGridView grid, string arquivo, bool idtI, DateTime dataI, bool idtF, DateTime dataF, string titulo) { /* * FbCommand cmd; * FbDataReader reader; * * cmd = new FbCommand("select " + * "a.NRO_NF," + * "a.SEQ_TITULO," + * "a.COD_CLIENTE," + * "b.DES_NATUREZA," + * "a.DAT_EMISSAO," + * "a.DAT_VENCIMENTO," + * "a.VLR_PREVISTO," + * "a.VLR_RECEBIDO," + * "a.DAT_RECEBIMENTO," + * "c.DES_FORMA," + * "a.TXT_OBSERVACAO " + * "from TITULOS_RECEBER a " + * "left outer join NATUREZAS_RECEBIMENTO b " + * "on b.COD_NATUREZA = a.COD_NATUREZA " + * "left outer join FORMAS_RECEBIMENTO c " + * "on c.COD_FORMA = a.COD_FORMA " + * where + " " + * "order by a.DAT_VENCIMENTO", * Globais.bd); * reader = cmd.ExecuteReader(CommandBehavior.Default); */ PDF pdf = new PDF(arquivo); pdf.Abre(); /* * pdf.CriaTabela(2, 0); * pdf.AdicionaCelula("imagens\\logo_rel.jpg", 1000, 1000); * pdf.AdicionaCelula(titulo, BaseFont.HELVETICA_BOLD, 16); * pdf.AdicionaTabela(); */ Parte1(pdf, titulo); pdf.CriaTabela(11, 0); pdf.AdicionaCelula("Responsável", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 2); pdf.AdicionaCelula("Previsão", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 2); pdf.AdicionaCelula("Realização", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 1); pdf.AdicionaCelula("Usuário", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 3); pdf.AdicionaCelula("Pri", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 1); pdf.AdicionaCelula("Natureza", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 2); pdf.AdicionaCelula("", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 2); pdf.AdicionaCelula("Parceiro", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 3); pdf.AdicionaCelula("Endereço", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 4); pdf.AdicionaCelula("Fone", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 2); pdf.AdicionaCelula("", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 2); pdf.AdicionaCelula("Contato", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 3); pdf.AdicionaCelula("Papel", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 4); pdf.AdicionaCelula("Fone", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 2); pdf.AdicionaCelula("", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 2); pdf.AdicionaCelula("Descrição", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 9); pdf.AdicionaCelulaLinha("", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 2); pdf.AdicionaCelulaLinha("Solução", BaseFont.HELVETICA_BOLD, 6, /*Color.LIGHT_GRAY,*/ Element.ALIGN_LEFT, 9); foreach (DataGridViewRow row in grid.Rows) { DateTime data = DateTime.Parse(row.Cells["Data"].Value.ToString()); if (idtI && (data.Date < dataI.Date)) { continue; } if (idtF && (data.Date > dataF.Date)) { continue; } data = DateTime.Parse(row.Cells["Data"].Value.ToString()); pdf.AdicionaCelula(row.Cells["Responsável"].Value.ToString().Trim(), BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 2); pdf.AdicionaCelula(data.ToString("d/M/yyyy HH:mm"), BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 2); if ((row.Cells["Data Solução"].Value != null) && (!row.Cells["Data Solução"].Value.ToString().Trim().Equals(""))) { data = DateTime.Parse(row.Cells["Data Solução"].Value.ToString()); pdf.AdicionaCelula(data.ToString("d/M/yyyy"), BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 1); } else { pdf.AdicionaCelula("", BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 1); } pdf.AdicionaCelula(row.Cells["Usuário"].Value.ToString().Trim(), BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 3); switch (row.Cells["Prioridade"].Value.ToString()[0]) { case '0': pdf.AdicionaCelula("Urgente", BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 1); break; case '1': pdf.AdicionaCelula("Importante", BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 1); break; case '2': pdf.AdicionaCelula("Normal", BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 1); break; } pdf.AdicionaCelula(row.Cells["Natureza"].Value.ToString().Trim(), BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 2); pdf.AdicionaCelula("", BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 2); if (row.Cells["Razão"].Value != null) { pdf.AdicionaCelula(row.Cells["Razão"].Value.ToString().Trim(), BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 3); } else { pdf.AdicionaCelula("", BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 2); } string endereco = ""; if ((row.Cells["RuaEntrega"].Value != null) && (!row.Cells["RuaEntrega"].Value.ToString().Trim().Equals(""))) { endereco = row.Cells["RuaEntrega"].Value.ToString().Trim() + " - " + row.Cells["NroEntrega"].Value.ToString().Trim() + " - " + row.Cells["ComplEntrega"].Value.ToString().Trim() + " - " + row.Cells["BairroEntrega"].Value.ToString().Trim(); } else { endereco = row.Cells["Rua"].Value.ToString().Trim() + " - " + row.Cells["Nro"].Value.ToString().Trim() + " - " + row.Cells["Compl"].Value.ToString().Trim() + " - " + row.Cells["Bairro"].Value.ToString().Trim(); } pdf.AdicionaCelula(endereco, BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 4); string fones = FONES.Concatena(row.Cells["Fone"].Value, row.Cells["Celular"].Value); pdf.AdicionaCelula(fones, BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 2); pdf.AdicionaCelula("", BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 2); if (row.Cells["NomeContato"].Value != null) { pdf.AdicionaCelula(row.Cells["NomeContato"].Value.ToString().Trim(), BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 3); pdf.AdicionaCelula(row.Cells["Papel"].Value.ToString().Trim(), BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 4); fones = FONES.Concatena(row.Cells["FoneContato"].Value, row.Cells["CelularContato"].Value); pdf.AdicionaCelula(fones, BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 2); } else { pdf.AdicionaCelula("", BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 9); } pdf.AdicionaCelula("", BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 2); pdf.AdicionaCelula(row.Cells["Pendência"].Value.ToString().Trim(), BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 9); pdf.AdicionaCelula("", BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 2); if (row.Cells["Solução"].Value != null) { pdf.AdicionaCelula(row.Cells["Solução"].Value.ToString().Trim(), BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 9); } else { pdf.AdicionaCelula("", BaseFont.HELVETICA, 6, Element.ALIGN_LEFT, 9); } pdf.AdicionaTabela(); pdf.CriaTabela(128, 0); for (int i = 0; i < 128; i++) { Cell cell = new Cell(new Paragraph("")); cell.BorderWidthBottom = i % 2; pdf.tabela.AddCell(cell); } pdf.AdicionaTabela(); pdf.CriaTabela(11, 0); } pdf.AdicionaTabela(); pdf.Fecha(); return(true); }