{ "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "grafana", "uid": "-- Grafana --" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Supervisión SHADOW de máquina física, orden Odoo, sesión Shop Floor, sincronizador y calidad temporal. No alimenta el Ledger oficial.", "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, "id": null, "links": [], "liveNow": false, "panels": [ { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [ { "options": { "HEALTHY": { "color": "green", "index": 0, "text": "HEALTHY" }, "WARNING": { "color": "orange", "index": 1, "text": "WARNING" }, "CRITICAL": { "color": "red", "index": 2, "text": "CRITICAL" } }, "type": "value" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 0, "y": 0 }, "id": 1, "options": { "colorMode": "background", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.0.0", "targets": [ { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "editorMode": "code", "format": "table", "rawQuery": true, "rawSql": "SELECT overall_health_status AS \"Estado\"\n FROM mv_reports_ucepsa_prod.li_shopfloor_context_health_summary_v1", "refId": "A" } ], "title": "Salud general", "type": "stat" }, { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [ { "options": { "HEALTHY": { "color": "green", "index": 0, "text": "HEALTHY" }, "DELAYED": { "color": "orange", "index": 1, "text": "DELAYED" }, "STALE": { "color": "red", "index": 2, "text": "STALE" }, "ERROR": { "color": "red", "index": 3, "text": "ERROR" }, "NOT_INITIALIZED": { "color": "red", "index": 4, "text": "NOT INITIALIZED" } }, "type": "value" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 4, "y": 0 }, "id": 2, "options": { "colorMode": "background", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.0.0", "targets": [ { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "editorMode": "code", "format": "table", "rawQuery": true, "rawSql": "SELECT sync_health_status AS \"Estado\"\n FROM mv_reports_ucepsa_prod.li_shopfloor_context_health_summary_v1", "refId": "A" } ], "title": "Sincronizador", "type": "stat" }, { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "s" }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 8, "y": 0 }, "id": 3, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.0.0", "targets": [ { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "editorMode": "code", "format": "table", "rawQuery": true, "rawSql": "SELECT seconds_since_sync_success AS \"Segundos\"\n FROM mv_reports_ucepsa_prod.li_shopfloor_context_health_summary_v1", "refId": "A" } ], "title": "Segundos desde sync", "type": "stat" }, { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 12, "y": 0 }, "id": 4, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.0.0", "targets": [ { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "editorMode": "code", "format": "table", "rawQuery": true, "rawSql": "SELECT open_session_count AS \"Sesiones\"\n FROM mv_reports_ucepsa_prod.li_shopfloor_context_health_summary_v1", "refId": "A" } ], "title": "Sesiones abiertas", "type": "stat" }, { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 16, "y": 0 }, "id": 5, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.0.0", "targets": [ { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "editorMode": "code", "format": "table", "rawQuery": true, "rawSql": "SELECT warning_incident_count AS \"Incidencias\"\n FROM mv_reports_ucepsa_prod.li_shopfloor_context_health_summary_v1", "refId": "A" } ], "title": "Advertencias", "type": "stat" }, { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 20, "y": 0 }, "id": 6, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showPercentChange": false, "textMode": "auto", "wideLayout": true }, "pluginVersion": "11.0.0", "targets": [ { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "editorMode": "code", "format": "table", "rawQuery": true, "rawSql": "SELECT critical_incident_count AS \"Incidencias\"\n FROM mv_reports_ucepsa_prod.li_shopfloor_context_health_summary_v1", "refId": "A" } ], "title": "Críticas", "type": "stat" }, { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "filterable": true, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Estado" }, "properties": [ { "id": "custom.width", "value": 260 } ] }, { "matcher": { "id": "byName", "options": "Acción" }, "properties": [ { "id": "custom.width", "value": 420 } ] }, { "matcher": { "id": "byName", "options": "Operario" }, "properties": [ { "id": "custom.width", "value": 220 } ] }, { "matcher": { "id": "byName", "options": "Severidad" }, "properties": [ { "id": "mappings", "value": [ { "options": { "OK": { "color": "green", "index": 0, "text": "OK" }, "INFO": { "color": "blue", "index": 1, "text": "INFO" }, "WARNING": { "color": "orange", "index": 2, "text": "WARNING" }, "CRITICAL": { "color": "red", "index": 3, "text": "CRITICAL" } }, "type": "value" } ] }, { "id": "custom.cellOptions", "value": { "type": "color-text" } }, { "id": "custom.width", "value": 110 } ] } ] }, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 4 }, "id": 7, "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": false, "displayName": "Máquina" } ] }, "pluginVersion": "11.0.0", "targets": [ { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "editorMode": "code", "format": "table", "rawQuery": true, "rawSql": "SELECT\n machine_id AS \"Máquina\",\n machine_running AS \"Marcha\",\n telemetry_fresh AS \"Telemetría fresca\",\n COALESCE(published_production_order, '—') AS \"Orden publicada\",\n COALESCE(published_workorder_id, '—') AS \"WO publicado\",\n COALESCE(odoo_workorder_id::text, '—') AS \"WO sesión\",\n COALESCE(operator_name, operator_candidate_name, '—') AS \"Operario\",\n sync_health_status AS \"Sync\",\n live_context_status AS \"Estado\",\n live_severity AS \"Severidad\",\n recommended_action AS \"Acción\"\nFROM mv_reports_ucepsa_prod.li_shopfloor_machine_live_context_v1\nORDER BY machine_id", "refId": "A" } ], "title": "Estado vivo por máquina", "type": "table" }, { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "fieldConfig": { "defaults": { "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "filterable": true, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Severidad" }, "properties": [ { "id": "mappings", "value": [ { "options": { "WARNING": { "color": "orange", "index": 0, "text": "WARNING" }, "CRITICAL": { "color": "red", "index": 1, "text": "CRITICAL" } }, "type": "value" } ] }, { "id": "custom.cellOptions", "value": { "type": "color-background" } }, { "id": "custom.width", "value": 110 } ] }, { "matcher": { "id": "byName", "options": "Situación" }, "properties": [ { "id": "custom.width", "value": 420 } ] }, { "matcher": { "id": "byName", "options": "Acción" }, "properties": [ { "id": "custom.width", "value": 460 } ] } ] }, "gridPos": { "h": 10, "w": 24, "x": 0, "y": 13 }, "id": 8, "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "11.0.0", "targets": [ { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "editorMode": "code", "format": "table", "rawQuery": true, "rawSql": "SELECT\n observed_at AS \"Hora\",\n severity AS \"Severidad\",\n COALESCE(machine_id, '—') AS \"Máquina\",\n incident_scope AS \"Ámbito\",\n incident_code AS \"Código\",\n COALESCE(production_order, '—') AS \"Orden\",\n COALESCE(odoo_workorder_id::text, '—') AS \"Workorder\",\n COALESCE(operator_name, '—') AS \"Operario\",\n detail AS \"Situación\",\n recommended_action AS \"Acción\"\nFROM mv_reports_ucepsa_prod.li_shopfloor_context_incidents_v1\nORDER BY\n CASE severity\n WHEN 'CRITICAL' THEN 1\n WHEN 'WARNING' THEN 2\n ELSE 3\n END,\n machine_id NULLS FIRST,\n incident_code", "refId": "A" } ], "title": "Incidencias activas", "type": "table" }, { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "fieldConfig": { "defaults": { "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "filterable": true, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Minutos abierta" }, "properties": [ { "id": "unit", "value": "m" } ] }, { "matcher": { "id": "byName", "options": "Paro abierto min" }, "properties": [ { "id": "unit", "value": "m" } ] }, { "matcher": { "id": "byName", "options": "Acción" }, "properties": [ { "id": "custom.width", "value": 420 } ] } ] }, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 23 }, "id": 9, "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "11.0.0", "targets": [ { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "editorMode": "code", "format": "table", "rawQuery": true, "rawSql": "SELECT\n machine_id AS \"Máquina\",\n production_order AS \"Orden\",\n odoo_workorder_id AS \"Workorder\",\n COALESCE(operator_name, operator_candidate_name, '—') AS \"Operario\",\n session_started_at AS \"Inicio\",\n session_age_min AS \"Minutos abierta\",\n machine_running AS \"Marcha\",\n telemetry_fresh AS \"Telemetría fresca\",\n open_stop_duration_min AS \"Paro abierto min\",\n watch_status AS \"Estado\",\n watch_severity AS \"Severidad\",\n recommended_action AS \"Acción\"\nFROM mv_reports_ucepsa_prod.li_shopfloor_open_session_watch_v1\nORDER BY machine_id, session_started_at", "refId": "A" } ], "title": "Sesiones abiertas", "type": "table" }, { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "fieldConfig": { "defaults": { "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "filterable": true, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "DQ" }, "properties": [ { "id": "mappings", "value": [ { "options": { "OK": { "color": "green", "index": 0, "text": "OK" }, "WARNING": { "color": "orange", "index": 1, "text": "WARNING" }, "CRITICAL": { "color": "red", "index": 2, "text": "CRITICAL" } }, "type": "value" } ] }, { "id": "custom.cellOptions", "value": { "type": "color-text" } } ] } ] }, "gridPos": { "h": 10, "w": 24, "x": 0, "y": 32 }, "id": 10, "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "11.0.0", "targets": [ { "datasource": { "type": "postgres", "uid": "bfnbcasbm6hhca" }, "editorMode": "code", "format": "table", "rawQuery": true, "rawSql": "SELECT\n machine_id AS \"Máquina\",\n production_order AS \"Orden\",\n odoo_workorder_id AS \"Workorder\",\n session_status AS \"Sesión\",\n workorder_state AS \"Estado Odoo\",\n COALESCE(operator_name, operator_candidate_name, '—') AS \"Operario\",\n operator_confirmation_status AS \"Operario\",\n quantity_confirmation_status AS \"Cantidad\",\n confidence AS \"Confianza\",\n dq_status AS \"DQ\",\n array_to_string(issue_codes, ', ') AS \"Incidencias DQ\",\n started_at AS \"Inicio\",\n ended_at AS \"Fin\"\nFROM mv_reports_ucepsa_prod.li_shopfloor_session_data_quality_v1\nORDER BY\n CASE dq_status\n WHEN 'CRITICAL' THEN 1\n WHEN 'WARNING' THEN 2\n ELSE 3\n END,\n COALESCE(ended_at, started_at) DESC NULLS LAST,\n odoo_workorder_id DESC\nLIMIT 50", "refId": "A" } ], "title": "Calidad de sesiones", "type": "table" } ], "refresh": "5s", "schemaVersion": 42, "tags": [ "mesavault", "ucepsa", "shop-floor", "context-health", "shadow" ], "templating": { "list": [] }, "time": { "from": "now-12h", "to": "now" }, "timepicker": {}, "timezone": "browser", "title": "MESAVAULT — UCEPSA · Salud y contexto Shop Floor", "uid": "ucepsa-shopfloor-context-health", "version": 1, "weekStart": "" }