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"
}
]
}
URL
http://ip_servidor:9090/SyncWS/SyncWS/processarLote
Headers
Content-Type : text/xml
Body - (XML) 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"
}
]
}
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).