Next BP 24.174.2

Busca_Escopo_Prospect_DAO extends Busca_Escopo_Entidade_DAO
in package

Provedor de busca universal para Organizações (tabela `prospect`).

Table of Contents

Constants

PARAM_PREFIXO  = ':bu_'
Prefixo de todo parâmetro nomeado montado pelo provedor.
SEM_RESTRICAO  = 'SEM_RESTRICAO_POR_REGISTRO: '
Prefixo obrigatório de origem_visibilidade() para escopos que legitimamente não têm restrição por registro (ex: cadastro de usuários, que é só permissão de módulo).

Properties

$_erp_empresa  : mixed
$_erp_filial  : mixed
$_erp_grupo  : mixed
$api_token  : mixed
$dir_dao  : mixed
$emp  : mixed
$idioma  : mixed
$instance_token  : mixed
$login_anonimo  : mixed
$token_job  : mixed
$viewcode  : mixed

Methods

__construct()  : mixed
api_token()  : mixed
AutoLoad()  : mixed
buscar()  : array<string|int, mixed>
campos_busca()  : mixed
Política de busca por campo: ['coluna' => 'numerico'|'prefixo'|'contains'].
ConvertBase64()  : mixed
Delete_Token_JOB()  : mixed
DxParamsAddFilter()  : mixed
emp()  : mixed
escopo()  : mixed
get_login_anonimo()  : mixed
getFormData()  : mixed
getJsonData()  : mixed
habilitado()  : mixed
Permite a um provedor se desabilitar (ex: depende de recurso não instalado).
instance_token()  : mixed
isJsonRequest()  : mixed
LoadDAO()  : mixed
LoadHTML()  : mixed
LoadMail()  : mixed
LoadModel()  : mixed
LoadPDF()  : mixed
origem_visibilidade()  : mixed
permissoes()  : mixed
ReadBodyParams()  : mixed
ReadDxParams()  : mixed
ReadFile()  : mixed
ReadFiles()  : mixed
ReadGet()  : mixed
ReadPost()  : mixed
ReadRequest()  : mixed
set_login_anonimo()  : mixed
Start_Token_JOB()  : mixed
WhatRequest()  : mixed
alias()  : mixed
Alias usado nas expressões SQL (normalmente igual à tabela).
consultar()  : mixed
Executa a consulta e devolve as linhas. Centralizado para facilitar instrumentação.
eh_admin()  : mixed
limite_sql()  : mixed
Normaliza um valor que será interpolado em LIMIT/OFFSET, onde o PDO também não aceita parâmetro nomeado. Negativos viram 0, pois quebrariam a consulta.
lista_ids_sql()  : mixed
Monta o conteúdo de um IN (...) a partir de ids já validados como inteiros.
normalizar_ids()  : array<string|int, mixed>
Normaliza uma lista de ids para interpolação segura em um IN (...).
param()  : mixed
Nome de parâmetro já prefixado. Use SEMPRE isto para montar $params.
registro()  : mixed
Normaliza uma linha do banco no formato da resposta.
restringir_por_vinculo()  : mixed
Restringe a um conjunto de ids vindo de uma tabela de vínculo (usuario_cliente, usuario_fornecedor, ...).
rotulo()  : mixed
Rótulo do tipo, usado no subtítulo.
sessao()  : mixed
Sessão do usuário logado, respeitando o token de JOB quando houver.
sql_in_ids()  : mixed
Converte uma lista de ids em fragmento `IN (...)` seguro.
sql_or()  : mixed
Monta o grupo OR do termo a partir de uma lista de expressões já prontas.
sql_visibilidade()  : mixed
Acrescenta a regra de visibilidade do cadastro. Deve concatenar " AND ... ".
subtitulo()  : mixed
Junta as partes não vazias de um subtítulo com o separador padrão da UI.
tabela()  : mixed
Tabela base do cadastro.
tem_codigo()  : mixed
empresa_filial não tem coluna `codigo`; os outros três têm.
usuario_logado()  : mixed
Usuário logado (\Sys\Sessao::objeto(...)->dados), como os DAOs de cadastro fazem.
where_com_and()  : mixed
Abre o WHERE para fragmentos que emitem " AND ... " (ex: permitir_acesso_chamado).
where_sem_and()  : mixed
Abre o WHERE para fragmentos que emitem o predicado SEM "AND" inicial (ex: Solicitacao_Atividade_DAO::sql_permissao). Ver dao/Solicitacao_Atividade.dao.php:7207.

Constants

PARAM_PREFIXO

Prefixo de todo parâmetro nomeado montado pelo provedor.

