コード例 #1
0
        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&ecirc;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&ordm; Pedido Compra</td>
                                    <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>C&oacute;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&eacute;dia</td>
                                    <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: center;'>Frequ&ecirc;ncia de compra</td>
                                    <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Inadimpl&ecirc;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"), "&nbsp;"));
                }

                _conteudo.Append("</table>");

                r.InsereConteudo(_conteudo.ToString());

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

            return(retorno);
        }
コード例 #2
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);
            }
        }
コード例 #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 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&ordm; 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);
            }
        }
コード例 #8
0
        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);
            }
        }
コード例 #9
0
        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&Ccedil;&Atilde;O N&ordm; " + 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&ccedil;&atilde;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&ccedil;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);
            }
        }
コード例 #10
0
        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&ccedil;&atilde;o</b><br />
                                " + "Presta&ccedil;&atilde;o de Servi&ccedil;os" + @"
                                <br />&nbsp;</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 />&nbsp;</td>
                                <td><b>CNPJ</b><br />" + item.TB_NOTA_SAIDA.CNPJ_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Emiss&atilde;o</b><br />" + ApoioXML.TrataData2(item.DATA_LANCAMENTO) + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""2""><b>Endere&ccedil;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 />&nbsp;</td>
                                <td><b>Bairro</b><br />" + item.TB_NOTA_SAIDA.BAIRRO_FATURA_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>CEP</b><br />" + item.TB_NOTA_SAIDA.CEP_FATURA_NF.Trim() + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td><b>Cidade</b><br />" + item.TB_NOTA_SAIDA.MUNICIPIO_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Telefone</b><br />" + item.TB_NOTA_SAIDA.TELEFONE_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Estado</b><br />" + item.TB_NOTA_SAIDA.UF_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>I.E.</b><br />" + item.TB_NOTA_SAIDA.IE_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td><b>N&ordm; NF</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + @"<br />&nbsp;</td>
                                <td><b>Valor Duplicata</b><br />" + item.VALOR_TOTAL.ToString().Valor_Moeda(2) + @"<br />&nbsp;</td>
                                <td><b>Duplicata</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + "/" + l + @"<br />&nbsp;</td>
                                <td><b>Vencimento</b><br />" + ApoioXML.TrataData2(item.DATA_VENCIMENTO) + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""4""><b>Valor por Extenso</b><br />" + VALOR_EXTENSO + " *****" + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""4""><b>Endere&ccedil;o de Cobran&ccedil;a</b><br />" + ENDERECO_COBRANCA + @"<br /><br /><br />&nbsp;</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&ccedil;&atilde;o</b><br />
                                " + "Presta&ccedil;&atilde;o de Servi&ccedil;os" + @"
                                <br />&nbsp;</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 />&nbsp;</td>
                                <td><b>CNPJ</b><br />" + item.TB_NOTA_SAIDA.CNPJ_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Emiss&atilde;o</b><br />" + ApoioXML.TrataData2(item.DATA_LANCAMENTO) + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""2""><b>Endere&ccedil;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 />&nbsp;</td>
                                <td><b>Bairro</b><br />" + item.TB_NOTA_SAIDA.BAIRRO_FATURA_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>CEP</b><br />" + item.TB_NOTA_SAIDA.CEP_FATURA_NF.Trim() + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td><b>Cidade</b><br />" + item.TB_NOTA_SAIDA.MUNICIPIO_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Telefone</b><br />" + item.TB_NOTA_SAIDA.TELEFONE_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Estado</b><br />" + item.TB_NOTA_SAIDA.UF_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>I.E.</b><br />" + item.TB_NOTA_SAIDA.IE_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td><b>N&ordm; NF</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + @"<br />&nbsp;</td>
                                <td><b>Valor Duplicata</b><br />" + item.VALOR_TOTAL.ToString().Valor_Moeda(2) + @"<br />&nbsp;</td>
                                <td><b>Duplicata</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + "/" + l + @"<br />&nbsp;</td>
                                <td><b>Vencimento</b><br />" + ApoioXML.TrataData2(item.DATA_VENCIMENTO) + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""4""><b>Valor por Extenso</b><br />" + VALOR_EXTENSO + " *****" + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""4""><b>Endere&ccedil;o de Cobran&ccedil;a</b><br />" + ENDERECO_COBRANCA + @"<br /><br /><br />&nbsp;</td>
                                </tr>

                                </table>";
                            }

                            conteudo.Append(_conteudo);

                            re.InsereConteudo(conteudo.ToString());

                            i++;
                            d++;
                        }
                    }

                    re.FinalizaImpressao();

                    Arquivo = re.SalvaDocumento("DUPLICATAS_NF" + NUMERO_NF.ToString());
                }

                return(Arquivo);
            }
        }
