//[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; } }
public async Task <byte[]> GeraReportMovimento(ReportImunizacaoViewModel model) { var httpContext = new DefaultHttpContext { RequestServices = _service }; var actionContext = new ActionContext(httpContext, new RouteData(), new ActionDescriptor()); var bytePDF = new Rotativa.AspNetCore.ViewAsPdf("Report/Imunobiologico/ReportMovimento", model) { PageOrientation = Orientation.Landscape, PageMargins = { Top = 8, Right = 8, Bottom = 8, Left = 8 }, FileName = string.Concat("ReportMovimento", ".pdf"), CustomSwitches = "--footer-center \"| RG System - Tecnologia em Software! (27) 3150-9770 - www.rgsystem.com.br | Página [page] de [toPage] |\"" + " --footer-font-size \"9\" --footer-font-name \"calibri light\"" }.BuildFile(actionContext); return(await bytePDF); }
//[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; } }