Pular para conteúdo

Processar Lote

Para realizar alterações nos lotes, apenas para endereços de PULMÃO, será necessário chamar o método processarLote. A chamada desse serviço procede da seguinte forma:

URL

http://ip_servidor:9090/cyberweb/api/processo/processarLote

Headers

chave : "epa42b92-d78b-7g88-p538-279qw562h54m"

token : "9166226b-6afd-4298-b6cc-d7dc3aef8f48"

Content-Type : "application/x-www-form-urlencoded"

Body

processarLote : "JSON Processar Lote"

JSON Processar Lote

{
    "empresa": "01",
    "codigoReduzido": "999999999999",
    "operacaoLote": [
        {
            "operacao": "LOCK",
            "layout": "1",
            "quantidade": 100,
            "lote": "LOTE_01"
        },
        {
            "operacao": "UPDATE",
            "layout": "1",
            "quantidade": 100,
            "lote": "LOTE_02",
            "validade": "2025-01-01",
            "fabricacao": "2020-10-10"
        },
        {
            "operacao": "UNLOCK",
            "layout": "2",
            "quantidade": 100,
            "lote": "LOTE_03"
        },
        {
            "operacao": "LOCK",
            "lote": "LOTE_04"
        },
        {
            "operacao": "UNLOCK",
            "lote": "LOTE_05"
        }
    ]
}

Response

{
    "CyberWeb": "1 - Processado"
}

URL

http://ip_servidor:9090/SyncWS/SyncWS/processarLote

Headers

Content-Type : text/xml

Body - (XML) Processar Lote

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Body>
        <processarLote xmlns="http://soap.cyber/">
            <sessionId xmlns="">SessionId</sessionId>
            <processarLote xmlns="">JSON Processar Lote</processarLote>
        </processarLote>
    </Body>
</Envelope>

JSON Processar Lote

{
    "empresa": "01",
    "codigoReduzido": "999999999999",
    "operacaoLote": [
        {
            "operacao": "LOCK",
            "layout": "1",
            "quantidade": 100,
            "lote": "LOTE_01"
        },
        {
            "operacao": "UPDATE",
            "layout": "1",
            "quantidade": 100,
            "lote": "LOTE_02",
            "validade": "2025-01-01",
            "fabricacao": "2020-10-10"
        },
        {
            "operacao": "UNLOCK",
            "layout": "2",
            "quantidade": 100,
            "lote": "LOTE_03"
        },
        {
            "operacao": "LOCK",
            "lote": "LOTE_04"
        },
        {
            "operacao": "UNLOCK",
            "lote": "LOTE_05"
        }
    ]
}

Response

<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
        <ns2:processarLoteResponse xmlns:ns2="http://soap.cyber/">
            <return>1 - Processado</return>
        </ns2:processarLoteResponse>
    </S:Body>
</S:Envelope>

RC's do método processarLote

  • 1 - Processado;
  • 2 - Processado com pendências. (Lote XXXXX não XXXXX. Status XXXXX é diferente de XXXXX), (Lote XXXXX quantidade não processada XXXXX da operação XXXXX);
  • !3 - Não há configuração de depósito para a empresa: XXXXX;
  • !4 - Não processado (depósito informado não possui configuração);
  • !5 - Não processado (código reduzido vazio);
  • !6 - Não processado (produto não identificado no WMS);
  • !7 - Não processado (lote não encontrado);
  • !8 - Não processado (lote não encontrado no layout especificado);
  • !9 - Não processado (campo operação vazio);
  • !10 - Não processado (operação não identificada);
  • !11 - Não processado (lote não informado);
  • !12 - Não processado (lote/layout não encontrado);
  • !42 - Erro não cadastrado (informações no log do servidor).

Dicionário de dados - ProcessarLote

Nome Tipo de Dado Descrição Obrigatório Padrão
empresa varchar(20) Número da empresa.
codigoReduzido varchar(39) Código reduzido do produto.
operacaoLote arraylist (OperacaoLote) Lista de operações de lotes a serem processados.

Dicionário de dados - OperacaoLote

Nome Tipo de Dado Descrição Obrigatório Padrão
operacao varchar(10) Operação ('LOCK' bloquear, 'UNLOCK' liberar, 'UPDATE' alterar)
layout number(10) Layout específico do endereço do lote que será processado. Todos
lote varchar(20) Lote a ser processado.
quantidade number(15,4) Quantidade a ser processada em unidades.
validade date(8) Nova data de validade do lote.
fabricacao date(8) Nova data de fabricação do lote.

Bloqueio e liberação de lotes se NÃO for informado o campo QUANTIDADE

  • 1) Bloqueio de lotes (operação LOCK):

    O consumo do serviço processarLote com a operação LOCK, irá alterar o status do endereço para Bloqueado, em quarentena. Para isso, é necessário que o status do endereço atual seja Ocupado.

  • 2) Liberação de lotes (operação UNLOCK):

    O consumo do serviço processarLote com a operação UNLOCK, irá alterar o status do endereço para Ocupado. Para isso, é necessário que o status do endereço atual seja Bloqueado, em quarentena.

  • 3) Observação:

    Quando não é informado a quantidade será bloqueado/desbloqueado toda a quantidade encontrada daquele lote.

Bloqueio e liberação de lotes se for informado o campo QUANTIDADE de forma parcial/total

  • 1) Bloqueio de lotes (operação LOCK):

    O consumo do serviço processarLote com a operação LOCK, irá alterar o status do endereço para Bloqueado, em quarentena se encontrar quantidade igual ou inferior. Para isso, é necessário que o status do endereço atual seja Ocupado. Se for encontrado quantidade superior, será subtraída a quantidade a ser bloqueada do endereço e colocada como SALDO BLOQUEADO, não podendo ser utilizada até ser desbloqueada essa quantidade.

  • 2) Liberação de lotes (operação UNLOCK):

    O consumo do serviço processarLote com a operação UNLOCK, irá alterar o status do endereço para Ocupado se for encontrado quantidade igual ou inferior. Para isso, é necessário que o status do endereço atual seja Bloqueado, em quarentena. Se for encontrado quantidade superior, será colocada a quantidade a ser desbloqueada no endereço e a diferença entre as quantidades irá para o SALDO BLOQUEADO.

  • 3) Observação:

    Na busca das quantidades tanto para o UNLOCK como LOCK sempre será pego primeiramente os endereços com quantidades fechadas, os com quantidade parcial no SALDO BLOQUEADO serão pegos por último no processamento de lote com quantidade informada!

Operação de atualização

  • 1) Atualização de lotes (operação UPDATE):

    Na atualização do lote é alterada a informação de data de validade e data de fabricação de todas as alocações encontradas para o respectivo produto e lote, indiferente da quantidade enviada.

Alocações/Endereços com saldo bloqueado

Quando uma alocação/endereço possuir saldo bloqueado e tiver sua quantidade zerada (devido ter sido separado em um pedido, feito transferência das quantidades etc...), não será apagada a alocação se tiver quantidade no saldo bloqueado e o endereço vai ficar ocupado (XX).