@golemio/energetics 1.4.3-dev.1411262009 → 1.4.4-rc.1419814471
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/migrations/postgresql/sqls/20230116095151-correct_v_energetis_upadate-down.sql +27 -27
- package/db/migrations/postgresql/sqls/20230116095151-correct_v_energetis_upadate-up.sql +28 -28
- package/db/migrations/postgresql/sqls/20230202122506-v_energetics_last_updates-down.sql +64 -64
- package/db/migrations/postgresql/sqls/20230202122506-v_energetics_last_updates-up.sql +168 -168
- package/db/migrations/postgresql/sqls/20230208144859-v_energetics_last_updates_corr-down.sql +50 -50
- package/db/migrations/postgresql/sqls/20230208144859-v_energetics_last_updates_corr-up.sql +51 -51
- package/db/migrations/postgresql/sqls/20230216151258-new_views_out_of_prague-down.sql +461 -461
- package/db/migrations/postgresql/sqls/20230216151258-new_views_out_of_prague-up.sql +464 -464
- package/db/migrations/postgresql/sqls/20230220063725-another_view_out_of_prague_-down.sql +126 -126
- package/db/migrations/postgresql/sqls/20230220063725-another_view_out_of_prague_-up.sql +127 -127
- package/db/migrations/postgresql/sqls/20230220132403-v_gas_reserve_correct-down.sql +111 -111
- package/db/migrations/postgresql/sqls/20230220132403-v_gas_reserve_correct-up.sql +110 -110
- package/dist/integration-engine/commodity-providers/ioc/Di.js +1 -1
- package/dist/integration-engine/commodity-providers/ioc/Di.js.map +1 -1
- package/docs/index.md +3 -0
- package/package.json +4 -4
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
CREATE OR REPLACE VIEW v_consumption_gas_reserve
|
|
2
|
-
AS WITH kalendar AS (
|
|
3
|
-
SELECT den.den::date AS den
|
|
4
|
-
FROM generate_series('2019-01-01 00:00:00+01'::timestamp with time zone, now() - '1 day'::interval, '1 day'::interval) den(den)
|
|
5
|
-
), meraky AS (
|
|
6
|
-
SELECT DISTINCT consumption_energy_devices.addr
|
|
7
|
-
FROM energetics.consumption_energy_devices
|
|
8
|
-
WHERE consumption_energy_devices.meter_type::text = 'Plynoměr'::text AND consumption_energy_devices.addr::text !~~ '10.%'::text AND consumption_energy_devices.addr::text !~~ '/10.%'::text
|
|
9
|
-
), daily_delta_core AS (
|
|
10
|
-
SELECT date_trunc('day'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval)::date AS measured_from,
|
|
11
|
-
v_consumption_energy_delta.addr,
|
|
12
|
-
v_consumption_energy_delta.var,
|
|
13
|
-
sum(v_consumption_energy_delta.delta_value) AS delta_value
|
|
14
|
-
FROM energetics.v_consumption_energy_delta
|
|
15
|
-
WHERE v_consumption_energy_delta.commodity::text = 'gas'::text AND date_part('year'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval) >= 2019::double precision
|
|
16
|
-
GROUP BY (date_trunc('day'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval)::date), v_consumption_energy_delta.addr, v_consumption_energy_delta.var
|
|
17
|
-
), daily_delta_core2 AS (
|
|
18
|
-
SELECT date_trunc('day'::text, consumption_energy_consumption.time_utc - '06:00:00'::interval)::date AS measured_from,
|
|
19
|
-
replace(consumption_energy_consumption.addr::text, concat('/', consumption_energy_consumption.var), ''::text)::character varying(255) AS addr,
|
|
20
|
-
consumption_energy_consumption.var,
|
|
21
|
-
sum(consumption_energy_consumption.value) AS delta_value
|
|
22
|
-
FROM energetics.consumption_energy_consumption
|
|
23
|
-
WHERE consumption_energy_consumption.var::text = 'core2'::text AND consumption_energy_consumption.time_utc::date > '2018-12-31'::date AND consumption_energy_consumption.addr::text !~~ '10.%'::text AND consumption_energy_consumption.addr::text !~~ '/10.%'::text
|
|
24
|
-
GROUP BY (date_trunc('day'::text, consumption_energy_consumption.time_utc - '06:00:00'::interval)::date), consumption_energy_consumption.addr, consumption_energy_consumption.var
|
|
25
|
-
), delta_dates AS (
|
|
26
|
-
SELECT daily_delta_core.measured_from,
|
|
27
|
-
daily_delta_core.addr,
|
|
28
|
-
daily_delta_core.var,
|
|
29
|
-
daily_delta_core.delta_value,
|
|
30
|
-
lag(daily_delta_core.measured_from, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS measured_before,
|
|
31
|
-
lead(daily_delta_core.measured_from, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS measured_after,
|
|
32
|
-
lag(daily_delta_core.delta_value, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS delta_before,
|
|
33
|
-
lead(daily_delta_core.delta_value, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS delta_after
|
|
34
|
-
FROM daily_delta_core
|
|
35
|
-
), delta_date_diff AS (
|
|
36
|
-
SELECT delta_dates.measured_from,
|
|
37
|
-
delta_dates.addr,
|
|
38
|
-
delta_dates.var,
|
|
39
|
-
delta_dates.delta_value,
|
|
40
|
-
delta_dates.measured_before,
|
|
41
|
-
delta_dates.measured_after,
|
|
42
|
-
delta_dates.delta_before,
|
|
43
|
-
delta_dates.delta_after,
|
|
44
|
-
CASE
|
|
45
|
-
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 AND (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN 'mid'::text
|
|
46
|
-
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 THEN 'begin'::text
|
|
47
|
-
WHEN (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN 'end'::text
|
|
48
|
-
ELSE 'ok'::text
|
|
49
|
-
END AS value_type,
|
|
50
|
-
CASE
|
|
51
|
-
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 AND (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN (delta_dates.delta_value / 2::numeric + delta_dates.delta_after) / (delta_dates.measured_after - delta_dates.measured_from + 1)::numeric
|
|
52
|
-
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 THEN (delta_dates.delta_value + delta_dates.delta_after) / (delta_dates.measured_after - delta_dates.measured_from + 1)::numeric
|
|
53
|
-
ELSE NULL::numeric
|
|
54
|
-
END AS fix
|
|
55
|
-
FROM delta_dates
|
|
56
|
-
), joined_table AS (
|
|
57
|
-
SELECT kalendar.den AS measured_from,
|
|
58
|
-
meraky.addr,
|
|
59
|
-
diff.delta_value,
|
|
60
|
-
diff.value_type,
|
|
61
|
-
diff.fix,
|
|
62
|
-
core2.delta_value AS core2_delta,
|
|
63
|
-
CASE
|
|
64
|
-
WHEN diff.value_type = 'ok'::text THEN COALESCE(core2.delta_value, diff.delta_value)
|
|
65
|
-
ELSE diff.fix
|
|
66
|
-
END AS final_fix,
|
|
67
|
-
CASE
|
|
68
|
-
WHEN diff.value_type = 'ok'::text THEN COALESCE(core2.var, diff.var)
|
|
69
|
-
ELSE 'core'::character varying
|
|
70
|
-
END AS final_var
|
|
71
|
-
FROM kalendar
|
|
72
|
-
LEFT JOIN meraky ON true
|
|
73
|
-
LEFT JOIN delta_date_diff diff ON diff.measured_from = kalendar.den AND diff.addr::text = meraky.addr::text
|
|
74
|
-
LEFT JOIN daily_delta_core2 core2 ON core2.measured_from = kalendar.den AND core2.addr::text = meraky.addr::text
|
|
75
|
-
ORDER BY meraky.addr, kalendar.den
|
|
76
|
-
), fixed_table AS (
|
|
77
|
-
SELECT q.measured_from,
|
|
78
|
-
q.addr,
|
|
79
|
-
q.delta_value,
|
|
80
|
-
q.value_type,
|
|
81
|
-
q.fix,
|
|
82
|
-
q.core2_delta,
|
|
83
|
-
q.final_fix,
|
|
84
|
-
q.final_var,
|
|
85
|
-
q.value_partition,
|
|
86
|
-
first_value(q.final_fix) OVER w AS value
|
|
87
|
-
FROM ( SELECT joined_table.measured_from,
|
|
88
|
-
joined_table.addr,
|
|
89
|
-
joined_table.delta_value,
|
|
90
|
-
joined_table.value_type,
|
|
91
|
-
joined_table.fix,
|
|
92
|
-
joined_table.core2_delta,
|
|
93
|
-
joined_table.final_fix,
|
|
94
|
-
joined_table.final_var,
|
|
95
|
-
sum(
|
|
96
|
-
CASE
|
|
97
|
-
WHEN joined_table.final_fix IS NULL THEN 0
|
|
98
|
-
ELSE 1
|
|
99
|
-
END) OVER (PARTITION BY joined_table.addr ORDER BY joined_table.measured_from) AS value_partition
|
|
100
|
-
FROM joined_table) q
|
|
101
|
-
WINDOW w AS (PARTITION BY q.addr, q.value_partition ORDER BY q.measured_from)
|
|
102
|
-
)
|
|
103
|
-
SELECT fixed_table.measured_from,
|
|
104
|
-
fixed_table.addr,
|
|
105
|
-
fixed_table.value AS delta_value,
|
|
106
|
-
fixed_table.final_var,
|
|
107
|
-
row_number() OVER (PARTITION BY fixed_table.addr, (date_trunc('month'::text, fixed_table.measured_from::timestamp with time zone)) ORDER BY fixed_table.value DESC) AS ran
|
|
108
|
-
FROM fixed_table
|
|
109
|
-
WHERE fixed_table.value IS NOT NULL;
|
|
110
|
-
|
|
111
|
-
|
|
1
|
+
CREATE OR REPLACE VIEW v_consumption_gas_reserve
|
|
2
|
+
AS WITH kalendar AS (
|
|
3
|
+
SELECT den.den::date AS den
|
|
4
|
+
FROM generate_series('2019-01-01 00:00:00+01'::timestamp with time zone, now() - '1 day'::interval, '1 day'::interval) den(den)
|
|
5
|
+
), meraky AS (
|
|
6
|
+
SELECT DISTINCT consumption_energy_devices.addr
|
|
7
|
+
FROM energetics.consumption_energy_devices
|
|
8
|
+
WHERE consumption_energy_devices.meter_type::text = 'Plynoměr'::text AND consumption_energy_devices.addr::text !~~ '10.%'::text AND consumption_energy_devices.addr::text !~~ '/10.%'::text
|
|
9
|
+
), daily_delta_core AS (
|
|
10
|
+
SELECT date_trunc('day'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval)::date AS measured_from,
|
|
11
|
+
v_consumption_energy_delta.addr,
|
|
12
|
+
v_consumption_energy_delta.var,
|
|
13
|
+
sum(v_consumption_energy_delta.delta_value) AS delta_value
|
|
14
|
+
FROM energetics.v_consumption_energy_delta
|
|
15
|
+
WHERE v_consumption_energy_delta.commodity::text = 'gas'::text AND date_part('year'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval) >= 2019::double precision
|
|
16
|
+
GROUP BY (date_trunc('day'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval)::date), v_consumption_energy_delta.addr, v_consumption_energy_delta.var
|
|
17
|
+
), daily_delta_core2 AS (
|
|
18
|
+
SELECT date_trunc('day'::text, consumption_energy_consumption.time_utc - '06:00:00'::interval)::date AS measured_from,
|
|
19
|
+
replace(consumption_energy_consumption.addr::text, concat('/', consumption_energy_consumption.var), ''::text)::character varying(255) AS addr,
|
|
20
|
+
consumption_energy_consumption.var,
|
|
21
|
+
sum(consumption_energy_consumption.value) AS delta_value
|
|
22
|
+
FROM energetics.consumption_energy_consumption
|
|
23
|
+
WHERE consumption_energy_consumption.var::text = 'core2'::text AND consumption_energy_consumption.time_utc::date > '2018-12-31'::date AND consumption_energy_consumption.addr::text !~~ '10.%'::text AND consumption_energy_consumption.addr::text !~~ '/10.%'::text
|
|
24
|
+
GROUP BY (date_trunc('day'::text, consumption_energy_consumption.time_utc - '06:00:00'::interval)::date), consumption_energy_consumption.addr, consumption_energy_consumption.var
|
|
25
|
+
), delta_dates AS (
|
|
26
|
+
SELECT daily_delta_core.measured_from,
|
|
27
|
+
daily_delta_core.addr,
|
|
28
|
+
daily_delta_core.var,
|
|
29
|
+
daily_delta_core.delta_value,
|
|
30
|
+
lag(daily_delta_core.measured_from, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS measured_before,
|
|
31
|
+
lead(daily_delta_core.measured_from, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS measured_after,
|
|
32
|
+
lag(daily_delta_core.delta_value, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS delta_before,
|
|
33
|
+
lead(daily_delta_core.delta_value, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS delta_after
|
|
34
|
+
FROM daily_delta_core
|
|
35
|
+
), delta_date_diff AS (
|
|
36
|
+
SELECT delta_dates.measured_from,
|
|
37
|
+
delta_dates.addr,
|
|
38
|
+
delta_dates.var,
|
|
39
|
+
delta_dates.delta_value,
|
|
40
|
+
delta_dates.measured_before,
|
|
41
|
+
delta_dates.measured_after,
|
|
42
|
+
delta_dates.delta_before,
|
|
43
|
+
delta_dates.delta_after,
|
|
44
|
+
CASE
|
|
45
|
+
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 AND (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN 'mid'::text
|
|
46
|
+
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 THEN 'begin'::text
|
|
47
|
+
WHEN (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN 'end'::text
|
|
48
|
+
ELSE 'ok'::text
|
|
49
|
+
END AS value_type,
|
|
50
|
+
CASE
|
|
51
|
+
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 AND (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN (delta_dates.delta_value / 2::numeric + delta_dates.delta_after) / (delta_dates.measured_after - delta_dates.measured_from + 1)::numeric
|
|
52
|
+
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 THEN (delta_dates.delta_value + delta_dates.delta_after) / (delta_dates.measured_after - delta_dates.measured_from + 1)::numeric
|
|
53
|
+
ELSE NULL::numeric
|
|
54
|
+
END AS fix
|
|
55
|
+
FROM delta_dates
|
|
56
|
+
), joined_table AS (
|
|
57
|
+
SELECT kalendar.den AS measured_from,
|
|
58
|
+
meraky.addr,
|
|
59
|
+
diff.delta_value,
|
|
60
|
+
diff.value_type,
|
|
61
|
+
diff.fix,
|
|
62
|
+
core2.delta_value AS core2_delta,
|
|
63
|
+
CASE
|
|
64
|
+
WHEN diff.value_type = 'ok'::text THEN COALESCE(core2.delta_value, diff.delta_value)
|
|
65
|
+
ELSE diff.fix
|
|
66
|
+
END AS final_fix,
|
|
67
|
+
CASE
|
|
68
|
+
WHEN diff.value_type = 'ok'::text THEN COALESCE(core2.var, diff.var)
|
|
69
|
+
ELSE 'core'::character varying
|
|
70
|
+
END AS final_var
|
|
71
|
+
FROM kalendar
|
|
72
|
+
LEFT JOIN meraky ON true
|
|
73
|
+
LEFT JOIN delta_date_diff diff ON diff.measured_from = kalendar.den AND diff.addr::text = meraky.addr::text
|
|
74
|
+
LEFT JOIN daily_delta_core2 core2 ON core2.measured_from = kalendar.den AND core2.addr::text = meraky.addr::text
|
|
75
|
+
ORDER BY meraky.addr, kalendar.den
|
|
76
|
+
), fixed_table AS (
|
|
77
|
+
SELECT q.measured_from,
|
|
78
|
+
q.addr,
|
|
79
|
+
q.delta_value,
|
|
80
|
+
q.value_type,
|
|
81
|
+
q.fix,
|
|
82
|
+
q.core2_delta,
|
|
83
|
+
q.final_fix,
|
|
84
|
+
q.final_var,
|
|
85
|
+
q.value_partition,
|
|
86
|
+
first_value(q.final_fix) OVER w AS value
|
|
87
|
+
FROM ( SELECT joined_table.measured_from,
|
|
88
|
+
joined_table.addr,
|
|
89
|
+
joined_table.delta_value,
|
|
90
|
+
joined_table.value_type,
|
|
91
|
+
joined_table.fix,
|
|
92
|
+
joined_table.core2_delta,
|
|
93
|
+
joined_table.final_fix,
|
|
94
|
+
joined_table.final_var,
|
|
95
|
+
sum(
|
|
96
|
+
CASE
|
|
97
|
+
WHEN joined_table.final_fix IS NULL THEN 0
|
|
98
|
+
ELSE 1
|
|
99
|
+
END) OVER (PARTITION BY joined_table.addr ORDER BY joined_table.measured_from) AS value_partition
|
|
100
|
+
FROM joined_table) q
|
|
101
|
+
WINDOW w AS (PARTITION BY q.addr, q.value_partition ORDER BY q.measured_from)
|
|
102
|
+
)
|
|
103
|
+
SELECT fixed_table.measured_from,
|
|
104
|
+
fixed_table.addr,
|
|
105
|
+
fixed_table.value AS delta_value,
|
|
106
|
+
fixed_table.final_var,
|
|
107
|
+
row_number() OVER (PARTITION BY fixed_table.addr, (date_trunc('month'::text, fixed_table.measured_from::timestamp with time zone)) ORDER BY fixed_table.value DESC) AS ran
|
|
108
|
+
FROM fixed_table
|
|
109
|
+
WHERE fixed_table.value IS NOT NULL;
|
|
110
|
+
|
|
111
|
+
|
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
CREATE OR REPLACE VIEW v_consumption_gas_reserve
|
|
2
|
-
AS WITH kalendar AS (
|
|
3
|
-
SELECT den.den::date AS den
|
|
4
|
-
FROM generate_series('2019-01-01 00:00:00+01'::timestamp with time zone, now() - '1 day'::interval, '1 day'::interval) den(den)
|
|
5
|
-
), meraky AS (
|
|
6
|
-
SELECT DISTINCT consumption_energy_devices.addr
|
|
7
|
-
FROM energetics.consumption_energy_devices
|
|
8
|
-
WHERE consumption_energy_devices.meter_type::text = 'Plynoměr'::text AND consumption_energy_devices.addr::text !~~ '10.%'::text AND consumption_energy_devices.addr::text !~~ '/10.%'::text
|
|
9
|
-
), daily_delta_core AS (
|
|
10
|
-
SELECT date_trunc('day'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval)::date AS measured_from,
|
|
11
|
-
v_consumption_energy_delta.addr,
|
|
12
|
-
v_consumption_energy_delta.var,
|
|
13
|
-
sum(v_consumption_energy_delta.delta_value) AS delta_value
|
|
14
|
-
FROM energetics.v_consumption_energy_delta
|
|
15
|
-
WHERE (v_consumption_energy_delta.addr::text ~~ '%/PF%'::text OR v_consumption_energy_delta.addr::text ~~ '%/PP%'::text) AND date_part('year'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval) >= 2019::double precision
|
|
16
|
-
GROUP BY (date_trunc('day'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval)::date), v_consumption_energy_delta.addr, v_consumption_energy_delta.var
|
|
17
|
-
), daily_delta_core2 AS (
|
|
18
|
-
SELECT date_trunc('day'::text, consumption_energy_consumption.time_utc - '06:00:00'::interval)::date AS measured_from,
|
|
19
|
-
replace(consumption_energy_consumption.addr::text, concat('/', consumption_energy_consumption.var), ''::text)::character varying(255) AS addr,
|
|
20
|
-
consumption_energy_consumption.var,
|
|
21
|
-
sum(consumption_energy_consumption.value) AS delta_value
|
|
22
|
-
FROM energetics.consumption_energy_consumption
|
|
23
|
-
WHERE consumption_energy_consumption.var::text = 'core2'::text AND consumption_energy_consumption.time_utc::date > '2018-12-31'::date AND consumption_energy_consumption.addr::text !~~ '10.%'::text AND consumption_energy_consumption.addr::text !~~ '/10.%'::text
|
|
24
|
-
GROUP BY (date_trunc('day'::text, consumption_energy_consumption.time_utc - '06:00:00'::interval)::date), consumption_energy_consumption.addr, consumption_energy_consumption.var
|
|
25
|
-
), delta_dates AS (
|
|
26
|
-
SELECT daily_delta_core.measured_from,
|
|
27
|
-
daily_delta_core.addr,
|
|
28
|
-
daily_delta_core.var,
|
|
29
|
-
daily_delta_core.delta_value,
|
|
30
|
-
lag(daily_delta_core.measured_from, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS measured_before,
|
|
31
|
-
lead(daily_delta_core.measured_from, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS measured_after,
|
|
32
|
-
lag(daily_delta_core.delta_value, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS delta_before,
|
|
33
|
-
lead(daily_delta_core.delta_value, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS delta_after
|
|
34
|
-
FROM daily_delta_core
|
|
35
|
-
), delta_date_diff AS (
|
|
36
|
-
SELECT delta_dates.measured_from,
|
|
37
|
-
delta_dates.addr,
|
|
38
|
-
delta_dates.var,
|
|
39
|
-
delta_dates.delta_value,
|
|
40
|
-
delta_dates.measured_before,
|
|
41
|
-
delta_dates.measured_after,
|
|
42
|
-
delta_dates.delta_before,
|
|
43
|
-
delta_dates.delta_after,
|
|
44
|
-
CASE
|
|
45
|
-
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 AND (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN 'mid'::text
|
|
46
|
-
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 THEN 'begin'::text
|
|
47
|
-
WHEN (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN 'end'::text
|
|
48
|
-
ELSE 'ok'::text
|
|
49
|
-
END AS value_type,
|
|
50
|
-
CASE
|
|
51
|
-
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 AND (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN (delta_dates.delta_value / 2::numeric + delta_dates.delta_after) / (delta_dates.measured_after - delta_dates.measured_from + 1)::numeric
|
|
52
|
-
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 THEN (delta_dates.delta_value + delta_dates.delta_after) / (delta_dates.measured_after - delta_dates.measured_from + 1)::numeric
|
|
53
|
-
ELSE NULL::numeric
|
|
54
|
-
END AS fix
|
|
55
|
-
FROM delta_dates
|
|
56
|
-
), joined_table AS (
|
|
57
|
-
SELECT kalendar.den AS measured_from,
|
|
58
|
-
meraky.addr,
|
|
59
|
-
diff.delta_value,
|
|
60
|
-
diff.value_type,
|
|
61
|
-
diff.fix,
|
|
62
|
-
core2.delta_value AS core2_delta,
|
|
63
|
-
CASE
|
|
64
|
-
WHEN diff.value_type = 'ok'::text THEN COALESCE(core2.delta_value, diff.delta_value)
|
|
65
|
-
ELSE diff.fix
|
|
66
|
-
END AS final_fix,
|
|
67
|
-
CASE
|
|
68
|
-
WHEN diff.value_type = 'ok'::text THEN COALESCE(core2.var, diff.var)
|
|
69
|
-
ELSE 'core'::character varying
|
|
70
|
-
END AS final_var
|
|
71
|
-
FROM kalendar
|
|
72
|
-
LEFT JOIN meraky ON true
|
|
73
|
-
LEFT JOIN delta_date_diff diff ON diff.measured_from = kalendar.den AND diff.addr::text = meraky.addr::text
|
|
74
|
-
LEFT JOIN daily_delta_core2 core2 ON core2.measured_from = kalendar.den AND core2.addr::text = meraky.addr::text
|
|
75
|
-
ORDER BY meraky.addr, kalendar.den
|
|
76
|
-
), fixed_table AS (
|
|
77
|
-
SELECT q.measured_from,
|
|
78
|
-
q.addr,
|
|
79
|
-
q.delta_value,
|
|
80
|
-
q.value_type,
|
|
81
|
-
q.fix,
|
|
82
|
-
q.core2_delta,
|
|
83
|
-
q.final_fix,
|
|
84
|
-
q.final_var,
|
|
85
|
-
q.value_partition,
|
|
86
|
-
first_value(q.final_fix) OVER w AS value
|
|
87
|
-
FROM ( SELECT joined_table.measured_from,
|
|
88
|
-
joined_table.addr,
|
|
89
|
-
joined_table.delta_value,
|
|
90
|
-
joined_table.value_type,
|
|
91
|
-
joined_table.fix,
|
|
92
|
-
joined_table.core2_delta,
|
|
93
|
-
joined_table.final_fix,
|
|
94
|
-
joined_table.final_var,
|
|
95
|
-
sum(
|
|
96
|
-
CASE
|
|
97
|
-
WHEN joined_table.final_fix IS NULL THEN 0
|
|
98
|
-
ELSE 1
|
|
99
|
-
END) OVER (PARTITION BY joined_table.addr ORDER BY joined_table.measured_from) AS value_partition
|
|
100
|
-
FROM joined_table) q
|
|
101
|
-
WINDOW w AS (PARTITION BY q.addr, q.value_partition ORDER BY q.measured_from)
|
|
102
|
-
)
|
|
103
|
-
SELECT fixed_table.measured_from,
|
|
104
|
-
fixed_table.addr,
|
|
105
|
-
fixed_table.value AS delta_value,
|
|
106
|
-
fixed_table.final_var,
|
|
107
|
-
row_number() OVER (PARTITION BY fixed_table.addr, (date_trunc('month'::text, fixed_table.measured_from::timestamp with time zone)) ORDER BY fixed_table.value DESC) AS ran
|
|
108
|
-
FROM fixed_table
|
|
109
|
-
WHERE fixed_table.value IS NOT NULL;
|
|
110
|
-
|
|
1
|
+
CREATE OR REPLACE VIEW v_consumption_gas_reserve
|
|
2
|
+
AS WITH kalendar AS (
|
|
3
|
+
SELECT den.den::date AS den
|
|
4
|
+
FROM generate_series('2019-01-01 00:00:00+01'::timestamp with time zone, now() - '1 day'::interval, '1 day'::interval) den(den)
|
|
5
|
+
), meraky AS (
|
|
6
|
+
SELECT DISTINCT consumption_energy_devices.addr
|
|
7
|
+
FROM energetics.consumption_energy_devices
|
|
8
|
+
WHERE consumption_energy_devices.meter_type::text = 'Plynoměr'::text AND consumption_energy_devices.addr::text !~~ '10.%'::text AND consumption_energy_devices.addr::text !~~ '/10.%'::text
|
|
9
|
+
), daily_delta_core AS (
|
|
10
|
+
SELECT date_trunc('day'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval)::date AS measured_from,
|
|
11
|
+
v_consumption_energy_delta.addr,
|
|
12
|
+
v_consumption_energy_delta.var,
|
|
13
|
+
sum(v_consumption_energy_delta.delta_value) AS delta_value
|
|
14
|
+
FROM energetics.v_consumption_energy_delta
|
|
15
|
+
WHERE (v_consumption_energy_delta.addr::text ~~ '%/PF%'::text OR v_consumption_energy_delta.addr::text ~~ '%/PP%'::text) AND date_part('year'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval) >= 2019::double precision
|
|
16
|
+
GROUP BY (date_trunc('day'::text, v_consumption_energy_delta.time_utc - '06:00:00'::interval)::date), v_consumption_energy_delta.addr, v_consumption_energy_delta.var
|
|
17
|
+
), daily_delta_core2 AS (
|
|
18
|
+
SELECT date_trunc('day'::text, consumption_energy_consumption.time_utc - '06:00:00'::interval)::date AS measured_from,
|
|
19
|
+
replace(consumption_energy_consumption.addr::text, concat('/', consumption_energy_consumption.var), ''::text)::character varying(255) AS addr,
|
|
20
|
+
consumption_energy_consumption.var,
|
|
21
|
+
sum(consumption_energy_consumption.value) AS delta_value
|
|
22
|
+
FROM energetics.consumption_energy_consumption
|
|
23
|
+
WHERE consumption_energy_consumption.var::text = 'core2'::text AND consumption_energy_consumption.time_utc::date > '2018-12-31'::date AND consumption_energy_consumption.addr::text !~~ '10.%'::text AND consumption_energy_consumption.addr::text !~~ '/10.%'::text
|
|
24
|
+
GROUP BY (date_trunc('day'::text, consumption_energy_consumption.time_utc - '06:00:00'::interval)::date), consumption_energy_consumption.addr, consumption_energy_consumption.var
|
|
25
|
+
), delta_dates AS (
|
|
26
|
+
SELECT daily_delta_core.measured_from,
|
|
27
|
+
daily_delta_core.addr,
|
|
28
|
+
daily_delta_core.var,
|
|
29
|
+
daily_delta_core.delta_value,
|
|
30
|
+
lag(daily_delta_core.measured_from, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS measured_before,
|
|
31
|
+
lead(daily_delta_core.measured_from, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS measured_after,
|
|
32
|
+
lag(daily_delta_core.delta_value, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS delta_before,
|
|
33
|
+
lead(daily_delta_core.delta_value, 1) OVER (PARTITION BY daily_delta_core.addr ORDER BY daily_delta_core.measured_from) AS delta_after
|
|
34
|
+
FROM daily_delta_core
|
|
35
|
+
), delta_date_diff AS (
|
|
36
|
+
SELECT delta_dates.measured_from,
|
|
37
|
+
delta_dates.addr,
|
|
38
|
+
delta_dates.var,
|
|
39
|
+
delta_dates.delta_value,
|
|
40
|
+
delta_dates.measured_before,
|
|
41
|
+
delta_dates.measured_after,
|
|
42
|
+
delta_dates.delta_before,
|
|
43
|
+
delta_dates.delta_after,
|
|
44
|
+
CASE
|
|
45
|
+
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 AND (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN 'mid'::text
|
|
46
|
+
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 THEN 'begin'::text
|
|
47
|
+
WHEN (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN 'end'::text
|
|
48
|
+
ELSE 'ok'::text
|
|
49
|
+
END AS value_type,
|
|
50
|
+
CASE
|
|
51
|
+
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 AND (delta_dates.measured_from - delta_dates.measured_before) > 1 THEN (delta_dates.delta_value / 2::numeric + delta_dates.delta_after) / (delta_dates.measured_after - delta_dates.measured_from + 1)::numeric
|
|
52
|
+
WHEN (delta_dates.measured_after - delta_dates.measured_from) > 1 THEN (delta_dates.delta_value + delta_dates.delta_after) / (delta_dates.measured_after - delta_dates.measured_from + 1)::numeric
|
|
53
|
+
ELSE NULL::numeric
|
|
54
|
+
END AS fix
|
|
55
|
+
FROM delta_dates
|
|
56
|
+
), joined_table AS (
|
|
57
|
+
SELECT kalendar.den AS measured_from,
|
|
58
|
+
meraky.addr,
|
|
59
|
+
diff.delta_value,
|
|
60
|
+
diff.value_type,
|
|
61
|
+
diff.fix,
|
|
62
|
+
core2.delta_value AS core2_delta,
|
|
63
|
+
CASE
|
|
64
|
+
WHEN diff.value_type = 'ok'::text THEN COALESCE(core2.delta_value, diff.delta_value)
|
|
65
|
+
ELSE diff.fix
|
|
66
|
+
END AS final_fix,
|
|
67
|
+
CASE
|
|
68
|
+
WHEN diff.value_type = 'ok'::text THEN COALESCE(core2.var, diff.var)
|
|
69
|
+
ELSE 'core'::character varying
|
|
70
|
+
END AS final_var
|
|
71
|
+
FROM kalendar
|
|
72
|
+
LEFT JOIN meraky ON true
|
|
73
|
+
LEFT JOIN delta_date_diff diff ON diff.measured_from = kalendar.den AND diff.addr::text = meraky.addr::text
|
|
74
|
+
LEFT JOIN daily_delta_core2 core2 ON core2.measured_from = kalendar.den AND core2.addr::text = meraky.addr::text
|
|
75
|
+
ORDER BY meraky.addr, kalendar.den
|
|
76
|
+
), fixed_table AS (
|
|
77
|
+
SELECT q.measured_from,
|
|
78
|
+
q.addr,
|
|
79
|
+
q.delta_value,
|
|
80
|
+
q.value_type,
|
|
81
|
+
q.fix,
|
|
82
|
+
q.core2_delta,
|
|
83
|
+
q.final_fix,
|
|
84
|
+
q.final_var,
|
|
85
|
+
q.value_partition,
|
|
86
|
+
first_value(q.final_fix) OVER w AS value
|
|
87
|
+
FROM ( SELECT joined_table.measured_from,
|
|
88
|
+
joined_table.addr,
|
|
89
|
+
joined_table.delta_value,
|
|
90
|
+
joined_table.value_type,
|
|
91
|
+
joined_table.fix,
|
|
92
|
+
joined_table.core2_delta,
|
|
93
|
+
joined_table.final_fix,
|
|
94
|
+
joined_table.final_var,
|
|
95
|
+
sum(
|
|
96
|
+
CASE
|
|
97
|
+
WHEN joined_table.final_fix IS NULL THEN 0
|
|
98
|
+
ELSE 1
|
|
99
|
+
END) OVER (PARTITION BY joined_table.addr ORDER BY joined_table.measured_from) AS value_partition
|
|
100
|
+
FROM joined_table) q
|
|
101
|
+
WINDOW w AS (PARTITION BY q.addr, q.value_partition ORDER BY q.measured_from)
|
|
102
|
+
)
|
|
103
|
+
SELECT fixed_table.measured_from,
|
|
104
|
+
fixed_table.addr,
|
|
105
|
+
fixed_table.value AS delta_value,
|
|
106
|
+
fixed_table.final_var,
|
|
107
|
+
row_number() OVER (PARTITION BY fixed_table.addr, (date_trunc('month'::text, fixed_table.measured_from::timestamp with time zone)) ORDER BY fixed_table.value DESC) AS ran
|
|
108
|
+
FROM fixed_table
|
|
109
|
+
WHERE fixed_table.value IS NOT NULL;
|
|
110
|
+
|
|
@@ -14,7 +14,6 @@ const PpasAveApiDataSourceProvider_1 = require("../datasources/ppas-ave-api/Ppas
|
|
|
14
14
|
const PreElectroApiDataSourceProvider_1 = require("../datasources/pre-elektro-api/PreElectroApiDataSourceProvider");
|
|
15
15
|
const PreElectroHelper_1 = require("../datasources/pre-elektro-api/helpers/PreElectroHelper");
|
|
16
16
|
const AccessConfigurationDataSource_1 = require("../datasources/static-data/AccessConfigurationDataSource");
|
|
17
|
-
const StaticMeterSettingsDataSourceCapitalDs_1 = require("../datasources/static-data/StaticMeterSettingsDataSourceCapitalDs");
|
|
18
17
|
const StaticMeterSettingsRepository_1 = require("../repositories/StaticMeterSettingsRepository");
|
|
19
18
|
const AveMeasurementTransformation_1 = require("../transformations/AveMeasurementTransformation");
|
|
20
19
|
const PreElectroTransformation_1 = require("../transformations/PreElectroTransformation");
|
|
@@ -26,6 +25,7 @@ const FetchPpasMeasurementsTask_1 = require("../workers/tasks/FetchPpasMeasureme
|
|
|
26
25
|
const FetchPreMeasurementDataTask_1 = require("../workers/tasks/FetchPreMeasurementDataTask");
|
|
27
26
|
const FetchPtasWebScrapedMeasurementsTask_1 = require("../workers/tasks/FetchPtasWebScrapedMeasurementsTask");
|
|
28
27
|
const WorkerContainerToken_1 = require("./WorkerContainerToken");
|
|
28
|
+
const StaticMeterSettingsDataSourceCapitalDs_1 = require("../datasources/static-data/StaticMeterSettingsDataSourceCapitalDs");
|
|
29
29
|
//#region Initialization
|
|
30
30
|
const CommodityContainer = Di_1.VPalaceContainer.createChildContainer();
|
|
31
31
|
exports.CommodityContainer = CommodityContainer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,0GAA4H;AAC5H,8FAAgH;AAChH,4HAA8I;AAC9I,iFAAmG;AACnG,kGAAoH;AACpH,kHAAoI;AACpI,8FAAgH;AAChH,qCAA8C;AAC9C,8GAAyG;AAEzG,2GAAwG;AACxG,oHAAiH;AACjH,8FAA2F;AAC3F,4GAAyG;AACzG,
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/commodity-providers/ioc/Di.ts"],"names":[],"mappings":"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"}
|
package/docs/index.md
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/energetics",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.4-rc.1419814471",
|
|
4
4
|
"description": "Golemio Energetics Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"@apideck/portman": "^1.26.5",
|
|
36
36
|
"@commitlint/cli": "^11.0.0",
|
|
37
37
|
"@commitlint/config-conventional": "^11.0.0",
|
|
38
|
-
"@golemio/cli": "1.
|
|
39
|
-
"@golemio/core": "1.
|
|
38
|
+
"@golemio/cli": "1.6.1",
|
|
39
|
+
"@golemio/core": "1.13.3",
|
|
40
40
|
"@golemio/db-common": "1.1.4",
|
|
41
41
|
"@golemio/eslint-config": "1.1.2",
|
|
42
42
|
"@types/chai": "4.2.3",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"typescript-transform-paths": "^3.4.6"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
|
-
"@golemio/core": "1.
|
|
72
|
+
"@golemio/core": ">=1.8.4"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
75
|
"basic-ftp": "^5.0.2",
|