public mixed PARAM_PREFIXO = ':bu_'

Os fragmentos reaproveitados (permitir_acesso_chamado, sql_permissao) escrevem no MESMO array $params por referência, usando nomes genéricos como :usuario_id. Sem o prefixo, o provedor sobrescreveria silenciosamente um parâmetro da regra de permissão.

SEM_RESTRICAO

Prefixo obrigatório de origem_visibilidade() para escopos que legitimamente não têm restrição por registro (ex: cadastro de usuários, que é só permissão de módulo).

public mixed SEM_RESTRICAO = 'SEM_RESTRICAO_POR_REGISTRO: '

Properties

$instance_token

protected static mixed $instance_token

$login_anonimo

protected static mixed $login_anonimo = false

Methods

AutoLoad()

public static AutoLoad(mixed $className) : mixed
Parameters
$className : mixed

buscar()

public abstract buscar(Busca_Termo_Model $termo, int $limite) : array<string|int, mixed>
Parameters
$termo : Busca_Termo_Model
$limite : int

Quantos registros retornar no máximo.

Return values
array<string|int, mixed> —

Lista de ['id','codigo','titulo','subtitulo','extra'].

campos_busca()

Política de busca por campo: ['coluna' => 'numerico'|'prefixo'|'contains'].

public abstract campos_busca() : mixed

Serve de documentação executável e de checklist de performance: 'contains' (%termo%) não usa índice e só é aceitável onde prefixo é inútil de verdade.

ConvertBase64()

public static ConvertBase64(mixed $name, mixed &$request_params) : mixed
Parameters
$name : mixed
$request_params : mixed

Delete_Token_JOB()

public static Delete_Token_JOB() : mixed

DxParamsAddFilter()

public DxParamsAddFilter(mixed &$params, mixed $campo, mixed $condicao, mixed $valor) : mixed
Parameters
$params : mixed
$campo : mixed
$condicao : mixed
$valor : mixed

get_login_anonimo()

public static get_login_anonimo() : mixed

getFormData()

public static getFormData([mixed $param = null ]) : mixed
Parameters
$param : mixed = null

getJsonData()

public static getJsonData([mixed $param = null ]) : mixed
Parameters
$param : mixed = null

habilitado()

Permite a um provedor se desabilitar (ex: depende de recurso não instalado).

public habilitado() : mixed

instance_token()

public static instance_token() : mixed

isJsonRequest()

public static isJsonRequest() : mixed

LoadDAO()