コード例 #11
0
        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&iacute;tulos que sejam de cobran&ccedil;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&ccedil;&atilde;o</b><br />
                                " + "Presta&ccedil;&atilde;o de Servi&ccedil;os" + @"
                                <br />&nbsp;</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 />&nbsp;</td>
                                <td><b>CNPJ</b><br />" + item.CNPJ_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Emiss&atilde;o</b><br />" + ApoioXML.TrataData2(item.DATA_LANCAMENTO) + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""2""><b>Endere&ccedil;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 />&nbsp;</td>
                                <td><b>Bairro</b><br />" + item.BAIRRO_FATURA_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>CEP</b><br />" + item.CEP_FATURA_NF.Trim() + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td><b>Cidade</b><br />" + item.MUNICIPIO_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Telefone</b><br />" + item.TELEFONE_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Estado</b><br />" + item.UF_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>I.E.</b><br />" + item.IE_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td><b>N&ordm; NF</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + @"<br />&nbsp;</td>
                                <td><b>Valor Duplicata</b><br />" + item.VALOR_TOTAL.Value.ToString("c") + @"<br />&nbsp;</td>
                                <td><b>Duplicata</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + "/" + l + @"<br />&nbsp;</td>
                                <td><b>Vencimento</b><br />" + ApoioXML.TrataData2(item.DATA_VENCIMENTO) + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""4""><b>Valor por Extenso</b><br />" + VALOR_EXTENSO + " *****" + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""4""><b>Endere&ccedil;o de Cobran&ccedil;a</b><br />" + ENDERECO_COBRANCA + @"<br /><br /><br />&nbsp;</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&ccedil;&atilde;o</b><br />
                                " + "Presta&ccedil;&atilde;o de Servi&ccedil;os" + @"
                                <br />&nbsp;</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 />&nbsp;</td>
                                <td><b>CNPJ</b><br />" + item.CNPJ_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Emiss&atilde;o</b><br />" + ApoioXML.TrataData2(item.DATA_LANCAMENTO) + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""2""><b>Endere&ccedil;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 />&nbsp;</td>
                                <td><b>Bairro</b><br />" + item.BAIRRO_FATURA_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>CEP</b><br />" + item.CEP_FATURA_NF.Trim() + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td><b>Cidade</b><br />" + item.MUNICIPIO_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Telefone</b><br />" + item.TELEFONE_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>Estado</b><br />" + item.UF_NF.Trim() + @"<br />&nbsp;</td>
                                <td><b>I.E.</b><br />" + item.IE_CLIENTE_NF.Trim() + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td><b>N&ordm; NF</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + @"<br />&nbsp;</td>
                                <td><b>Valor Duplicata</b><br />" + item.VALOR_TOTAL.ToString().Valor_Moeda(2) + @"<br />&nbsp;</td>
                                <td><b>Duplicata</b><br />" + item.NUMERO_NF_SAIDA.ToString().PadLeft(8, '0') + "/" + l + @"<br />&nbsp;</td>
                                <td><b>Vencimento</b><br />" + ApoioXML.TrataData2(item.DATA_VENCIMENTO) + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""4""><b>Valor por Extenso</b><br />" + VALOR_EXTENSO + " *****" + @"<br />&nbsp;</td>
                                </tr>

                                <tr>
                                <td colspan=""4""><b>Endere&ccedil;o de Cobran&ccedil;a</b><br />" + ENDERECO_COBRANCA + @"<br /><br /><br />&nbsp;</td>
                                </tr>

                                </table>";
                            }

                            conteudo.Append(_conteudo);

                            re.InsereConteudo(conteudo.ToString());

                            i++;
                            d++;
                        }
                    }

                    re.FinalizaImpressao();

                    Arquivo = re.SalvaDocumento("DUPLICATAS_NF" + NUMERO_NF.ToString());
                }

                return(Arquivo);
            }
        }
コード例 #12
0
        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&oacute;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);
            }
        }
コード例 #13
0
        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&oacute;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&oacute;digo</td>
                                    <td style='BORDER-BOTTOM: 1px solid;'>Plano</td>
                                    <td style='BORDER-BOTTOM: 1px solid;'>Hist&oacute;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);
            }
        }
コード例 #14
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);
            }
        }
コード例 #15
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);
            }
        }
コード例 #16
0
        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&oacute;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);
            }
        }
コード例 #17
0
        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&oacute;rio de desempenho por ciclista<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_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&iacute;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);
            }
        }