Tabelas próprias e rotinas¶
Além das tabelas padrão do Protheus, a solução usa quatro tabelas próprias (prefixo MLTEC_00xx),
criadas por scripts DDL idempotentes em tlpp/sql/.
DDL idempotente
Os scripts MLTEC_00xx_create.sql podem ser rodados várias vezes com segurança (só criam o que
falta). Para reset destrutivo, cada script traz o DROP TABLE comentado no cabeçalho.
MLTEC_0051 — Sessões de apontamento¶
Estado de cada sessão (operador × OP × operação × recurso).
| Coluna | Tipo | Descrição |
|---|---|---|
UUID |
varchar(36) | Identificador da sessão |
OP |
varchar(14) | Ordem de Produção |
PRODUTO |
varchar(15) | Produto |
OPERACAO |
varchar(5) | Operação do roteiro |
RECURSO |
varchar(6) | Recurso |
OPERADOR |
varchar(14) | Matrícula (SRA.RA_MAT) |
STATUS |
varchar(1) | I em produção · P pausada |
DTINI/HRINI/DTFIM/HRFIM |
varchar(8) | Início e fim |
QTDPROD / QTDPERDA |
float | Produção / perda acumulada |
TPAUSE |
float | Tempo pausado (segundos) |
OBSERV |
varchar(100) | Observação |
Índice único parcial MLTEC_0051_UNQ_ACTIVE garante uma sessão ativa (STATUS IN ('I','P')) por OP+OPERACAO.
MLTEC_0052 — Pausas da sessão¶
| Coluna | Tipo | Descrição |
|---|---|---|
UUIDSESS |
varchar(36) | Sessão (MLTEC_0051) |
SEQ |
varchar(3) | Sequência da pausa |
MOTIVO |
varchar(40) | Motivo da parada (de CYN) |
DTINI/HRINI/DTFIM/HRFIM |
varchar(8) | Início/fim da pausa |
DURSEG |
float | Duração (segundos) |
MLTEC_0053 — Credencial de serviço do kiosk¶
Fonte de autenticação do paramsProvider (login da API desacoplado da SA3/AI3).
| Coluna | Tipo | Descrição |
|---|---|---|
USUARIO |
varchar(20) | Login do kiosk (ex.: APONTA) |
SENHA |
varchar(100) | Senha em texto (modelo A3_SENHA); comparada como MD5 |
NOME |
varchar(40) | Descrição |
ATIVO |
varchar(1) | 1 habilitado · 0 inativo |
Troque a senha semente
O DDL insere a conta APONTA com senha placeholder (TROCAR-APONTA). Defina a senha real e
alinhe o front — ver Autenticação.
MLTEC_0054 — Auditoria (cross-endpoint)¶
Uma linha por operação relevante. Ver Auditoria.
| Coluna | Descrição |
|---|---|
DATA / HORA |
Quando |
ROTA |
Endpoint (apt007, apt013…) |
ACAO |
Ação (START, APONTAR, ESTORNO…) |
OP / OPERACAO / OPERADOR / RECURSO |
Contexto |
UUIDSESS |
Sessão |
QUANTIDADE |
Quantidade envolvida |
RESULTADO / MENSAGEM |
Desfecho |
PAYLOAD |
Trecho do corpo (para diagnóstico) |
IPCLIENTE |
IP de origem |
Rotinas MSExecAuto (gravação no ERP)¶
A gravação no Protheus é feita pelas rotinas padrão do SIGAPCP via MSExecAuto:
| Endpoint | Rotina | Grava |
|---|---|---|
apt007 |
MATA681 |
Apontamento de produção (SH6) |
apt018 |
MATA685 |
Apontamento de refugo/perda (SBC) |
apt013 |
MATA250 |
Encerramento de OP (SC2.C2_DATRF) |
Ponto de Entrada de customização — U_ApPE¶
Para o cliente ajustar os vetores do MSExecAuto sem tocar no fonte base, o helper U_ApPE invoca
Pontos de Entrada (MLPE001–MLPE004) se existirem na RPO:
- Recebe
PARAMIXB = { oCtx, aVetor }(contexto + vetor de campos). - Se o PE devolver um array, ele substitui o vetor; caso contrário, o vetor original é mantido.
- Não aborta a operação pelo retorno (para bloquear, lance erro no PE).
Uso típico
Injetar campos específicos do cliente no apontamento (apt007/MATA681), no refugo (apt018) ou
no encerramento (apt013) sem recompilar os endpoints base.