40-clients/ucepsa/edge-oee-demo/sql/020_reports_ucepsa_demo_views.sql

98 lines
2.6 KiB
SQL

-- =========================================================
-- Reporting views para Grafana UCEPSA demo
-- Grafana debe consultar preferentemente este schema.
-- =========================================================
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.energy_latest AS
SELECT
ts,
ingest_ts,
age_s,
tenant,
site,
asset,
meter_model,
meter_id,
machine_id,
voltage_l1_v,
current_l1_a,
power_total_kw,
frequency_hz,
import_kwh,
export_kwh,
comm_ok,
error_text,
comm_risk_level,
comm_status
FROM mv_hot.edge_oee_eastron_dashboard
WHERE asset = 'revpi_oee_node_01';
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.energy_diagnosis AS
SELECT *
FROM mv_hot.edge_oee_eastron_diagnosis_latest;
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.live_telemetry AS
SELECT *
FROM mv_hot.edge_oee_live_telemetry
WHERE asset = 'revpi_oee_node_01';
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.latest_machine_snapshot AS
SELECT *
FROM mv_hot.edge_oee_latest_machine_snapshot
WHERE asset = 'revpi_oee_node_01';
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.node_events_recent AS
SELECT *
FROM mv_hot.edge_oee_node_events_recent
WHERE asset = 'revpi_oee_node_01';
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.machine_state_latest AS
SELECT *
FROM mv_hot.edge_oee_machine_state_latest
WHERE asset = 'revpi_oee_node_01';
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.open_stops AS
SELECT *
FROM mv_hot.edge_oee_open_stops
WHERE asset = 'revpi_oee_node_01';
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.stops_recent AS
SELECT *
FROM mv_hot.edge_oee_stops_recent
WHERE asset = 'revpi_oee_node_01';
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.stop_summary AS
SELECT *
FROM mv_hot.edge_oee_stop_summary_demo;
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.machine_targets AS
SELECT *
FROM mv_hot.edge_oee_machine_targets
WHERE machine_id = 'C_DEMO';
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.energy_power_timeseries AS
SELECT
ingest_ts AS time,
ROUND((power_total_kw * 1000)::numeric, 2) AS power_w
FROM mv_hot.edge_oee_eastron_readings
WHERE asset = 'revpi_oee_node_01'
ORDER BY ingest_ts;
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.energy_import_timeseries AS
SELECT
ingest_ts AS time,
ROUND((import_kwh * 1000)::numeric, 2) AS import_wh
FROM mv_hot.edge_oee_eastron_readings
WHERE asset = 'revpi_oee_node_01'
ORDER BY ingest_ts;
CREATE OR REPLACE VIEW mv_reports_ucepsa_demo.cycle_rate_timeseries AS
SELECT
ts AS time,
cycle_rate_ppm,
10.0::numeric AS target_cycle_rate_ppm
FROM mv_hot.edge_oee_live_telemetry
WHERE asset = 'revpi_oee_node_01'
AND cycle_rate_ppm IS NOT NULL
ORDER BY ts;