public static LoadDAO(mixed $dao_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
$dao_class_required : mixed
$auto_construct : mixed = false
$auto_load : mixed = false

LoadHTML()

public static LoadHTML(mixed $html_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
$html_class_required : mixed
$auto_construct : mixed = false
$auto_load : mixed = false

LoadMail()

public static LoadMail(mixed $mail_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
$mail_class_required : mixed
$auto_construct : mixed = false
$auto_load : mixed = false

LoadModel()

public static LoadModel(mixed $model_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
$model_class_required : mixed
$auto_construct : mixed = false
$auto_load : mixed = false

LoadPDF()

public static LoadPDF(mixed $pdf_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
$pdf_class_required : mixed
$auto_construct : mixed = false
$auto_load : mixed = false

ReadBodyParams()

public ReadBodyParams([mixed $param = null ]) : mixed
Parameters
$param : mixed = null

ReadFile()

public ReadFile(mixed $name[, mixed $default = null ][, mixed $arrAcceptedMimeTypes = [] ]) : mixed
Parameters
$name : mixed
$default : mixed = null
$arrAcceptedMimeTypes : mixed = []

ReadFiles()

public ReadFiles(mixed $name) : mixed
Parameters
$name : mixed

ReadGet()

public ReadGet(mixed $name[, mixed $default = null ]) : mixed
Parameters
$name : mixed
$default : mixed = null

ReadPost()

public ReadPost(mixed $name[, mixed $default = null ]) : mixed
Parameters
$name : mixed
$default : mixed = null

ReadRequest()

public ReadRequest(mixed $name[, mixed $default = null ]) : mixed
Parameters
$name : mixed
$default : mixed = null

set_login_anonimo()

public static set_login_anonimo(mixed $value) : mixed
Parameters
$value : mixed

Start_Token_JOB()

public static Start_Token_JOB(mixed $new_token) : mixed
Parameters
$new_token : mixed

WhatRequest()

public WhatRequest(mixed $name[, mixed $default = null ]) : mixed
Parameters
$name : mixed
$default : mixed = null

consultar()

Executa a consulta e devolve as linhas. Centralizado para facilitar instrumentação.

protected consultar(mixed $sql, mixed $params, mixed $limite) : mixed
Parameters
$sql : mixed
$params : mixed
$limite : mixed

limite_sql()

Normaliza um valor que será interpolado em LIMIT/OFFSET, onde o PDO também não aceita parâmetro nomeado. Negativos viram 0, pois quebrariam a consulta.

protected limite_sql(mixed $valor[, mixed $padrao = 0 ]) : mixed
Parameters
$valor : mixed
$padrao : mixed = 0

lista_ids_sql()

Monta o conteúdo de um IN (...) a partir de ids já validados como inteiros.

protected lista_ids_sql(mixed $valor) : mixed

Sem nenhum id aproveitável devolve o literal NULL, para o IN não casar com nada em vez de gerar SQL inválido.

Parameters
$valor : mixed

normalizar_ids()

Normaliza uma lista de ids para interpolação segura em um IN (...).

protected normalizar_ids(mixed $valor) : array<string|int, mixed>

Aceita array, string separada por vírgula ou escalar, e descarta tudo que não for numérico.

Use sempre que um valor vindo da request precisar entrar concatenado no SQL: os parâmetros nomeados do PDO não funcionam dentro de um IN (...) de tamanho variável, e é justamente aí que a concatenação crua costuma aparecer.

Parameters
$valor : mixed
Return values
array<string|int, mixed> —

Lista de inteiros reindexada; vazia quando nada é aproveitável.

param()

Nome de parâmetro já prefixado. Use SEMPRE isto para montar $params.

protected param(mixed $nome) : mixed
Parameters
$nome : mixed

registro()

Normaliza uma linha do banco no formato da resposta.

protected registro(mixed $id, mixed $codigo, mixed $titulo[, mixed $subtitulo = null ][, mixed $extra = array() ]) : mixed
Parameters
$id : mixed
$codigo : mixed
$titulo : mixed
$subtitulo : mixed = null
$extra : mixed = array()

restringir_por_vinculo()

Restringe a um conjunto de ids vindo de uma tabela de vínculo (usuario_cliente, usuario_fornecedor, ...).

protected restringir_por_vinculo(mixed &$sql, mixed $tabela_vinculo, mixed $coluna_id) : mixed

Usa sql_in_ids() em vez do implode direto dos DAOs originais, que produz IN () — erro de sintaxe — quando o usuário não tem nenhum vínculo (dao/Cliente.dao.php:1295-1308, dao/Fornecedor.dao.php:854-869).

Parameters
$sql : mixed
$tabela_vinculo : mixed
$coluna_id : mixed

sessao()

Sessão do usuário logado, respeitando o token de JOB quando houver.

protected sessao() : mixed

sql_in_ids()

Converte uma lista de ids em fragmento `IN (...)` seguro.

protected sql_in_ids(mixed $ids) : mixed

Existe porque o padrão espalhado pelos DAOs (implode direto numa lista possivelmente vazia) gera IN (), que é erro de sintaxe no MySQL — ver dao/Cliente.dao.php:1295-1308 e dao/Fornecedor.dao.php:854-869. Lista vazia vira IN (0): nenhuma linha, sem quebrar.

Parameters
$ids : mixed

sql_or()

Monta o grupo OR do termo a partir de uma lista de expressões já prontas.

protected sql_or(mixed $expressoes) : mixed

Devolve '' quando não há nenhuma expressão — o provedor deve então retornar [] sem consultar o banco, em vez de rodar uma query sem filtro.

Parameters
$expressoes : mixed

sql_visibilidade()

Acrescenta a regra de visibilidade do cadastro. Deve concatenar " AND ... ".

protected sql_visibilidade(mixed &$sql, mixed &$params) : mixed
Parameters
$sql : mixed
$params : mixed

subtitulo()

Junta as partes não vazias de um subtítulo com o separador padrão da UI.

protected subtitulo(mixed $partes) : mixed
Parameters
$partes : mixed

usuario_logado()

Usuário logado (\Sys\Sessao::objeto(...)->dados), como os DAOs de cadastro fazem.

protected usuario_logado() : mixed

where_com_and()

Abre o WHERE para fragmentos que emitem " AND ... " (ex: permitir_acesso_chamado).

protected where_com_and() : mixed

Ver dao/Chamado.dao.php:6853.

where_sem_and()

Abre o WHERE para fragmentos que emitem o predicado SEM "AND" inicial (ex: Solicitacao_Atividade_DAO::sql_permissao). Ver dao/Solicitacao_Atividade.dao.php:7207.

protected where_sem_and() : mixed

        
On this page

Search results