diff --git a/server.js b/server.js index 2a54a04..b55cb02 100644 --- a/server.js +++ b/server.js @@ -683,7 +683,7 @@ app.get("/discovery/keys/:provider", authMiddleware, async (req, res) => { } catch (e) { res.status(500).json({ ok: false }); } }); -// AÑADIDO: Ruta para el Panel Operativo (Asignados vs Citados) +// AÑADIDO: Ruta para el Panel Operativo (Asignados vs Citados vs Sin Asignar Confirmados) app.get("/services/active", authMiddleware, async (req, res) => { try { const q = await pool.query(` @@ -691,14 +691,20 @@ app.get("/services/active", authMiddleware, async (req, res) => { s.*, u.full_name as assigned_name, CASE + WHEN s.assigned_to IS NULL THEN 'sin_asignar' WHEN (s.raw_data->>'scheduled_date') IS NULL OR (s.raw_data->>'scheduled_date') = '' THEN 'asignado_operario' ELSE 'citado' END as estado_operativo FROM scraped_services s LEFT JOIN users u ON s.assigned_to = u.id WHERE s.owner_id = $1 - AND (s.automation_status = 'completed' OR s.status = 'imported') AND s.status != 'archived' + AND ( + s.automation_status = 'completed' OR + s.status = 'imported' OR + s.automation_status = 'failed' OR + s.provider = 'MANUAL' + ) ORDER BY s.created_at DESC `, [req.user.accountId]); res.json({ ok: true, services: q.rows });