Ejemplo n.º 1
0
        //[ParameterTypeFilter("visualizar")]
        public async Task <byte[]> ReportMovimento([FromHeader] string ibge, [FromBody] ReportImunobiologicoViewModel report)
        {
            try
            {
                var relatorio = new ReportImunizacaoViewModel();
                relatorio.ibge    = ibge;
                relatorio.unidade = (int)report.unidadelogadaParam;

                string filtrotexto = string.Empty;
                string filtro      = string.Empty;

                filtrotexto = $@"Período: {Convert.ToDateTime(report.datainicio).ToString("dd/MM/yyyy")} a {Convert.ToDateTime(report.datafim).ToString("dd/MM/yyyy")} ;";

                ibge = _config.GetConnectionString(Connection.GetConnection(ibge));

                var info      = _repository.GetBoletimMovimentacao(ibge, report.unidade, report.produto, Convert.ToDateTime(report.datafim), Convert.ToDateTime(report.datainicio));
                var cabecalho = _segrepository.GetCabecalhoPaisagem(ibge, (int)report.unidadelogadaParam);

                relatorio.itensBoletim.AddRange(info);
                relatorio.impresso_por = $"Relatório emitido por {report.usuarioParam} - {DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")}";
                relatorio.filtro       = filtrotexto;
                relatorio.cabecalho    = _segrepository.GetCabecalhoPaisagem(ibge, (int)report.unidadelogadaParam);

                var model = GeraReportMovimento(relatorio);

                return(await model);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 2
0
        //[ParameterTypeFilter("visualizar")]
        public async Task <byte[]> ReportImunobiologico([FromHeader] string ibge, [FromBody] ReportImunobiologicoViewModel report)
        {
            try
            {
                var relatorio = new ReportImunizacaoViewModel();
                relatorio.ibge    = ibge;
                relatorio.unidade = (int)report.unidadelogadaParam;

                string filtrotexto = string.Empty;
                string filtro      = string.Empty;

                ibge = _config.GetConnectionString(Connection.GetConnection(ibge));

                filtrotexto = $@"Período: {Convert.ToDateTime(report.datainicio).ToString("dd/MM/yyyy")} a {Convert.ToDateTime(report.datafim).ToString("dd/MM/yyyy")} ;";

                if (report.id_paciente != null && report.id_paciente != 0)
                {
                    filtro      += $" AND V.ID_PACIENTE = {report.id_paciente}";
                    filtrotexto += $" Paciente: {report.nome_paciente} ;";
                }

                if (report.count_unidades == 1)
                {
                    filtrotexto += $" Unidade: {report.nom_unidade}; ";
                }
                else if (report.count_unidades > 1)
                {
                    filtrotexto += $" Várias Unidades Selecionadas; ";
                }

                if (report.count_profissional == 1)
                {
                    filtrotexto += $"Profissional: {report.nom_profissional};";
                }
                else if (report.count_profissional > 1)
                {
                    filtrotexto += $" Vários Profissionais Selecionados; ";
                }

                if (report.count_produto == 1)
                {
                    filtrotexto += $" Produto: {report.nom_produto}; ";
                }
                else if (report.count_produto > 1)
                {
                    filtrotexto += $" Vários Produtos Selecionados; ";
                }

                if (report.count_estrategias == 1)
                {
                    filtrotexto += $" Estratégia: {report.nom_estrategia}; ";
                }
                else if (report.count_estrategias > 1)
                {
                    filtrotexto += $" Várias Estratégias Selecionados; ";
                }

                if (!string.IsNullOrWhiteSpace(report.unidade))
                {
                    filtro += $" AND V.ID_UNIDADE IN ({report.unidade})";
                }

                if (!string.IsNullOrWhiteSpace(report.profissional))
                {
                    filtro += $" AND V.ID_PROFISIONAL IN ({report.profissional})";
                }

                if (!string.IsNullOrWhiteSpace(report.produto))
                {
                    filtro += $" AND V.ID_PRODUTO IN ({report.produto})";
                }

                if (report.gp_atendimento != null && report.gp_atendimento != 0)
                {
                    filtro += $@" AND V.ID_GRUPO_ATENDIMENTO = {report.gp_atendimento}";
                }

                if (!string.IsNullOrWhiteSpace(report.estrategia))
                {
                    filtro += $" AND V.ID_ESTRATEGIA IN ({report.estrategia})";
                }

                if (report.agrupamento == 3)
                {
                    filtro += $@"  ) T1
                                  GROUP BY T1.ID_UNIDADE, T1.UNIDADE, T1.ID_PRODUTO, T1.PRODUTO, T1.ID_DOSE, T1.DOSE
                                  ORDER BY T1.UNIDADE, T1.PRODUTO, T1.DOSE";
                }
                else if (report.agrupamento == 0)
                {
                    filtro += $@" ORDER BY PRODUTO, DOSE, DATA DESC, PACIENTE";
                }
                else if (report.agrupamento == 1)
                {
                    filtro += $@" ORDER BY PACIENTE, DATA DESC ";
                }
                else if (report.agrupamento == 2)
                {
                    filtro += $@" ORDER BY UNIDADE, PRODUTO, DOSE, DATA DESC, PACIENTE ";
                }

                var info = _repository.GetReportImunizacao(ibge, Convert.ToDateTime(report.datainicio), Convert.ToDateTime(report.datafim), filtro, string.Empty);

                relatorio.itens.AddRange(info);
                relatorio.impresso_por = $"Relatório emitido por {report.usuarioParam} - {DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")}";
                relatorio.filtro       = filtrotexto;
                relatorio.cabecalho    = _segrepository.GetCabecalhoRetrato(ibge, (int)report.unidadelogadaParam);

                var model = GeraReportImunobiologico(relatorio);
                return(await model);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }