feat(orders): detalhe completo de pedidos ERP com produtos e pagamento
- Endpoint GET /orders/erp/:idPedido para pedidos do histórico ERP
(endpoint estático antes de /:id com ParseUUIDPipe, sem conflito)
- JOIN vw_peditens_erp + vw_produtos: itens com codigo + descricao do produto
- forma_pagamento direto da vw_pedidos_erp (ex: "28/35/42 DIAS")
- Retorna PedidoDetail completo: totais, ipi, icmsst, comissao, obs
- Frontend: useOrderDetail detecta 'erp-*' → chama /orders/erp/{id}
- OrderDetailPage: Cond. Pagamento nas Descriptions; oculta botões
Transmitir/Aprovar/Recusar para pedidos ERP (read-only)
- PedidoItemSchema.id relaxado de uuid() para string() (ERP usa '{id}-{ordem}')
- PedidoDetailSchema: campo formaPagamento opcional adicionado
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -31,7 +31,7 @@ export const SITUA_LABEL: Record<number, string> = {
|
||||
// ─── PedidoItem ───────────────────────────────────────────────────────────────
|
||||
|
||||
export const PedidoItemSchema = z.object({
|
||||
id: z.string().uuid(),
|
||||
id: z.string(), // UUID para pedidos SAR; '{idPedido}-{ordem}' para ERP
|
||||
idProduto: z.number().int(),
|
||||
codProduto: z.string().nullable(),
|
||||
descProduto: z.string().nullable(),
|
||||
@@ -87,6 +87,7 @@ export const PedidoDetailSchema = PedidoSummarySchema.extend({
|
||||
acrescimo: z.string(),
|
||||
comissao: z.string(),
|
||||
pedFlex: z.string(),
|
||||
formaPagamento: z.string().nullable().optional(),
|
||||
aprovadoPor: z.number().int().nullable(),
|
||||
aprovadoEm: z.iso.datetime().nullable(),
|
||||
motivoRecusa: z.string().nullable(),
|
||||
|
||||
Reference in New Issue
Block a user