public async Task Executar(FiltroRelatorioDto filtroRelatorioDto)
        {
            SentrySdk.AddBreadcrumb($"Obtendo dados do relatório", "8 - MonitorarStatusRelatorioUseCase");

            var dadosRelatorio = filtroRelatorioDto.ObterObjetoFiltro <DadosRelatorioDto>();

            var detalhesRelatorio = await mediator.Send(new ObterDetalhesRelatorioQuery(dadosRelatorio.RequisicaoId, dadosRelatorio.JSessionId));

            SentrySdk.AddBreadcrumb($"dados do relatório OK", "8 - MonitorarStatusRelatorioUseCase");


            if (detalhesRelatorio != null && detalhesRelatorio.Pronto)
            {
                SentrySdk.AddBreadcrumb($"Indo publicar na fila Prontos..", "8 - MonitorarStatusRelatorioUseCase");

                //TODO: Aplicar Polly ??
                if (await mediator.Send(new SalvarRelatorioJasperLocalCommand(dadosRelatorio.JSessionId, dadosRelatorio.RequisicaoId, dadosRelatorio.ExportacaoId, dadosRelatorio.CodigoCorrelacao)))
                {
                    servicoFila.PublicaFila(new PublicaFilaDto(dadosRelatorio, RotasRabbit.RotaRelatoriosProntosSgp, RotasRabbit.ExchangeSgp, filtroRelatorioDto.CodigoCorrelacao));
                    SentrySdk.CaptureMessage("8 - MonitorarStatusRelatorioUseCase - Publicado na fila PRONTO OK!");
                }
                else
                {
                    PublicarNovamenteNaFila(filtroRelatorioDto, dadosRelatorio);
                }
            }
            else
            {
                PublicarNovamenteNaFila(filtroRelatorioDto, dadosRelatorio);
            }
        }
