public string listaRelatorio() { List <RECEBIMENTOS_ASSOCIADOS_A_VENDA> lista = Recebimentos_com_venda_associada(); string retorno = ""; using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Landscape)) { r.DefineCabecalho("Ordem de recebimento e conferência de produtos", 60); StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 95%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>Nº Pedido Compra</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>Código Produto</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Fornecedor</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>Entrega para o cliente</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>Margem média</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>Frequência de compra</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Inadimplência</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>Ordem</td> </tr>"); foreach (var item in lista) { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0; text-align: center;'>{0}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{4}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{5}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{6}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{7}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; width: 60px;'>{8}</td> </tr>", item.NUMERO_PEDIDO_COMPRA.ToString(), item.CODIGO_PRODUTO, item.FORNECEDOR, item.CLIENTE, ApoioXML.TrataData2(item.DATA_ENTREGA), item.MARGEM_MEDIA.Value.ToString("p"), Convert.ToInt32(item.FREQUENCIA_DE_COMPRA).ToString(), item.CLIENTE_INADIMPLENTE.Value.ToString("c"), " ")); } _conteudo.Append("</table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Doran_Lista_Ordem_Recebimento"); } return(retorno); }
public string MontaRelatorioFaturamentoDiario() { string retorno = ""; string Emitente = BuscaNomeFilial(); using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; DateTime data2 = dt2.AddSeconds(-1); r.DefineCabecalho(string.Format("Faturamento Diário<br /><span style='font-family: Tahoma; font-size: 8pt;'>Período de {0} até {1}<br />Empresa / Filial: " + Emitente + "</span>", ApoioXML.TrataData2(dt1), ApoioXML.TrataData2(data2)), 60); var query = from linha in ctx.TB_NOTA_SAIDAs orderby linha.DATA_EMISSAO_NF where (linha.DATA_EMISSAO_NF >= dt1 && linha.DATA_EMISSAO_NF < dt2) && (linha.STATUS_NF == 2 || linha.STATUS_NF == 4) && (linha.TB_CLIENTE.NOME_CLIENTE.Contains(cliente_fornecedor) || linha.TB_CLIENTE.NOMEFANTASIA_CLIENTE.Contains(cliente_fornecedor)) && linha.CODIGO_EMITENTE_NF == Filial select new { linha.NUMERO_NF, linha.DATA_EMISSAO_NF, linha.TB_CLIENTE.NOMEFANTASIA_CLIENTE, linha.TOTAL_NF, linha.TOTAL_SERVICOS_NF }; var query1 = query.OrderBy(n => n.NUMERO_NF); StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 70%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid;'>Nr. NF</td> <td style='BORDER-BOTTOM: 1px solid;'>Emissão</td> <td style='BORDER-BOTTOM: 1px solid;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>Total Produtos</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>ICMS</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>ICMS ST</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>IPI</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>Total NF</td> </tr>"); decimal Produtos = 0; decimal ICMS = 0; decimal ICMSSubs = 0; decimal IPI = 0; decimal Total = 0; foreach (var item in query1) { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='text-align: right; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='text-align: right; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='text-align: right; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{5}</td> <td style='text-align: right; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{6}</td> <td style='text-align: right; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{7}</td> </tr>", item.NUMERO_NF.ToString(), ApoioXML.Data((DateTime)item.DATA_EMISSAO_NF), item.NOMEFANTASIA_CLIENTE.Trim(), ApoioXML.Valor2((decimal)item.TOTAL_SERVICOS_NF), ApoioXML.Valor2((decimal)item.TOTAL_NF))); Produtos += (decimal)item.TOTAL_SERVICOS_NF; Total += (decimal)item.TOTAL_NF; } _conteudo.Append(string.Format(@"<tr> <td style='BORDER-TOP: 1px solid; text-align: right;'></td> <td style='BORDER-TOP: 1px solid; text-align: right;'></td> <td style='BORDER-TOP: 1px solid; text-align: right;'>Totais.:</td> <td style='BORDER-TOP: 1px solid; text-align: right;'>{0}</td> <td style='BORDER-TOP: 1px solid; text-align: right;'>{1}</td> <td style='BORDER-TOP: 1px solid; text-align: right;'>{2}</td> <td style='BORDER-TOP: 1px solid; text-align: right;'>{3}</td> <td style='BORDER-TOP: 1px solid; text-align: right;'>{4}</td> </tr></table>", ApoioXML.Valor2(Produtos), ApoioXML.Valor2(ICMS), ApoioXML.Valor2(ICMSSubs), ApoioXML.Valor2(IPI), ApoioXML.Valor2(Total))); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Doran_FaturamentoDiario"); return(retorno); } }
public string MontaRelatorioAReceber() { string retorno = ""; using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; r.DefineCabecalho("Relatório de Títulos a Receber Vencidos", 60); DateTime dataLimite = Doran_TitulosVencidos.DataLimiteParaVencimento(); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); var query = from linha in ctx.TB_FINANCEIROs where linha.DATA_PAGAMENTO == new DateTime(1901, 01, 01) && linha.DATA_VENCIMENTO < dataLimite && linha.CREDITO_DEBITO == 0 // && linha.CODIGO_CLIENTE > 0 && linha.HISTORICO.Contains(cliente_fornecedor) && linha.CODIGO_EMITENTE == ID_EMPRESA select new { linha.NUMERO_FINANCEIRO, linha.NUMERO_SEQ_NF_SAIDA, linha.NUMERO_NF_SAIDA, linha.NUMERO_SEQ_NF_ENTRADA, linha.HISTORICO, linha.DATA_LANCAMENTO, linha.DATA_VENCIMENTO, CLIENTE = linha.TB_NOTA_SAIDA == null ? "" : linha.TB_NOTA_SAIDA.TB_CLIENTE.NOMEFANTASIA_CLIENTE, VENDEDOR = linha.TB_NOTA_SAIDA == null ? "" : linha.TB_NOTA_SAIDA.NOME_VENDEDOR_NF, CODIGO_VENDEDOR = linha.TB_NOTA_SAIDA == null ? 0 : linha.TB_NOTA_SAIDA.CODIGO_VENDEDOR_NF, VALOR_TOTAL = (linha.VALOR + linha.VALOR_ACRESCIMO + linha.VALOR_MULTA) - linha.VALOR_DESCONTO, linha.VALOR_APROXIMADO }; if (VENDEDOR > 0) { query = query.Where(_ => _.CODIGO_VENDEDOR == VENDEDOR); } string _conteudo = "<table style='width: 70%; font-family: tahoma; font-size: 8pt;'>"; _conteudo += @"<tr> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>NF / Duplicata</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Lançamento</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Vencimento</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Vendedor</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Valor</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Valor Aproximado?</td> </tr>"; decimal Total = 0; foreach (var item in query) { DateTime _vencimento = Convert.ToDateTime(item.DATA_VENCIMENTO); while (Feriado_FimDeSemana(_vencimento)) { _vencimento = _vencimento.AddDays(1); } DateTime _limite = DateTime.Now; if (_limite.DayOfWeek == DayOfWeek.Saturday) { _limite = _limite.AddDays(-2); } if (_limite.DayOfWeek == DayOfWeek.Sunday) { _limite = _limite.AddDays(-3); } decimal valor = (decimal)item.VALOR_TOTAL - Doran_TitulosVencidos.PagoParcialmente(item.NUMERO_FINANCEIRO); if (_vencimento < _limite) { _conteudo += string.Format(@"<tr> <td style='BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0; text-align: right;'>{5}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{6}</td> </tr>", item.NUMERO_NF_SAIDA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, item.NUMERO_SEQ_NF_ENTRADA, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_LANCAMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), string.IsNullOrEmpty(item.CLIENTE) ? item.HISTORICO : item.CLIENTE.Trim(), string.IsNullOrEmpty(item.VENDEDOR) ? "" : item.VENDEDOR.Trim(), ((decimal)valor).ToString("c"), item.VALOR_APROXIMADO == 1 ? "S" : ""); Total += valor; } } _conteudo += string.Format(@"<tr> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'> </td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'> </td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'> </td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'> </td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'> </td> </tr></table>", "Total..:", ((decimal)Total).ToString("c")); r.InsereConteudo(_conteudo); retorno = r.SalvaDocumento("Doran_Titulos_Receber_Vencidos"); } return(retorno); } }
public string MontaRelatorioEmissao() { string retorno = ""; using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; DateTime df = DataFinal.AddSeconds(-1); string nome_banco = ""; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { if (Banco > 0) { nome_banco = (from linha in ctx.TB_BANCOs where linha.NUMERO_BANCO == Banco select linha.NOME_BANCO.Trim()).ToList().First().Trim(); } } string cabecalho = string.Format("Relatório Títulos a Receber por Emissão<br /><span style='font-family: Tahoma; font-size: 8pt;'>Período de {0} até {1}<br />{2}</span>", ApoioXML.TrataData2(DataInicial), ApoioXML.TrataData2(df), Banco > 0 ? "Banco: " + nome_banco : ""); r.DefineCabecalho(cabecalho, 60); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); DateTime _dt = DataInicial; StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 70%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>NF / Duplicata</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Emissão</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Vencimento</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Pagamento</td> <td style='BORDER-BOTTOM: 1px solid; width: 280px; border-color:#C0C0C0;'>Histórico</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Valor do Título</td> </tr>"); var query = from linha in ctx.TB_FINANCEIROs orderby linha.DATA_LANCAMENTO where (linha.DATA_LANCAMENTO >= DataInicial && linha.DATA_LANCAMENTO < DataFinal) && linha.CODIGO_EMITENTE == ID_EMPRESA && linha.CREDITO_DEBITO == 0 && (linha.NUMERO_BANCO == Banco || Banco == 0) select new { linha.NUMERO_FINANCEIRO, linha.NUMERO_SEQ_NF_SAIDA, linha.NUMERO_NF_SAIDA, linha.DATA_LANCAMENTO, linha.DATA_VENCIMENTO, linha.DATA_PAGAMENTO, linha.HISTORICO, linha.VALOR_TOTAL }; decimal TOTAL_PERIODO = 0; foreach (var item in query) { string pagamento = ApoioXML.Data((DateTime)item.DATA_PAGAMENTO) == "01/01/1901" ? "" : ApoioXML.Data((DateTime)item.DATA_PAGAMENTO); _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{5}</td> </tr>", item.NUMERO_NF_SAIDA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, 0, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_LANCAMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), pagamento, item.HISTORICO.Trim(), ApoioXML.Valor2((decimal)item.VALOR_TOTAL))); TOTAL_PERIODO += (decimal)item.VALOR_TOTAL; } _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='font-size: 7pt; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>Total:</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> </tr>", ApoioXML.Valor2(TOTAL_PERIODO))); _conteudo.Append("</table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Doran_Titulos_Receber_Emissao"); } return(retorno); } }
public string MontaRelatorio() { string retorno = ""; string Emitente = BuscaNomeFilial(); using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Landscape)) { r.ID_EMPRESA = ID_EMPRESA; DateTime data2 = dt2.AddSeconds(-1); r.DefineCabecalho(string.Format("Relatório de entregas do cliente<br /><span style='font-family: Tahoma; font-size: 8pt;'>Período de {0} até {1}<br />Empresa / Filial: " + Emitente + "</span>", ApoioXML.TrataData2(dt1), ApoioXML.TrataData2(data2)), 60); if (!(from linha in ctx.TB_STATUS_PEDIDOs where linha.STATUS_ESPECIFICO == 3 select linha).Any()) { throw new Exception("A fase de serviço faturado não está cadastrada"); } var query = from linha in ctx.TB_PEDIDO_VENDAs where (linha.DATA_PEDIDO >= dt1 && linha.DATA_PEDIDO < dt2) && linha.STATUS_ITEM_PEDIDO == (from linha1 in ctx.TB_STATUS_PEDIDOs where linha1.STATUS_ESPECIFICO == 3 select linha1.CODIGO_STATUS_PEDIDO).First() && linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_CLIENTE.NOMEFANTASIA_CLIENTE.Contains(cliente_fornecedor) select new { linha.NUMERO_PEDIDO, linha.ENTREGA_PEDIDO, linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_CLIENTE.NOMEFANTASIA_CLIENTE, ENDERECO_BUSCA = string.Concat(linha.TB_ITEM_ORCAMENTO_VENDA.ENDERECO_INICIAL_ITEM_ORCAMENTO.Trim(), " ", linha.TB_ITEM_ORCAMENTO_VENDA.NUMERO_INICIAL_ITEM_ORCAMENTO.Trim(), " - CEP: ", linha.TB_ITEM_ORCAMENTO_VENDA.CEP_INICIAL_ITEM_ORCAMENTO.Trim(), " ", linha.TB_ITEM_ORCAMENTO_VENDA.CIDADE_INICIAL_ITEM_ORCAMENTO.Trim(), " - ", linha.TB_ITEM_ORCAMENTO_VENDA.ESTADO_INICIAL_ITEM_ORCAMENTO), ENDERECO_ENTREGA = string.Concat(linha.TB_ITEM_ORCAMENTO_VENDA.ENDERECO_FINAL_ITEM_ORCAMENTO.Trim(), " ", linha.TB_ITEM_ORCAMENTO_VENDA.NUMERO_FINAL_ITEM_ORCAMENTO.Trim(), " - CEP: ", linha.TB_ITEM_ORCAMENTO_VENDA.CEP_FINAL_ITEM_ORCAMENTO.Trim(), " ", linha.TB_ITEM_ORCAMENTO_VENDA.CIDADE_FINAL_ITEM_ORCAMENTO.Trim(), " - ", linha.TB_ITEM_ORCAMENTO_VENDA.ESTADO_FINAL_ITEM_ORCAMENTO), VALOR_SERVICO = linha.VALOR_TOTAL_ITEM_PEDIDO, OBS = linha.TB_ITEM_ORCAMENTO_VENDA.OBS_ITEM_ORCAMENTO }; StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 98%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid;'>Nr. OS</td> <td style='BORDER-BOTTOM: 1px solid;'>Entrega</td> <td style='BORDER-BOTTOM: 1px solid;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid;'>Busca</td> <td style='BORDER-BOTTOM: 1px solid;'>Entrega</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>Valor serviço</td> </tr>"); decimal Total = 0; foreach (var item in query) { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid;'>{2}</td> <td style='BORDER-BOTTOM: 1px solid;'>{3}</td> <td style='BORDER-BOTTOM: 1px solid;'>{4}</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>{5}</td> </tr>", item.NUMERO_PEDIDO.ToString(), ApoioXML.Data((DateTime)item.ENTREGA_PEDIDO), item.NOMEFANTASIA_CLIENTE.Trim(), item.ENDERECO_BUSCA, item.ENDERECO_ENTREGA, ((decimal)item.VALOR_SERVICO).ToString("c"))); _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid;' colspan='5'>{0}</td> </tr>", item.OBS)); Total += (decimal)item.VALOR_SERVICO; } _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>{0}</td> </tr>", ((decimal)Total).ToString("c"))); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Doran_Entregas_do_cliente"); return(retorno); } }
public string MontaRelatorioRemessa() { string retorno = ""; using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; string nome_banco = ""; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); if (NUMERO_BANCO > 0) { nome_banco = (from linha in ctx.TB_BANCOs where linha.NUMERO_BANCO == NUMERO_BANCO select linha.NOME_BANCO.Trim()).ToList().First().Trim(); } string cabecalho = string.Format("Relatório Remessa Bancária por Emissão<br /><span style='font-family: Tahoma; font-size: 8pt;'>Período de {0} até {1}<br />{2}</span>", ApoioXML.TrataData2(DATA_INICIAL), ApoioXML.TrataData2(DATA_FINAL.AddDays(-1)), NUMERO_BANCO > 0 ? "Banco: " + nome_banco : ""); r.DefineCabecalho(cabecalho, 60); DateTime _dt = DATA_INICIAL; StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 70%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>NF / Duplicata</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Emissão</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Vencimento</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Valor do Título</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Instrução de Remessa</td> </tr>"); var query = from linha in ctx.TB_HISTORICO_CNABs where linha.NUMERO_BANCO == NUMERO_BANCO && (linha.DATA_HISTORICO >= DATA_INICIAL && linha.DATA_HISTORICO < DATA_FINAL) && linha.REMESSA_RETORNO == 0 && linha.TB_FINANCEIRO.CODIGO_CLIENTE > 0 && linha.TB_FINANCEIRO.CODIGO_EMITENTE == ID_EMPRESA && linha.TB_FINANCEIRO.CREDITO_DEBITO == 0 select new { linha.NUMERO_FINANCEIRO, linha.TB_FINANCEIRO.NUMERO_SEQ_NF_SAIDA, linha.TB_FINANCEIRO.NUMERO_NF_SAIDA, linha.TB_FINANCEIRO.DATA_LANCAMENTO, linha.TB_FINANCEIRO.DATA_VENCIMENTO, linha.TB_FINANCEIRO.TB_CLIENTE.NOMEFANTASIA_CLIENTE, linha.TB_FINANCEIRO.VALOR_TOTAL, linha.TB_FINANCEIRO.TB_OCORRENCIA_BANCARIA_REMESSA.DESCRICAO_OCORRENCIA }; decimal TOTAL_PERIODO = 0; foreach (var item in query) { string duplicata = ""; if (NUMERO_BANCO == 237) { duplicata = Doran_Base.CNAB.FaTh2_Remessa_Bradesco.Duplicata(ctx, item.NUMERO_NF_SAIDA, item.DATA_VENCIMENTO); } if (NUMERO_BANCO == 1) { duplicata = Doran_Base.CNAB.FaTh2_Remessa_Brasil.Duplicata(ctx, item.NUMERO_NF_SAIDA, item.DATA_VENCIMENTO); } _conteudo.Append(string.Format(@"<tr> <td style='text-align: center; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='text-align: center; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='text-align: center; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{5}</td> </tr>", duplicata, ApoioXML.Data((DateTime)item.DATA_LANCAMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), item.NOMEFANTASIA_CLIENTE.Trim(), ((decimal)item.VALOR_TOTAL).ToString("c"), item.DESCRICAO_OCORRENCIA.Trim())); TOTAL_PERIODO += (decimal)item.VALOR_TOTAL; } _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>Total</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> </tr>", ((decimal)TOTAL_PERIODO).ToString("c"))); _conteudo.Append("</table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Doran_Remessa_Bancaria"); } return(retorno); } }
public string Lista_Relatorio(decimal ID_EMPRESA) { string retorno = ""; using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; r.DefineCabecalho("Itens de compra com entrega atrasada", 60); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var query = (from linha in ctx.TB_PEDIDO_COMPRAs orderby linha.PREVISAO_ENTREGA_ITEM_COMPRA descending where linha.PREVISAO_ENTREGA_ITEM_COMPRA < dataLimite && (linha.TB_STATUS_PEDIDO_COMPRA.STATUS_ESPECIFICO_ITEM_COMPRA == 2 || linha.TB_STATUS_PEDIDO_COMPRA.STATUS_ESPECIFICO_ITEM_COMPRA == 3 || linha.TB_STATUS_PEDIDO_COMPRA.STATUS_ESPECIFICO_ITEM_COMPRA == 6) && (linha.TB_FORNECEDOR.NOME_FANTASIA_FORNECEDOR.Contains(FORNECEDOR) || linha.TB_FORNECEDOR.NOME_FORNECEDOR.Contains(FORNECEDOR)) select new { linha.NUMERO_PEDIDO_COMPRA, linha.DATA_ITEM_COMPRA, linha.PREVISAO_ENTREGA_ITEM_COMPRA, linha.TB_FORNECEDOR.NOME_FANTASIA_FORNECEDOR, linha.CODIGO_PRODUTO_COMPRA, linha.QTDE_ITEM_COMPRA, linha.UNIDADE_ITEM_COMPRA, QTDE_RECEBIDA = (from linha1 in ctx.TB_RECEBIMENTO_PEDIDO_COMPRAs orderby linha1.NUMERO_PEDIDO_COMPRA, linha1.NUMERO_ITEM_COMPRA where linha1.NUMERO_PEDIDO_COMPRA == linha.NUMERO_PEDIDO_COMPRA && linha1.NUMERO_ITEM_COMPRA == linha.NUMERO_ITEM_COMPRA select linha1.QTDE_RECEBIDA).Any() ? (from linha1 in ctx.TB_RECEBIMENTO_PEDIDO_COMPRAs orderby linha1.NUMERO_PEDIDO_COMPRA, linha1.NUMERO_ITEM_COMPRA where linha1.NUMERO_PEDIDO_COMPRA == linha.NUMERO_PEDIDO_COMPRA && linha1.NUMERO_ITEM_COMPRA == linha.NUMERO_ITEM_COMPRA select linha1.QTDE_RECEBIDA).Sum() : 0 }).ToList(); string _conteudo = "<table style='width: 70%; font-family: tahoma; font-size: 8pt;'>"; _conteudo += @"<tr> <td style='BORDER-BOTTOM: 1px solid;'>Nº do Pedido</td> <td style='BORDER-BOTTOM: 1px solid;'>Fornecedor</td> <td style='BORDER-BOTTOM: 1px solid;'>Produto</td> <td style='BORDER-BOTTOM: 1px solid;'>Un.</td> <td style='BORDER-BOTTOM: 1px solid;'>Qtde. pedida</td> <td style='BORDER-BOTTOM: 1px solid;'>Qtde. faltante</td> <td style='BORDER-BOTTOM: 1px solid;'>Entrega</td> <td style='BORDER-BOTTOM: 1px solid;'>Dias de atraso</td> </tr>"; foreach (var item in query) { TimeSpan ts = DateTime.Today.Subtract(item.PREVISAO_ENTREGA_ITEM_COMPRA.Value); int dias = ts.Days; _conteudo += string.Format(@"<tr> <td style='BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0; text-align: center;'>{0}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{4}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{5}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{6}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{7}</td> </tr>", item.NUMERO_PEDIDO_COMPRA.ToString(), item.NOME_FANTASIA_FORNECEDOR.Trim(), item.CODIGO_PRODUTO_COMPRA.Trim(), item.UNIDADE_ITEM_COMPRA, ((decimal)item.QTDE_ITEM_COMPRA).ToString("n"), ((decimal)(item.QTDE_ITEM_COMPRA - item.QTDE_RECEBIDA)).ToString("n"), ApoioXML.TrataData2(item.PREVISAO_ENTREGA_ITEM_COMPRA), ts.Days.ToString()); } _conteudo += "</table>"; r.InsereConteudo(_conteudo); retorno = r.SalvaDocumento("Doran_Itens_Compra_Nao_Entregues"); } return(retorno); } }
public string Lista_Relatorio(decimal ID_EMPRESA) { string retorno = ""; using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; r.DefineCabecalho("Itens com faturamento atrasado", 60); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { Array arr1 = new decimal[2] { 3, 4 }; List <decimal?> status = new List <decimal?>(); for (int i = 0; i < arr1.Length; i++) { status.Add((decimal)arr1.GetValue(i)); } var query = (from linha in ctx.TB_PEDIDO_VENDAs where linha.ENTREGA_PEDIDO < DateTime.Today && status.Contains(linha.TB_STATUS_PEDIDO.STATUS_ESPECIFICO) select new { linha.TB_STATUS_PEDIDO.DESCRICAO_STATUS_PEDIDO, linha.NUMERO_PEDIDO, linha.DATA_PEDIDO, linha.ENTREGA_PEDIDO, linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_CLIENTE.NOMEFANTASIA_CLIENTE, linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_VENDEDORE.NOME_VENDEDOR, linha.CODIGO_PRODUTO_PEDIDO, linha.QTDE_PRODUTO_ITEM_PEDIDO, linha.QTDE_A_FATURAR, linha.UNIDADE_ITEM_PEDIDO, }).ToList(); StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 76%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid;'>Posição do Pedido</td> <td style='BORDER-BOTTOM: 1px solid; text-align: center;'>Nº Pedido</td> <td style='BORDER-BOTTOM: 1px solid;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid;'>Vendedor(a)</td> <td style='BORDER-BOTTOM: 1px solid;'>Produto</td> <td style='BORDER-BOTTOM: 1px solid; text-align: center;'>Qtde. pedida</td> <td style='BORDER-BOTTOM: 1px solid; text-align: center;'>Qtde. faltante</td> <td style='BORDER-BOTTOM: 1px solid;'>Un.</td> <td style='BORDER-BOTTOM: 1px solid;'>Entrega</td> <td style='BORDER-BOTTOM: 1px solid; text-align: center;'>Dias de atraso</td> </tr>"); foreach (var item in query) { TimeSpan ts = DateTime.Today.Subtract(item.ENTREGA_PEDIDO.Value); int dias = ts.Days; _conteudo.Append(string.Format(@"<tr> <td style='BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{1}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{5}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{6}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{7}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{8}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{9}</td> </tr>", item.DESCRICAO_STATUS_PEDIDO.Trim(), item.NUMERO_PEDIDO.ToString(), item.NOMEFANTASIA_CLIENTE.Trim(), item.NOME_VENDEDOR.Trim(), item.CODIGO_PRODUTO_PEDIDO.Trim(), ((decimal)item.QTDE_PRODUTO_ITEM_PEDIDO).ToString("n"), ((decimal)(item.QTDE_PRODUTO_ITEM_PEDIDO - item.QTDE_A_FATURAR)).ToString("n"), item.UNIDADE_ITEM_PEDIDO.Trim(), ApoioXML.TrataData2(item.ENTREGA_PEDIDO), ts.Days.ToString())); } _conteudo.Append("<table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Doran_Faturamento_Atrasado"); } return(retorno); } }
public string Lista_Cotacao(decimal ID_EMPRESA, string NOME_FANTASIA_EMITENTE) { string retorno = ""; string FORNECEDOR = ""; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var _FORNECEDOR = (from linha in ctx.TB_FORNECEDORs where linha.CODIGO_FORNECEDOR == CODIGO_FORNECEDOR select linha.NOME_FANTASIA_FORNECEDOR).ToList(); foreach (var item in _FORNECEDOR) { FORNECEDOR = item.Trim(); } } using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; r.DefineCabecalho(NOME_FANTASIA_EMITENTE.Trim() + " - COTAÇÃO Nº " + NUMERO_PEDIDO_COMPRA.ToString() + "<br />" + FORNECEDOR, 60); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var query = (from linha in ctx.TB_PEDIDO_COMPRAs orderby linha.NUMERO_PEDIDO_COMPRA where linha.NUMERO_PEDIDO_COMPRA == NUMERO_PEDIDO_COMPRA && linha.CODIGO_FORNECEDOR == CODIGO_FORNECEDOR && linha.COTACAO_RESPONDIDA == 0 select linha).ToList(); string _conteudo = "<table style='width: 70%; font-family: tahoma; font-size: 8pt;'>"; _conteudo += @"<tr> <td style='BORDER-BOTTOM: 1px solid;'>Produto</td> <td style='BORDER-BOTTOM: 1px solid;'>Descrição</td> <td style='BORDER-BOTTOM: 1px solid;'>Un.</td> <td style='BORDER-BOTTOM: 1px solid;'>Qtde.</td> <td style='BORDER-BOTTOM: 1px solid;'>Entrega</td> <td style='BORDER-BOTTOM: 1px solid;'>Preço</td> </tr>"; foreach (var item in query) { _conteudo += string.Format(@"<tr> <td style='BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'></td> </tr>", item.CODIGO_PRODUTO_COMPRA.ToString(), item.TB_PRODUTO.DESCRICAO_PRODUTO.Trim(), item.UNIDADE_ITEM_COMPRA, ApoioXML.ValorN((decimal)item.QTDE_ITEM_COMPRA, 2), string.Concat(item.PREVISAO_ENTREGA_ITEM_COMPRA.Value.Day.ToString().PadLeft(2, '0'), "/", item.PREVISAO_ENTREGA_ITEM_COMPRA.Value.Month.ToString().PadLeft(2, '0'), "/", item.PREVISAO_ENTREGA_ITEM_COMPRA.Value.Year.ToString())); } r.InsereConteudo(_conteudo); retorno = r.SalvaDocumento("Doran_Lista_Cotacao"); } return(retorno); } }
public string MontaDuplicatas() { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { using (Th2_Report re = new Th2_Report()) { re.NumeroDasPaginas = false; re.ExibeCabecalho = false; re.ExibeRodape = false; int i = 0; for (int n = 0; n < NUMERO_SEQ.Count; n++) { var query = (from linha in ctx.TB_FINANCEIROs orderby linha.NUMERO_SEQ_NF_SAIDA where linha.NUMERO_SEQ_NF_SAIDA == NUMERO_SEQ[n] select linha).ToList(); int d = 0; foreach (var item in query) { if (i > 0 && (i % 2) == 0) { re.AdicionaNovaPagina(); } NUMERO_NF = (decimal)item.NUMERO_NF_SAIDA; NumeroPorExtenso ext = new NumeroPorExtenso((decimal)item.VALOR_TOTAL); string VALOR_EXTENSO = ext.ToString().ToUpper(); string ENDERECO_COBRANCA = string.Empty; if (item.TB_CLIENTE != null) { ENDERECO_COBRANCA = item.TB_CLIENTE.ENDERECO_COBRANCA.ToString().Trim().Length > 0 ? string.Concat(item.TB_CLIENTE.ENDERECO_COBRANCA.ToString().Trim(), " - CEP:" + item.TB_CLIENTE.CEP_COBRANCA.ToString().Trim(), " - ", item.TB_CLIENTE.BAIRRO_COBRANCA.ToString().Trim(), " - ", item.TB_CLIENTE.TB_MUNICIPIO2.NOME_MUNICIPIO.ToString().Trim(), " - ", item.TB_CLIENTE.TB_MUNICIPIO2.TB_UF.SIGLA_UF) : string.Concat(item.TB_NOTA_SAIDA.ENDERECO_FATURA_NF.ToString().Trim(), ", ", item.TB_NOTA_SAIDA.NUMERO_END_FATURA_NF.ToString().Trim(), " ", item.TB_NOTA_SAIDA.COMP_END_FATURA_NF.ToString().Trim(), " - CEP:" + item.TB_NOTA_SAIDA.CEP_FATURA_NF.ToString().Trim(), " - ", item.TB_NOTA_SAIDA.BAIRRO_FATURA_NF.ToString().Trim(), " - ", item.TB_NOTA_SAIDA.MUNICIPIO_NF.ToString().Trim(), " - ", item.TB_NOTA_SAIDA.UF_NF); } else { ENDERECO_COBRANCA = string.Concat(item.TB_NOTA_SAIDA.ENDERECO_FATURA_NF.ToString().Trim(), ", ", item.TB_NOTA_SAIDA.NUMERO_END_FATURA_NF.ToString().Trim(), " ", item.TB_NOTA_SAIDA.COMP_END_FATURA_NF.ToString().Trim(), " - CEP:" + item.TB_NOTA_SAIDA.CEP_FATURA_NF.ToString().Trim(), " - ", item.TB_NOTA_SAIDA.BAIRRO_FATURA_NF.ToString().Trim(), " - ", item.TB_NOTA_SAIDA.MUNICIPIO_NF.ToString().Trim(), " - ", item.TB_NOTA_SAIDA.UF_NF); } conteudo.Remove(0, conteudo.Length); string _conteudo = ""; string l = Busca_Letra_Duplicata(ctx, item.NUMERO_NF_SAIDA, item.DATA_VENCIMENTO); if ((i % 2) == 0) { _conteudo = @"<br /><br /><br /><table style=""width: 770px; font-family: Courier New;""> <tr> <td> <b>Natureza da Operação</b><br /> " + "Prestação de Serviços" + @" <br /> </td> <td> <b>CFOP</b><br /> " + @" </td> </tr> </table> <table style=""width: 770px; font-family: Courier New;""> <tr> <td colspan=""2""><b>Cliente</b><br />" + item.TB_NOTA_SAIDA.NOME_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>CNPJ</b><br />" + item.TB_NOTA_SAIDA.CNPJ_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>Emissão</b><br />" + ApoioXML.TrataData2(item.DATA_LANCAMENTO) + @"<br /> </td> </tr> <tr> <td colspan=""2""><b>Endereço de Faturamento</b><br />" + string.Concat(item.TB_NOTA_SAIDA.ENDERECO_FATURA_NF.Trim(), ", ", item.TB_NOTA_SAIDA.NUMERO_END_FATURA_NF.Trim(), " ", item.TB_NOTA_SAIDA.COMP_END_FATURA_NF.Trim()) + @"<br /> </td> <td><b>Bairro</b><br />" + item.TB_NOTA_SAIDA.BAIRRO_FATURA_NF.Trim() + @"<br /> </td> <td><b>CEP</b><br />" + item.TB_NOTA_SAIDA.CEP_FATURA_NF.Trim() + @"<br /> </td> </tr> <tr> <td><b>Cidade</b><br />" + item.TB_NOTA_SAIDA.MUNICIPIO_NF.Trim() + @"<br /> </td> <td><b>Telefone</b><br />" + item.TB_NOTA_SAIDA.TELEFONE_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>Estado</b><br />" + item.TB_NOTA_SAIDA.UF_NF.Trim() + @"<br /> </td> <td><b>I.E.</b><br />" + item.TB_NOTA_SAIDA.IE_CLIENTE_NF.Trim() + @"<br /> </td> </tr> <tr> <td><b>Nº NF</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + @"<br /> </td> <td><b>Valor Duplicata</b><br />" + item.VALOR_TOTAL.ToString().Valor_Moeda(2) + @"<br /> </td> <td><b>Duplicata</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + "/" + l + @"<br /> </td> <td><b>Vencimento</b><br />" + ApoioXML.TrataData2(item.DATA_VENCIMENTO) + @"<br /> </td> </tr> <tr> <td colspan=""4""><b>Valor por Extenso</b><br />" + VALOR_EXTENSO + " *****" + @"<br /> </td> </tr> <tr> <td colspan=""4""><b>Endereço de Cobrança</b><br />" + ENDERECO_COBRANCA + @"<br /><br /><br /> </td> </tr> </table> <br /><br /><hr />"; } else { _conteudo = @"<br /><br /><br /><table style=""width: 770px; font-family: Courier New;""> <tr> <td> <b>Natureza da Operação</b><br /> " + "Prestação de Serviços" + @" <br /> </td> <td> <b>CFOP</b><br /> " + @" </td> </tr> </table> <table style=""width: 770px; font-family: Courier New;""> <tr> <td colspan=""2""><b>Cliente</b><br />" + item.TB_NOTA_SAIDA.NOME_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>CNPJ</b><br />" + item.TB_NOTA_SAIDA.CNPJ_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>Emissão</b><br />" + ApoioXML.TrataData2(item.DATA_LANCAMENTO) + @"<br /> </td> </tr> <tr> <td colspan=""2""><b>Endereço de Faturamento</b><br />" + string.Concat(item.TB_NOTA_SAIDA.ENDERECO_FATURA_NF.Trim(), ", ", item.TB_NOTA_SAIDA.NUMERO_END_FATURA_NF.Trim(), " ", item.TB_NOTA_SAIDA.COMP_END_FATURA_NF.Trim()) + @"<br /> </td> <td><b>Bairro</b><br />" + item.TB_NOTA_SAIDA.BAIRRO_FATURA_NF.Trim() + @"<br /> </td> <td><b>CEP</b><br />" + item.TB_NOTA_SAIDA.CEP_FATURA_NF.Trim() + @"<br /> </td> </tr> <tr> <td><b>Cidade</b><br />" + item.TB_NOTA_SAIDA.MUNICIPIO_NF.Trim() + @"<br /> </td> <td><b>Telefone</b><br />" + item.TB_NOTA_SAIDA.TELEFONE_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>Estado</b><br />" + item.TB_NOTA_SAIDA.UF_NF.Trim() + @"<br /> </td> <td><b>I.E.</b><br />" + item.TB_NOTA_SAIDA.IE_CLIENTE_NF.Trim() + @"<br /> </td> </tr> <tr> <td><b>Nº NF</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + @"<br /> </td> <td><b>Valor Duplicata</b><br />" + item.VALOR_TOTAL.ToString().Valor_Moeda(2) + @"<br /> </td> <td><b>Duplicata</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + "/" + l + @"<br /> </td> <td><b>Vencimento</b><br />" + ApoioXML.TrataData2(item.DATA_VENCIMENTO) + @"<br /> </td> </tr> <tr> <td colspan=""4""><b>Valor por Extenso</b><br />" + VALOR_EXTENSO + " *****" + @"<br /> </td> </tr> <tr> <td colspan=""4""><b>Endereço de Cobrança</b><br />" + ENDERECO_COBRANCA + @"<br /><br /><br /> </td> </tr> </table>"; } conteudo.Append(_conteudo); re.InsereConteudo(conteudo.ToString()); i++; d++; } } re.FinalizaImpressao(); Arquivo = re.SalvaDocumento("DUPLICATAS_NF" + NUMERO_NF.ToString()); } return(Arquivo); } }
public string ImprimeDuplicataAvulsa() { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { using (Th2_Report re = new Th2_Report()) { re.NumeroDasPaginas = false; re.ExibeCabecalho = false; re.ExibeRodape = false; int i = 0; for (int n = 0; n < NUMERO_FINANCEIROS.Count; n++) { var query = (from linha in ctx.TB_FINANCEIROs join nota in ctx.TB_NOTA_SAIDAs on linha.NUMERO_NF_SAIDA equals nota.NUMERO_NF orderby linha.NUMERO_FINANCEIRO where linha.NUMERO_FINANCEIRO == NUMERO_FINANCEIROS[n] && linha.NUMERO_NF_SAIDA > 0 && linha.CREDITO_DEBITO == 0 select new { linha.NUMERO_NF_SAIDA, linha.DATA_LANCAMENTO, linha.DATA_VENCIMENTO, linha.VALOR_TOTAL, linha.TB_CLIENTE.ENDERECO_COBRANCA, linha.TB_CLIENTE.CEP_COBRANCA, linha.TB_CLIENTE.BAIRRO_COBRANCA, linha.TB_CLIENTE.TB_MUNICIPIO2.NOME_MUNICIPIO, linha.TB_CLIENTE.TB_MUNICIPIO2.TB_UF.SIGLA_UF, nota.ENDERECO_FATURA_NF, nota.NUMERO_END_FATURA_NF, nota.COMP_END_FATURA_NF, nota.CEP_FATURA_NF, nota.BAIRRO_FATURA_NF, nota.MUNICIPIO_NF, nota.UF_NF, nota.NOME_CLIENTE_NF, nota.CNPJ_CLIENTE_NF, nota.TELEFONE_CLIENTE_NF, nota.IE_CLIENTE_NF }).ToList(); if (!query.Any()) { throw new Exception("Selecione 1 ou mais títulos que sejam de cobrança de uma nota fiscal de venda"); } int d = 0; foreach (var item in query) { if (i > 0 && (i % 2) == 0) { re.AdicionaNovaPagina(); } NUMERO_NF = (decimal)item.NUMERO_NF_SAIDA; NumeroPorExtenso ext = new NumeroPorExtenso((decimal)item.VALOR_TOTAL); string VALOR_EXTENSO = ext.ToString().ToUpper(); string ENDERECO_COBRANCA = !string.IsNullOrEmpty(item.ENDERECO_COBRANCA) ? string.Concat(item.ENDERECO_COBRANCA.Trim(), " - CEP:" + item.CEP_COBRANCA.Trim(), " - ", item.BAIRRO_COBRANCA.Trim(), " - ", item.NOME_MUNICIPIO.Trim(), " - ", item.SIGLA_UF) : string.Concat(item.ENDERECO_FATURA_NF.Trim(), ", ", item.NUMERO_END_FATURA_NF.Trim(), " ", item.COMP_END_FATURA_NF.Trim(), " - CEP:" + item.CEP_FATURA_NF.Trim(), " - ", item.BAIRRO_FATURA_NF.Trim(), " - ", item.MUNICIPIO_NF.Trim(), " - ", item.UF_NF.Trim()); conteudo.Remove(0, conteudo.Length); string _conteudo = ""; string l = Busca_Letra_Duplicata(ctx, item.NUMERO_NF_SAIDA, item.DATA_VENCIMENTO); if ((i % 2) == 0) { _conteudo = @"<br /><br /><br /><table style=""width: 770px; font-family: Courier New;""> <tr> <td> <b>Natureza da Operação</b><br /> " + "Prestação de Serviços" + @" <br /> </td> <td> <b>CFOP</b><br /> " + @" </td> </tr> </table> <table style=""width: 770px; font-family: Courier New;""> <tr> <td colspan=""2""><b>Cliente</b><br />" + item.NOME_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>CNPJ</b><br />" + item.CNPJ_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>Emissão</b><br />" + ApoioXML.TrataData2(item.DATA_LANCAMENTO) + @"<br /> </td> </tr> <tr> <td colspan=""2""><b>Endereço de Faturamento</b><br />" + string.Concat(item.ENDERECO_FATURA_NF.Trim(), ", ", item.NUMERO_END_FATURA_NF.Trim(), " ", item.COMP_END_FATURA_NF.Trim()) + @"<br /> </td> <td><b>Bairro</b><br />" + item.BAIRRO_FATURA_NF.Trim() + @"<br /> </td> <td><b>CEP</b><br />" + item.CEP_FATURA_NF.Trim() + @"<br /> </td> </tr> <tr> <td><b>Cidade</b><br />" + item.MUNICIPIO_NF.Trim() + @"<br /> </td> <td><b>Telefone</b><br />" + item.TELEFONE_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>Estado</b><br />" + item.UF_NF.Trim() + @"<br /> </td> <td><b>I.E.</b><br />" + item.IE_CLIENTE_NF.Trim() + @"<br /> </td> </tr> <tr> <td><b>Nº NF</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + @"<br /> </td> <td><b>Valor Duplicata</b><br />" + item.VALOR_TOTAL.Value.ToString("c") + @"<br /> </td> <td><b>Duplicata</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + "/" + l + @"<br /> </td> <td><b>Vencimento</b><br />" + ApoioXML.TrataData2(item.DATA_VENCIMENTO) + @"<br /> </td> </tr> <tr> <td colspan=""4""><b>Valor por Extenso</b><br />" + VALOR_EXTENSO + " *****" + @"<br /> </td> </tr> <tr> <td colspan=""4""><b>Endereço de Cobrança</b><br />" + ENDERECO_COBRANCA + @"<br /><br /><br /> </td> </tr> </table> <br /><br /><hr />"; } else { _conteudo = @"<br /><br /><br /><table style=""width: 770px; font-family: Courier New;""> <tr> <td> <b>Natureza da Operação</b><br /> " + "Prestação de Serviços" + @" <br /> </td> <td> <b>CFOP</b><br /> " + @" </td> </tr> </table> <table style=""width: 770px; font-family: Courier New;""> <tr> <td colspan=""2""><b>Cliente</b><br />" + item.NOME_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>CNPJ</b><br />" + item.CNPJ_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>Emissão</b><br />" + ApoioXML.TrataData2(item.DATA_LANCAMENTO) + @"<br /> </td> </tr> <tr> <td colspan=""2""><b>Endereço de Faturamento</b><br />" + string.Concat(item.ENDERECO_FATURA_NF.Trim(), ", ", item.NUMERO_END_FATURA_NF.Trim(), " ", item.COMP_END_FATURA_NF.Trim()) + @"<br /> </td> <td><b>Bairro</b><br />" + item.BAIRRO_FATURA_NF.Trim() + @"<br /> </td> <td><b>CEP</b><br />" + item.CEP_FATURA_NF.Trim() + @"<br /> </td> </tr> <tr> <td><b>Cidade</b><br />" + item.MUNICIPIO_NF.Trim() + @"<br /> </td> <td><b>Telefone</b><br />" + item.TELEFONE_CLIENTE_NF.Trim() + @"<br /> </td> <td><b>Estado</b><br />" + item.UF_NF.Trim() + @"<br /> </td> <td><b>I.E.</b><br />" + item.IE_CLIENTE_NF.Trim() + @"<br /> </td> </tr> <tr> <td><b>Nº NF</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + @"<br /> </td> <td><b>Valor Duplicata</b><br />" + item.VALOR_TOTAL.ToString().Valor_Moeda(2) + @"<br /> </td> <td><b>Duplicata</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + "/" + l + @"<br /> </td> <td><b>Vencimento</b><br />" + ApoioXML.TrataData2(item.DATA_VENCIMENTO) + @"<br /> </td> </tr> <tr> <td colspan=""4""><b>Valor por Extenso</b><br />" + VALOR_EXTENSO + " *****" + @"<br /> </td> </tr> <tr> <td colspan=""4""><b>Endereço de Cobrança</b><br />" + ENDERECO_COBRANCA + @"<br /><br /><br /> </td> </tr> </table>"; } conteudo.Append(_conteudo); re.InsereConteudo(conteudo.ToString()); i++; d++; } } re.FinalizaImpressao(); Arquivo = re.SalvaDocumento("DUPLICATAS_NF" + NUMERO_NF.ToString()); } return(Arquivo); } }
public string Lista_Relatorio(decimal ID_EMPRESA) { string retorno = ""; Preenche_Vendedor_Regiao(); using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Landscape)) { r.ID_EMPRESA = ID_EMPRESA; r.DefineCabecalho("Relatório de Vendas (Anual) por Cliente<br /><span style='font-size: 8pt;'>" + NOME_VENDEDOR + " - " + NOME_REGIAO + "</span>", 60); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var clientes_faturamento = (from linha in ctx.TB_NOTA_SAIDAs orderby linha.DATA_EMISSAO_NF where (linha.DATA_EMISSAO_NF >= dt3 && linha.DATA_EMISSAO_NF < dt2) && (linha.STATUS_NF == 4 || linha.STATUS_NF == 2) && (linha.TB_CLIENTE.CODIGO_VENDEDOR_CLIENTE == CODIGO_VENDEDOR || CODIGO_VENDEDOR == 0) && (linha.TB_CLIENTE.CODIGO_REGIAO == CODIGO_REGIAO || CODIGO_REGIAO == "") && (linha.NOME_FANTASIA_CLIENTE_NF.Contains(CLIENTE)) && (linha.ID_UF_NF == ID_UF || ID_UF == 0) && (linha.ID_MUNICIPIO_NF == ID_MUNICIPIO || ID_MUNICIPIO == 0) select new LISTA_CLIENTES() { CODIGO_CLIENTE_NF = linha.CODIGO_CLIENTE_NF, NOME_FANTASIA_CLIENTE_NF = linha.NOME_FANTASIA_CLIENTE_NF }).Distinct().ToList(); var clientes_venda = (from linha in ctx.GetTable <TB_PEDIDO_VENDA>() orderby linha.DATA_PEDIDO where (linha.DATA_PEDIDO >= dt1 && linha.DATA_PEDIDO < dt2) && (linha.TB_STATUS_PEDIDO.STATUS_ESPECIFICO != 1 && linha.TB_STATUS_PEDIDO.STATUS_ESPECIFICO != 4) && (linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_CLIENTE.CODIGO_VENDEDOR_CLIENTE == CODIGO_VENDEDOR || CODIGO_VENDEDOR == 0) && (linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_CLIENTE.CODIGO_REGIAO == CODIGO_REGIAO || CODIGO_REGIAO == "") && (linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_CLIENTE.NOMEFANTASIA_CLIENTE.Contains(CLIENTE)) && (linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_CLIENTE.ESTADO_FATURA == ID_UF || ID_UF == 0) && (linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_CLIENTE.CIDADE_FATURA == ID_MUNICIPIO || ID_MUNICIPIO == 0) select new LISTA_CLIENTES() { CODIGO_CLIENTE_NF = linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.CODIGO_CLIENTE_ORCAMENTO, NOME_FANTASIA_CLIENTE_NF = linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_CLIENTE.NOMEFANTASIA_CLIENTE }).Distinct().ToList(); List <LISTA_CLIENTES> clientes_final = new List <LISTA_CLIENTES>(); foreach (var item in clientes_faturamento) { clientes_final.Add(item); } foreach (var item in clientes_venda) { var jaExiste = clientes_final.Where(j => j.CODIGO_CLIENTE_NF == item.CODIGO_CLIENTE_NF).Any(); if (!jaExiste) { clientes_final.Add(item); } } StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 100%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.Month.ToString().PadLeft(2, '0') + "/" + dt3.Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.AddMonths(1).Month.ToString().PadLeft(2, '0') + "/" + dt3.AddMonths(1).Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.AddMonths(2).Month.ToString().PadLeft(2, '0') + "/" + dt3.AddMonths(2).Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.AddMonths(3).Month.ToString().PadLeft(2, '0') + "/" + dt3.AddMonths(3).Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.AddMonths(4).Month.ToString().PadLeft(2, '0') + "/" + dt3.AddMonths(4).Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.AddMonths(5).Month.ToString().PadLeft(2, '0') + "/" + dt3.AddMonths(5).Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.AddMonths(6).Month.ToString().PadLeft(2, '0') + "/" + dt3.AddMonths(6).Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.AddMonths(7).Month.ToString().PadLeft(2, '0') + "/" + dt3.AddMonths(7).Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.AddMonths(8).Month.ToString().PadLeft(2, '0') + "/" + dt3.AddMonths(8).Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.AddMonths(9).Month.ToString().PadLeft(2, '0') + "/" + dt3.AddMonths(9).Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.AddMonths(10).Month.ToString().PadLeft(2, '0') + "/" + dt3.AddMonths(10).Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>" + dt3.AddMonths(11).Month.ToString().PadLeft(2, '0') + "/" + dt3.AddMonths(11).Year.ToString() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>Total</td> </tr>"); decimal total1 = 0; decimal total2 = 0; decimal total3 = 0; decimal total4 = 0; decimal total5 = 0; decimal total6 = 0; decimal total7 = 0; decimal total8 = 0; decimal total9 = 0; decimal total10 = 0; decimal total11 = 0; decimal total12 = 0; decimal total13 = 0; decimal total_1 = 0; decimal total_2 = 0; decimal total_3 = 0; decimal total_4 = 0; decimal total_5 = 0; decimal total_6 = 0; decimal total_7 = 0; decimal total_8 = 0; decimal total_9 = 0; decimal total_10 = 0; decimal total_11 = 0; decimal total_12 = 0; decimal total_13 = 0; var clientes_ordenado = clientes_final.OrderBy(n => n.NOME_FANTASIA_CLIENTE_NF); List <decimal> totais = new List <decimal>(); List <decimal> totais1 = new List <decimal>(); foreach (var item in clientes_ordenado) { totais = Calcula_Vendas_Semestral_do_cliente(item.CODIGO_CLIENTE_NF); totais1 = Calcula_Faturado_Semestral_do_cliente(item.CODIGO_CLIENTE_NF); _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{2}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{3}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{4}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{5}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{6}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{7}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{8}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{9}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{10}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{11}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{12}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; text-align: right;'>{13}</td> </tr>", item.NOME_FANTASIA_CLIENTE_NF.Trim(), totais[11].ToString("c") + "<br />" + totais1[11].ToString("c"), totais[10].ToString("c") + "<br />" + totais1[10].ToString("c"), totais[9].ToString("c") + "<br />" + totais1[9].ToString("c"), totais[8].ToString("c") + "<br />" + totais1[8].ToString("c"), totais[7].ToString("c") + "<br />" + totais1[7].ToString("c"), totais[6].ToString("c") + "<br />" + totais1[6].ToString("c"), totais[5].ToString("c") + "<br />" + totais1[5].ToString("c"), totais[4].ToString("c") + "<br />" + totais1[4].ToString("c"), totais[3].ToString("c") + "<br />" + totais1[3].ToString("c"), totais[2].ToString("c") + "<br />" + totais1[2].ToString("c"), totais[1].ToString("c") + "<br />" + totais1[1].ToString("c"), totais[0].ToString("c") + "<br />" + totais1[0].ToString("c"), totais.Sum().ToString("c") + "<br />" + totais1.Sum().ToString("c") )); total1 += totais[11]; total2 += totais[10]; total3 += totais[9]; total4 += totais[8]; total5 += totais[7]; total6 += totais[6]; total7 += totais[5]; total8 += totais[4]; total9 += totais[3]; total10 += totais[2]; total11 += totais[1]; total12 += totais[0]; total13 += totais.Sum(); total_1 += totais1[11]; total_2 += totais1[10]; total_3 += totais1[9]; total_4 += totais1[8]; total_5 += totais1[7]; total_6 += totais1[6]; total_7 += totais1[5]; total_8 += totais1[4]; total_9 += totais1[3]; total_10 += totais1[2]; total_11 += totais1[1]; total_12 += totais1[0]; total_13 += totais1.Sum(); } _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold;'>Totais</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{2}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{3}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{4}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{5}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{6}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{7}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{8}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{9}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{10}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{11}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; font-weight: bold; text-align: right;'>{12}</td> </tr>", total1.ToString("c") + "<br />" + total_1.ToString("c"), total2.ToString("c") + "<br />" + total_2.ToString("c"), total3.ToString("c") + "<br />" + total_3.ToString("c"), total4.ToString("c") + "<br />" + total_4.ToString("c"), total5.ToString("c") + "<br />" + total_5.ToString("c"), total6.ToString("c") + "<br />" + total_6.ToString("c"), total7.ToString("c") + "<br />" + total_7.ToString("c"), total8.ToString("c") + "<br />" + total_8.ToString("c"), total9.ToString("c") + "<br />" + total_9.ToString("c"), total10.ToString("c") + "<br />" + total_10.ToString("c"), total11.ToString("c") + "<br />" + total_11.ToString("c"), total12.ToString("c") + "<br />" + total_12.ToString("c"), total13.ToString("c") + "<br />" + total_13.ToString("c") )); _conteudo.Append("</table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Vendas_Anual_Cliente"); } return(retorno); } }
public string Lista_Relatorio(decimal ID_EMPRESA) { string retorno = ""; using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; r.DefineCabecalho("Relatório de contas pagas / recebidas por plano de contas", 60); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var query = (from linha in ctx.TB_PLANO_CONTAs where linha.ID_PLANO == ID_PLANO || string.IsNullOrEmpty(ID_PLANO) select linha).ToList(); StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 75%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid;'>Código</td> <td style='BORDER-BOTTOM: 1px solid;'>Plano</td> <td style='BORDER-BOTTOM: 1px solid;'>Histórico</td> <td style='BORDER-BOTTOM: 1px solid;'>Data Pagto</td> <td style='BORDER-BOTTOM: 1px solid;'>Valor Pago</td> <td style='BORDER-BOTTOM: 1px solid;'>Valor Recebido</td> </tr>"); foreach (var item in query) { var contas = (from linha in ctx.TB_FINANCEIROs orderby linha.ID_PLANO, linha.DATA_PAGAMENTO where linha.ID_PLANO == item.ID_PLANO && (linha.DATA_PAGAMENTO >= data1 && linha.DATA_PAGAMENTO < data2.AddDays(1)) select linha).ToList(); decimal total_pago = 0; decimal total_recebido = 0; foreach (var item1 in contas) { if (!somenteTotais) { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0; text-align: center;'>{0}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: center;'>{3}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: right;'>{4}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: right;'>{5}</td> </tr>", item1.ID_PLANO.ToString(), item1.TB_PLANO_CONTA.DESCRICAO_PLANO.Trim(), item1.HISTORICO, ApoioXML.TrataData2(item1.DATA_PAGAMENTO), item1.CREDITO_DEBITO == 0 ? 0.ToString("c") : item1.VALOR_TOTAL.Value.ToString("c"), item1.CREDITO_DEBITO == 0 ? item1.VALOR_TOTAL.Value.ToString("c") : 0.ToString("c"))); } total_pago += item1.CREDITO_DEBITO == 0 ? 0 : item1.VALOR_TOTAL.Value; total_recebido += item1.CREDITO_DEBITO == 0 ? item1.VALOR_TOTAL.Value : 0; } if (total_pago > (decimal)0.00 || total_recebido > (decimal)0.00) { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'colspan=4><b>Total plano:</b> {0}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: right; font-weight: bold;'>{1}</td> <td style='BORDER-RIGHT: 1px solid; BORDER-BOTTOM: 1px solid; border-color:#C0C0C0; text-align: right; font-weight: bold;'>{2}</td> </tr>", item.ID_PLANO.Trim() + " - " + item.DESCRICAO_PLANO.Trim(), total_pago.ToString("c"), total_recebido.ToString("c"))); } } _conteudo.Append("</table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Doran_Lista_Centro_Custo"); } return(retorno); } }
public string MontaRelatorio() { string retorno = ""; string Emitente = BuscaNomeFilial(); using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Landscape)) { r.ID_EMPRESA = Filial; DateTime data2 = dt2.AddSeconds(-1); r.DefineCabecalho(string.Format("Relação de Notas Fiscais<br /><span style='font-family: Tahoma; font-size: 8pt;'>Período de {0} até {1}<br />Empresa / Filial: " + Emitente + "</span>", ApoioXML.TrataData2(dt1), ApoioXML.TrataData2(data2)), 60); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); var query = from linha in ctx.TB_FINANCEIROs where (linha.DATA_LANCAMENTO >= dt1 && linha.DATA_LANCAMENTO < dt2) && linha.CREDITO_DEBITO == 0 && linha.CODIGO_EMITENTE == Filial && linha.NUMERO_SEQ_NF_SAIDA > 0 select new { linha.NUMERO_SEQ_NF_SAIDA, linha.NUMERO_NF_SAIDA, linha.DATA_LANCAMENTO, linha.TB_NOTA_SAIDA.NOME_FANTASIA_CLIENTE_NF, VALOR_TOTAL = (linha.VALOR + linha.VALOR_ACRESCIMO + linha.VALOR_MULTA) - linha.VALOR_DESCONTO, linha.DATA_VENCIMENTO, NOME_VENDEDOR_NF = linha.TB_NOTA_SAIDA == null ? string.Empty : linha.TB_NOTA_SAIDA.NOME_VENDEDOR_NF, OBS_NF = linha.TB_NOTA_SAIDA == null ? string.Empty : linha.TB_NOTA_SAIDA.OBS_INTERNA_NF, CODIGO_VENDEDOR_NF = linha.TB_NOTA_SAIDA == null ? 0 : linha.TB_NOTA_SAIDA.CODIGO_VENDEDOR_NF }; if (A_VISTA == 1) { query = query.Where(l => SqlMethods.DateDiffDay(l.DATA_LANCAMENTO.Value, l.DATA_VENCIMENTO.Value) < 2); } string _conteudo = "<table style='width: 100%; font-family: tahoma; font-size: 8pt;'>"; _conteudo += @"<tr> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Data Emissão</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Nº NF</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: right;'>Total NF</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Vencimento</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Nº do Pedido</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Data do Pedido</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Data de Entrega</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Vendedor(a)</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Observação</td> </tr>"; decimal Total = 0; foreach (var item in query) { var query1 = (from linha in ctx.TB_ITEM_NOTA_SAIDAs where linha.NUMERO_ITEM_NF == item.NUMERO_SEQ_NF_SAIDA select linha).Any() ? (from linha in ctx.TB_ITEM_NOTA_SAIDAs where linha.NUMERO_ITEM_NF == item.NUMERO_SEQ_NF_SAIDA select linha).ToList().First() : (from linha in ctx.TB_ITEM_NOTA_SAIDAs where linha.TB_NOTA_SAIDA.NUMERO_NF == item.NUMERO_NF_SAIDA select linha).Any() ? (from linha in ctx.TB_ITEM_NOTA_SAIDAs where linha.TB_NOTA_SAIDA.NUMERO_NF == item.NUMERO_NF_SAIDA select linha).ToList().First() : new TB_ITEM_NOTA_SAIDA(); var pedido = (from linha in ctx.TB_PEDIDO_VENDAs where linha.NUMERO_PEDIDO == query1.NUMERO_PEDIDO_VENDA select new { linha.NUMERO_PEDIDO, linha.DATA_PEDIDO, linha.ENTREGA_PEDIDO }).Take(1).ToList(); var codigo_lider = (from linha in ctx.TB_VENDEDOREs where linha.ID_VENDEDOR == item.CODIGO_VENDEDOR_NF select linha.SUPERVISOR_LIDER).ToList(); if (string.IsNullOrEmpty(item.NOME_FANTASIA_CLIENTE_NF)) { throw new Exception(string.Concat("O título da NF ", item.NUMERO_NF_SAIDA.ToString(), ", no valor de " + item.VALOR_TOTAL.Value.ToString("c"), " está com o cliente em branco. Acerte este erro no financeiro e tente emitir o relatário novamente")); } _conteudo += "<tr>"; _conteudo += "<td style='BORDER-BOTTOM: 1px solid;'>" + ApoioXML.Data((DateTime)item.DATA_LANCAMENTO) + "</td>"; _conteudo += "<td style='BORDER-BOTTOM: 1px solid;'>" + item.NUMERO_NF_SAIDA.ToString() + "</td>"; _conteudo += "<td style='BORDER-BOTTOM: 1px solid;'>" + item.NOME_FANTASIA_CLIENTE_NF.Trim() + "</td>"; _conteudo += "<td style='BORDER-BOTTOM: 1px solid; text-align: right;'>" + ((decimal)item.VALOR_TOTAL).ToString("c") + "</td>"; _conteudo += "<td style='BORDER-BOTTOM: 1px solid;'>" + ApoioXML.Data((DateTime)item.DATA_VENCIMENTO) + "</td>"; _conteudo += string.Concat("<td style='BORDER-BOTTOM: 1px solid;'>", pedido.Any() ? pedido.First().NUMERO_PEDIDO.ToString() : "", "</td>"); _conteudo += string.Concat("<td style='BORDER-BOTTOM: 1px solid;'>", pedido.Any() ? ApoioXML.Data((DateTime)pedido.First().DATA_PEDIDO) : "", "</td>"); _conteudo += string.Concat("<td style='BORDER-BOTTOM: 1px solid;'>", pedido.Any() ? ApoioXML.Data((DateTime)pedido.First().ENTREGA_PEDIDO) : "", "</td>"); _conteudo += string.Concat("<td style='BORDER-BOTTOM: 1px solid;'>", string.IsNullOrEmpty(item.NOME_VENDEDOR_NF) ? "" : item.NOME_VENDEDOR_NF.Trim(), "</td>"); _conteudo += "<td style='BORDER-BOTTOM: 1px solid;'>" + item.OBS_NF + "</td></tr>"; Total += (decimal)item.VALOR_TOTAL; } _conteudo += string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> </tr></table>", Total.ToString("c")); r.InsereConteudo(_conteudo); retorno = r.SalvaDocumento("FaTh2_Emissao_Notas_Fiscais"); } return(retorno); } }
public string MontaRelatorioRealizado() { string retorno = ""; using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; DateTime df = DataFinal.AddSeconds(-1); string nome_banco = ""; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { if (Banco > 0) { nome_banco = (from linha in ctx.TB_BANCOs where linha.NUMERO_BANCO == Banco select linha.NOME_BANCO.Trim()).ToList().First().Trim(); } } string cabecalho = string.Format("Relatório do Fluxo de Caixa (Realizado)<br /><span style='font-family: Tahoma; font-size: 8pt;'>Período de {0} até {1}<br />{2}</span>", ApoioXML.TrataData2(DataInicial), ApoioXML.TrataData2(df), Banco > 0 ? "Banco: " + nome_banco : ""); r.DefineCabecalho(cabecalho, 60); decimal CreditoTotal = 0; decimal DebitoTotal = 0; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); DateTime _dt = DataInicial; StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 70%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>NF / Duplicata</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Vencimento</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Pagamento</td> <td style='BORDER-BOTTOM: 1px solid; width: 280px; border-color:#C0C0C0;'>Histórico</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Crédito</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Débito</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Saldo</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Valor Aproximado?</td> </tr>"); decimal Saldo = 0; decimal saldoAnterior = SaldoAnterior(); while (_dt < DataFinal) { var query = from linha in ctx.TB_FINANCEIROs where (linha.DATA_PAGAMENTO >= _dt && linha.DATA_PAGAMENTO < _dt.AddDays(1)) && linha.CODIGO_EMITENTE == ID_EMPRESA && (linha.NUMERO_BANCO == Banco || Banco == 0) select new { linha.NUMERO_FINANCEIRO, linha.NUMERO_SEQ_NF_SAIDA, linha.NUMERO_NF_SAIDA, linha.NUMERO_SEQ_NF_ENTRADA, linha.NUMERO_NF_ENTRADA, linha.DATA_VENCIMENTO, linha.DATA_PAGAMENTO, linha.HISTORICO, VALOR_TOTAL = (linha.VALOR + linha.VALOR_ACRESCIMO + linha.VALOR_MULTA) - linha.VALOR_DESCONTO, linha.CREDITO_DEBITO, linha.VALOR_APROXIMADO }; decimal CreditoDia = 0; decimal DebitoDia = 0; foreach (var item in query) { if (item.CREDITO_DEBITO == 0) { if (ResumidoDetalhado == "D") { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='font-size: 7pt; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td>{5}</td> <td>{6}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{7}</td> </tr>", item.NUMERO_NF_SAIDA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, item.NUMERO_SEQ_NF_ENTRADA, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_PAGAMENTO), item.HISTORICO.Trim(), ApoioXML.Valor_Moeda(((decimal)item.VALOR_TOTAL).ToString(), 2), "", "", item.VALOR_APROXIMADO == 1 ? "S" : "")); } CreditoDia += (decimal)item.VALOR_TOTAL; CreditoTotal += (decimal)item.VALOR_TOTAL; } else { if (ResumidoDetalhado == "D") { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='font-size: 7pt; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'>{5}</td> <td >{6}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{7}</td> </tr>", item.NUMERO_NF_ENTRADA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, item.NUMERO_SEQ_NF_ENTRADA, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_PAGAMENTO), item.HISTORICO.Trim(), "", ApoioXML.Valor_Moeda(((decimal)item.VALOR_TOTAL).ToString(), 2), "", item.VALOR_APROXIMADO == 1 ? "S" : "")); } DebitoDia += (decimal)item.VALOR_TOTAL; DebitoTotal += (decimal)item.VALOR_TOTAL; } } // Pagamentos Parciais var query2 = from linha in ctx.TB_PAGTO_PARCIALs where (linha.DATA_PAGTO >= _dt && linha.DATA_PAGTO < _dt.AddDays(1)) && linha.TB_FINANCEIRO.CODIGO_EMITENTE == ID_EMPRESA select new { linha.NUMERO_FINANCEIRO, linha.TB_FINANCEIRO.NUMERO_SEQ_NF_SAIDA, linha.TB_FINANCEIRO.NUMERO_NF_SAIDA, linha.TB_FINANCEIRO.NUMERO_SEQ_NF_ENTRADA, linha.TB_FINANCEIRO.NUMERO_NF_ENTRADA, linha.TB_FINANCEIRO.DATA_VENCIMENTO, linha.DATA_PAGTO, linha.TB_FINANCEIRO.HISTORICO, linha.VALOR_PAGTO, linha.TB_FINANCEIRO.CREDITO_DEBITO, }; foreach (var item in query2) { if (item.CREDITO_DEBITO == 0) { if (ResumidoDetalhado == "D") { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='font-size: 7pt; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td>{5}</td> <td>{6}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{7}</td> </tr>", item.NUMERO_NF_SAIDA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, item.NUMERO_SEQ_NF_ENTRADA, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_PAGTO), item.HISTORICO.Trim(), ApoioXML.Valor_Moeda(((decimal)item.VALOR_PAGTO).ToString(), 2), "", "", "")); } CreditoDia += (decimal)item.VALOR_PAGTO; CreditoTotal += (decimal)item.VALOR_PAGTO; } else { if (ResumidoDetalhado == "D") { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='font-size: 7pt; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'>{5}</td> <td >{6}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{7}</td> </tr>", item.NUMERO_NF_ENTRADA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, item.NUMERO_SEQ_NF_ENTRADA, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_PAGTO), item.HISTORICO.Trim(), "", ApoioXML.Valor_Moeda(((decimal)item.VALOR_PAGTO).ToString(), 2), "", "")); } DebitoDia += (decimal)item.VALOR_PAGTO; DebitoTotal += (decimal)item.VALOR_PAGTO; } } if (DebitoDia > (decimal)0.00 || CreditoDia > (decimal)0.00) { Saldo = (saldoAnterior + CreditoDia) - DebitoDia; _conteudo.Append(string.Format(@"<tr> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; text-align: right;' colspan='3'>Saldo Anterior {0}</td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; text-align: right;'>Total do dia {1}</td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'><b>{2}</b></td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'><b>{3}</b></td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'><b>{4}</b></td> </tr>", ApoioXML.Valor_Moeda(saldoAnterior.ToString(), 2), ApoioXML.TrataData2(_dt), ApoioXML.Valor_Moeda(CreditoDia.ToString(), 2) , ApoioXML.Valor_Moeda(DebitoDia.ToString(), 2), ApoioXML.Valor_Moeda(Saldo.ToString(), 2))); saldoAnterior = Saldo; CreditoDia = 0; DebitoDia = 0; } _dt = _dt.AddDays(1); } _conteudo.Append(string.Format(@"<tr> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; text-align: right;' colspan='3'></td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; text-align: right;'>Total no Período</td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'><b>{0}</b></td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'><b>{1}</b></td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'></td> </tr>", ApoioXML.Valor_Moeda(CreditoTotal.ToString(), 2) , ApoioXML.Valor_Moeda(DebitoTotal.ToString(), 2))); _conteudo.Append("</table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("FaTh2_Fluxo_Realizado"); } return(retorno); } }
public string Lista_Relatorio() { string retorno = ""; Preenche_Vendedor(); using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; r.DefineCabecalho("Relatório de Clientes Inativos<br /><span style='font-size: 8pt;'>" + NOME_VENDEDOR + "</span>", 60); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); var query = from linha in ctx.TB_CLIENTEs orderby linha.DATA_ULTIMA_FATURA descending, linha.VALOR_ULTIMA_FATURA descending where linha.DATA_ULTIMA_FATURA < _dataRef && linha.CLIENTE_BLOQUEADO != 1 && (linha.NOME_CLIENTE.Contains(CLIENTE) || linha.NOMEFANTASIA_CLIENTE.Contains(CLIENTE)) select new { linha.ID_CLIENTE, linha.NOMEFANTASIA_CLIENTE, linha.CODIGO_VENDEDOR_CLIENTE, linha.TB_VENDEDORE.NOME_VENDEDOR, linha.DATA_ULTIMA_FATURA, linha.VALOR_ULTIMA_FATURA, linha.TB_MUNICIPIO.TB_UF.SIGLA_UF, NOME_CONTATO_CLIENTE = (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1).Any() ? (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1.NOME_CONTATO_CLIENTE).First() : "", EMAIL_CONTATO_CLIENTE = (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1).Any() ? (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1.EMAIL_CONTATO_CLIENTE).First() : "", TELEFONE_CONTATO_CLIENTE = (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1).Any() ? (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1.TELEFONE_CONTATO_CLIENTE).First() : "" }; if (CODIGO_VENDEDOR > 0) { query = query.Where(v => v.CODIGO_VENDEDOR_CLIENTE == CODIGO_VENDEDOR); } var query1 = query.ToList(); StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 75%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Contato</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Vendedor(a):</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Telefone</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>UF</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Ultima Compra</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: right;'>Valor Ultima Compra</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: right;'>Total Vencido</td> </tr>"); foreach (var item in query1) { decimal vencido = Doran_TitulosVencidos.TotalVencidos(Vencidos.RECEBER, item.ID_CLIENTE, ID_EMPRESA); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + item.NOMEFANTASIA_CLIENTE.Trim() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + item.NOME_CONTATO_CLIENTE.Trim() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + item.NOME_VENDEDOR.Trim() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + item.TELEFONE_CONTATO_CLIENTE.Trim() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + item.SIGLA_UF + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + ApoioXML.TrataData2(item.DATA_ULTIMA_FATURA) + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + ((decimal)item.VALOR_ULTIMA_FATURA).ToString("c") + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: right;'>" + ((decimal)vencido).ToString("c") + @"</td> </tr>"); } _conteudo.Append("</table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Clientes_Inativos"); } return(retorno); } }
public string MontaRelatorio() { string retorno = ""; string Emitente = BuscaNomeFilial(); using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; DateTime data2 = dt2.AddSeconds(-1); r.DefineCabecalho(string.Format("Relatório de desempenho por ciclista<br /><span style='font-family: Tahoma; font-size: 8pt;'>Período de {0} até {1}<br />Empresa / Filial: " + Emitente + "</span>", ApoioXML.TrataData2(dt1), ApoioXML.TrataData2(data2)), 60); var query = (from linha in ctx.TB_SERVICO_CICLISTAs where linha.TB_PEDIDO_VENDA.DATA_PEDIDO >= dt1 && linha.TB_PEDIDO_VENDA.DATA_PEDIDO < dt2 && linha.TB_PEDIDO_VENDA.TB_STATUS_PEDIDO.STATUS_ESPECIFICO != 4 group linha by new { linha.ID_CICLISTA, linha.TB_CICLISTA.NOME_CICLISTA } into agrupamento select new { CICLISTA = agrupamento.First().TB_CICLISTA.NOME_CICLISTA, TOTAL_KM = agrupamento.Sum(_ => _.TB_PEDIDO_VENDA.TB_ITEM_ORCAMENTO_VENDA.DISTANCIA_EM_METROS).HasValue ? agrupamento.Sum(_ => _.TB_PEDIDO_VENDA.TB_ITEM_ORCAMENTO_VENDA.DISTANCIA_EM_METROS) : 0, NUMERO_ENTREGAS = agrupamento.Count() }).ToList(); StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 80%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid;'>Ciclista</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>Total Km no período</td> <td style='BORDER-BOTTOM: 1px solid; text-align: center;'>Nr. de entregas</td> </tr>"); decimal Total = 0; int Entregas = 0; foreach (var item in query.OrderByDescending(_ => _.TOTAL_KM)) { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; text-align: center;'>{2}</td> </tr>", item.CICLISTA.ToString(), (item.TOTAL_KM.HasValue ? item.TOTAL_KM.Value / 1000 : 0).ToString("n") + " Km", item.NUMERO_ENTREGAS.ToString())); Total += item.TOTAL_KM.HasValue ? item.TOTAL_KM.Value / 1000 : 0; Entregas += item.NUMERO_ENTREGAS; } _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; text-align: center;'>{1}</td> </tr>", ((decimal)Total).ToString("n") + " Km", Entregas.ToString())); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Doran_Desempenho_Ciclista"); return(retorno); } }