Busca_Escopo_Projeto_Atividade_DAO
extends Busca_Escopo_Projeto_DAO
in package
Provedor de busca universal para Atividades de Projeto.
Herda a visibilidade do projeto: não existe regra por registro na atividade — as listagens
filtram só por projeto_id e a checagem de acesso é feita antes, em PHP, por pertencimento à
equipe do projeto (dao/Atividade_Projeto.dao.php:6959-6971).
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
- Chave do escopo na resposta da API. Ex: 'chamado'.
- 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
- De onde veio a regra de visibilidade deste provedor, com arquivo:linha.
- permissoes() : mixed
- Chaves de permissão que liberam o escopo. Basta UMA (OR).
- ReadBodyParams() : mixed
- ReadDxParams() : mixed
- ReadFile() : mixed
- ReadFiles() : mixed
- ReadGet() : mixed
- ReadPost() : mixed
- ReadRequest() : mixed
- set_login_anonimo() : mixed
- Start_Token_JOB() : mixed
- status_nome() : mixed
- Espelha as constantes de status de model/Atividade_Projeto.model.php:30-34.
- WhatRequest() : mixed
- 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.
- 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_projeto() : mixed
- Restrições comuns a projeto e atividade de projeto (a atividade herda as do projeto).
- subtitulo() : mixed
- Junta as partes não vazias de um subtítulo com o separador padrão da UI.
- usuarios_id() : mixed
- Lista de ids considerada "o usuário", incluindo quem ele substitui no módulo Projetos.
- 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
$_erp_empresa
protected
mixed
$_erp_empresa
$_erp_filial
protected
mixed
$_erp_filial
$_erp_grupo
protected
mixed
$_erp_grupo
$api_token
protected
static mixed
$api_token
$dir_dao
protected
static mixed
$dir_dao
= NULL
$emp
protected
mixed
$emp
$idioma
protected
mixed
$idioma
$instance_token
protected
static mixed
$instance_token
$login_anonimo
protected
static mixed
$login_anonimo
= false
$token_job
protected
static mixed
$token_job
$viewcode
protected
mixed
$viewcode
Methods
__construct()
public
__construct() : mixed
api_token()
public
static api_token() : mixed
AutoLoad()
public
static AutoLoad(mixed $className) : mixed
Parameters
- $className : mixed
buscar()
public
buscar(mixed $termo, mixed $limite) : array<string|int, mixed>
Parameters
- $termo : mixed
- $limite : mixed
-
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
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
emp()
public
emp() : mixed
escopo()
Chave do escopo na resposta da API. Ex: 'chamado'.
public
escopo() : 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
origem_visibilidade()
De onde veio a regra de visibilidade deste provedor, com arquivo:linha.
public
origem_visibilidade() : mixed
Obrigatório e verificado em tempo de execução por Busca_DAO. Não é uma prova de correção — é um obstáculo deliberado para que a ausência da regra apareça no diff e no code review.
permissoes()
Chaves de permissão que liberam o escopo. Basta UMA (OR).
public
abstract permissoes() : mixed
ReadBodyParams()
public
ReadBodyParams([mixed $param = null ]) : mixed
Parameters
- $param : mixed = null
ReadDxParams()
public
ReadDxParams() : mixed
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
status_nome()
Espelha as constantes de status de model/Atividade_Projeto.model.php:30-34.
public
static status_nome(mixed $status) : mixed
Parameters
- $status : 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
eh_admin()
protected
eh_admin() : 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()
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_projeto()
Restrições comuns a projeto e atividade de projeto (a atividade herda as do projeto).
protected
sql_visibilidade_projeto(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
usuarios_id()
Lista de ids considerada "o usuário", incluindo quem ele substitui no módulo Projetos.
protected
usuarios_id() : mixed
Mesma montagem de dao/Projeto.dao.php:2338-2340.
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