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 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"; } }
protected void Page_Load(object sender, EventArgs e) { VerificaSeExisteSessaoDeUsuario(); VerificarSeUsuarioHospitalar(); if (!Page.IsPostBack) { var departamentos = new Departamentos(); Departamento = departamentos.Obter((int)Session["DepartamentoLogadoId"]); Orcamento.Domain.DB.Repositorio.Insumos insumos = new global::Orcamento.Domain.DB.Repositorio.Insumos(); Insumo = insumos.ObterInsumo(Departamento); PreencherCustoUnitario(); Orcamentos orcamentos = new Orcamentos(); Orcamento = orcamentos.ObterOrcamentoHospitalarFinal(Departamento); if (Orcamento != null) { this.ContasUnitarias = ServicoMapperOrcamentoView.TransformarProducaoDeInsumos( Orcamento.Servicos.Where(s => s.Conta.Nome != "Salas" && s.Conta.TipoValorContaEnum == TipoValorContaEnum.Quantidade && s.Conta.Calculado == false).ToList(), Orcamento.Servicos.Where(s => s.Conta.TipoValorContaEnum == TipoValorContaEnum.Porcentagem).ToList()); PreecherUnitarios(); PreencherCustoHospitalar(); } } }