Revisão e correção do endpoint de orders/
Ao refatorar este endpoint, será permitido a criação e atualização de ordens ao integrar múltiplas operações em uma única requisição.
CONTROLLER:
- Refatore o controller para incluir os métodos @Get(), @Post(), e @Patch() para realizar operações diferentes dentro de um único request (orders/).
REFATORAÇÃO @Post PARA CRIAR ORDEM:
No método @Post(), ao receber uma nova ordem, faça as seguintes operações:
CRIAÇÃO DE ENTRADAS:
-
Crie uma entrada na tabela order
-
Defina o status como "CREATED"
-
Atribua o number com o valor da última ordem criada incrementado em 1.
-
Atribua o expected_quantity, final_product_id e production_line a partir dos dados recebidos no corpo da requisição.
CRIAÇÃO DE ENTRADAS:
-
Crie uma entrada na tabela order_batch_material, para cada item dentro desta tabela crie uma entrada com:
-
quantity e batch_material_id provenientes do corpo da requisição.
-
order_id vinculado ao id da ordem recém-criada.
CRIAÇÃO DE ENTRADAS:
-
Para cada product_step que tenha product_id igual ao final_product_id, insira uma entrada em step_order com:
-
step_id do product_step
-
order_id da ordem criada.
-
status definido como "CREATED", com start_quantity e end_quantity definidos como 0.
OBS: O retorno deve incluir o int number (número da ordem criada), bool return (para indicar se a operação concluiu com sucesso) e string message (para caso ocorrer algum problema, a mensagem fornece detalhes do erro).