private void PreencherReceitaBruta() { Orcamentos orcamentos = new Orcamentos(); OrcamentoHospitalar = orcamentos.ObterOrcamentoHospitalarFinal(Departamento); if (OrcamentoHospitalar != null) { var tickets = new TicketsDeProducao(); TicketsDeReceita ticketsDeReceita = new TicketsDeReceita(); var ticketDeReceita = ticketsDeReceita.Obter(this.Departamento, TipoTicketDeReceita.ReajusteDeConvenios); OrcamentoHospitalar.CalcularReceitaLiquida(tickets.Todos(OrcamentoHospitalar.Setor).ToList(), ticketDeReceita.Parcelas.ToList()); FatoresDeReceitaBruta = new List<FatorReceitaDTO>(); foreach (var fatorReceita in OrcamentoHospitalar.FatoresReceita) { FatorReceitaDTO fator = new FatorReceitaDTO(); fator.Incrementos = new List<IncrementoDaComplexidadeDTO>(); foreach (var item in fatorReceita.Incrementos) { if (fator.Incrementos.Any(i => i.Mes == item.Mes)) fator.Incrementos.Where(i => i.Mes == item.Mes).FirstOrDefault().ReceitaLiquida += item.ReceitaLiquida; else fator.Incrementos.Add(new IncrementoDaComplexidadeDTO() { Mes = item.Mes, ReceitaLiquida = item.ReceitaLiquida }); } FatoresDeReceitaBruta.Add(fator); } for (int i = 1; i < 13; i++) { var ltlReceitaBruta = (Literal)divDre.FindControl("ltlReceitaBruta" + i.ToString()); ltlReceitaBruta.Text = (FatoresDeReceitaBruta.Sum(f => f.Incrementos.Where(p => p.Mes == (MesEnum)i).Sum(incremento => incremento.ReceitaLiquida)) / 1000).ToString("#,###,###,###0"); receitasNoAno.Where(r => r.Mes == (MesEnum)i).FirstOrDefault().Valor = FatoresDeReceitaBruta.Sum( f => f.Incrementos.Where(p => p.Mes == (MesEnum)i).Sum(incremento => incremento.ReceitaLiquida)); } receitaBrutaTotal = (FatoresDeReceitaBruta.Sum(f => f.Incrementos.Sum(incremento => incremento.ReceitaLiquida)) / 1000); ltlReceitaBrutaTotal.Text = receitaBrutaTotal.ToString("#,###,###,###0"); } else { for (int i = 1; i < 13; i++) { var ltlReceitaBruta = (Literal)divDre.FindControl("ltlReceitaBruta" + i.ToString()); ltlReceitaBruta.Text = "0"; } ltlReceitaBrutaTotal.Text = "0"; } }
private void PreencherGlosaInterna() { TicketsDeReceita tickets = new TicketsDeReceita(); TicketsGlosaInterna = tickets.Obter(Departamento, Orcamento.Domain.ComponentesDeOrcamento.OrcamentoDeProducao.TipoTicketDeReceita.GlosaInterna); if (receitasNoAno != null) { TicketsGlosaInterna.CalcularGlosa(receitasNoAno); for (int i = 1; i < 13; i++) { var ltlGlosaInterna = (Literal)divDre.FindControl("ltlGlosaInterna" + i.ToString()); ltlGlosaInterna.Text = "("; ltlGlosaInterna.Text += (receitasNoAno.Where(p => p.Mes == (MesEnum)i).Sum(f => f.ValorGlosaInterna) / 1000).ToString("#,###,###,###0"); ltlGlosaInterna.Text += ")"; } glosaInternaTotal = (receitasNoAno.Sum(f => f.ValorGlosaInterna) / 1000); ltlGlosaInternaTotal.Text = "("; ltlGlosaInternaTotal.Text += glosaInternaTotal.ToString("#,###,###,###0"); ltlGlosaInternaTotal.Text += ")"; } }
private void PreencherInsumos() { Orcamento.Domain.DB.Repositorio.Insumos insumos = new global::Orcamento.Domain.DB.Repositorio.Insumos(); Insumo = insumos.ObterInsumo(Departamento); TicketsDeReceita tickets = new TicketsDeReceita(); var ticketsDeReceita = tickets.Todos(Departamento); if (OrcamentoHospitalar != null) { var contasUnitarias = ServicoMapperOrcamentoView.TransformarProducaoDeInsumos( OrcamentoHospitalar.Servicos.Where(s => s.Conta.Nome != "Salas" && s.Conta.TipoValorContaEnum == TipoValorContaEnum.Quantidade && s.Conta.Calculado == false).ToList(), OrcamentoHospitalar.Servicos.Where(s => s.Conta.TipoValorContaEnum == TipoValorContaEnum.Porcentagem).ToList()); OrcamentoHospitalar.CalcularCustoHospitalar( ticketsDeReceita.Where( t => t.TipoTicket == global::Orcamento.Domain.ComponentesDeOrcamento.OrcamentoDeProducao.TipoTicketDeReceita. ReajusteDeInsumos).FirstOrDefault(), Insumo.CustosUnitarios.ToList(), contasUnitarias); GruposDeConta grupos = new GruposDeConta(); var grupoDeContaPessoal = grupos.ObterPor("Insumos"); var DespesasAgrupadas = OrcamentosDeDespesasOperacionais.Where( o => o.DespesasOperacionais.Where(ope => ope.Valor > 0).Count() > 0) .Select( c => c.DespesasOperacionais.Where( d => grupoDeContaPessoal.Contas.Any(g => g.CodigoDaConta == d.Conta.CodigoDaConta))). ToList(); for (int i = 1; i < 13; i++) { var ltlinsumos = (Literal)divDre.FindControl("ltlInsumos" + i.ToString()); receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorInsumos = OrcamentoHospitalar.CustosUnitariosTotal.Sum( c => c.Valores.Where(v => v.Mes == (MesEnum)i).Sum(insumo => insumo.Valor)); receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorInsumos += DespesasAgrupadas.Sum(d1 => d1.Where(d2 => d2.Mes == (MesEnum)i).Sum(despesa => despesa.Valor)); ltlinsumos.Text = "("; ltlinsumos.Text += ( receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorInsumos / 1000).ToString("#,###,###,###0"); ltlinsumos.Text += ")"; } insumosTotal = (receitasNoAno.Sum(r => r.ValorInsumos) / 1000); ltlInsumosTotal.Text = "("; ltlInsumosTotal.Text += insumosTotal.ToString("#,###,###,###0"); ltlInsumosTotal.Text += ")"; } else { for (int i = 1; i < 13; i++) { var ltlinsumos = (Literal)divDre.FindControl("ltlInsumos" + i.ToString()); ltlinsumos.Text += "(0)"; } ltlInsumosTotal.Text += "(0)"; } }
protected void Page_Load(object sender, EventArgs e) { VerificaSeExisteSessaoDeUsuario(); if (!this.IsPostBack) { Orcamento.Domain.DB.Repositorio.Orcamentos orcamentos = new Orcamento.Domain.DB.Repositorio.Orcamentos(); Departamentos setores = new Departamentos(); var departamento = setores.Obter((int)Session["DepartamentoLogadoId"]); var dres = orcamentos.ObterDRE(departamento); orcamentos = new Orcamento.Domain.DB.Repositorio.Orcamentos(); var listaOrcamentos = orcamentos.TodosPor(departamento); var viagens = PreencherResultadoOrçadoViagens(listaOrcamentos); var outrasDespesas = dres.Where(x => x.Nome == "Orçamento de outras despesas").Sum(v => v.ValorTotal); if (viagens > 0) { outrasDespesas += listaOrcamentos.Where(a => a.Tipo == TipoOrcamentoEnum.Viagem && a.VersaoFinal).Sum(a => a.Despesas.Sum(d => d.ValorTotalRefeicao + d.ValorTotalTaxi)); } var producoes = dres.Where(x => x.Nome == "Orçamento Hospitalar").FirstOrDefault(); PreencherOutrasDespesas(outrasDespesas); PreencherViagens(viagens); PreencherPessoal(orcamentos, departamento); Receita(producoes); trViagens.Visible = departamento.GetType() == typeof(Setor); trReceita.Visible = departamento.GetType() == typeof(Hospital); if (departamento.GetType() == typeof(Hospital) && producoes != null && producoes.ValorTotal > 0) { Insumos insumos = new Insumos(); var insumo = insumos.ObterInsumo(departamento); trInsumos.Visible = true; var orcamentoDeProducao = orcamentos.ObterOrcamentoHospitalarFinal(departamento); if (orcamentoDeProducao != null) { var contasUnitarias = ServicoMapperOrcamentoView.TransformarProducaoDeInsumos( orcamentoDeProducao.Servicos.Where(s => s.Conta.Nome != "Salas" && s.Conta.TipoValorContaEnum == TipoValorContaEnum.Quantidade && s.Conta.Calculado == false).ToList(), orcamentoDeProducao.Servicos.Where(s => s.Conta.TipoValorContaEnum == TipoValorContaEnum.Porcentagem).ToList()); TicketsDeReceita tickets = new TicketsDeReceita(); var ticketsDeReceita = tickets.Todos(departamento); var ticket = ticketsDeReceita.Where(t => t.TipoTicket == global::Orcamento.Domain.ComponentesDeOrcamento.OrcamentoDeProducao.TipoTicketDeReceita.ReajusteDeInsumos).FirstOrDefault(); orcamentoDeProducao.CalcularCustoHospitalar(ticket, insumo.CustosUnitarios.ToList(), contasUnitarias); txtInsumos.Text += "("; txtInsumos.Text += orcamentoDeProducao.CustosUnitariosTotal.Sum(c => c.Valores.Sum(v => v.Valor)).ToString("#,###,###,###0"); ; txtInsumos.Text += ")"; } } else { txtInsumos.Text += "("; txtInsumos.Text += 0.ToString(); txtInsumos.Text += ")"; } } }
private void PreencherDescontosObtidos() { TicketsDeReceita tickets = new TicketsDeReceita(); TicketsDescontos = tickets.Obter(Departamento, Orcamento.Domain.ComponentesDeOrcamento.OrcamentoDeProducao.TipoTicketDeReceita.Descontos); TicketsDescontos.CalcularGlosa(receitasNoAno); for (int i = 1; i < 13; i++) { var ltlDescontosObtidos = (Literal)divDre.FindControl("ltlDescontosObtidos" + i.ToString()); ltlDescontosObtidos.Text = (receitasNoAno.Where(p => p.Mes == (MesEnum)i).Sum(f => f.DescontosObtidos) / 1000).ToString("#,###,###,###0"); } ltlDescontosObtidosTotal.Text = (receitasNoAno.Sum(f => f.DescontosObtidos) / 1000).ToString("#,###,###,###0"); }
protected void btnCalcularTotalMensal_Click(object sender, EventArgs e) { List<ContaHospitalarDTO> contas = PreencherServicosHospitalares(); PreencherComplexidadeNoOrcamento(); preencherOrcamento(Orcamento, contas); var tickets = new TicketsDeProducao(); TicketsDeReceita ticketsDeReceita = new TicketsDeReceita(); var ticketDeReceita = ticketsDeReceita.Obter(this.Departamento, TipoTicketDeReceita.ReajusteDeConvenios); Orcamento.CalcularReceitaLiquida(tickets.Todos(Orcamento.Setor).ToList(),ticketDeReceita.Parcelas.ToList()); var lista = new List<TotalizadorCalculo>(); for (int i = 1; i < 13; i++) { lista.Add(new TotalizadorCalculo { Mes = (MesEnum)i, Valor = 0 }); } foreach (FatorReceita fator in Orcamento.FatoresReceita) { foreach (IncrementoDaComplexidade incremento in fator.Incrementos) { lista.Where(l => l.Mes == incremento.Mes).FirstOrDefault().Valor += incremento.ReceitaLiquida; } } for (int i = 1; i < 13; i++) { var literalTotalMensal = (Literal)tabelaDeRodapeFixo.FindControl("ltlTotalMes" + i.ToString()); literalTotalMensal.Text = lista.Where(l => l.Mes == (MesEnum)i).FirstOrDefault().Valor.ToString("#,###,###,###0.##"); } var totalAno = (Literal)tabelaDeRodapeFixo.FindControl("ltlTotalAno"); totalAno.Text = lista.Sum(l => l.Valor).ToString("#,###,###,###0.##"); }
public void PreencherReceitaBruta() { var tickets = new TicketsDeProducao(); TicketsDeReceita ticketsDeReceita = new TicketsDeReceita(); var ticketDeReceita = ticketsDeReceita.Obter(this.Departamento, TipoTicketDeReceita.ReajusteDeConvenios); Orcamento.CalcularReceitaLiquida(tickets.Todos(Orcamento.Setor).ToList(), ticketDeReceita.Parcelas.ToList()); List<FatorReceitaDTO> fatoresDeReceita = new List<FatorReceitaDTO>(); foreach (var fatorReceita in Orcamento.FatoresReceita.Where(g => g.Setor.NomeSetor != "Centro Cirúrgico").GroupBy(f => f.Setor)) { var fator = new FatorReceitaDTO { Setor = fatorReceita.Key.NomeSetor, SubSetor = fatorReceita.Key.NomeSetor, Id = fatorReceita.Key.Id }; fator.Incrementos = new List<IncrementoDaComplexidadeDTO>(); foreach (var item in fatorReceita.Select(f => f.Incrementos).GroupBy(i => i.GroupBy(b => b.Mes))) { foreach (var item1 in item) { foreach (var item2 in item1) { if (fator.Incrementos.Any(i => i.Mes == item2.Mes)) fator.Incrementos.Where(i => i.Mes == item2.Mes).FirstOrDefault().ReceitaLiquida += item2.ReceitaLiquida; else fator.Incrementos.Add(new IncrementoDaComplexidadeDTO() { Mes = item2.Mes, ReceitaLiquida = item2.ReceitaLiquida }); } } } fatoresDeReceita.Add(fator); } foreach (var fatorReceita in Orcamento.FatoresReceita.Where(g => g.Setor.NomeSetor == "Centro Cirúrgico")) { var fator = new FatorReceitaDTO { Setor = fatorReceita.Setor.NomeSetor, SubSetor = fatorReceita.SubSetor.NomeSetor, Id = fatorReceita.Setor.Id }; fator.Incrementos = new List<IncrementoDaComplexidadeDTO>(); foreach (var item in fatorReceita.Incrementos) { fator.Incrementos.Add(new IncrementoDaComplexidadeDTO() { Mes = item.Mes, ReceitaLiquida = item.ReceitaLiquida }); } fatoresDeReceita.Add(fator); } rptReceitaBruta.DataSource = fatoresDeReceita.OrderBy(x => x.Setor).ThenBy(y => y.SubSetor); rptReceitaBruta.DataBind(); }
public override void CalcularTotalDRE() { this.Legenda = "Orçamento Hospitalar"; TicketsDeProducao tickets = new TicketsDeProducao(); TicketsDeReceita ticketsDeReceita = new TicketsDeReceita(); var ticketDeReceita = ticketsDeReceita.Obter(this.Setor, TipoTicketDeReceita.ReajusteDeConvenios); this.CalcularReceitaLiquida(tickets.Todos(this.Setor).ToList(), ticketDeReceita.Parcelas.ToList()); this.ValorTotalDRE = FatoresReceita.Sum(x => x.Incrementos.Sum(y => y.ReceitaLiquida)); }
private void PreencherCustoHospitalar() { TicketsDeReceita tickets = new TicketsDeReceita(); var ticketsDeReceita = tickets.Todos(Departamento); this.Orcamento.CalcularCustoHospitalar(ticketsDeReceita.Where(t => t.TipoTicket == global::Orcamento.Domain.ComponentesDeOrcamento.OrcamentoDeProducao.TipoTicketDeReceita.ReajusteDeInsumos).FirstOrDefault(), Insumo.CustosUnitarios.ToList(), this.ContasUnitarias); rptCustoUnitarioTotal.DataSource = ServicoMapperOrcamentoView.TransformarProducao(Orcamento.CustosUnitariosTotal.ToList()).OrderBy(c => c.Setor).ThenBy(s => s.Subsetor); ; rptCustoUnitarioTotal.DataBind(); }
private void PreencherUnitarios() { int id = int.Parse(Session["DepartamentoLogadoId"].ToString()); Departamentos departamentos = new Departamentos(); Departamento = departamentos.Obter(id); if (Departamento.GetType() != typeof(Hospital)) Response.Redirect("/PainelOrcamento.aspx"); TicketsDeProducao tickets = new TicketsDeProducao(); Tickets = tickets.Todos(Departamento); TicketsDeReceita ticketsDeReceita = new Orcamento.Domain.DB.Repositorio.TicketsDeReceita(); TicketsDeReceita = ticketsDeReceita.Todos(Departamento); RptUnitarios.DataSource = Tickets.OrderBy(x => x.Setor.NomeSetor).ThenBy(y => y.SubSetor.NomeSetor); RptUnitarios.DataBind(); rptTipoDeTickets.DataSource = TicketsDeReceita.OrderBy(t => t.Nome); rptTipoDeTickets.DataBind(); }
private void SalvarTicketsDeReceita() { TicketsDeReceita tickets = new TicketsDeReceita(); foreach (var ticket in TicketsDeReceita) { tickets.Salvar(ticket); } }
private void PreecherImpostos() { TicketsDeReceita tickets = new TicketsDeReceita(); TicketsDeImpostos = tickets.Obter(Orcamento.Domain.ComponentesDeOrcamento.OrcamentoDeProducao.TipoTicketDeReceita.Impostos); if (receitasNoAno != null) { foreach (var ticket in TicketsDeImpostos) { ticket.CalcularGlosa(receitasNoAno); } for (int i = 1; i < 13; i++) { var ltlImpostos = (Literal)divDre.FindControl("ltlImpostos" + i.ToString()); ltlImpostos.Text = "("; ltlImpostos.Text += (receitasNoAno.Where(p => p.Mes == (MesEnum)i).Sum(f => f.ValorImpostos) / 1000).ToString("#,###,###,###0"); ltlImpostos.Text += ")"; } impostosTotal = (receitasNoAno.Sum(f => f.ValorImpostos) / 1000); ltlImpostosTotal.Text = "("; ltlImpostosTotal.Text += impostosTotal.ToString("#,###,###,###0"); ltlImpostosTotal.Text += ")"; } }