Fluxo de apontamento¶
O apontamento gira em torno de uma sessão (registro em MLTEC_0051), que representa um operador
trabalhando em uma operação de uma OP num recurso. Só pode existir uma sessão ativa
por combinação OP + Operação (índice único em MLTEC_0051).
Estados da sessão¶
A coluna MLTEC_0051.STATUS controla o ciclo de vida:
| Status | Significado |
|---|---|
I |
Em produção (iniciada) |
P |
Pausada (há uma pausa aberta em MLTEC_0052) |
| (encerrada) | Sessão finalizada — DTFIM/HRFIM preenchidos ou registro descartado |
Ciclo completo¶
stateDiagram-v2
[*] --> Iniciada: apt004 (START)
Iniciada --> Pausada: apt005 (PAUSE) + motivo (CYN)
Pausada --> Iniciada: apt006 (RESUME)
Iniciada --> Iniciada: apt007 (APONTAR produção · MATA681)
Iniciada --> Iniciada: apt018 (REFUGO/PERDA · MATA685)
Iniciada --> Encerrada: apt008 (parar/descartar sessão)
Encerrada --> [*]
Iniciada --> OPEncerrada: apt013 (encerrar OP · MATA250)
| Passo | Endpoint | O que faz | Grava em |
|---|---|---|---|
| Iniciar sessão | apt004 |
Abre a sessão para OP/operação/recurso/operador | MLTEC_0051 (STATUS I) |
| Pausar | apt005 |
Abre uma pausa com motivo de parada (CYN) |
MLTEC_0052 + STATUS P |
| Retomar | apt006 |
Fecha a pausa, acumula tempo pausado (TPAUSE) |
MLTEC_0052 / MLTEC_0051 |
| Apontar produção | apt007 |
Registra quantidade produzida | SH6 via MATA681 + QTDPROD |
| Apontar refugo/perda | apt018 |
Registra refugo/perda com motivo (CYO) |
SBC via MATA685 + QTDPERDA |
| Encerrar OP | apt013 |
Encerra a Ordem de Produção | SC2.C2_DATRF via MATA250 |
| Parar/descartar sessão | apt008 |
Finaliza a sessão do operador | MLTEC_0051 |
Consulta de estado
apt009devolve o detalhe da sessão (com suas pausas deMLTEC_0052).apt001lista as operações da OP e as sessões ativas;apt016faz o lookup de OP/produto.
Estorno (com autorização de supervisor)¶
O estorno de um apontamento é protegido por credenciais de supervisor validadas no servidor:
sequenceDiagram
participant O as Operador (terminal)
participant S as Supervisor
participant B as Backend (Protheus)
O->>B: apt011 — pré-checagem (UX)
B-->>O: apontamento elegível?
O->>S: solicita autorização
S->>B: apt012 — usuário + senha de supervisor
B->>B: valida (PswSeek / PswName)
alt credenciais válidas
B-->>O: estorno efetivado (auditoria registra o supervisor)
else inválidas
B-->>O: 401 — negado, nada é alterado
end
Regra de ouro do estorno
apt011é apenas pré-checagem de UX — não autoriza nada.apt012valida a senha do supervisor no servidor (PswSeek/PswName); falha → 401.- O nome do supervisor autorizador é gravado na auditoria.
- O registro a estornar é identificado pelo
R_E_C_N_O_daSH6(AUTRECNOdoMATA681, opção 5) — não peloH6_SEQ, que costuma vir em branco no SIGAPCP. O front enviarecno(eH6_IDENTpara auditoria); o servidor reconfereOP+operaçãoantes de estornar.
Estorno de perda (refugo)
A perda tem estorno próprio, via apt024 — MATA685 opção 6, identificando o documento por
BC_NUMSEQ. Ele reverte a SBC e o movimento de estoque (não é um DELETE). Estorna o
documento inteiro (todos os itens daquele apontamento de perda) e exige a mesma senha de
supervisor do estorno de apontamento.
Guardas de segurança do fluxo¶
- OP encerrada:
U_ApOpFechada/U_ApSessOpFechadabloqueiam apontar/pausar/retomar em OP comC2_DATRFpreenchido (o descarte de sessão viaapt008continua permitido, para o operador fechar a própria sessão). - Sessão única: índice único parcial em
MLTEC_0051impede duas sessões ativas (I/P) na mesma OP+Operação. - Validação de entrada: todo parâmetro passa por whitelist (
utilApt) antes de qualquer query (OP = 11 dígitos, operação ≤ 5 dígitos, recurso ≤ 6, etc.) → entrada fora do formato responde 400.