Пример #1
0
        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&aacute;rio<br /><span style='font-family: Tahoma; font-size: 8pt;'>Per&iacute;odo de {0} at&eacute; {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&atilde;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);
            }
        }
Пример #2
0
        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&iacute;odo de {0} at&eacute; {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&atilde;o</td>
                                    <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>N&ordm; 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&ordm; 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&ccedil;&atilde;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&iacute;tulo da NF ", item.NUMERO_NF_SAIDA.ToString(), ", no valor de " + item.VALOR_TOTAL.Value.ToString("c"),
                                                              " est&aacute; com o cliente em branco. Acerte este erro no financeiro e tente emitir o relat&aacute;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);
            }
        }
Пример #3
0
        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&oacute;rio de T&iacute;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&ccedil;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;'>&nbsp;</td>
                                        <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'>&nbsp;</td>
                                        <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'>&nbsp;</td>
                                        <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'>&nbsp;</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;'>&nbsp;</td>
                                      </tr></table>", "Total..:", ((decimal)Total).ToString("c"));

                    r.InsereConteudo(_conteudo);

                    retorno = r.SalvaDocumento("Doran_Titulos_Receber_Vencidos");
                }

                return(retorno);
            }
        }
Пример #4
0
        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&oacute;rio T&iacute;tulos a Receber por Emiss&atilde;o<br /><span style='font-family: Tahoma; font-size: 8pt;'>Per&iacute;odo de {0} at&eacute; {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&atilde;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&oacute;rico</td>
                                    <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Valor do T&iacute;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);
            }
        }
Пример #5
0
        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&oacute;rio de entregas do cliente<br /><span style='font-family: Tahoma; font-size: 8pt;'>Per&iacute;odo de {0} at&eacute; {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&atilde;o est&aacute; 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&ccedil;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);
            }
        }
Пример #6
0
        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&oacute;rio Remessa Banc&aacute;ria por Emiss&atilde;o<br /><span style='font-family: Tahoma; font-size: 8pt;'>Per&iacute;odo de {0} at&eacute; {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&atilde;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&iacute;tulo</td>
                                    <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Instru&ccedil;&atilde;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);
            }
        }
Пример #7
0
        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&oacute;rio do Fluxo de Caixa (Realizado)<br /><span style='font-family: Tahoma; font-size: 8pt;'>Per&iacute;odo de {0} at&eacute; {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&oacute;rico</td>
                                    <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Cr&eacute;dito</td>
                                    <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>D&eacute;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&iacute;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);
            }
        }