Ir para o conteúdo principal

LojaAjusteEstoqueSaidaNormal (STATUS: DOCUMENTADO)

Documentação Técnica
Nome do cliente OSKLEN
Nome do projeto Integração LINX → ILLI (Ajuste de Estoque — Saída Normal)
Biblioteca wosk_loja_ajuste_estoque_saida_normal
Data 26/03/2026

Histórico de Versões
Data Versão Modificado por Descrição da Mudança
26/03/2026 1.0 Maykon/Gustavo Criação da documentação técnica do processo Loja Ajuste Estoque Saída Normal (LINX → ILLI).

Descrição

Este serviço de ajuste de estoque (saída normal) identifica romaneios de saída no LINX com perfil de ajuste e operação de custo médio prevista e encaminha os dados ao ILLI.
Garante captura, fila e registro de sucesso ou erro na integração.

Capturador

Descrição Conceitual

A captura automática consulta ESTOQUE_PROD_SAI quando o serviço LojaAjusteEstoqueSaidaNormal está apto, com TIPO_ROMANEIO = 'AJUSTE', CM_OPERACAO = '011', filiais de loja (excluindo estoque central e centro de distribuição), DATA_PARA_TRANSFERENCIA mínima, ordenação por DATA_PARA_TRANSFERENCIA e ROMANEIO_PRODUTO e paginação conforme o limite configurado para o serviço LojaAjusteEstoqueSaidaNormal, alinhada ao processamento cronológico. Para cada linha, anexa ITENS de ESTOQUE_PROD1_SAI, monta a chave FILIAL-ROMANEIO_PRODUTO e grava na Fila de Processamento.

A captura por chave segue o padrão FILIAL-ROMANEIO_PRODUTO, com releitura e reenfileiramento preservando token quando existir.

Fonte

Origem consultada: tabela ESTOQUE_PROD_SAI. Itens: ESTOQUE_PROD1_SAI.

Consulta principal:

SELECT
    ROMANEIO_PRODUTO,
    FILIAL,
    EMISSAO,
    OBS,
    CM_OPERACAO,
    TIPO_ROMANEIO,
    DATA_DIGITACAO,
    DATA_PARA_TRANSFERENCIA
FROM
    ESTOQUE_PROD_SAI (NOLOCK)

Operações com Dados

Leitura: conforme Fonte; itens por ROMANEIO_PRODUTO em ESTOQUE_PROD1_SAI com colunas SA_1 a SA_48 e CUSTO1.

Consulta dinâmica (captura automática): FILIAL IN (...), TIPO_ROMANEIO = 'AJUSTE', CM_OPERACAO = '011', DATA_PARA_TRANSFERENCIA >= filtro, ORDER BY DATA_PARA_TRANSFERENCIA ASC, ROMANEIO_PRODUTO ASC, OFFSET ... FETCH NEXT ... conforme limite do serviço LojaAjusteEstoqueSaidaNormal.

Consulta dinâmica (captura por chave): WHERE FILIAL = ... AND ROMANEIO_PRODUTO = ....

Validação (captura por chave): chave em duas partes; senão erro de chave inválida.

Persistência: serviço LojaAjusteEstoqueSaidaNormal, chave FILIAL-ROMANEIO_PRODUTO e estado do capturador.

Fila de Processamento

Descrição Conceitual

A fila recupera um registro pendente e utiliza o conteúdo do registro como base do payload de integração. Em seguida, aplica transformações obrigatórias de padronização e realiza a chamada ao ILLI.
O envio ocorre via setAjusteSaidaNormal; o retorno atualiza situação e mensagem na tabela da fila de integração.

Estruturação de Dados
Campos do conteudo
Campo no payload Campo de origem
ROMANEIO_PRODUTO ROMANEIO_PRODUTO
FILIAL FILIAL
EMISSAO EMISSAO
OBS OBS
CM_OPERACAO CM_OPERACAO
TIPO_ROMANEIO TIPO_ROMANEIO
DATA_DIGITACAO DATA_DIGITACAO
DATA_PARA_TRANSFERENCIA DATA_PARA_TRANSFERENCIA
ITENS Array de ESTOQUE_PROD1_SAI (SA_1 a SA_48, CUSTO1, etc.)

Exemplo ilustrativo de corpo enviado ao ILLI (estrutura alinhada ao conteudo):

{
  "ROMANEIO_PRODUTO": "<ROMANEIO_PRODUTO>",
  "FILIAL": "<FILIAL>",
  "EMISSAO": "<EMISSAO>",
  "OBS": "<OBS>",
  "CM_OPERACAO": "<CM_OPERACAO>",
  "TIPO_ROMANEIO": "<TIPO_ROMANEIO>",
  "DATA_DIGITACAO": "<DATA_DIGITACAO>",
  "DATA_PARA_TRANSFERENCIA": "<DATA_PARA_TRANSFERENCIA>",
  "ITENS": []
}
Tratamento de Dados
  • ITENS: linhas de ESTOQUE_PROD1_SAI para o ROMANEIO_PRODUTO atual, com SA_1 a SA_48 e CUSTO1.
  • Envio: conteudo como JSON sem mapeamento adicional no arquivo analisado.
Integração com o ILLI
  • Chamada: Requisição HTTP
  • Recurso: /bibliotecas/e3a6737d-ac74-4ed6-9668-e3921320c29f/ilx_ajuste_estoque/setAjusteSaidaNormal
  • Método HTTP: POST
  • Corpo: conteudo do registro na fila.
Tratamento de retorno

Ausência de resposta ou retorno sem success e sem message gera exceção e situação erro. Quando success não está vazio, situação sucesso; caso contrário situação erro. Em exceção, mensagem persistida; retorno não reconhecido pode estruturar erro e dados.

Notificação

A notificação de erros consulta registros com falha na tabela da fila de integração para o serviço LojaAjusteEstoqueSaidaNormal e situação de erro, ordenando pelo horário de processamento para priorizar ocorrências mais antigas.

Fluxo do Processo

Diagrama do processo


Critérios de Aceitação
Processo Subprocesso Descrição Situação esperada
Capturador Captura automática Deve filtrar ESTOQUE_PROD_SAI com TIPO_ROMANEIO = 'AJUSTE' e CM_OPERACAO = '011', anexar ESTOQUE_PROD1_SAI e gravar na fila LojaAjusteEstoqueSaidaNormal. Registro pendente com payload completo.
Capturador Captura por chave Deve validar chave em duas partes e reenfileirar com token quando existir. Chave inválida interrompe com exceção.
Fila de Processamento Integração ILLI Deve enviar ao recurso /bibliotecas/e3a6737d-ac74-4ed6-9668-e3921320c29f/ilx_ajuste_estoque/setAjusteSaidaNormal, interpretar sucesso ou erro com mensagem e persistir situação na tabela da fila de integração. Situação final e detalhes alinhados ao retorno do ILLI.