Skip to content

Commit

Permalink
Merge pull request #498 from uspdev/issue_497
Browse files Browse the repository at this point in the history
Revertendo procurarPorCodigoOuNome em parte #497
  • Loading branch information
andrecgarcia authored Mar 9, 2022
2 parents 9ed0e81 + e095217 commit 12a0cc3
Showing 1 changed file with 24 additions and 11 deletions.
35 changes: 24 additions & 11 deletions src/Pessoa.php
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ public static function procurarPorNome(string $nome, bool $fonetico = true, bool
$nome = trim($nome);
$nome = Uteis::substituiAcentosParaSql($nome);
$nome = str_replace(' ', '%', $nome);
$query_busca = "UPPER(P.nompesttd) like UPPER(:nome)";
$query_busca = "UPPER(P.nompesttd) LIKE UPPER(:nome)";
}

if ($ativos) {
Expand All @@ -156,6 +156,8 @@ public static function procurarPorNome(string $nome, bool $fonetico = true, bool
* A busca é fonética, somente ativos ou todos
* O método foi ajustado para compatibilizar com procuraPorNome() e dump()
*
* 9/3/2022 Revertido em parte para o método original, mas mantendo fonético
*
* @param String $busca Código ou Nome a ser buscado
* @param Bool $ativos Se true faz busca somente entre os ativos, se false busca em toda a base
* @return array
Expand All @@ -164,12 +166,23 @@ public static function procurarPorNome(string $nome, bool $fonetico = true, bool
*/
public static function procurarPorCodigoOuNome(string $busca, bool $ativos = true)
{
if (intval($busca)) { // é codpes
$ret = SELF::dump($busca);
return $ret ? [$ret] : $ret;
} else { // é nome
return SELF::procurarPorNome($busca, true, $ativos);
if ($ativos) {
# se ativos vamos fazer join com LOCALIZAPESSOA
$query = "SELECT DISTINCT P.* FROM PESSOA P, LOCALIZAPESSOA L
WHERE (CAST(P.codpes AS NVARCHAR) LIKE :codpes OR P.nompesfon LIKE :nome)
AND L.codpes = P.codpes
ORDER BY P.nompes ASC";
} else {
$query = "SELECT DISTINCT P.* FROM PESSOA P
WHERE (CAST(P.codpes AS NVARCHAR) LIKE :codpes OR P.nompesfon LIKE :nome)
ORDER BY P.nompes ASC";
}

$param = [
'codpes' => '%' . $busca . '%',
'nome' => '%' . Uteis::fonetico($busca) . '%',
];
return DB::fetchAll($query, $param);
}

/**
Expand Down Expand Up @@ -218,7 +231,7 @@ public static function vinculos(int $codpes, int $codundclgi = 0)

/**
* Método para retornar servidores ativos na unidade
*
*
* O parâmetro $codundclgi passou a ser opcional pois não vai ser mais utilizado
* foi mantido somente para compatibilidade retroativa
*
Expand All @@ -234,12 +247,12 @@ public static function servidores($codundclgi = '')

/**
* Retorna lista de servidores não docentes ativos na unidade
*
*
* Retorna dados das tabelas localizapessoa e pessoa
*
* E possivel aplicar filtros sobre qualquer coluna retornada.
*
* E possivel aplicar filtros sobre qualquer coluna retornada.
* O filtro é um array no formato [coluna => valor].
*
*
* @param array $filtros - default = []
* @return array
* @author Masaki K Neto atualizado em 28/1/2022
Expand Down

0 comments on commit 12a0cc3

Please sign in to comment.