Exemplo n.º 2
0
        public async Task Executar(FiltroRelatorioDto request)
        {
            try
            {
                var filtros = request.ObterObjetoFiltro <RelatorioControleGradeFiltroDto>();

                // TODO carregar dados do relatório sintético / analítico
                switch (filtros.Modelo)
                {
                case ModeloRelatorio.Sintetico:
                    await mediator.Send(new GerarRelatorioControleGradeSinteticoCommand(filtros, request.CodigoCorrelacao));

                    break;

                case ModeloRelatorio.Analitico:
                    await mediator.Send(new GerarRelatorioControleGradeAnaliticoCommand(filtros, request.CodigoCorrelacao));

                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task Executar(FiltroRelatorioDto request)
        {
            var relatorioQuery = request.ObterObjetoFiltro <ObterRelatorioConselhoClasseAlunoQuery>();

            SentrySdk.CaptureMessage("4.09 Obtendo relatorio.. - RelatorioConselhoClasseAlunoUseCase");

            var relatorio = await mediator.Send(relatorioQuery);

            SentrySdk.CaptureMessage("5.1 Obtive relatorio.. - RelatorioConselhoClasseAlunoUseCase");

            var urlRelatorio = "";

            if (relatorio.Relatorio.FirstOrDefault().EhBimestreFinal)
            {
                urlRelatorio = "/sgp/RelatorioConselhoClasse/ConselhoClasseAbaFinal";
            }
            else
            {
                urlRelatorio = "/sgp/RelatorioConselhoClasse/ConselhoClasse";
            }

            var relatorioSerializado = JsonConvert.SerializeObject(relatorio);

            SentrySdk.CaptureMessage("5.2 Serializei relatório.. - RelatorioConselhoClasseAlunoUseCase");

            SentrySdk.AddBreadcrumb("5 - Obtive o relatorio serializado : " + relatorioSerializado, "5 - RelatorioConselhoClasseAlunoUseCase");
            await mediator.Send(new GerarRelatorioAssincronoCommand(urlRelatorio, relatorioSerializado, TipoFormatoRelatorio.Pdf, request.CodigoCorrelacao));

            SentrySdk.CaptureMessage("5 FINAL - RelatorioConselhoClasseAlunoUseCase");
        }
        public async Task <bool> RelatorioConselhoClasseAluno([FromQuery] FiltroRelatorioDto request, IRelatorioConselhoClasseAlunoUseCase relatorioConselhoClasseAlunoUseCase)
        {
            SentrySdk.CaptureMessage("4 - relatorio/conselhoclassealuno");
            await relatorioConselhoClasseAlunoUseCase.Executar(request);

            return(true);
        }
        public async Task <bool> RelatoriosProcessando([FromQuery] FiltroRelatorioDto request, [FromServices] IMonitorarStatusRelatorioUseCase monitorarStatusRelatorioUseCase)
        {
            SentrySdk.CaptureMessage("7 - relatorios/processando");
            await monitorarStatusRelatorioUseCase.Executar(request);

            return(true);
        }
        public async Task Executar(FiltroRelatorioDto request)
        {
            try
            {
                var parametros = request.ObterObjetoFiltro <FiltroRelatorioPlanejamentoDiarioDto>();

                var relatorioDto = new RelatorioControlePlanejamentoDiarioDto();

                relatorioDto.Filtro = await ObterFiltroRelatorio(parametros, request.UsuarioLogadoRF);

                if (parametros.ModalidadeTurma == Modalidade.Infantil)
                {
                    // Query DiarioBordo
                    relatorioDto.Turmas = await mediator.Send(new ObterDadosPlanejamentoDiarioBordoQuery(parametros));

                    await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioControlePlanejamentoDiarioInfantil", relatorioDto, request.CodigoCorrelacao));
                }
                else
                {
                    relatorioDto.Turmas = await mediator.Send(new ObterPlanejamentoDiarioPlanoAulaQuery(parametros));

                    await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioControlePlanejamentoDiario", relatorioDto, request.CodigoCorrelacao));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task Executar(FiltroRelatorioDto request)
        {
            var relatorioFiltros = request.ObterObjetoFiltro <AdesaoAEFiltroDto>();

            if (relatorioFiltros.DreCodigo == "-99")
            {
                relatorioFiltros.DreCodigo = string.Empty;
            }

            if (relatorioFiltros.UeCodigo == "-99")
            {
                relatorioFiltros.UeCodigo = string.Empty;
            }

            var listaConsolida = await mediator.Send(new ObterValoresConsolidadosAdesaoAppQuery(relatorioFiltros.DreCodigo, relatorioFiltros.UeCodigo));

            if (!listaConsolida.Any())
            {
                throw new NegocioException("Não foram encontrados dados com os filtros informados.");
            }


            var relatorioDto = await mediator.Send(new ObterListaRelatorioAdessaoAEQuery(listaConsolida, relatorioFiltros));

            await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioAEAdesao", relatorioDto, request.CodigoCorrelacao));
        }
        public async Task Executar(FiltroRelatorioDto request)
        {
            var filtros = request.ObterObjetoFiltro <ObterPlanoAulaFiltroQuery>();

            var planoAula = await mediator.Send(new ObterPlanoAulaQuery(filtros.PlanoAulaId));

            if (planoAula == null)
            {
                throw new NegocioException("Plano de aula não encontrado.");
            }

            var componenteCurricular = await mediator.Send(new ObterComponentesCurricularesEolPorIdsQuery(planoAula.ComponenteCurricularId));

            planoAula.ComponenteCurricular = componenteCurricular.FirstOrDefault().Disciplina;
            planoAula.Objetivos            = await mediator.Send(new ObterPlanoAulaObjetivoAprendizagemQuery(filtros.PlanoAulaId));

            planoAula.Descricao           = planoAula.Descricao != null ? planoAula.Descricao : "";
            planoAula.LicaoCasa           = planoAula.LicaoCasa != null ? planoAula.LicaoCasa : "";
            planoAula.Recuperacao         = planoAula.Recuperacao != null ? planoAula.Recuperacao : "";
            planoAula.DesenvolvimentoAula = planoAula.DesenvolvimentoAula != null ? planoAula.DesenvolvimentoAula : "";

            planoAula.Usuario = filtros.Usuario.Nome;
            planoAula.RF      = filtros.Usuario.CodigoRf;

            await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioPlanoAula", planoAula, request.CodigoCorrelacao));
        }
Exemplo n.º 9
0
        private void NotificarUsuarioRelatorioComErro(FiltroRelatorioDto request, string erro)
        {
            var mensagemRabbit = new MensagemRabbit(string.Empty, new RetornoWorkerDto(erro), request.CodigoCorrelacao, request.UsuarioLogadoRF);
            var mensagem       = JsonConvert.SerializeObject(mensagemRabbit);
            var body           = Encoding.UTF8.GetBytes(mensagem);

            _channel.BasicPublish(RotasRabbit.ExchangeSgp, RotasRabbit.RotaRelatorioComErro, null, body);
        }
Exemplo n.º 10
0
        public async Task Executar(FiltroRelatorioDto request)
        {
            var filtros = request.ObterObjetoFiltro <FiltroRelatorioPendenciasFechamentoDto>();

            var resultado = await mediator.Send(new ObterRelatorioFechamentoPedenciasQuery()
            {
                filtroRelatorioPendenciasFechamentoDto = filtros
            });

            await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioFechamentoPendencias", resultado, request.CodigoCorrelacao));
        }
 public async Task Executar(FiltroRelatorioDto request)
 {
     try
     {
         var filtros = request.ObterObjetoFiltro <FiltroNotificacaoDto>();
         await mediator.Send(new GerarRelatorioNotificacaoCommand(filtros, request.CodigoCorrelacao));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 12
0
        public async Task Executar(FiltroRelatorioDto request)
        {
            var gamesQuery = request.ObterObjetoFiltro <GamesQuery>();
            var nomeDoGame = await mediator.Send(gamesQuery);

            var conselhoClasse = await mediator.Send(new RelatorioExemploQuery());

            var dadosRelatorio = JsonConvert.SerializeObject(conselhoClasse);

            await mediator.Send(new GerarRelatorioAssincronoCommand("/sme/sgp/RelatorioConselhoClasse/ConselhoClasse",
                                                                    dadosRelatorio,
                                                                    TipoFormatoRelatorio.Pdf,
                                                                    request.CodigoCorrelacao));
        }
        public async Task Executar(FiltroRelatorioDto request)
        {
            var filtros = request.ObterObjetoFiltro <FiltroRelatorioResumoPAPDto>();

            // Obter dados de dre e ue
            var dreUe = await ObterDadosDreUe(filtros);

            // Obter dados de dre e ue
            var turma = await ObterDadosTurma(filtros);

            var ciclo = await ObterCiclo(filtros);

            var periodo = await ObterPeriodo(filtros);

            var totalEstudantes = await ObterTotalEstudantes(filtros);

            var totalFrequencia = await ObterTotalFrequencia(filtros);

            var encaminhamento = await ObterEncaminhamento(filtros);

            var resultado = await ObterResultados(filtros);


            if ((resultado == null || !resultado.Any()) && (encaminhamento == null || !encaminhamento.Any()))
            {
                throw new NegocioException("Não foi possível localizar dados com os filtros informados.");
            }

            var relatorioResumoPAPDto = new ResumoPAPDto()
            {
                Ano                = filtros.Ano != "0" ? filtros.Ano : "Todos",
                AnoLetivo          = filtros.AnoLetivo,
                Ciclo              = ciclo.Descricao,
                Data               = DateTime.Now.ToString("dd/MM/yyyy"),
                DreNome            = dreUe.DreNome,
                EhEncaminhamento   = (filtros.Periodo == (int)PeriodoRecuperacaoParalela.Encaminhamento),
                EncaminhamentoDto  = encaminhamento != null && encaminhamento.Any() ? encaminhamento.ToList() : null,
                FrequenciaDto      = totalFrequencia,
                Periodo            = periodo.Nome,
                ResultadoDto       = resultado != null && resultado.Any() ? resultado.ToList() : null,
                TotalEstudantesDto = totalEstudantes,
                Turma              = turma.Nome,
                UeNome             = dreUe.UeNome,
                UsuarioNome        = filtros.UsuarioNome,
                UsuarioRF          = filtros.UsuarioRf
            };

            await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioResumosPAP", relatorioResumoPAPDto, request.CodigoCorrelacao));
        }
        public async Task Executar(FiltroRelatorioDto request)
        {
            var relatorioQuery = request.ObterObjetoFiltro <ObterRelatorioBoletimEscolarQuery>();
            var relatorio      = await mediator.Send(relatorioQuery);

            var jsonString = JsonConvert.SerializeObject(relatorio, UtilJson.ObterConfigConverterNulosEmVazio());

            if (relatorioQuery.Modalidade == Modalidade.EJA)
            {
                await mediator.Send(new GerarRelatorioAssincronoCommand("/sgp/RelatorioBoletimEscolarEja/BoletimEscolarEja", jsonString, TipoFormatoRelatorio.Pdf, request.CodigoCorrelacao));
            }
            else
            {
                await mediator.Send(new GerarRelatorioAssincronoCommand("/sgp/RelatorioBoletimEscolar/BoletimEscolar", jsonString, TipoFormatoRelatorio.Pdf, request.CodigoCorrelacao));
            }
        }
Exemplo n.º 15
0
        public async Task Executar(FiltroRelatorioDto request)
        {
            var filtros = request.ObterObjetoFiltro <FiltroConselhoClasseAtaFinalDto>();

            var mensagensErro    = new StringBuilder();
            var relatoriosTurmas = await mediator.Send(new ObterRelatorioConselhoClasseAtaFinalPdfQuery(filtros, request.UsuarioLogadoRF, request.PerfilUsuario));

            if (!relatoriosTurmas.Any())
            {
                throw new NegocioException("Não há dados para o relatório de Ata Final de Resultados.");
            }

            switch (filtros.TipoFormatoRelatorio)
            {
            case TipoFormatoRelatorio.Xlsx:
                var relatorioDto = await mediator.Send(new ObterRelatorioConselhoClasseAtaFinalExcelQuery()
                {
                    ObjetoExportacao = relatoriosTurmas
                });

                if (relatorioDto == null)
                {
                    throw new NegocioException("Não foi possível transformar os dados obtidos em dados excel.");
                }

                await mediator.Send(new GerarRelatorioAtaFinalExcelCommand(relatorioDto, relatoriosTurmas, "RelatorioAtasComColunaFinal", request.UsuarioLogadoRF));

                break;

            case TipoFormatoRelatorio.Pdf:
                await mediator.Send(new GerarRelatorioAtaFinalHtmlParaPdfCommand("RelatorioAtasComColunaFinal.html", relatoriosTurmas, request.CodigoCorrelacao, mensagensErro.ToString()));

                break;

            case TipoFormatoRelatorio.Rtf:
            case TipoFormatoRelatorio.Html:
            case TipoFormatoRelatorio.Xls:
            case TipoFormatoRelatorio.Csv:
            case TipoFormatoRelatorio.Xml:
            case TipoFormatoRelatorio.Docx:
            case TipoFormatoRelatorio.Odt:
            case TipoFormatoRelatorio.Ods:
            case TipoFormatoRelatorio.Jrprint:
            default:
                throw new NegocioException($"Não foi possível exportar este relátorio para o formato {filtros.TipoFormatoRelatorio}");
            }
        }
        public async Task Executar(FiltroRelatorioDto request)
        {
            try
            {
                var filtro       = request.ObterObjetoFiltro <FiltroRelatorioUsuariosDto>();
                var relatorioDto = new RelatorioUsuarioDto();

                await ObterFiltroRelatorio(relatorioDto, filtro, request.UsuarioLogadoRF);
                await ObterDadosRelatorioUsuarios(relatorioDto, filtro);

                await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioUsuarios", relatorioDto, request.CodigoCorrelacao));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Exemplo n.º 17
0
        public async Task Executar(FiltroRelatorioDto request)
        {
            var filtros = request.ObterObjetoFiltro <FiltroRelatorioRecuperacaoParalelaDto>();

            // Obter dados de dre e ue
            var dreUe = await ObterDadosDreUe(filtros);

            // Obter dados de aluno
            var alunos = await ObterDadosAlunos(filtros);

            // Obter seções
            var secoes = await mediator.Send(new ObterRelatorioRecuperacaoParalelaAlunoSecaoQuery()
            {
                TurmaCodigo = filtros.TurmaCodigo, AlunoCodigo = filtros.AlunoCodigo, Semestre = filtros.Semestre
            });

            var turma = await mediator.Send(new ObterTurmaQuery(filtros.TurmaCodigo));

            if (turma == null)
            {
                throw new NegocioException($"Não foi possível obter os dados da turma {filtros.TurmaCodigo}");
            }

            var relatorioRecuperacaoParalelaDto = new RelatorioRecuperacaoParalelaDto(dreUe.DreNome, dreUe.UeNome)
            {
                Semestre    = filtros.Semestre,
                UsuarioNome = filtros.UsuarioNome,
                AnoLetivo   = secoes.FirstOrDefault().AnoLetivo,
                UsuarioRF   = filtros.UsuarioRf
            };

            //Obter Dados da turma Regular
            var turmaRegularDaTurmaRec = await mediator.Send(new ObterAlunosTurmasRegularesPorTurmaRecuperacaoCodigoQuery(long.Parse(filtros.TurmaCodigo)));

            if (turmaRegularDaTurmaRec == null || !turmaRegularDaTurmaRec.Any())
            {
                throw new NegocioException($"Não foi possível obter as turmas regulares da turma {filtros.TurmaCodigo}.");
            }


            // Prencher Alunos
            PreencherAlunos(alunos, filtros, secoes, relatorioRecuperacaoParalelaDto, turmaRegularDaTurmaRec, turma);

            await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioRecuperacaoParalela", relatorioRecuperacaoParalelaDto, request.CodigoCorrelacao));
        }
        public async Task Executar(FiltroRelatorioDto request)
        {
            try
            {
                var filtro       = request.ObterObjetoFiltro <FiltroRelatorioLeituraComunicadosDto>();
                var relatorioDto = new RelatorioLeituraComunicadosDto();

                filtro.Turma = filtro.Turma == "-99" ? "" : filtro.Turma;

                await ObterFiltroRelatorio(relatorioDto, filtro, request.UsuarioLogadoRF);
                await ObterDadosRelatorio(relatorioDto, filtro);

                await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioEscolaAquiLeituraComunicados", relatorioDto, request.CodigoCorrelacao));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task Executar(FiltroRelatorioDto request)
        {
            var relatorioFiltros = request.ObterObjetoFiltro <FiltroRelatorioParecerConclusivoDto>();

            var resultado = await mediator.Send(new ObterRelatorioParecerConclusivoQuery()
            {
                filtroRelatorioParecerConclusivoDto = relatorioFiltros, UsuarioRf = request.UsuarioLogadoRF
            });

            switch (relatorioFiltros.TipoFormatoRelatorio)
            {
            case TipoFormatoRelatorio.Xlsx:
                var dadosExcel = await mediator.Send(new ObterRelatorioParecerConclusivoExcelQuery()
                {
                    RelatorioParecerConclusivo = resultado
                });

                if (dadosExcel == null)
                {
                    throw new NegocioException("Não foi possível transformar os dados obtidos em dados excel.");
                }
                await mediator.Send(new GerarExcelGenericoCommand(dadosExcel.ToList <object>(), "RelatorioParecerConclusivo", request.CodigoCorrelacao));

                break;

            case TipoFormatoRelatorio.Pdf:
                await GerarRelatorioPdf(mediator, resultado, request.CodigoCorrelacao);

                break;

            case TipoFormatoRelatorio.Rtf:
            case TipoFormatoRelatorio.Html:
            case TipoFormatoRelatorio.Xls:
            case TipoFormatoRelatorio.Csv:
            case TipoFormatoRelatorio.Xml:
            case TipoFormatoRelatorio.Docx:
            case TipoFormatoRelatorio.Odt:
            case TipoFormatoRelatorio.Ods:
            case TipoFormatoRelatorio.Jrprint:
            default:
                throw new NegocioException($"Não foi possível exportar este relátorio para o formato {relatorioFiltros.TipoFormatoRelatorio}");
            }
        }
        public async Task Executar(FiltroRelatorioDto request)
        {
            var filtros = request.ObterObjetoFiltro <FiltroRelatorioResumoPAPDto>();

            // Obter dados de dre e ue
            var dreUe = await ObterDadosDreUe(filtros);

            // Obter dados de dre e ue
            var turma = await ObterDadosTurma(filtros);

            var ciclo = await ObterCiclo(filtros);

            var periodo = await ObterPeriodo(filtros);

            var totalEstudantes = await ObterTotalEstudantes(filtros);

            var totalFrequencia = await ObterTotalFrequencia(filtros);

            var encaminhamento = await ObterEncaminhamento(filtros);

            var resultado = await ObterResultados(filtros);

            var graficos = ObterGraficos(totalEstudantes, totalFrequencia, encaminhamento, resultado);

            var relatorioGraficoPAPDto = new GraficoPAPDto()
            {
                Ano              = filtros.Ano != "0" ? filtros.Ano : "Todos",
                AnoLetivo        = filtros.AnoLetivo,
                Ciclo            = ciclo.Descricao,
                Data             = DateTime.Now.ToString("dd/MM/yyyy"),
                DreNome          = dreUe.DreNome,
                EhEncaminhamento = (filtros.Periodo == (int)PeriodoRecuperacaoParalela.Encaminhamento),
                Periodo          = periodo.Nome,
                GraficosDto      = graficos,
                Turma            = turma.Nome,
                UeNome           = dreUe.UeNome,
                UsuarioNome      = filtros.UsuarioNome,
                UsuarioRF        = filtros.UsuarioRf
            };

            await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioGraficosPAP", relatorioGraficoPAPDto, request.CodigoCorrelacao));
        }
Exemplo n.º 21
0
        public async Task Executar(FiltroRelatorioDto request)
        {
            var filtros = request.ObterObjetoFiltro <RelatorioImpressaoCalendarioFiltroDto>();

            Dre dre = null;

            if (!string.IsNullOrEmpty(filtros.DreCodigo))
            {
                dre = await mediator.Send(new ObterDrePorCodigoQuery()
                {
                    DreCodigo = filtros.DreCodigo
                });

                if (dre == null)
                {
                    throw new NegocioException("Não foi possível localizar a Dre");
                }
            }
            Ue ue = null;

            if (!string.IsNullOrEmpty(filtros.UeCodigo))
            {
                ue = await mediator.Send(new ObterUePorCodigoQuery(filtros.UeCodigo));

                if (ue == null)
                {
                    throw new NegocioException("Não foi possível localizar a Ue");
                }
            }

            var tipoCalendario = await mediator.Send(new ObterTipoCalendarioPorIdQuery(filtros.TipoCalendarioId));

            if (tipoCalendario == null)
            {
                throw new NegocioException("Não foi possível localizar o Tipo de Calendário.");
            }

            var relatorio = await mediator.Send(new ObterRelatorioImpressaoCalendarioQuery(dre, ue, tipoCalendario,
                                                                                           filtros.EhSME, filtros.UsuarioRF, filtros.UsuarioPerfil, filtros.ConsideraPendenteAprovacao, filtros.PodeVisualizarEventosOcorrenciaDre));

            await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioImpressaoCalendario", relatorio, request.CodigoCorrelacao));
        }
Exemplo n.º 22
0
        public async Task Executar(FiltroRelatorioDto request)
        {
            try
            {
                var relatorioQuery  = request.ObterObjetoFiltro <ObterRelatorioConselhoClasseTurmaQuery>();
                var relatorioAlunos = await mediator.Send(relatorioQuery);

                relatorioAlunos = relatorioAlunos.OrderBy(a => a.AlunoNome);

                string jsonString;

                if (relatorioAlunos.FirstOrDefault() is RelatorioConselhoClasseBimestre)
                {
                    List <RelatorioConselhoClasseBimestre> listBimestre = relatorioAlunos.Cast <RelatorioConselhoClasseBimestre>().ToList();
                    jsonString = JsonSerializer.Serialize(new { RelatorioConselhoDeClasse = listBimestre });
                }
                else
                {
                    List <RelatorioConselhoClasseFinal> listFinal = relatorioAlunos.Cast <RelatorioConselhoClasseFinal>().ToList();
                    jsonString = JsonSerializer.Serialize(new { RelatorioConselhoDeClasse = listFinal });
                }

                var urlRelatorio = "";

                if (relatorioAlunos.FirstOrDefault().EhBimestreFinal)
                {
                    urlRelatorio = "/sgp/RelatorioConselhoClasse/ConselhoClasseAbaFinal";
                }
                else
                {
                    urlRelatorio = "/sgp/RelatorioConselhoClasse/ConselhoClasse";
                }

                await mediator.Send(new GerarRelatorioAssincronoCommand(urlRelatorio, jsonString, TipoFormatoRelatorio.Pdf, request.CodigoCorrelacao));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 23
0
        public async Task Executar(FiltroRelatorioDto request)
        {
            var filtros = request.ObterObjetoFiltro <FiltroRelatorioNotasEConceitosFinaisDto>();
            var relatorioNotasEConceitosFinaisDto = await mediator.Send(new ObterRelatorioNotasEConceitosFinaisPdfQuery(filtros));

            switch (filtros.TipoFormatoRelatorio)
            {
            case TipoFormatoRelatorio.Xlsx:
                var relatorioDto = await mediator.Send(new ObterRelatorioNotasEConceitosFinaisExcelQuery()
                {
                    RelatorioNotasEConceitosFinais = relatorioNotasEConceitosFinaisDto
                });

                if (relatorioDto == null)
                {
                    throw new NegocioException("Não foi possível transformar os dados obtidos em dados excel.");
                }

                await mediator.Send(new GerarExcelGenericoCommand(relatorioDto.ToList <object>(), "RelatorioNotasEConceitosFinais", request.CodigoCorrelacao));

                break;

            case TipoFormatoRelatorio.Pdf:
                await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioNotasEConceitosFinais", relatorioNotasEConceitosFinaisDto, request.CodigoCorrelacao));

                break;

            case TipoFormatoRelatorio.Rtf:
            case TipoFormatoRelatorio.Html:
            case TipoFormatoRelatorio.Xls:
            case TipoFormatoRelatorio.Csv:
            case TipoFormatoRelatorio.Xml:
            case TipoFormatoRelatorio.Docx:
            case TipoFormatoRelatorio.Odt:
            case TipoFormatoRelatorio.Ods:
            case TipoFormatoRelatorio.Jrprint:
            default:
                throw new NegocioException($"Não foi possível exportar este relátorio para o formato {filtros.TipoFormatoRelatorio}");
            }
        }
Exemplo n.º 24
0
        public async Task Executar(FiltroRelatorioDto request)
        {
            var relatorioFiltros = request.ObterObjetoFiltro <FiltroRelatorioFaltasFrequenciasDto>();

            var dadosRelatorio = await mediator.Send(new ObterRelatorioFaltasFrequenciaPdfQuery(relatorioFiltros));

            switch (relatorioFiltros.TipoFormatoRelatorio)
            {
            case TipoFormatoRelatorio.Xlsx:
                var relatorioDto = await mediator.Send(new ObterRelatorioFaltasFrequenciasExcelQuery()
                {
                    RelatorioFaltasFrequencias = dadosRelatorio, TipoRelatorio = relatorioFiltros.TipoRelatorio
                });

                if (relatorioDto == null)
                {
                    throw new NegocioException("Não foi possível transformar os dados obtidos em dados excel.");
                }

                switch (relatorioFiltros.TipoRelatorio)
                {
                case TipoRelatorioFaltasFrequencia.Ambos:
                    var relatorioAmbos = relatorioDto.OfType <RelatorioFaltasFrequenciasExcelDto>();
                    await mediator.Send(new GerarExcelGenericoCommand(relatorioAmbos.ToList <object>(), "Faltas Frequencias", request.CodigoCorrelacao));

                    break;

                case TipoRelatorioFaltasFrequencia.Faltas:
                    var relatorioFaltas = relatorioDto.OfType <RelatorioFaltasExcelDto>();
                    await mediator.Send(new GerarExcelGenericoCommand(relatorioFaltas.ToList <object>(), "Faltas Frequencias", request.CodigoCorrelacao));

                    break;

                case TipoRelatorioFaltasFrequencia.Frequencia:
                    var relatorioFrequencias = relatorioDto.OfType <RelatorioFrequenciasExcelDto>();
                    await mediator.Send(new GerarExcelGenericoCommand(relatorioFrequencias.ToList <object>(), "Faltas Frequencias", request.CodigoCorrelacao));

                    break;

                default:
                    throw new NegocioException($"Não foi possível exportar este relátorio para o tipo {relatorioFiltros.TipoRelatorio}");
                }
                break;

            case TipoFormatoRelatorio.Pdf:
                await mediator.Send(new GerarRelatorioHtmlParaPdfCommand("RelatorioFaltasFrequencias", dadosRelatorio, request.CodigoCorrelacao));

                break;

            case TipoFormatoRelatorio.Rtf:
            case TipoFormatoRelatorio.Html:
            case TipoFormatoRelatorio.Xls:
            case TipoFormatoRelatorio.Csv:
            case TipoFormatoRelatorio.Xml:
            case TipoFormatoRelatorio.Docx:
            case TipoFormatoRelatorio.Odt:
            case TipoFormatoRelatorio.Ods:
            case TipoFormatoRelatorio.Jrprint:
            default:
                throw new NegocioException($"Não foi possível exportar este relátorio para o formato {relatorioFiltros.TipoFormatoRelatorio}");
            }
        }
        public async Task <bool> RelatorioFechamentoPendencias([FromQuery] FiltroRelatorioDto request, [FromServices] IRelatorioFechamentoPendenciasUseCase relatorioFechamentoPendenciasUseCase)
        {
            await relatorioFechamentoPendenciasUseCase.Executar(request);

            return(true);
        }
        public async Task <bool> RelatorioHistoricoEscolar([FromQuery] FiltroRelatorioDto request, [FromServices] IRelatorioHistoricoEscolarUseCase relatorioHistoricoEscolarUseCase)
        {
            await relatorioHistoricoEscolarUseCase.Executar(request);

            return(true);
        }
        public async Task <bool> RelatorioFaltasFrequencias([FromBody] FiltroRelatorioDto request, [FromServices] IRelatorioFaltasFrequenciasUseCase relatorioFaltasFrequenciasUseCase)
        {
            await relatorioFaltasFrequenciasUseCase.Executar(request);

            return(true);
        }
        public async Task <bool> RelatorioConselhoClasseAtaFinal([FromQuery] FiltroRelatorioDto request, [FromServices] IRelatorioConselhoClasseAtaFinalUseCase relatorioConselhoClasseAtaFinalUseCase)
        {
            await relatorioConselhoClasseAtaFinalUseCase.Executar(request);

            return(true);
        }
        public async Task <bool> RelatorioConselhoClasseTurma([FromQuery] FiltroRelatorioDto request, IRelatorioConselhoClasseTurmaUseCase relatorioConselhoClasseTurmaUseCase)
        {
            await relatorioConselhoClasseTurmaUseCase.Executar(request);

            return(true);
        }
        public async Task <bool> PlanejamentoDiario([FromQuery] FiltroRelatorioDto request, [FromServices] IRelatorioPlanejamentoDiarioUseCase relatorioUseCase)
        {
            await relatorioUseCase.Executar(request);

            return(true);
        }