//[ParameterTypeFilter("imprimir_cartao_vacina")] public async Task <byte[]> ReportCartaoVacina([FromHeader] string ibge, [FromBody] ParametersVacina report) { try { ibge = _config.GetConnectionString(Connection.GetConnection(ibge)); string sql_estrutura = string.Empty; if (_cidadaoRepository.VerificaExisteEsusFamilia(ibge)) { sql_estrutura = $@"LEFT JOIN ESUS_FAMILIA FAM ON (PAC.ID_FAMILIA = FAM.ID) LEFT JOIN VS_ESTABELECIMENTOS D ON D.ID = FAM.ID_DOMICILIO"; } else { sql_estrutura = $@"LEFT JOIN ESUS_CADDOMICILIAR D ON PAC.ID_ESUS_CADDOMICILIAR = D.ID"; } var info = _repository.GetCartaoVacinaByIndividuo(ibge, (int)report.id_cidadao, sql_estrutura); info.cabecalho = _segrepository.GetCabecalhoRetrato(ibge, (int)report.id_unidade); var model = GeraReportCartaoVacina(info); return(await model); } catch (Exception ex) { throw ex; } }
public ActionResult <bool> CheckVinculoMicroarea([FromHeader] string ibge, [FromRoute] int id) { try { ibge = _config.GetConnectionString(Connection.GetConnection(ibge)); string sql_estrutura = string.Empty; if (_cidadaoRepository.VerificaExisteEsusFamilia(ibge)) { sql_estrutura = $@"JOIN ESUS_FAMILIA FAM ON (CP.ID_FAMILIA = FAM.ID) JOIN VS_ESTABELECIMENTOS EST ON (FAM.ID_DOMICILIO = EST.ID)"; } else { sql_estrutura = $@"JOIN ESUS_CADDOMICILIAR EST ON CP.ID_ESUS_CADDOMICILIAR = EST.ID"; } bool possui_vinculo_microarea = _individuoRepository.CheckVinculoMicroarea(ibge, id, sql_estrutura); return(Ok(possui_vinculo_microarea)); } catch (Exception ex) { var response = TrataErro.GetResponse(ex.Message, true); return(StatusCode((int)HttpStatusCode.InternalServerError, response)); } }
public ActionResult GeraAprazamentoByIndividuo([FromHeader] string ibge, [FromBody] ParametersAprazamento model) { try { ibge = _config.GetConnectionString(Connection.GetConnection(ibge)); _repository.GeraAprazamentoPopGeralByIndividuo(ibge, (int)model.id); //executa popgeral string sql_estrutura = string.Empty; if (_cidadaorepository.VerificaExisteEsusFamilia(ibge)) { sql_estrutura = $@"LEFT JOIN ESUS_FAMILIA D ON(D.ID = D.ID_FAMILIA)"; } else { sql_estrutura = $@"LEFT JOIN ESUS_CADDOMICILIAR D ON PAC.ID_ESUS_CADDOMICILIAR = D.ID"; } //recupera informações de cidadão var cidadao = _cidadaorepository.GetCidadaoById(ibge, (int)model.id, sql_estrutura); if (cidadao.csi_sexpac == "Feminino") { _repository.GeraAprazamentoFemininoByIndividuo(ibge, (int)model.id); //executa feminino var gestacao = _gestacaorepository.IsGestante(ibge, (int)model.id); if (gestacao != null) { _repository.GeraAprazamentoGestacaoByIndividuo(ibge, (int)model.id); // executa gestacao } else { var algumagestacao = _gestacaorepository.GetGestacaoByCidadao(ibge, (int)model.id); if (algumagestacao != null) { _repository.GeraAprazamentoPuerperaByIndividuo(ibge, (int)model.id); //executa puerpera } } } else if (cidadao.csi_sexpac == "Masculino") { _repository.GeraAprazamentoMasculinoByIndividuo(ibge, (int)model.id); //executa masculino } if (cidadao.verifica_deficiencia == 1) { _repository.GeraAprazamentoDeficienciaByIndividuo(ibge, (int)model.id); //executa deficiencia } return(Ok()); } catch (Exception ex) { var response = TrataErro.GetResponse(ex.Message, true); return(StatusCode((int)HttpStatusCode.InternalServerError, response)); } }
public ActionResult AtualizaResponsavelFamilia([FromHeader] string ibge, int?id_responsavel, int id_familia) { try { ibge = _config.GetConnectionString(Helpers.Connection.GetConnection(ibge)); var individuo = _repository.GetIndividuoFamilia(ibge, (int)id_responsavel); if (id_familia != individuo) { return(BadRequest(TrataErro.GetResponse("O indivíduo não pertence a família informada.", true))); } string sql_estrutura = string.Empty; if (_cidadaorepository.VerificaExisteEsusFamilia(ibge)) { sql_estrutura = $@"LEFT JOIN ESUS_FAMILIA D ON(D.ID = D.ID_FAMILIA)"; } else { sql_estrutura = $@"LEFT JOIN ESUS_CADDOMICILIAR D ON PAC.ID_ESUS_CADDOMICILIAR = D.ID"; } var paciente = _cidadaorepository.GetCidadaoById(ibge, (int)id_responsavel, sql_estrutura); if (string.IsNullOrWhiteSpace(paciente.csi_ncartao) && string.IsNullOrWhiteSpace(paciente.csi_cpfpac)) { return(BadRequest(TrataErro.GetResponse("Para ser responsável pela Família, o indivíduo precisa ter CPF e/ou CNS preenchidos.", true))); } _repository.AtualizaResponsavelFamilia(ibge, id_familia, (int)id_responsavel); return(Ok()); } catch (Exception ex) { var response = TrataErro.GetResponse(ex.Message, true); return(StatusCode((int)HttpStatusCode.InternalServerError, response)); } }
public ActionResult <List <Cidadao> > GetAllPagination([FromHeader] string ibge, int page, int pagesize, string search, string fields, string datanasc, string situacoes) { try { ibge = _config.GetConnectionString(Connection.GetConnection(ibge)); string filtro = string.Empty; if (situacoes != null && situacoes.Split(",").Length > 0 && situacoes.Split(",")[0] != null) { foreach (var item in situacoes.Split(",")) { if (!string.IsNullOrWhiteSpace(filtro)) { filtro += " OR "; } else { filtro += " ( "; } filtro += $" C.CSI_SITUACAO LIKE '%{item}%'"; } } if (!string.IsNullOrWhiteSpace(filtro)) { filtro += " ) "; } if (!string.IsNullOrWhiteSpace(datanasc) && !string.IsNullOrWhiteSpace(filtro)) { filtro += $" AND C.CSI_DTNASC = '{Convert.ToDateTime(datanasc).ToString("dd/MM/yyyy")}'"; } else if (!string.IsNullOrWhiteSpace(datanasc) && string.IsNullOrWhiteSpace(filtro)) { filtro += $" C.CSI_DTNASC = '{Convert.ToDateTime(datanasc).ToString("dd/MM/yyyy")}'"; } if (!string.IsNullOrWhiteSpace(search)) { if (fields != null && fields.Split(",").Length > 0 && fields.Split(",")[0] != null) { if (string.IsNullOrWhiteSpace(filtro)) { filtro += Helper.GetFiltroInicial(fields, search); } else { filtro += Helper.GetFiltro(fields, search); } } else { var stringcod = string.Empty; if (Helper.soContemNumeros(search)) { stringcod = $" c.csi_codpac = {search} OR "; } if (!string.IsNullOrWhiteSpace(filtro)) { filtro += $@" AND ( {stringcod} (SELECT UPPER(RETORNO) FROM TIRA_ACENTOS(C.CSI_NOMPAC)) LIKE '%{Helper.RemoveAcentos(search.ToUpper())}%' OR C.csi_sexpac LIKE '%{search}%' OR C.csi_ncartao LIKE '%{search}%' OR C.CSI_CPFPAC LIKE '%{search}%')"; } else { filtro += $@" ( {stringcod} (SELECT UPPER(RETORNO) FROM TIRA_ACENTOS(C.CSI_NOMPAC)) LIKE '%{Helper.RemoveAcentos(search.ToUpper())}%' OR C.csi_sexpac LIKE '%{search}%' OR C.csi_ncartao LIKE '%{search}%' OR C.CSI_CPFPAC LIKE '%{search}%')"; } } } if (!string.IsNullOrWhiteSpace(filtro)) { filtro = " WHERE " + filtro; } string sql_estrutura = string.Empty; if (_cidadaoRepository.VerificaExisteEsusFamilia(ibge)) { sql_estrutura = $@"LEFT JOIN ESUS_FAMILIA FAM ON (C.ID_FAMILIA = FAM.ID) LEFT JOIN VS_ESTABELECIMENTOS D ON D.ID = FAM.ID_DOMICILIO"; } else { sql_estrutura = $@"LEFT JOIN ESUS_CADDOMICILIAR D ON C.ID_ESUS_CADDOMICILIAR = D.ID"; } int count = _cidadaoRepository.GetCountAll(ibge, filtro); if (count == 1) { page = 0; } else { page = page * pagesize; } Response.Headers.Add("X-Total-Count", count.ToString()); List <Cidadao> lista = _cidadaoRepository.GetAllPagination(ibge, filtro, page, pagesize, sql_estrutura); return(Ok(lista)); } catch (Exception ex) { var response = TrataErro.GetResponse(ex.Message, true); return(StatusCode((int)HttpStatusCode.InternalServerError, response)); } }