diff --git a/backend/index.js b/backend/index.js index aa12b77..dce2d89 100644 --- a/backend/index.js +++ b/backend/index.js @@ -124,12 +124,14 @@ app.post('/api/data', authenticateAPIKey, async (req, res) => { const insertQuery = ` INSERT INTO orders ( cliente_nome, data_pedido, valor_pedido, - produto_id, produto_descricao, quantidade, valor_unitario - ) VALUES ($1, $2, $3, $4, $5, $6, $7) + produto_id, produto_descricao, quantidade, valor_unitario, pedido_id + ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) `; for (const item of payload) { // Handle potential missing fields gracefully + const orderId = item.id || item.ID_Pedido || (item.json && item.json.body && item.json.body.id) || ''; + const values = [ item.Nome_Cliente || 'Unknown', item.Data_Pedido || '', @@ -137,7 +139,8 @@ app.post('/api/data', authenticateAPIKey, async (req, res) => { item.ID_Produto || '', item.Descricao_Produto || '', item.Quantidade || 0, - item.Valor_Unitario || 0 + item.Valor_Unitario || 0, + String(orderId) ]; await client.query(insertQuery, values); } @@ -155,4 +158,5 @@ app.post('/api/data', authenticateAPIKey, async (req, res) => { app.listen(PORT, '0.0.0.0', () => { console.log(`Nexstar Backend running at http://localhost:${PORT}`); console.log(`Endpoint for n8n: POST http://localhost:${PORT}/api/data`); +});ORT}/api/data`); }); \ No newline at end of file diff --git a/src/pages/ClientDetails.tsx b/src/pages/ClientDetails.tsx index 87569a9..845e8df 100644 --- a/src/pages/ClientDetails.tsx +++ b/src/pages/ClientDetails.tsx @@ -16,7 +16,7 @@ const ClientDetails = () => { return clientName === decodedName; }); - const groupedOrdersMap: Record = {}; + const groupedOrdersMap: Record = {}; let totalSpent = 0; let totalItems = 0; @@ -24,11 +24,12 @@ const ClientDetails = () => { totalSpent += (order.Quantidade * order.Valor_Unitario); totalItems += order.Quantidade; - // Use date and total order value as a unique cart/order identifier - const key = `${order.Data_Pedido}_${order.Valor_Pedido}`; + // Use ID_Pedido if available, otherwise fallback to date and total order value + const key = order.ID_Pedido || `${order.Data_Pedido}_${order.Valor_Pedido}`; if (!groupedOrdersMap[key]) { groupedOrdersMap[key] = { date: order.Data_Pedido, + orderId: order.ID_Pedido || key, orderTotal: order.Valor_Pedido, items: [] }; @@ -89,16 +90,16 @@ const ClientDetails = () => { - - {/* Orders List */} -
- {groupedOrders.map((group, groupIndex) => ( -
-
-

- Data do Pedido: {group.date} -

- +{/* Orders List */} +
+ {groupedOrders.map((group, groupIndex) => ( +
+
+

+ + Pedido ID: {group.orderId} +

+ Total do Pedido: {formatCurrency(group.orderTotal)}
diff --git a/src/types.ts b/src/types.ts index b1eacb0..025e1e1 100644 --- a/src/types.ts +++ b/src/types.ts @@ -7,6 +7,7 @@ export interface OrderData { Quantidade: number; Valor_Unitario: number; Recebido_Em?: string; + ID_Pedido?: string; } export interface DateRange {