API :: PATCH Atualizar Roteiro

Atualiza as informações do roteiro. Deve incluir todos os campos disponíveis na tela Roteiro do BR One, de forma similar à atualização da Ordem de Produção.

Endpoint: PATCH /api/v1/producao/roteiros/{docNumRoteiro}

Aviso

O caminho deste endpoint usa “roteiros” no plural (.../producao/roteiros/{docNumRoteiro}), enquanto os outros três endpoints desta página usam “roteiro” no singular (.../producao/roteiro/...). Confirmar com o autor da especificação se isso é intencional antes de implementar — inconsistências de nomenclatura entre endpoints do mesmo recurso costumam ser erro de digitação.

Corpo da requisição (Request Body)

{
  "roteiroPadrao": true,
  "descricaoRoteiro": "Roteiro de produção principal",
  "codigoItem": "PA001",
  "loteMaximo": 0,
  "calculoBaseAlternativo": true,
  "deposito": "01-A",
  "revisao": null,
  "percentualRefugo": 0,
  "arredondarPercentualRefugo": 0,
  "projeto": null,
  "regraDistribuicao": null,
  "observacoes": "Produção urgente para cliente",
  "estruturaBase": false,
  "inativo": false,
  "qualidade": {
    "fichaAnalise": "Nenhum",
    "destinoQualidade": null
  },
  "conteudo": [
    {
      "lineId": 1,
      "modeloAnalise": "0000002",
      "desconsiderarLeadTime": true,
      "linhasOperacao": [
        {
          "lineId": 2,
          "codigoRecurso": "GRAPI",
          "quantidade": 1,
          "quantidadeFixa": 10,
          "tempoFixo": 10,
          "tempoVariavel": 2,
          "observacao": "Recurso tipo máquina"
        },
        {
          "lineId": 3,
          "codigoRecurso": "item_nenhum",
          "quantidade": 10,
          "quantidadeFixa": 2,
          "depositoComponente": "01",
          "metodoBaixa": "M"
        }
      ]
    }
  ],
  "subProduto": [
    {
      "lineId": 1,
      "codigoItem": "ADIMIX",
      "codigoDeposito": "01",
      "percentualCusto": 5,
      "unidadeMedida": "UN"
    }
  ]
}

Nota

O exemplo acima é o script de referência fornecido na especificação original — os nomes e a estrutura dos campos (roteiroPadrao, conteudo, subProduto etc.) não têm descrição campo a campo no documento de origem, diferente do endpoint de api-roteiro-adicionar-linha. [INFORMAÇÃO NÃO ENCONTRADA] para uma tabela de campos equivalente.

Erros

Condição

Mensagem

codigoItem não informado

BR One :: Erro - O campo 'codigoItem' é obrigatório e não pode estar vazio.

descricaoRoteiro não informado

BR One :: Erro - O campo 'descricaoRoteiro' é obrigatório e não pode estar vazio.

deposito não informado

BR One :: Erro - O campo 'deposito' não foi informado.

codigoRecurso não informado numa linha de operação

BR One :: Erro - O campo 'codigoRecurso' na linha 2 não foi informado.

quantidade menor ou igual a zero numa linha de operação

BR One :: Erro - O campo 'quantidade' na linha 2 deve ser maior que zero.

Depósito informado não existe

BR One :: Erro - O depósito '99-Z' informado não está disponível para uso

percentualRefugo maior que 100%

BR One :: Erro - O percentual de refugo não pode ultrapassar 100%.

Documento do roteiro não encontrado

BR One :: Erro - O documento do roteiro '999999' não foi encontrado.

Nota

A especificação original pede: “padronizar as mensagens de erro igual a US2” — ou seja, o formato de mensagem de erro deste endpoint deveria seguir o mesmo padrão de outra história de usuário (referida como “US2” no documento original). [INFORMAÇÃO NÃO ENCONTRADA] — a especificação não deixa claro a qual história “US2” se refere; confirmar com o autor antes de padronizar.

Autenticação, headers, response e códigos HTTP

Importante

[INFORMAÇÃO NÃO ENCONTRADA] — não definidos na especificação de origem.

Veja também

  • api-roteiro-consultar

  • api-roteiro-adicionar-linha

  • api-roteiro-excluir-linha