get('show_all')) || DataUtil::isStringFalse(request()->get('show_all')); $excludedValues = [ CiapCondicaoAvaliada::ASMA, CiapCondicaoAvaliada::DENGUE, CiapCondicaoAvaliada::DESNUTRICAO, CiapCondicaoAvaliada::DIABETES, CiapCondicaoAvaliada::DPOC, CiapCondicaoAvaliada::DST, CiapCondicaoAvaliada::HANSENIASE, CiapCondicaoAvaliada::HIPERTENSAO_ARTERIAL, CiapCondicaoAvaliada::OBESIDADE, CiapCondicaoAvaliada::PRE_NATAL, CiapCondicaoAvaliada::PUERICULTURA, CiapCondicaoAvaliada::PUERPERIO, CiapCondicaoAvaliada::RASTREAMENTO_DE_RISCO_CARDIOVASCULAR, CiapCondicaoAvaliada::REABILITACAO, CiapCondicaoAvaliada::TABAGISMO, CiapCondicaoAvaliada::TUBERCULOSE, CiapCondicaoAvaliada::USUARIO_DE_ALCOOL, CiapCondicaoAvaliada::USUARIO_DE_OUTRAS_DROGAS, ]; if (request()->ciap_id) { $excludedValues[] = request()->ciap_id; } $ciap = DB::table('geral_ciap') ->select( 'geral_ciap.codigo', 'geral_ciap.id', 'geral_ciap.descricao', 'geral_ciap_cid.codigo_cid', 'geral_ciap.sexo_id', 'geral_ciap.grupo_id', 'sigtap.cid.id as cid_id', 'sigtap.cid.codigo as cid_codigo', 'sigtap.cid.nome as cid_nome', ) ->leftJoin('geral_ciap_cid', 'geral_ciap_cid.codigo_ciap', 'geral_ciap.codigo') ->leftJoin('sigtap.cid', 'sigtap.cid.codigo', 'geral_ciap_cid.codigo_cid') ->when($notShowAll, fn ($q) => $q ->whereNotIn('geral_ciap.id', $excludedValues) ->whereNotIn('geral_ciap.grupo_id', [GrupoCiap::PROCEDIMENTOS]) ) ->when(request()->sexo_id, function ($query, $sexo_id) { $query->where(function ($subquery) use ($sexo_id) { $subquery->where('geral_ciap.sexo_id', $sexo_id)->orWhereNull('geral_ciap.sexo_id'); }); }) ->when(is_array(request()->not_in), fn ($q) => $q->whereNotIn('geral_ciap.codigo', request()->not_in)); if (request()->query('cid_id')) { $ciap->where(function ($query) { $cidCodigo = Cid::findOrFail(request()->query('cid_id'))->codigo; $query->whereExists(function($query) use ($cidCodigo) { $query->select(DB::raw(1)) ->from('geral_ciap_cid') ->whereColumn('geral_ciap_cid.codigo_ciap', 'geral_ciap.codigo') ->where('codigo_cid', $cidCodigo); }) ->orWhereNotExists(function($query) { $query->select(DB::raw(1)) ->from('geral_ciap_cid') ->whereColumn('geral_ciap_cid.codigo_ciap', 'geral_ciap.codigo'); }); }); } return $ciap; } public static function index() { return DB::table('geral_ciap as ciap') ->when(request()->codigo, fn ($q, $codigo) => $q->where('ciap.codigo', $codigo)) ->select( 'ciap.id', 'ciap.codigo', 'ciap.descricao', 'ciap.grupo_id', 'ciap.sexo_id' ) ->get(); } }