public string listaEnderecoFinal(string RUA, decimal ID_USUARIO) { try { 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_ITEM_ORCAMENTO_VENDAs where linha.ENDERECO_FINAL_ITEM_ORCAMENTO.Contains(RUA) select new { ENDERECO_INICIAL_ITEM_ORCAMENTO = linha.ENDERECO_FINAL_ITEM_ORCAMENTO, NUMERO_INICIAL_ITEM_ORCAMENTO = linha.NUMERO_FINAL_ITEM_ORCAMENTO, COMPL_INICIAL_ITEM_ORCAMENTO = linha.COMPL_FINAL_ITEM_ORCAMENTO, CIDADE_INICIAL_ITEM_ORCAMENTO = linha.CIDADE_FINAL_ITEM_ORCAMENTO, CEP_INICIAL_ITEM_ORCAMENTO = linha.CEP_FINAL_ITEM_ORCAMENTO, ESTADO_INICIAL_ITEM_ORCAMENTO = linha.ESTADO_FINAL_ITEM_ORCAMENTO }).Distinct().Take(30); return(ApoioXML.objQueryToXML(ctx, query)); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, ID_USUARIO); throw ex; } }
public Doran_Reune_Titulos_do_Cliente(decimal _ID_USUARIO, decimal _ID_EMPRESA) { ID_USUARIO = _ID_USUARIO; ID_EMPRESA = _ID_EMPRESA; ctx = new Doran_ERP_Servicos_DadosDataContext(); ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); }
public Doran_Ordem_de_Recebimento(decimal _ID_EMPRESA, DateTime _dataFinal) { ctx = new Doran_ERP_Servicos_DadosDataContext(); ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); dataFinal = _dataFinal; ID_EMPRESA = _ID_EMPRESA; }
public Doran_Relatorio_desempenho_ciclista(DateTime _data1, DateTime _data2, decimal _ID_EMPRESA) { dt1 = _data1; dt2 = _data2; dt2 = dt2.AddDays(1); ID_EMPRESA = _ID_EMPRESA; ctx = new Doran_ERP_Servicos_DadosDataContext(); ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); }
public Doran_Relatorio_Entregas_do_Cliente(string _clientefornecedor, DateTime _data1, DateTime _data2, decimal _ID_EMPRESA) { cliente_fornecedor = _clientefornecedor; dt1 = _data1; dt2 = _data2; dt2 = dt2.AddDays(1); ID_EMPRESA = _ID_EMPRESA; ctx = new Doran_ERP_Servicos_DadosDataContext(); ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); }
public Doran_RPS_Nota_Servico(decimal _ID_EMPRESA, decimal _ID_USUARIO) { ID_USUARIO = _ID_USUARIO; ID_EMPRESA = _ID_EMPRESA; ctx = new Doran_ERP_Servicos_DadosDataContext(); ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); conteudo = new StringBuilder(); preenche_Dados_Emitente(); }
public Doran_Sugestao_Compra() { ctx = new Doran_ERP_Servicos_DadosDataContext(); ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); status_compra = new List <decimal?>(); status_compra.Add(3); status_compra.Add(4); status_nf = new List <decimal?>(); status_nf.Add(2); status_nf.Add(4); }
public Doran_FaturamentoDiario(string _clientefornecedor, DateTime _data1, DateTime _data2, string CODIGO_CFOP, decimal _Filial, decimal _ID_EMPRESA) { cliente_fornecedor = _clientefornecedor; dt1 = _data1; dt2 = _data2; dt2 = dt2.AddDays(1); _CODIGO_CFOP = CODIGO_CFOP; Filial = _Filial; ID_EMPRESA = _ID_EMPRESA; ctx = new Doran_ERP_Servicos_DadosDataContext(); ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); }
public static DateTime DataLimiteParaVencimento() { DateTime retorno = new DateTime(); DateTime hoje = DateTime.Today; hoje = hoje.AddDays(1); hoje = hoje.AddSeconds(-1); if (hoje.DayOfWeek == DayOfWeek.Saturday) { retorno = hoje.AddDays(2); } else if (hoje.DayOfWeek == DayOfWeek.Sunday) { retorno = hoje.AddDays(1); } using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); while (true) { var query = from linha in ctx.TB_FERIADOs where linha.DATA_FERIADO == hoje select linha; if (query.Count() > 0) { hoje = hoje.AddDays(1); } else { break; } } hoje = hoje.AddDays(1); hoje = hoje.AddHours(-hoje.Hour); hoje = hoje.AddMinutes(-hoje.Minute); hoje = hoje.AddSeconds(-hoje.Second); return(hoje); } }
public Doran_Boleto_Itau(List <decimal> _NUMEROS_FINANCEIRO, decimal _ID_EMPRESA, decimal _ID_USUARIO, decimal _ID_CONTA_EMAIL, decimal _NUMERO_BANCO, string _AGENCIA, string _CONTA_CORRENTE, string _CARTEIRA) { NUMEROS_FINANCEIRO = _NUMEROS_FINANCEIRO; ID_EMPRESA = _ID_EMPRESA; ID_USUARIO = _ID_USUARIO; ID_CONTA_EMAIL = _ID_CONTA_EMAIL; NUMERO_BANCO = _NUMERO_BANCO; AGENCIA = _AGENCIA; CONTA_CORRENTE = _CONTA_CORRENTE; CARTEIRA = "109";// _CARTEIRA; // 175 ctx = new Doran_ERP_Servicos_DadosDataContext(); ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); preencheEmitente(); }
public string Lista_Relatorio() { string retorno = ""; Preenche_Vendedor(); using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; r.DefineCabecalho("Relatório de Clientes Inativos<br /><span style='font-size: 8pt;'>" + NOME_VENDEDOR + "</span>", 60); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); var query = from linha in ctx.TB_CLIENTEs orderby linha.DATA_ULTIMA_FATURA descending, linha.VALOR_ULTIMA_FATURA descending where linha.DATA_ULTIMA_FATURA < _dataRef && linha.CLIENTE_BLOQUEADO != 1 && (linha.NOME_CLIENTE.Contains(CLIENTE) || linha.NOMEFANTASIA_CLIENTE.Contains(CLIENTE)) select new { linha.ID_CLIENTE, linha.NOMEFANTASIA_CLIENTE, linha.CODIGO_VENDEDOR_CLIENTE, linha.TB_VENDEDORE.NOME_VENDEDOR, linha.DATA_ULTIMA_FATURA, linha.VALOR_ULTIMA_FATURA, linha.TB_MUNICIPIO.TB_UF.SIGLA_UF, NOME_CONTATO_CLIENTE = (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1).Any() ? (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1.NOME_CONTATO_CLIENTE).First() : "", EMAIL_CONTATO_CLIENTE = (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1).Any() ? (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1.EMAIL_CONTATO_CLIENTE).First() : "", TELEFONE_CONTATO_CLIENTE = (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1).Any() ? (from linha1 in ctx.GetTable <TB_CLIENTE_CONTATO>() where linha1.ID_CLIENTE == linha.ID_CLIENTE select linha1.TELEFONE_CONTATO_CLIENTE).First() : "" }; if (CODIGO_VENDEDOR > 0) { query = query.Where(v => v.CODIGO_VENDEDOR_CLIENTE == CODIGO_VENDEDOR); } var query1 = query.ToList(); StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 75%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Contato</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Vendedor(a):</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Telefone</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>UF</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Ultima Compra</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: right;'>Valor Ultima Compra</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: right;'>Total Vencido</td> </tr>"); foreach (var item in query1) { decimal vencido = Doran_TitulosVencidos.TotalVencidos(Vencidos.RECEBER, item.ID_CLIENTE, ID_EMPRESA); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + item.NOMEFANTASIA_CLIENTE.Trim() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + item.NOME_CONTATO_CLIENTE.Trim() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + item.NOME_VENDEDOR.Trim() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + item.TELEFONE_CONTATO_CLIENTE.Trim() + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + item.SIGLA_UF + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + ApoioXML.TrataData2(item.DATA_ULTIMA_FATURA) + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>" + ((decimal)item.VALOR_ULTIMA_FATURA).ToString("c") + @"</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: right;'>" + ((decimal)vencido).ToString("c") + @"</td> </tr>"); } _conteudo.Append("</table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Clientes_Inativos"); } return(retorno); } }
public string MontaRelatorio() { string retorno = ""; string Emitente = BuscaNomeFilial(); using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Landscape)) { r.ID_EMPRESA = Filial; DateTime data2 = dt2.AddSeconds(-1); r.DefineCabecalho(string.Format("Relação de Notas Fiscais<br /><span style='font-family: Tahoma; font-size: 8pt;'>Período de {0} até {1}<br />Empresa / Filial: " + Emitente + "</span>", ApoioXML.TrataData2(dt1), ApoioXML.TrataData2(data2)), 60); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); var query = from linha in ctx.TB_FINANCEIROs where (linha.DATA_LANCAMENTO >= dt1 && linha.DATA_LANCAMENTO < dt2) && linha.CREDITO_DEBITO == 0 && linha.CODIGO_EMITENTE == Filial && linha.NUMERO_SEQ_NF_SAIDA > 0 select new { linha.NUMERO_SEQ_NF_SAIDA, linha.NUMERO_NF_SAIDA, linha.DATA_LANCAMENTO, linha.TB_NOTA_SAIDA.NOME_FANTASIA_CLIENTE_NF, VALOR_TOTAL = (linha.VALOR + linha.VALOR_ACRESCIMO + linha.VALOR_MULTA) - linha.VALOR_DESCONTO, linha.DATA_VENCIMENTO, NOME_VENDEDOR_NF = linha.TB_NOTA_SAIDA == null ? string.Empty : linha.TB_NOTA_SAIDA.NOME_VENDEDOR_NF, OBS_NF = linha.TB_NOTA_SAIDA == null ? string.Empty : linha.TB_NOTA_SAIDA.OBS_INTERNA_NF, CODIGO_VENDEDOR_NF = linha.TB_NOTA_SAIDA == null ? 0 : linha.TB_NOTA_SAIDA.CODIGO_VENDEDOR_NF }; if (A_VISTA == 1) { query = query.Where(l => SqlMethods.DateDiffDay(l.DATA_LANCAMENTO.Value, l.DATA_VENCIMENTO.Value) < 2); } string _conteudo = "<table style='width: 100%; font-family: tahoma; font-size: 8pt;'>"; _conteudo += @"<tr> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Data Emissão</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Nº NF</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold; text-align: right;'>Total NF</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Vencimento</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Nº do Pedido</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Data do Pedido</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Data de Entrega</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Vendedor(a)</td> <td style='BORDER-BOTTOM: 1px solid; font-weight: bold;'>Observação</td> </tr>"; decimal Total = 0; foreach (var item in query) { var query1 = (from linha in ctx.TB_ITEM_NOTA_SAIDAs where linha.NUMERO_ITEM_NF == item.NUMERO_SEQ_NF_SAIDA select linha).Any() ? (from linha in ctx.TB_ITEM_NOTA_SAIDAs where linha.NUMERO_ITEM_NF == item.NUMERO_SEQ_NF_SAIDA select linha).ToList().First() : (from linha in ctx.TB_ITEM_NOTA_SAIDAs where linha.TB_NOTA_SAIDA.NUMERO_NF == item.NUMERO_NF_SAIDA select linha).Any() ? (from linha in ctx.TB_ITEM_NOTA_SAIDAs where linha.TB_NOTA_SAIDA.NUMERO_NF == item.NUMERO_NF_SAIDA select linha).ToList().First() : new TB_ITEM_NOTA_SAIDA(); var pedido = (from linha in ctx.TB_PEDIDO_VENDAs where linha.NUMERO_PEDIDO == query1.NUMERO_PEDIDO_VENDA select new { linha.NUMERO_PEDIDO, linha.DATA_PEDIDO, linha.ENTREGA_PEDIDO }).Take(1).ToList(); var codigo_lider = (from linha in ctx.TB_VENDEDOREs where linha.ID_VENDEDOR == item.CODIGO_VENDEDOR_NF select linha.SUPERVISOR_LIDER).ToList(); if (string.IsNullOrEmpty(item.NOME_FANTASIA_CLIENTE_NF)) { throw new Exception(string.Concat("O título da NF ", item.NUMERO_NF_SAIDA.ToString(), ", no valor de " + item.VALOR_TOTAL.Value.ToString("c"), " está com o cliente em branco. Acerte este erro no financeiro e tente emitir o relatário novamente")); } _conteudo += "<tr>"; _conteudo += "<td style='BORDER-BOTTOM: 1px solid;'>" + ApoioXML.Data((DateTime)item.DATA_LANCAMENTO) + "</td>"; _conteudo += "<td style='BORDER-BOTTOM: 1px solid;'>" + item.NUMERO_NF_SAIDA.ToString() + "</td>"; _conteudo += "<td style='BORDER-BOTTOM: 1px solid;'>" + item.NOME_FANTASIA_CLIENTE_NF.Trim() + "</td>"; _conteudo += "<td style='BORDER-BOTTOM: 1px solid; text-align: right;'>" + ((decimal)item.VALOR_TOTAL).ToString("c") + "</td>"; _conteudo += "<td style='BORDER-BOTTOM: 1px solid;'>" + ApoioXML.Data((DateTime)item.DATA_VENCIMENTO) + "</td>"; _conteudo += string.Concat("<td style='BORDER-BOTTOM: 1px solid;'>", pedido.Any() ? pedido.First().NUMERO_PEDIDO.ToString() : "", "</td>"); _conteudo += string.Concat("<td style='BORDER-BOTTOM: 1px solid;'>", pedido.Any() ? ApoioXML.Data((DateTime)pedido.First().DATA_PEDIDO) : "", "</td>"); _conteudo += string.Concat("<td style='BORDER-BOTTOM: 1px solid;'>", pedido.Any() ? ApoioXML.Data((DateTime)pedido.First().ENTREGA_PEDIDO) : "", "</td>"); _conteudo += string.Concat("<td style='BORDER-BOTTOM: 1px solid;'>", string.IsNullOrEmpty(item.NOME_VENDEDOR_NF) ? "" : item.NOME_VENDEDOR_NF.Trim(), "</td>"); _conteudo += "<td style='BORDER-BOTTOM: 1px solid;'>" + item.OBS_NF + "</td></tr>"; Total += (decimal)item.VALOR_TOTAL; } _conteudo += string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid; text-align: right;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> <td style='BORDER-BOTTOM: 1px solid;'></td> </tr></table>", Total.ToString("c")); r.InsereConteudo(_conteudo); retorno = r.SalvaDocumento("FaTh2_Emissao_Notas_Fiscais"); } return(retorno); } }
public static decimal TotalVencidos(Vencidos recepberPagar, decimal CODIGO_CLIENTE_FORNECEDOR, decimal ID_EMPRESA) { DateTime dataLimite = Doran_TitulosVencidos.DataLimiteParaVencimento(); decimal? retorno = 0; if (recepberPagar == Vencidos.RECEBER) { 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_EMITENTE == ID_EMPRESA select linha; if (CODIGO_CLIENTE_FORNECEDOR > 0) { query = query.Where(c => c.CODIGO_CLIENTE == CODIGO_CLIENTE_FORNECEDOR); } else { query = query.Where(c => c.CODIGO_CLIENTE > 0); } foreach (var item in query) { DateTime _vencimento = Convert.ToDateTime(item.DATA_VENCIMENTO); while (Doran_TitulosVencidos.Feriado_FimDeSemana(_vencimento)) { _vencimento = _vencimento.AddDays(1); } if (_vencimento < DateTime.Now) { retorno += (item.VALOR + item.VALOR_ACRESCIMO + item.VALOR_MULTA) - item.VALOR_DESCONTO; } } DataTable dt = ApoioXML.ToDataTable(ctx, query); foreach (DataRow dr in dt.Rows) { retorno -= Doran_TitulosVencidos.PagoParcialmente(Convert.ToDecimal(dr["NUMERO_FINANCEIRO"])); if (retorno < (decimal)0.00) { retorno = 0; } } } } else { 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 == 1 && linha.CODIGO_EMITENTE == ID_EMPRESA && (linha.CODIGO_FORNECEDOR == CODIGO_CLIENTE_FORNECEDOR || CODIGO_CLIENTE_FORNECEDOR == 0) select linha; foreach (var item in query) { DateTime _vencimento = Convert.ToDateTime(item.DATA_VENCIMENTO); while (Doran_TitulosVencidos.Feriado_FimDeSemana(_vencimento)) { _vencimento = _vencimento.AddDays(1); } if (_vencimento < DateTime.Now) { retorno += (item.VALOR + item.VALOR_ACRESCIMO + item.VALOR_MULTA) - item.VALOR_DESCONTO; } } DataTable dt = ApoioXML.ToDataTable(ctx, query); foreach (DataRow dr in dt.Rows) { retorno -= Doran_TitulosVencidos.PagoParcialmente(Convert.ToDecimal(dr["NUMERO_FINANCEIRO"])); } } } return(retorno.HasValue ? (decimal)retorno : 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ório de Títulos a Receber Vencidos", 60); DateTime dataLimite = Doran_TitulosVencidos.DataLimiteParaVencimento(); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); var query = from linha in ctx.TB_FINANCEIROs where linha.DATA_PAGAMENTO == new DateTime(1901, 01, 01) && linha.DATA_VENCIMENTO < dataLimite && linha.CREDITO_DEBITO == 0 // && linha.CODIGO_CLIENTE > 0 && linha.HISTORICO.Contains(cliente_fornecedor) && linha.CODIGO_EMITENTE == ID_EMPRESA select new { linha.NUMERO_FINANCEIRO, linha.NUMERO_SEQ_NF_SAIDA, linha.NUMERO_NF_SAIDA, linha.NUMERO_SEQ_NF_ENTRADA, linha.HISTORICO, linha.DATA_LANCAMENTO, linha.DATA_VENCIMENTO, CLIENTE = linha.TB_NOTA_SAIDA == null ? "" : linha.TB_NOTA_SAIDA.TB_CLIENTE.NOMEFANTASIA_CLIENTE, VENDEDOR = linha.TB_NOTA_SAIDA == null ? "" : linha.TB_NOTA_SAIDA.NOME_VENDEDOR_NF, CODIGO_VENDEDOR = linha.TB_NOTA_SAIDA == null ? 0 : linha.TB_NOTA_SAIDA.CODIGO_VENDEDOR_NF, VALOR_TOTAL = (linha.VALOR + linha.VALOR_ACRESCIMO + linha.VALOR_MULTA) - linha.VALOR_DESCONTO, linha.VALOR_APROXIMADO }; if (VENDEDOR > 0) { query = query.Where(_ => _.CODIGO_VENDEDOR == VENDEDOR); } string _conteudo = "<table style='width: 70%; font-family: tahoma; font-size: 8pt;'>"; _conteudo += @"<tr> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>NF / Duplicata</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Lançamento</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Vencimento</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Vendedor</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Valor</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Valor Aproximado?</td> </tr>"; decimal Total = 0; foreach (var item in query) { DateTime _vencimento = Convert.ToDateTime(item.DATA_VENCIMENTO); while (Feriado_FimDeSemana(_vencimento)) { _vencimento = _vencimento.AddDays(1); } DateTime _limite = DateTime.Now; if (_limite.DayOfWeek == DayOfWeek.Saturday) { _limite = _limite.AddDays(-2); } if (_limite.DayOfWeek == DayOfWeek.Sunday) { _limite = _limite.AddDays(-3); } decimal valor = (decimal)item.VALOR_TOTAL - Doran_TitulosVencidos.PagoParcialmente(item.NUMERO_FINANCEIRO); if (_vencimento < _limite) { _conteudo += string.Format(@"<tr> <td style='BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0; text-align: right;'>{5}</td> <td style='BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{6}</td> </tr>", item.NUMERO_NF_SAIDA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, item.NUMERO_SEQ_NF_ENTRADA, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_LANCAMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), string.IsNullOrEmpty(item.CLIENTE) ? item.HISTORICO : item.CLIENTE.Trim(), string.IsNullOrEmpty(item.VENDEDOR) ? "" : item.VENDEDOR.Trim(), ((decimal)valor).ToString("c"), item.VALOR_APROXIMADO == 1 ? "S" : ""); Total += valor; } } _conteudo += string.Format(@"<tr> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'> </td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'> </td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'> </td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'> </td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-TOP: 1px solid; text-align: right; border-color:#C0C0C0;'> </td> </tr></table>", "Total..:", ((decimal)Total).ToString("c")); r.InsereConteudo(_conteudo); retorno = r.SalvaDocumento("Doran_Titulos_Receber_Vencidos"); } return(retorno); } }
public string MontaRelatorioEmissao() { string retorno = ""; using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; DateTime df = DataFinal.AddSeconds(-1); string nome_banco = ""; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { if (Banco > 0) { nome_banco = (from linha in ctx.TB_BANCOs where linha.NUMERO_BANCO == Banco select linha.NOME_BANCO.Trim()).ToList().First().Trim(); } } string cabecalho = string.Format("Relatório Títulos a Receber por Emissão<br /><span style='font-family: Tahoma; font-size: 8pt;'>Período de {0} até {1}<br />{2}</span>", ApoioXML.TrataData2(DataInicial), ApoioXML.TrataData2(df), Banco > 0 ? "Banco: " + nome_banco : ""); r.DefineCabecalho(cabecalho, 60); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); DateTime _dt = DataInicial; StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 70%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>NF / Duplicata</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Emissão</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Vencimento</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Pagamento</td> <td style='BORDER-BOTTOM: 1px solid; width: 280px; border-color:#C0C0C0;'>Histórico</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Valor do Título</td> </tr>"); var query = from linha in ctx.TB_FINANCEIROs orderby linha.DATA_LANCAMENTO where (linha.DATA_LANCAMENTO >= DataInicial && linha.DATA_LANCAMENTO < DataFinal) && linha.CODIGO_EMITENTE == ID_EMPRESA && linha.CREDITO_DEBITO == 0 && (linha.NUMERO_BANCO == Banco || Banco == 0) select new { linha.NUMERO_FINANCEIRO, linha.NUMERO_SEQ_NF_SAIDA, linha.NUMERO_NF_SAIDA, linha.DATA_LANCAMENTO, linha.DATA_VENCIMENTO, linha.DATA_PAGAMENTO, linha.HISTORICO, linha.VALOR_TOTAL }; decimal TOTAL_PERIODO = 0; foreach (var item in query) { string pagamento = ApoioXML.Data((DateTime)item.DATA_PAGAMENTO) == "01/01/1901" ? "" : ApoioXML.Data((DateTime)item.DATA_PAGAMENTO); _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{5}</td> </tr>", item.NUMERO_NF_SAIDA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, 0, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_LANCAMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), pagamento, item.HISTORICO.Trim(), ApoioXML.Valor2((decimal)item.VALOR_TOTAL))); TOTAL_PERIODO += (decimal)item.VALOR_TOTAL; } _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='font-size: 7pt; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>Total:</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> </tr>", ApoioXML.Valor2(TOTAL_PERIODO))); _conteudo.Append("</table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Doran_Titulos_Receber_Emissao"); } return(retorno); } }
private void Inicia_Base() { ctx = new Doran_ERP_Servicos_DadosDataContext(); ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); FERIADOS = (from linha in ctx.TB_FERIADOs where linha.DATA_FERIADO >= DateTime.Today select linha.DATA_FERIADO).ToList(); // Fases var PEDIDO_ANALISE = (from linha in ctx.TB_STATUS_PEDIDOs where linha.STATUS_ESPECIFICO == 1 select linha).ToList(); if (!PEDIDO_ANALISE.Any()) { throw new Exception("Não há fase [PEDIDO EM ANÁLISE] cadastrada"); } STATUS_ANALISE = PEDIDO_ANALISE.First(); // var INICIO_DE_ANALISE = (from linha in ctx.TB_STATUS_PEDIDOs where linha.INICIO_FIM_DE_FASE == 2 // início de análise de estoque select linha).ToList(); if (!INICIO_DE_ANALISE.Any()) { throw new Exception("Não há a fase de início de análise de estoque cadastrada"); } STATUS_ANALISE_ESTOQUE = INICIO_DE_ANALISE.First(); // var INICIO_DE_COMPRAS = (from linha in ctx.TB_STATUS_PEDIDOs where linha.INICIO_FIM_DE_FASE == 1 // início de compras select linha).ToList(); if (!INICIO_DE_COMPRAS.Any()) { throw new Exception("Não há a fase de início de compras cadastrada"); } STATUS_COMPRAS = INICIO_DE_COMPRAS.First(); // var PROCESSO_DE_COMPRAS = (from linha in ctx.TB_STATUS_PEDIDOs where linha.INICIO_FIM_DE_FASE == 6 // entrega do fornecedor select linha).ToList(); if (!PROCESSO_DE_COMPRAS.Any()) { throw new Exception("Não há a fase de início de compras cadastrada"); } STATUS_PROCESSO_COMPRAS = PROCESSO_DE_COMPRAS.First(); // var INICIO_DE_BENEFICIAMENTO = (from linha in ctx.TB_STATUS_PEDIDOs where linha.INICIO_FIM_DE_FASE == 3 // início de beneficiamento select linha).ToList(); if (!INICIO_DE_BENEFICIAMENTO.Any()) { throw new Exception("Não há a fase de início de beneficiamento cadastrada"); } STATUS_BENEFICIAMENTO = INICIO_DE_BENEFICIAMENTO.First(); // var INICIO_DE_SEPARACAO = (from linha in ctx.TB_STATUS_PEDIDOs where linha.INICIO_FIM_DE_FASE == 4 // início de Separação select linha).ToList(); if (!INICIO_DE_SEPARACAO.Any()) { throw new Exception("Não há a fase de início de separação cadastrada"); } STATUS_SEPARACAO = INICIO_DE_SEPARACAO.First(); // var INICIO_DE_FATURAMENTO = (from linha in ctx.TB_STATUS_PEDIDOs where linha.INICIO_FIM_DE_FASE == 5 // início de Faturamento select linha).ToList(); if (!INICIO_DE_FATURAMENTO.Any()) { throw new Exception("Não há a fase de início de faturamento cadastrada"); } STATUS_FATURAMENTO = INICIO_DE_FATURAMENTO.First(); // tempo_medio_analise = -1; tempo_medio_analise_estoque = -1; tempo_medio_compras = -1; tempo_medio_processo_compras = -1; tempo_medio_beneficiamento = -1; tempo_medio_separacao = -1; tempo_medio_faturamento = -1; }
public string MontaRelatorioRemessa() { string retorno = ""; using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; string nome_banco = ""; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); if (NUMERO_BANCO > 0) { nome_banco = (from linha in ctx.TB_BANCOs where linha.NUMERO_BANCO == NUMERO_BANCO select linha.NOME_BANCO.Trim()).ToList().First().Trim(); } string cabecalho = string.Format("Relatório Remessa Bancária por Emissão<br /><span style='font-family: Tahoma; font-size: 8pt;'>Período de {0} até {1}<br />{2}</span>", ApoioXML.TrataData2(DATA_INICIAL), ApoioXML.TrataData2(DATA_FINAL.AddDays(-1)), NUMERO_BANCO > 0 ? "Banco: " + nome_banco : ""); r.DefineCabecalho(cabecalho, 60); DateTime _dt = DATA_INICIAL; StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 70%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>NF / Duplicata</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Emissão</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Vencimento</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Cliente</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Valor do Título</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Instrução de Remessa</td> </tr>"); var query = from linha in ctx.TB_HISTORICO_CNABs where linha.NUMERO_BANCO == NUMERO_BANCO && (linha.DATA_HISTORICO >= DATA_INICIAL && linha.DATA_HISTORICO < DATA_FINAL) && linha.REMESSA_RETORNO == 0 && linha.TB_FINANCEIRO.CODIGO_CLIENTE > 0 && linha.TB_FINANCEIRO.CODIGO_EMITENTE == ID_EMPRESA && linha.TB_FINANCEIRO.CREDITO_DEBITO == 0 select new { linha.NUMERO_FINANCEIRO, linha.TB_FINANCEIRO.NUMERO_SEQ_NF_SAIDA, linha.TB_FINANCEIRO.NUMERO_NF_SAIDA, linha.TB_FINANCEIRO.DATA_LANCAMENTO, linha.TB_FINANCEIRO.DATA_VENCIMENTO, linha.TB_FINANCEIRO.TB_CLIENTE.NOMEFANTASIA_CLIENTE, linha.TB_FINANCEIRO.VALOR_TOTAL, linha.TB_FINANCEIRO.TB_OCORRENCIA_BANCARIA_REMESSA.DESCRICAO_OCORRENCIA }; decimal TOTAL_PERIODO = 0; foreach (var item in query) { string duplicata = ""; if (NUMERO_BANCO == 237) { duplicata = Doran_Base.CNAB.FaTh2_Remessa_Bradesco.Duplicata(ctx, item.NUMERO_NF_SAIDA, item.DATA_VENCIMENTO); } if (NUMERO_BANCO == 1) { duplicata = Doran_Base.CNAB.FaTh2_Remessa_Brasil.Duplicata(ctx, item.NUMERO_NF_SAIDA, item.DATA_VENCIMENTO); } _conteudo.Append(string.Format(@"<tr> <td style='text-align: center; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='text-align: center; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='text-align: center; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{5}</td> </tr>", duplicata, ApoioXML.Data((DateTime)item.DATA_LANCAMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), item.NOMEFANTASIA_CLIENTE.Trim(), ((decimal)item.VALOR_TOTAL).ToString("c"), item.DESCRICAO_OCORRENCIA.Trim())); TOTAL_PERIODO += (decimal)item.VALOR_TOTAL; } _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>Total</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'></td> </tr>", ((decimal)TOTAL_PERIODO).ToString("c"))); _conteudo.Append("</table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("Doran_Remessa_Bancaria"); } return(retorno); } }
public string MontaRelatorioRealizado() { string retorno = ""; using (Th2_Report r = new Th2_Report(ExpertPdf.HtmlToPdf.PdfPageSize.A4, ExpertPdf.HtmlToPdf.PDFPageOrientation.Portrait)) { r.ID_EMPRESA = ID_EMPRESA; DateTime df = DataFinal.AddSeconds(-1); string nome_banco = ""; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { if (Banco > 0) { nome_banco = (from linha in ctx.TB_BANCOs where linha.NUMERO_BANCO == Banco select linha.NOME_BANCO.Trim()).ToList().First().Trim(); } } string cabecalho = string.Format("Relatório do Fluxo de Caixa (Realizado)<br /><span style='font-family: Tahoma; font-size: 8pt;'>Período de {0} até {1}<br />{2}</span>", ApoioXML.TrataData2(DataInicial), ApoioXML.TrataData2(df), Banco > 0 ? "Banco: " + nome_banco : ""); r.DefineCabecalho(cabecalho, 60); decimal CreditoTotal = 0; decimal DebitoTotal = 0; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { ctx.Connection.Open(); ctx.ExecuteCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;"); DateTime _dt = DataInicial; StringBuilder _conteudo = new StringBuilder(); _conteudo.Append("<table style='width: 70%; font-family: tahoma; font-size: 8pt;'>"); _conteudo.Append(@"<tr> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>NF / Duplicata</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Vencimento</td> <td style='BORDER-BOTTOM: 1px solid; border-color:#C0C0C0;'>Pagamento</td> <td style='BORDER-BOTTOM: 1px solid; width: 280px; border-color:#C0C0C0;'>Histórico</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Crédito</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Débito</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Saldo</td> <td style='BORDER-BOTTOM: 1px solid; text-align: right; border-color:#C0C0C0;'>Valor Aproximado?</td> </tr>"); decimal Saldo = 0; decimal saldoAnterior = SaldoAnterior(); while (_dt < DataFinal) { var query = from linha in ctx.TB_FINANCEIROs where (linha.DATA_PAGAMENTO >= _dt && linha.DATA_PAGAMENTO < _dt.AddDays(1)) && linha.CODIGO_EMITENTE == ID_EMPRESA && (linha.NUMERO_BANCO == Banco || Banco == 0) select new { linha.NUMERO_FINANCEIRO, linha.NUMERO_SEQ_NF_SAIDA, linha.NUMERO_NF_SAIDA, linha.NUMERO_SEQ_NF_ENTRADA, linha.NUMERO_NF_ENTRADA, linha.DATA_VENCIMENTO, linha.DATA_PAGAMENTO, linha.HISTORICO, VALOR_TOTAL = (linha.VALOR + linha.VALOR_ACRESCIMO + linha.VALOR_MULTA) - linha.VALOR_DESCONTO, linha.CREDITO_DEBITO, linha.VALOR_APROXIMADO }; decimal CreditoDia = 0; decimal DebitoDia = 0; foreach (var item in query) { if (item.CREDITO_DEBITO == 0) { if (ResumidoDetalhado == "D") { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='font-size: 7pt; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td>{5}</td> <td>{6}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{7}</td> </tr>", item.NUMERO_NF_SAIDA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, item.NUMERO_SEQ_NF_ENTRADA, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_PAGAMENTO), item.HISTORICO.Trim(), ApoioXML.Valor_Moeda(((decimal)item.VALOR_TOTAL).ToString(), 2), "", "", item.VALOR_APROXIMADO == 1 ? "S" : "")); } CreditoDia += (decimal)item.VALOR_TOTAL; CreditoTotal += (decimal)item.VALOR_TOTAL; } else { if (ResumidoDetalhado == "D") { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='font-size: 7pt; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'>{5}</td> <td >{6}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{7}</td> </tr>", item.NUMERO_NF_ENTRADA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, item.NUMERO_SEQ_NF_ENTRADA, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_PAGAMENTO), item.HISTORICO.Trim(), "", ApoioXML.Valor_Moeda(((decimal)item.VALOR_TOTAL).ToString(), 2), "", item.VALOR_APROXIMADO == 1 ? "S" : "")); } DebitoDia += (decimal)item.VALOR_TOTAL; DebitoTotal += (decimal)item.VALOR_TOTAL; } } // Pagamentos Parciais var query2 = from linha in ctx.TB_PAGTO_PARCIALs where (linha.DATA_PAGTO >= _dt && linha.DATA_PAGTO < _dt.AddDays(1)) && linha.TB_FINANCEIRO.CODIGO_EMITENTE == ID_EMPRESA select new { linha.NUMERO_FINANCEIRO, linha.TB_FINANCEIRO.NUMERO_SEQ_NF_SAIDA, linha.TB_FINANCEIRO.NUMERO_NF_SAIDA, linha.TB_FINANCEIRO.NUMERO_SEQ_NF_ENTRADA, linha.TB_FINANCEIRO.NUMERO_NF_ENTRADA, linha.TB_FINANCEIRO.DATA_VENCIMENTO, linha.DATA_PAGTO, linha.TB_FINANCEIRO.HISTORICO, linha.VALOR_PAGTO, linha.TB_FINANCEIRO.CREDITO_DEBITO, }; foreach (var item in query2) { if (item.CREDITO_DEBITO == 0) { if (ResumidoDetalhado == "D") { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='font-size: 7pt; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='text-align: right; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td>{5}</td> <td>{6}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{7}</td> </tr>", item.NUMERO_NF_SAIDA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, item.NUMERO_SEQ_NF_ENTRADA, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_PAGTO), item.HISTORICO.Trim(), ApoioXML.Valor_Moeda(((decimal)item.VALOR_PAGTO).ToString(), 2), "", "", "")); } CreditoDia += (decimal)item.VALOR_PAGTO; CreditoTotal += (decimal)item.VALOR_PAGTO; } else { if (ResumidoDetalhado == "D") { _conteudo.Append(string.Format(@"<tr> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{0}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{1}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{2}</td> <td style='font-size: 7pt; BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{3}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{4}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'>{5}</td> <td >{6}</td> <td style='BORDER-BOTTOM: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; border-color:#C0C0C0;'>{7}</td> </tr>", item.NUMERO_NF_ENTRADA.ToString() + "/" + ApoioXML.LetrasDuplicatas_ERP_Servicos(item.NUMERO_SEQ_NF_SAIDA, item.NUMERO_SEQ_NF_ENTRADA, item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_VENCIMENTO), ApoioXML.Data((DateTime)item.DATA_PAGTO), item.HISTORICO.Trim(), "", ApoioXML.Valor_Moeda(((decimal)item.VALOR_PAGTO).ToString(), 2), "", "")); } DebitoDia += (decimal)item.VALOR_PAGTO; DebitoTotal += (decimal)item.VALOR_PAGTO; } } if (DebitoDia > (decimal)0.00 || CreditoDia > (decimal)0.00) { Saldo = (saldoAnterior + CreditoDia) - DebitoDia; _conteudo.Append(string.Format(@"<tr> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; text-align: right;' colspan='3'>Saldo Anterior {0}</td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; text-align: right;'>Total do dia {1}</td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'><b>{2}</b></td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'><b>{3}</b></td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'><b>{4}</b></td> </tr>", ApoioXML.Valor_Moeda(saldoAnterior.ToString(), 2), ApoioXML.TrataData2(_dt), ApoioXML.Valor_Moeda(CreditoDia.ToString(), 2) , ApoioXML.Valor_Moeda(DebitoDia.ToString(), 2), ApoioXML.Valor_Moeda(Saldo.ToString(), 2))); saldoAnterior = Saldo; CreditoDia = 0; DebitoDia = 0; } _dt = _dt.AddDays(1); } _conteudo.Append(string.Format(@"<tr> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; text-align: right;' colspan='3'></td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; text-align: right;'>Total no Período</td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'><b>{0}</b></td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'><b>{1}</b></td> <td style='BORDER-TOP: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; text-align: right; border-color:#C0C0C0;'></td> </tr>", ApoioXML.Valor_Moeda(CreditoTotal.ToString(), 2) , ApoioXML.Valor_Moeda(DebitoTotal.ToString(), 2))); _conteudo.Append("</table>"); r.InsereConteudo(_conteudo.ToString()); retorno = r.SalvaDocumento("FaTh2_Fluxo_Realizado"); } return(retorno); } }