Ordem de produção de desmontagem
Este manual orienta o uso dos endpoints da API para processos de Saída de PA e Entrada de Componentes em Ordens de Produção de Desmontagem, com ênfase nos novos requisitos e exemplos de JSON.
—
Saída de PA com array de “componentes” no JSON
Objetivo
Permitir que o endpoint de Saída de PA aceite um array “componentes”, possibilitando agrupar os lotes/séries de cada componente, com identificação via lineId.
Regras
Ao informar o lineId de um componente, a API deve buscar todas as informações associadas a esse componente:
Lotes: Deve buscar todos os lotes relacionados ao lineId informado.
Séries: Deve trazer todas as séries vinculadas ao lineId.
Estrutura esperada do campo “componentes”
O campo “componentes” deve conter os dados existentes na tela de definição de lote/série, além da estrutura abaixo:
- “componentes”: [
- {
“lineId”: 0, “lotes”: [
- {
“lote”: “”, “quantidade”: 0, “lineNumBase”: 0, “atributo1”: “”, “atributo2”: “”, “dataVencimento”: “2025-02-14”, “dataFabricacao”: “2025-02-14”, “dataAdmissao”: “2025-02-14”, “local”: “”, “detalhes”: “”
}
], “series”: [
- {
“numSerie”: “”, “quantidade”: 0, “numSerieFabricante”: “”, “systemSerialNumber”: 0, “dataVencimento”: “2025-02-14”, “dataFabricacao”: “2025-02-14”, “dataAdmissao”: “2025-02-14”, “dataInicioGarantiaFabricante”: “2025-02-14”, “dataFimGarantiaFabricante”: “2025-02-14”, “localizacao”: “”, “detalhes”: “”
}
]
}
]
Validações
Validar criação do array “componentes” no JSON enviado para o endpoint de Saída de PA.
Validar os campos e a estrutura do array.
Verificar se, ao indicar o lineId, a API faz corretamente a busca de lotes/séries do componente informado.
—
Entrada de Componentes (item administrado por Série)
Objetivo
Permitir a Entrada de Componentes em uma OP de Desmontagem para itens administrados por Série, preenchendo o campo de custo com Custo unit. desmontagem.
Regras
O campo codigosRegraDistribuicao deve incluir corretamente as regras de distribuição.
A API deve validar se as regras informadas são compatíveis com a OP e os itens.
Validações para controle por lote ou série
Item controlado por série:
O JSON deve conter obrigatoriamente a estrutura series.
Item controlado por lote:
O JSON deve conter obrigatoriamente a estrutura lotes.
Item não controlado:
Não deve conter lotes ou séries no JSON.
Mensagem de erro esperada:
BR One :: Não é possível continuar a inserção sem concluir a seleção de números de série/lote.
Validação de obrigatoriedade de datas
Se o item for administrado por série, as seguintes datas devem obrigatoriamente estar preenchidas:
dataVencimento
dataFabricacao
dataAdmissao
dataInicioGarantiaFabricante
dataFimGarantiaFabricante
Mensagem de erro esperada:
BR One :: O campo ‘{campoFaltante}’ é obrigatório para itens administrados por série e não foi informado. Verifique o JSON enviado.
Observações na Tela
Observações:
BR One :: Entrada manual referente à OP de N° xxxx
Observação do diário:
Entrada de componentes baseada na OP nº xxx.
Validações adicionais
Verificar que a entrada de componentes apareça corretamente na tela Custo Componentes.
Validar que o número de série utilizado na entrada de mercadoria seja corretamente gerado e exibido.
Garantir que o campo de custo na entrada esteja preenchido com o valor de Custo unit. desmontagem, calculado com base em:
Percentual
Lista de preço
Custo médio
—
Saída de PA (item administrado por Nenhum) em OP de Desmontagem
Objetivo
Permitir a Saída de PA para itens administrados por Nenhum em OP de Desmontagem, com custo preenchido usando o Custo médio do item.
Regras
O campo codigosRegraDistribuicao só deve permitir a Saída de PA caso todas as Dimensões da Regra de Distribuição estejam ativas.
Se alguma Dimensão estiver inativa, a API deve retornar:
BR One :: Erro Dimensão invalida ou inativa.
Validações
Validar preenchimento correto do campo codigosRegraDistribuicao.
Garantir que o campo de custo na saída use o valor de Custo médio do item.
Validar os campos obrigatórios do JSON.
—
Exemplos de JSON
Saída de PA (com array “componentes”)
- {
“docNumOrdemProducao”: 0, “codigoItem”: “”, “codigoDeposito”: “”, “quantidade”: 0, “codigoProjeto”: “”, “codigoRegraDistribuicao”: “”, “codigosRegraDistribuicao”: [“regra1”, “regra2”, “regra3”], “dataDocumento”: “”, “observacoes”: “”, “refugo”: false, “classificacaoRefugo”: “”, “lotes”: [
- {
“lote”: “”, “quantidade”: 0
}
], “series”: [
- {
“numSerie”: “”, “quantidade”: 0
}
], “componentes”: [
- {
“lineId”: 0, “lotes”: [
- {
“lote”: “”, “quantidade”: 0, “lineNumBase”: 0, “atributo1”: “”, “atributo2”: “”, “dataVencimento”: “2025-02-14”, “dataFabricacao”: “2025-02-14”, “dataAdmissao”: “2025-02-14”, “local”: “”, “detalhes”: “”
}
], “series”: [
- {
“numSerie”: “”, “quantidade”: 0, “numSerieFabricante”: “”, “systemSerialNumber”: 0, “dataVencimento”: “2025-02-14”, “dataFabricacao”: “2025-02-14”, “dataAdmissao”: “2025-02-14”, “dataInicioGarantiaFabricante”: “2025-02-14”, “dataFimGarantiaFabricante”: “2025-02-14”, “localizacao”: “”, “detalhes”: “”
}
]
}
]
}
Entrada de Componentes (item administrado por Série)
- {
“docNumOrdemProducao”: 0, “sequenciaOperacao”: 0, “codigoProjeto”: “”, “dataDocumento”: “2024-07-18”, “referencia”: “”, “codigosRegraDistribuicao”: [“regra1”, “regra2”, “regra3”], “observacoes”: “”, “linhas”: [
- {
“lineId”: 0, “codigoItem”: “”, “codigoDeposito”: “”, “quantidade”: 0, “lotes”: [], “series”: [
- {
“numSerie”: “”, “numSerieFabricante”: “”, “numeroSerieLote”: “”, “dataVencimento”: “2024-08-22”, “dataFabricacao”: “2024-08-22”, “dataAdmissao”: “2024-08-22”, “dataInicioGarantiaFabricante”: “2024-08-22”, “dataFimGarantiaFabricante”: “2024-08-22”, “local”: “”, “detalhes”: “”
}
]
}
]
}
Saída de PA (item Nenhum) em Desmontagem
- {
“docNumOrdemProducao”: 1044, “codigoItem”: “pa nenhum”, “codigoDeposito”: “01”, “quantidade”: 2, “codigoProjeto”: “Projeto 02”, “codigosRegraDistribuicao”: [“regra1”, “regra2”, “regra3”], “observacoes”: “API”, “refugo”: false, “classificacaoRefugo”: “”, “lotesComponentes”: [
- {
“lote”: “L01”, “quantidade”: 1
}, {
“lote”: “L02”, “quantidade”: 1
}
]
}