Atualiza pedido de compra
PUT/purchase/buy-order/:idbuyorder
Atualiza o cabeçalho do pedido de compra — fornecedor, faturador, pedido de venda vinculado, observações, previsão de recebimento, centro de distribuição, armazém e status. IDSupplier é sempre obrigatório, mesmo quando não muda. A mudança de status obedece a uma tabela fixa de transições: 0 Aberto vai para 1, 2 ou 3; 1 Aguardando Recebimento vai para 0, 2, 5 ou 6; 2 Cancelado volta só para 0; 3 Pedido Confirmado vai para 0, 1 ou 5; 6 Recebido Parcialmente vai só para 5; 5 Finalizado e 7 Mesclado são terminais e não aceitam nenhuma transição. Reenviar o status atual é sempre aceito, inclusive 0. Quando os itens já inseridos estão em armazéns de centros de distribuição diferentes entre si, a atualização é recusada até que os itens divergentes sejam removidos. Quando IDStockKeepingUnitWarehouse é enviado, todos os itens do pedido passam para esse armazém. Registra no histórico o antes e depois de cada campo alterado e retorna o pedido atualizado.
Request
Responses
- 200
- 400
Pedido de compra atualizado. Retorna o pedido de compra completo, no mesmo formato de GET /purchase/buy-order/{idbuyorder}.
Validação falhou. Mensagens reais: [BadRequest] - Fornecedor (IDSupplier) é obrigatório, [BadRequest] - Pedido de compra não existe, [BadRequest] - Fornecedor não existe, [BadRequest] - Faturador não existe, [BadRequest] - Pedido não existe, [BadRequest] - Status não existe, [BadRequest] - Transição de status não permitida: <de> para <para>, [BadRequest] - Centro de distribuição não existe, [BadRequest] - Empresa não tem centro de distribuição padrão, [BadRequest] - Pedido de compra está em mais de um centro de distribuição. Remover os itens de armazéns divergentes, [BadRequest] - Novo centro de distribuição diverge dos armazém dos itens já inseridos no pedido de compra. Remover os itens ou alterar o armazém antes de alterar o centro de distribuição, [BadRequest] - Armazém não pertence ao CD informado, [BadRequest] - Armazém não existe.