@golemio/energetics 1.17.0 → 1.17.1
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/example/06_eno.sql +12 -4
- package/db/migrations/postgresql/20260920100000-ded-detail-department.js +53 -0
- package/db/migrations/postgresql/sqls/20260920100000-ded-detail-department-down.sql +213 -0
- package/db/migrations/postgresql/sqls/20260920100000-ded-detail-department-up.sql +240 -0
- package/dist/output-gateway/models/DedBuildingSearchViewModel.d.ts +4 -0
- package/dist/output-gateway/models/DedBuildingSearchViewModel.js +4 -0
- package/dist/output-gateway/models/DedBuildingSearchViewModel.js.map +1 -1
- package/dist/output-gateway/models/EnoBuildingDetailViewModel.d.ts +4 -0
- package/dist/output-gateway/models/EnoBuildingDetailViewModel.js +4 -0
- package/dist/output-gateway/models/EnoBuildingDetailViewModel.js.map +1 -1
- package/dist/output-gateway/models/interfaces/IDedBuildingSearchView.d.ts +4 -0
- package/dist/output-gateway/models/interfaces/IEnoBuildingDetailView.d.ts +4 -0
- package/dist/output-gateway/repositories/DedBuildingSearchRepository.js +12 -2
- package/dist/output-gateway/repositories/DedBuildingSearchRepository.js.map +1 -1
- package/dist/output-gateway/routers/interfaces/IDedBuildingSearchResponse.d.ts +1 -0
- package/dist/output-gateway/routers/interfaces/IEnoBuildingDetailResponse.d.ts +2 -1
- package/dist/output-gateway/transformations/DedBuildingSearchTransformation.js +3 -0
- package/dist/output-gateway/transformations/DedBuildingSearchTransformation.js.map +1 -1
- package/dist/output-gateway/transformations/EnoBuildingDetailTransformation.d.ts +1 -0
- package/dist/output-gateway/transformations/EnoBuildingDetailTransformation.js +11 -1
- package/dist/output-gateway/transformations/EnoBuildingDetailTransformation.js.map +1 -1
- package/docs/implementation_documentation.md +2 -1
- package/docs/openapi-output.yaml +15 -0
- package/package.json +3 -3
package/db/example/06_eno.sql
CHANGED
|
@@ -13,7 +13,11 @@ INSERT INTO eno_budova (gid, zdroj, nazev, oznaceni, druh_vytapeni, pripojka_ele
|
|
|
13
13
|
('GID200', 'mhmp', 'MŠ Vedlejší', 'MŠV', 'plynová kotelna', 'ano', 'ano', 'ne',
|
|
14
14
|
'ne', 480.0, 220.0, 1600.0,
|
|
15
15
|
0, 5, 2, 0, 1, false,
|
|
16
|
-
112, 100000002, 1002, '7', 'budova pro vzdělávání', NULL, NULL, '2021-06-15')
|
|
16
|
+
112, 100000002, 1002, '7', 'budova pro vzdělávání', NULL, NULL, '2021-06-15'),
|
|
17
|
+
('GIDDEPT1', 'mhmp', 'Budova s nedohledatelnou hlavní jednotkou', 'BND', 'ústřední dálkové', 'ano', 'ano', 'ano',
|
|
18
|
+
'ne', 300.0, 150.0, 900.0,
|
|
19
|
+
0, 3, 1, 0, 0, false,
|
|
20
|
+
112, 100000003, 1003, '7', 'budova pro vzdělávání', NULL, NULL, '2021-01-01');
|
|
17
21
|
|
|
18
22
|
INSERT INTO eno_adresa (gid, gid_typ, poradi, zdroj, id, popis, hlavni) VALUES
|
|
19
23
|
('GID100', 'budova', 1, 'mhmp', 501, 'Testovací 123/4, 100 00 Praha 10', true),
|
|
@@ -26,10 +30,14 @@ INSERT INTO eno_adresa (gid, gid_typ, poradi, zdroj, id, popis, hlavni) VALUES
|
|
|
26
30
|
|
|
27
31
|
-- GID100 (mhmp) is owned property linked to an evidenční jednotka and two správci; GID200 has no majetek row.
|
|
28
32
|
INSERT INTO eno_majetek (gid, gid_typ, zdroj, id_organizace, id_maj_evidencni_jednotka, id_maj_spravce_mandatni, id_maj_spravce_ucet_jednotka, v_majetku) VALUES
|
|
29
|
-
('GID100', 'budova', 'mhmp', 1, 7001, 8001, 8002, true)
|
|
33
|
+
('GID100', 'budova', 'mhmp', 1, 7001, 8001, 8002, true),
|
|
34
|
+
('GIDDEPT1', 'budova', 'mhmp', 1, 7002, NULL, NULL, true);
|
|
30
35
|
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
-- EJ-7002's kod_maj_evidencni_jednotka_hl references a code absent from this table (dangling reference).
|
|
37
|
+
INSERT INTO eno_ciselnik_evidencni_jednotka (guid, aktivni, id, kod, kod_maj_evidencni_jednotka_hl, nazev, typ, platnost_od) VALUES
|
|
38
|
+
('11111111-1111-1111-1111-111111111111', true, 7001, 'EJ-7001', 'OMA', 'Evidenční jednotka Praha 10', 'škola', '2020-01-01'),
|
|
39
|
+
('44444444-4444-4444-4444-444444444444', true, 9001, 'OMA', NULL, 'OMA', 'odbor', '2020-01-01'),
|
|
40
|
+
('55555555-5555-5555-5555-555555555555', true, 7002, 'EJ-7002', 'ODBOR-NEEXISTUJE', 'Evidenční jednotka bez nadřízené', 'škola', '2020-01-01');
|
|
33
41
|
|
|
34
42
|
INSERT INTO eno_ciselnik_spravce (guid, aktivni, id_maj_spravce, id_organizace, kod, nazev, ic, dic, platnost_od) VALUES
|
|
35
43
|
('22222222-2222-2222-2222-222222222222', true, 8001, 501, 'SPR-8001', 'Správce mandátní', '11111111', 'CZ11111111', '2020-01-01'),
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var dbm;
|
|
4
|
+
var type;
|
|
5
|
+
var seed;
|
|
6
|
+
var fs = require('fs');
|
|
7
|
+
var path = require('path');
|
|
8
|
+
var Promise;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* We receive the dbmigrate dependency from dbmigrate initially.
|
|
12
|
+
* This enables us to not have to rely on NODE_PATH.
|
|
13
|
+
*/
|
|
14
|
+
exports.setup = function(options, seedLink) {
|
|
15
|
+
dbm = options.dbmigrate;
|
|
16
|
+
type = dbm.dataType;
|
|
17
|
+
seed = seedLink;
|
|
18
|
+
Promise = options.Promise;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.up = function(db) {
|
|
22
|
+
var filePath = path.join(__dirname, 'sqls', '20260920100000-ded-detail-department-up.sql');
|
|
23
|
+
return new Promise( function( resolve, reject ) {
|
|
24
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
25
|
+
if (err) return reject(err);
|
|
26
|
+
console.log('received data: ' + data);
|
|
27
|
+
|
|
28
|
+
resolve(data);
|
|
29
|
+
});
|
|
30
|
+
})
|
|
31
|
+
.then(function(data) {
|
|
32
|
+
return db.runSql(data);
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.down = function(db) {
|
|
37
|
+
var filePath = path.join(__dirname, 'sqls', '20260920100000-ded-detail-department-down.sql');
|
|
38
|
+
return new Promise( function( resolve, reject ) {
|
|
39
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
40
|
+
if (err) return reject(err);
|
|
41
|
+
console.log('received data: ' + data);
|
|
42
|
+
|
|
43
|
+
resolve(data);
|
|
44
|
+
});
|
|
45
|
+
})
|
|
46
|
+
.then(function(data) {
|
|
47
|
+
return db.runSql(data);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
exports._meta = {
|
|
52
|
+
"version": 1
|
|
53
|
+
};
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
DROP MATERIALIZED VIEW IF EXISTS mv_ded_building_search;
|
|
2
|
+
|
|
3
|
+
DROP INDEX IF EXISTS eno_ciselnik_evidencni_jednotka_id_idx;
|
|
4
|
+
DROP INDEX IF EXISTS eno_ciselnik_evidencni_jednotka_kod_idx;
|
|
5
|
+
|
|
6
|
+
-- CREATE OR REPLACE VIEW cannot remove columns, so the view is dropped and recreated at the
|
|
7
|
+
-- pre-department definition (migration 20260807092000).
|
|
8
|
+
DROP VIEW IF EXISTS v_enapo_building_detail;
|
|
9
|
+
|
|
10
|
+
CREATE VIEW v_enapo_building_detail AS
|
|
11
|
+
SELECT DISTINCT ON (b.gid)
|
|
12
|
+
b.gid,
|
|
13
|
+
b.zdroj,
|
|
14
|
+
b.nazev,
|
|
15
|
+
b.oznaceni,
|
|
16
|
+
b.druh_vytapeni,
|
|
17
|
+
b.pripojka_elektro,
|
|
18
|
+
b.pripojka_voda,
|
|
19
|
+
b.pripojka_kanalizace,
|
|
20
|
+
b.budova_rozdelena_byt_nebyt,
|
|
21
|
+
b.celkova_plocha_budova,
|
|
22
|
+
b.celkova_plocha_byt_budova,
|
|
23
|
+
b.celkova_plocha_nebyt_budova,
|
|
24
|
+
b.zastavena_plocha,
|
|
25
|
+
b.obestaveny_prostor,
|
|
26
|
+
b.pocet_byt,
|
|
27
|
+
b.pocet_nebyt_budova,
|
|
28
|
+
b.pocet_nadzem_podlazi,
|
|
29
|
+
b.pocet_podzem_podlazi,
|
|
30
|
+
b.pocet_podkrovi,
|
|
31
|
+
b.vytah,
|
|
32
|
+
b.czcc,
|
|
33
|
+
b.id_cuzk,
|
|
34
|
+
b.id_objekt,
|
|
35
|
+
b.kod_vyuziti,
|
|
36
|
+
b.nazev_vyuziti,
|
|
37
|
+
b.kod_ochrana,
|
|
38
|
+
b.nazev_ochrana,
|
|
39
|
+
b.platnost_od,
|
|
40
|
+
ej.ej_id,
|
|
41
|
+
ej.ej_kod,
|
|
42
|
+
ej.ej_nazev,
|
|
43
|
+
ej.ej_typ,
|
|
44
|
+
spm.sp_id AS spm_id,
|
|
45
|
+
spm.sp_kod AS spm_kod,
|
|
46
|
+
spm.sp_nazev AS spm_nazev,
|
|
47
|
+
spm.sp_ic AS spm_ic,
|
|
48
|
+
spm.sp_dic AS spm_dic,
|
|
49
|
+
spu.sp_id AS spu_id,
|
|
50
|
+
spu.sp_kod AS spu_kod,
|
|
51
|
+
spu.sp_nazev AS spu_nazev,
|
|
52
|
+
spu.sp_ic AS spu_ic,
|
|
53
|
+
spu.sp_dic AS spu_dic
|
|
54
|
+
FROM eno_budova b
|
|
55
|
+
LEFT JOIN eno_majetek m
|
|
56
|
+
ON m.gid = b.gid
|
|
57
|
+
AND m.gid_typ = 'budova'
|
|
58
|
+
AND m.zdroj = b.zdroj
|
|
59
|
+
LEFT JOIN LATERAL (
|
|
60
|
+
SELECT
|
|
61
|
+
e.id AS ej_id,
|
|
62
|
+
e.kod AS ej_kod,
|
|
63
|
+
e.nazev AS ej_nazev,
|
|
64
|
+
e.typ AS ej_typ
|
|
65
|
+
FROM eno_ciselnik_evidencni_jednotka e
|
|
66
|
+
WHERE e.id = m.id_maj_evidencni_jednotka
|
|
67
|
+
ORDER BY e.platnost_od DESC NULLS LAST
|
|
68
|
+
LIMIT 1
|
|
69
|
+
) ej ON true
|
|
70
|
+
LEFT JOIN LATERAL (
|
|
71
|
+
SELECT
|
|
72
|
+
s.id_maj_spravce AS sp_id,
|
|
73
|
+
s.kod AS sp_kod,
|
|
74
|
+
s.nazev AS sp_nazev,
|
|
75
|
+
s.ic AS sp_ic,
|
|
76
|
+
s.dic AS sp_dic
|
|
77
|
+
FROM eno_ciselnik_spravce s
|
|
78
|
+
WHERE s.id_maj_spravce = m.id_maj_spravce_mandatni
|
|
79
|
+
ORDER BY s.platnost_od DESC NULLS LAST
|
|
80
|
+
LIMIT 1
|
|
81
|
+
) spm ON true
|
|
82
|
+
LEFT JOIN LATERAL (
|
|
83
|
+
SELECT
|
|
84
|
+
s.id_maj_spravce AS sp_id,
|
|
85
|
+
s.kod AS sp_kod,
|
|
86
|
+
s.nazev AS sp_nazev,
|
|
87
|
+
s.ic AS sp_ic,
|
|
88
|
+
s.dic AS sp_dic
|
|
89
|
+
FROM eno_ciselnik_spravce s
|
|
90
|
+
WHERE s.id_maj_spravce = m.id_maj_spravce_ucet_jednotka
|
|
91
|
+
ORDER BY s.platnost_od DESC NULLS LAST
|
|
92
|
+
LIMIT 1
|
|
93
|
+
) spu ON true
|
|
94
|
+
ORDER BY b.gid, b.zdroj;
|
|
95
|
+
|
|
96
|
+
CREATE MATERIALIZED VIEW mv_ded_building_search AS
|
|
97
|
+
WITH searchable_gid AS (
|
|
98
|
+
SELECT gid FROM v_enapo_building_detail
|
|
99
|
+
UNION
|
|
100
|
+
SELECT gid FROM enapo_gid_mapping
|
|
101
|
+
UNION
|
|
102
|
+
SELECT gid FROM v_enapo_building_porsenna_devices
|
|
103
|
+
),
|
|
104
|
+
active_gid AS (
|
|
105
|
+
SELECT g.gid
|
|
106
|
+
FROM searchable_gid g
|
|
107
|
+
WHERE NOT EXISTS (
|
|
108
|
+
SELECT 1
|
|
109
|
+
FROM eno_vyrazeno v
|
|
110
|
+
WHERE v.gid = g.gid AND v.gid_typ = 'budova'
|
|
111
|
+
)
|
|
112
|
+
),
|
|
113
|
+
building_address AS (
|
|
114
|
+
SELECT
|
|
115
|
+
a.gid,
|
|
116
|
+
array_agg(a.popis::text ORDER BY a.hlavni DESC NULLS LAST, a.poradi ASC) AS addresses
|
|
117
|
+
FROM (
|
|
118
|
+
SELECT DISTINCT ON (gid, popis) gid, popis, hlavni, poradi
|
|
119
|
+
FROM eno_adresa
|
|
120
|
+
WHERE gid_typ = 'budova' AND popis IS NOT NULL
|
|
121
|
+
ORDER BY gid, popis, hlavni DESC NULLS LAST, poradi ASC
|
|
122
|
+
) a
|
|
123
|
+
GROUP BY a.gid
|
|
124
|
+
),
|
|
125
|
+
building_point AS (
|
|
126
|
+
SELECT
|
|
127
|
+
gid,
|
|
128
|
+
COALESCE(array_agg(DISTINCT place_id::text ORDER BY place_id::text) FILTER (WHERE id_type = 'ean'), '{}'::text[]) AS ean,
|
|
129
|
+
COALESCE(array_agg(DISTINCT place_id::text ORDER BY place_id::text) FILTER (WHERE id_type = 'eic'), '{}'::text[]) AS eic,
|
|
130
|
+
COALESCE(array_agg(DISTINCT place_id::text ORDER BY place_id::text) FILTER (WHERE id_type = 'om'), '{}'::text[]) AS om,
|
|
131
|
+
count(*) FILTER (WHERE is_active) AS active_points_count
|
|
132
|
+
FROM v_enapo_building_consumption_points
|
|
133
|
+
GROUP BY gid
|
|
134
|
+
),
|
|
135
|
+
building_geometry AS (
|
|
136
|
+
SELECT
|
|
137
|
+
gid,
|
|
138
|
+
public.ST_Multi(public.ST_Collect(f_ded_safe_geom(zakres, '5514'))) AS geom
|
|
139
|
+
FROM eno_geometrie
|
|
140
|
+
WHERE zakres IS NOT NULL
|
|
141
|
+
GROUP BY gid
|
|
142
|
+
)
|
|
143
|
+
SELECT
|
|
144
|
+
g.gid::text AS gid,
|
|
145
|
+
b.nazev::text AS nazev,
|
|
146
|
+
b.oznaceni::text AS oznaceni,
|
|
147
|
+
b.ej_id AS ej_id,
|
|
148
|
+
b.ej_kod::text AS ej_kod,
|
|
149
|
+
b.ej_nazev::text AS ej_nazev,
|
|
150
|
+
b.ej_typ::text AS ej_typ,
|
|
151
|
+
a.addresses[1] AS address_main,
|
|
152
|
+
COALESCE(a.addresses, '{}'::text[]) AS addresses,
|
|
153
|
+
COALESCE(p.ean, '{}'::text[]) AS ean,
|
|
154
|
+
COALESCE(p.eic, '{}'::text[]) AS eic,
|
|
155
|
+
COALESCE(p.om, '{}'::text[]) AS om,
|
|
156
|
+
COALESCE(p.active_points_count, 0) AS active_points_count,
|
|
157
|
+
(b.gid IS NOT NULL) AS has_building_record,
|
|
158
|
+
lower(public.unaccent(concat_ws(' ', b.nazev, b.oznaceni))) AS name_norm,
|
|
159
|
+
lower(public.unaccent(COALESCE(array_to_string(a.addresses, ' '), ''))) AS address_norm,
|
|
160
|
+
(
|
|
161
|
+
setweight(to_tsvector('simple', lower(public.unaccent(concat_ws(' ', b.nazev, b.oznaceni, b.ej_nazev)))), 'A') ||
|
|
162
|
+
setweight(to_tsvector('simple', lower(public.unaccent(COALESCE(a.addresses[1], '')))), 'B') ||
|
|
163
|
+
setweight(to_tsvector('simple', lower(public.unaccent(COALESCE(array_to_string(a.addresses[2:], ' '), '')))), 'C') ||
|
|
164
|
+
setweight(
|
|
165
|
+
to_tsvector(
|
|
166
|
+
'simple',
|
|
167
|
+
lower(concat_ws(' ', array_to_string(COALESCE(p.ean, '{}') || COALESCE(p.eic, '{}') || COALESCE(p.om, '{}'), ' '), g.gid, b.ej_kod))
|
|
168
|
+
),
|
|
169
|
+
'D'
|
|
170
|
+
)
|
|
171
|
+
) AS search_document,
|
|
172
|
+
geo.geom
|
|
173
|
+
FROM active_gid g
|
|
174
|
+
LEFT JOIN v_enapo_building_detail b ON b.gid = g.gid
|
|
175
|
+
LEFT JOIN building_address a ON a.gid = g.gid
|
|
176
|
+
LEFT JOIN building_point p ON p.gid = g.gid
|
|
177
|
+
LEFT JOIN building_geometry geo ON geo.gid = g.gid;
|
|
178
|
+
|
|
179
|
+
COMMENT ON MATERIALIZED VIEW mv_ded_building_search IS
|
|
180
|
+
'Search index for the DeD building search endpoint - one row per building GID with the weighted tsvector, normalised name/address for trigram matching, EAN/EIC/OM identifiers for exact matching and the building geometry in EPSG:4326. Refreshed by the DedSearchIndexRefreshTask (integration engine).';
|
|
181
|
+
|
|
182
|
+
COMMENT ON COLUMN mv_ded_building_search.addresses IS
|
|
183
|
+
'Distinct eno_adresa.popis of the building (gid_typ = ''budova''), ordered main address first, then by poradi.';
|
|
184
|
+
COMMENT ON COLUMN mv_ded_building_search.address_main IS 'First element of addresses, i.e. the main address.';
|
|
185
|
+
COMMENT ON COLUMN mv_ded_building_search.ean IS
|
|
186
|
+
'Distinct EAN identifiers of the building consumption points (v_enapo_building_consumption_points, id_type = ''ean'').';
|
|
187
|
+
COMMENT ON COLUMN mv_ded_building_search.eic IS
|
|
188
|
+
'Distinct EIC identifiers of the building consumption points (v_enapo_building_consumption_points, id_type = ''eic'').';
|
|
189
|
+
COMMENT ON COLUMN mv_ded_building_search.om IS
|
|
190
|
+
'Distinct OM identifiers of the building consumption points (v_enapo_building_consumption_points, id_type = ''om'').';
|
|
191
|
+
COMMENT ON COLUMN mv_ded_building_search.active_points_count IS
|
|
192
|
+
'Number of consumption points of the building flagged is_active in v_enapo_building_consumption_points.';
|
|
193
|
+
COMMENT ON COLUMN mv_ded_building_search.has_building_record IS
|
|
194
|
+
'False when the GID reached the index only through enapo_gid_mapping or Porsenna and has no eno_budova record.';
|
|
195
|
+
COMMENT ON COLUMN mv_ded_building_search.name_norm IS
|
|
196
|
+
'lower(public.unaccent(nazev || '' '' || oznaceni)); the trigram column matched against the equally normalised query.';
|
|
197
|
+
COMMENT ON COLUMN mv_ded_building_search.address_norm IS
|
|
198
|
+
'lower(public.unaccent(...)) over all addresses joined by a space; the trigram column for address matching.';
|
|
199
|
+
COMMENT ON COLUMN mv_ded_building_search.search_document IS
|
|
200
|
+
'Weighted tsvector: A = nazev + oznaceni + evidenční jednotka name, B = main address, C = secondary addresses, D = EAN/EIC/OM + gid + evidenční jednotka code.';
|
|
201
|
+
COMMENT ON COLUMN mv_ded_building_search.geom IS
|
|
202
|
+
'eno_geometrie.zakres polygons of the GID collected into one MultiPolygon and transformed to EPSG:4326 by f_ded_safe_geom; NULL when no polygon is parsable.';
|
|
203
|
+
|
|
204
|
+
CREATE UNIQUE INDEX mv_ded_building_search_gid_uidx ON mv_ded_building_search (gid);
|
|
205
|
+
|
|
206
|
+
CREATE INDEX mv_ded_building_search_document_gin ON mv_ded_building_search USING gin (search_document);
|
|
207
|
+
|
|
208
|
+
CREATE INDEX mv_ded_building_search_name_trgm ON mv_ded_building_search USING gist (name_norm public.gist_trgm_ops);
|
|
209
|
+
CREATE INDEX mv_ded_building_search_address_trgm ON mv_ded_building_search USING gist (address_norm public.gist_trgm_ops);
|
|
210
|
+
|
|
211
|
+
CREATE INDEX mv_ded_building_search_ean_gin ON mv_ded_building_search USING gin (ean);
|
|
212
|
+
CREATE INDEX mv_ded_building_search_eic_gin ON mv_ded_building_search USING gin (eic);
|
|
213
|
+
CREATE INDEX mv_ded_building_search_om_gin ON mv_ded_building_search USING gin (om);
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
CREATE INDEX IF NOT EXISTS eno_ciselnik_evidencni_jednotka_id_idx ON eno_ciselnik_evidencni_jednotka (id);
|
|
2
|
+
CREATE INDEX IF NOT EXISTS eno_ciselnik_evidencni_jednotka_kod_idx ON eno_ciselnik_evidencni_jednotka (kod);
|
|
3
|
+
|
|
4
|
+
CREATE OR REPLACE VIEW v_enapo_building_detail AS
|
|
5
|
+
SELECT DISTINCT ON (b.gid)
|
|
6
|
+
b.gid,
|
|
7
|
+
b.zdroj,
|
|
8
|
+
b.nazev,
|
|
9
|
+
b.oznaceni,
|
|
10
|
+
b.druh_vytapeni,
|
|
11
|
+
b.pripojka_elektro,
|
|
12
|
+
b.pripojka_voda,
|
|
13
|
+
b.pripojka_kanalizace,
|
|
14
|
+
b.budova_rozdelena_byt_nebyt,
|
|
15
|
+
b.celkova_plocha_budova,
|
|
16
|
+
b.celkova_plocha_byt_budova,
|
|
17
|
+
b.celkova_plocha_nebyt_budova,
|
|
18
|
+
b.zastavena_plocha,
|
|
19
|
+
b.obestaveny_prostor,
|
|
20
|
+
b.pocet_byt,
|
|
21
|
+
b.pocet_nebyt_budova,
|
|
22
|
+
b.pocet_nadzem_podlazi,
|
|
23
|
+
b.pocet_podzem_podlazi,
|
|
24
|
+
b.pocet_podkrovi,
|
|
25
|
+
b.vytah,
|
|
26
|
+
b.czcc,
|
|
27
|
+
b.id_cuzk,
|
|
28
|
+
b.id_objekt,
|
|
29
|
+
b.kod_vyuziti,
|
|
30
|
+
b.nazev_vyuziti,
|
|
31
|
+
b.kod_ochrana,
|
|
32
|
+
b.nazev_ochrana,
|
|
33
|
+
b.platnost_od,
|
|
34
|
+
ej.ej_id,
|
|
35
|
+
ej.ej_kod,
|
|
36
|
+
ej.ej_nazev,
|
|
37
|
+
ej.ej_typ,
|
|
38
|
+
spm.sp_id AS spm_id,
|
|
39
|
+
spm.sp_kod AS spm_kod,
|
|
40
|
+
spm.sp_nazev AS spm_nazev,
|
|
41
|
+
spm.sp_ic AS spm_ic,
|
|
42
|
+
spm.sp_dic AS spm_dic,
|
|
43
|
+
spu.sp_id AS spu_id,
|
|
44
|
+
spu.sp_kod AS spu_kod,
|
|
45
|
+
spu.sp_nazev AS spu_nazev,
|
|
46
|
+
spu.sp_ic AS spu_ic,
|
|
47
|
+
spu.sp_dic AS spu_dic,
|
|
48
|
+
COALESCE(ej_hl.ej_hl_id, ej.ej_id) AS odbor_id,
|
|
49
|
+
COALESCE(ej_hl.ej_hl_kod, ej.ej_kod) AS odbor_kod,
|
|
50
|
+
COALESCE(ej_hl.ej_hl_nazev, ej.ej_nazev) AS odbor_nazev,
|
|
51
|
+
COALESCE(ej_hl.ej_hl_typ, ej.ej_typ) AS odbor_typ
|
|
52
|
+
FROM eno_budova b
|
|
53
|
+
LEFT JOIN eno_majetek m
|
|
54
|
+
ON m.gid = b.gid
|
|
55
|
+
AND m.gid_typ = 'budova'
|
|
56
|
+
AND m.zdroj = b.zdroj
|
|
57
|
+
LEFT JOIN LATERAL (
|
|
58
|
+
SELECT
|
|
59
|
+
e.id AS ej_id,
|
|
60
|
+
e.kod AS ej_kod,
|
|
61
|
+
e.nazev AS ej_nazev,
|
|
62
|
+
e.typ AS ej_typ,
|
|
63
|
+
e.kod_maj_evidencni_jednotka_hl AS ej_kod_hl
|
|
64
|
+
FROM eno_ciselnik_evidencni_jednotka e
|
|
65
|
+
WHERE e.id = m.id_maj_evidencni_jednotka
|
|
66
|
+
ORDER BY e.platnost_od DESC NULLS LAST
|
|
67
|
+
LIMIT 1
|
|
68
|
+
) ej ON true
|
|
69
|
+
LEFT JOIN LATERAL (
|
|
70
|
+
SELECT
|
|
71
|
+
e.id AS ej_hl_id,
|
|
72
|
+
e.kod AS ej_hl_kod,
|
|
73
|
+
e.nazev AS ej_hl_nazev,
|
|
74
|
+
e.typ AS ej_hl_typ
|
|
75
|
+
FROM eno_ciselnik_evidencni_jednotka e
|
|
76
|
+
WHERE e.kod = ej.ej_kod_hl
|
|
77
|
+
ORDER BY e.platnost_od DESC NULLS LAST
|
|
78
|
+
LIMIT 1
|
|
79
|
+
) ej_hl ON true
|
|
80
|
+
LEFT JOIN LATERAL (
|
|
81
|
+
SELECT
|
|
82
|
+
s.id_maj_spravce AS sp_id,
|
|
83
|
+
s.kod AS sp_kod,
|
|
84
|
+
s.nazev AS sp_nazev,
|
|
85
|
+
s.ic AS sp_ic,
|
|
86
|
+
s.dic AS sp_dic
|
|
87
|
+
FROM eno_ciselnik_spravce s
|
|
88
|
+
WHERE s.id_maj_spravce = m.id_maj_spravce_mandatni
|
|
89
|
+
ORDER BY s.platnost_od DESC NULLS LAST
|
|
90
|
+
LIMIT 1
|
|
91
|
+
) spm ON true
|
|
92
|
+
LEFT JOIN LATERAL (
|
|
93
|
+
SELECT
|
|
94
|
+
s.id_maj_spravce AS sp_id,
|
|
95
|
+
s.kod AS sp_kod,
|
|
96
|
+
s.nazev AS sp_nazev,
|
|
97
|
+
s.ic AS sp_ic,
|
|
98
|
+
s.dic AS sp_dic
|
|
99
|
+
FROM eno_ciselnik_spravce s
|
|
100
|
+
WHERE s.id_maj_spravce = m.id_maj_spravce_ucet_jednotka
|
|
101
|
+
ORDER BY s.platnost_od DESC NULLS LAST
|
|
102
|
+
LIMIT 1
|
|
103
|
+
) spu ON true
|
|
104
|
+
ORDER BY b.gid, b.zdroj;
|
|
105
|
+
|
|
106
|
+
-- mv_ded_building_search must be dropped and recreated (not ALTERed) to pick up the new columns from
|
|
107
|
+
-- v_enapo_building_detail; a materialized view's column list is fixed at creation time.
|
|
108
|
+
DROP MATERIALIZED VIEW IF EXISTS mv_ded_building_search;
|
|
109
|
+
|
|
110
|
+
CREATE MATERIALIZED VIEW mv_ded_building_search AS
|
|
111
|
+
WITH searchable_gid AS (
|
|
112
|
+
SELECT gid FROM v_enapo_building_detail
|
|
113
|
+
UNION
|
|
114
|
+
SELECT gid FROM enapo_gid_mapping
|
|
115
|
+
UNION
|
|
116
|
+
SELECT gid FROM v_enapo_building_porsenna_devices
|
|
117
|
+
),
|
|
118
|
+
active_gid AS (
|
|
119
|
+
SELECT g.gid
|
|
120
|
+
FROM searchable_gid g
|
|
121
|
+
WHERE NOT EXISTS (
|
|
122
|
+
SELECT 1
|
|
123
|
+
FROM eno_vyrazeno v
|
|
124
|
+
WHERE v.gid = g.gid AND v.gid_typ = 'budova'
|
|
125
|
+
)
|
|
126
|
+
),
|
|
127
|
+
building_address AS (
|
|
128
|
+
SELECT
|
|
129
|
+
a.gid,
|
|
130
|
+
array_agg(a.popis::text ORDER BY a.hlavni DESC NULLS LAST, a.poradi ASC) AS addresses
|
|
131
|
+
FROM (
|
|
132
|
+
SELECT DISTINCT ON (gid, popis) gid, popis, hlavni, poradi
|
|
133
|
+
FROM eno_adresa
|
|
134
|
+
WHERE gid_typ = 'budova' AND popis IS NOT NULL
|
|
135
|
+
ORDER BY gid, popis, hlavni DESC NULLS LAST, poradi ASC
|
|
136
|
+
) a
|
|
137
|
+
GROUP BY a.gid
|
|
138
|
+
),
|
|
139
|
+
building_point AS (
|
|
140
|
+
SELECT
|
|
141
|
+
gid,
|
|
142
|
+
COALESCE(array_agg(DISTINCT place_id::text ORDER BY place_id::text) FILTER (WHERE id_type = 'ean'), '{}'::text[]) AS ean,
|
|
143
|
+
COALESCE(array_agg(DISTINCT place_id::text ORDER BY place_id::text) FILTER (WHERE id_type = 'eic'), '{}'::text[]) AS eic,
|
|
144
|
+
COALESCE(array_agg(DISTINCT place_id::text ORDER BY place_id::text) FILTER (WHERE id_type = 'om'), '{}'::text[]) AS om,
|
|
145
|
+
count(*) FILTER (WHERE is_active) AS active_points_count
|
|
146
|
+
FROM v_enapo_building_consumption_points
|
|
147
|
+
GROUP BY gid
|
|
148
|
+
),
|
|
149
|
+
building_geometry AS (
|
|
150
|
+
SELECT
|
|
151
|
+
gid,
|
|
152
|
+
public.ST_Multi(public.ST_Collect(f_ded_safe_geom(zakres, '5514'))) AS geom
|
|
153
|
+
FROM eno_geometrie
|
|
154
|
+
WHERE zakres IS NOT NULL
|
|
155
|
+
GROUP BY gid
|
|
156
|
+
)
|
|
157
|
+
SELECT
|
|
158
|
+
g.gid::text AS gid,
|
|
159
|
+
b.nazev::text AS nazev,
|
|
160
|
+
b.oznaceni::text AS oznaceni,
|
|
161
|
+
-- The whole evidenční jednotka is carried so the search response can use the same shape as the
|
|
162
|
+
-- building detail endpoint (id / kod / nazev / typ) instead of a narrower look-alike.
|
|
163
|
+
b.ej_id AS ej_id,
|
|
164
|
+
b.ej_kod::text AS ej_kod,
|
|
165
|
+
b.ej_nazev::text AS ej_nazev,
|
|
166
|
+
b.ej_typ::text AS ej_typ,
|
|
167
|
+
-- Department (odbor): the evidenční jednotka's head unit, falling back to the evidenční jednotka
|
|
168
|
+
-- itself when it has none (see v_enapo_building_detail above).
|
|
169
|
+
b.odbor_id AS odbor_id,
|
|
170
|
+
b.odbor_kod::text AS odbor_kod,
|
|
171
|
+
b.odbor_nazev::text AS odbor_nazev,
|
|
172
|
+
b.odbor_typ::text AS odbor_typ,
|
|
173
|
+
a.addresses[1] AS address_main,
|
|
174
|
+
COALESCE(a.addresses, '{}'::text[]) AS addresses,
|
|
175
|
+
COALESCE(p.ean, '{}'::text[]) AS ean,
|
|
176
|
+
COALESCE(p.eic, '{}'::text[]) AS eic,
|
|
177
|
+
COALESCE(p.om, '{}'::text[]) AS om,
|
|
178
|
+
COALESCE(p.active_points_count, 0) AS active_points_count,
|
|
179
|
+
(b.gid IS NOT NULL) AS has_building_record,
|
|
180
|
+
lower(public.unaccent(concat_ws(' ', b.nazev, b.oznaceni))) AS name_norm,
|
|
181
|
+
lower(public.unaccent(COALESCE(array_to_string(a.addresses, ' '), ''))) AS address_norm,
|
|
182
|
+
(
|
|
183
|
+
setweight(to_tsvector('simple', lower(public.unaccent(concat_ws(' ', b.nazev, b.oznaceni, b.ej_nazev)))), 'A') ||
|
|
184
|
+
setweight(to_tsvector('simple', lower(public.unaccent(COALESCE(a.addresses[1], '')))), 'B') ||
|
|
185
|
+
setweight(to_tsvector('simple', lower(public.unaccent(COALESCE(array_to_string(a.addresses[2:], ' '), '')))), 'C') ||
|
|
186
|
+
setweight(
|
|
187
|
+
to_tsvector(
|
|
188
|
+
'simple',
|
|
189
|
+
lower(concat_ws(' ', array_to_string(COALESCE(p.ean, '{}') || COALESCE(p.eic, '{}') || COALESCE(p.om, '{}'), ' '), g.gid, b.ej_kod))
|
|
190
|
+
),
|
|
191
|
+
'D'
|
|
192
|
+
)
|
|
193
|
+
) AS search_document,
|
|
194
|
+
geo.geom
|
|
195
|
+
FROM active_gid g
|
|
196
|
+
LEFT JOIN v_enapo_building_detail b ON b.gid = g.gid
|
|
197
|
+
LEFT JOIN building_address a ON a.gid = g.gid
|
|
198
|
+
LEFT JOIN building_point p ON p.gid = g.gid
|
|
199
|
+
LEFT JOIN building_geometry geo ON geo.gid = g.gid;
|
|
200
|
+
|
|
201
|
+
COMMENT ON MATERIALIZED VIEW mv_ded_building_search IS
|
|
202
|
+
'Search index for the DeD building search endpoint - one row per building GID with the weighted tsvector, normalised name/address for trigram matching, EAN/EIC/OM identifiers for exact matching and the building geometry in EPSG:4326. Refreshed by the DedSearchIndexRefreshTask (integration engine).';
|
|
203
|
+
|
|
204
|
+
COMMENT ON COLUMN mv_ded_building_search.addresses IS
|
|
205
|
+
'Distinct eno_adresa.popis of the building (gid_typ = ''budova''), ordered main address first, then by poradi.';
|
|
206
|
+
COMMENT ON COLUMN mv_ded_building_search.address_main IS 'First element of addresses, i.e. the main address.';
|
|
207
|
+
COMMENT ON COLUMN mv_ded_building_search.ean IS
|
|
208
|
+
'Distinct EAN identifiers of the building consumption points (v_enapo_building_consumption_points, id_type = ''ean'').';
|
|
209
|
+
COMMENT ON COLUMN mv_ded_building_search.eic IS
|
|
210
|
+
'Distinct EIC identifiers of the building consumption points (v_enapo_building_consumption_points, id_type = ''eic'').';
|
|
211
|
+
COMMENT ON COLUMN mv_ded_building_search.om IS
|
|
212
|
+
'Distinct OM identifiers of the building consumption points (v_enapo_building_consumption_points, id_type = ''om'').';
|
|
213
|
+
COMMENT ON COLUMN mv_ded_building_search.active_points_count IS
|
|
214
|
+
'Number of consumption points of the building flagged is_active in v_enapo_building_consumption_points.';
|
|
215
|
+
COMMENT ON COLUMN mv_ded_building_search.has_building_record IS
|
|
216
|
+
'False when the GID reached the index only through enapo_gid_mapping or Porsenna and has no eno_budova record.';
|
|
217
|
+
COMMENT ON COLUMN mv_ded_building_search.name_norm IS
|
|
218
|
+
'lower(public.unaccent(nazev || '' '' || oznaceni)); the trigram column matched against the equally normalised query.';
|
|
219
|
+
COMMENT ON COLUMN mv_ded_building_search.address_norm IS
|
|
220
|
+
'lower(public.unaccent(...)) over all addresses joined by a space; the trigram column for address matching.';
|
|
221
|
+
COMMENT ON COLUMN mv_ded_building_search.search_document IS
|
|
222
|
+
'Weighted tsvector: A = nazev + oznaceni + evidenční jednotka name, B = main address, C = secondary addresses, D = EAN/EIC/OM + gid + evidenční jednotka code.';
|
|
223
|
+
COMMENT ON COLUMN mv_ded_building_search.geom IS
|
|
224
|
+
'eno_geometrie.zakres polygons of the GID collected into one MultiPolygon and transformed to EPSG:4326 by f_ded_safe_geom; NULL when no polygon is parsable.';
|
|
225
|
+
COMMENT ON COLUMN mv_ded_building_search.odbor_id IS
|
|
226
|
+
'Department managing the building: the evidenční jednotka''s head unit (kod_maj_evidencni_jednotka_hl), falling back to the evidenční jednotka itself when it has no head.';
|
|
227
|
+
|
|
228
|
+
CREATE UNIQUE INDEX mv_ded_building_search_gid_uidx ON mv_ded_building_search (gid);
|
|
229
|
+
|
|
230
|
+
CREATE INDEX mv_ded_building_search_document_gin ON mv_ded_building_search USING gin (search_document);
|
|
231
|
+
|
|
232
|
+
CREATE INDEX mv_ded_building_search_name_trgm ON mv_ded_building_search USING gist (name_norm public.gist_trgm_ops);
|
|
233
|
+
CREATE INDEX mv_ded_building_search_address_trgm ON mv_ded_building_search USING gist (address_norm public.gist_trgm_ops);
|
|
234
|
+
|
|
235
|
+
CREATE INDEX mv_ded_building_search_ean_gin ON mv_ded_building_search USING gin (ean);
|
|
236
|
+
CREATE INDEX mv_ded_building_search_eic_gin ON mv_ded_building_search USING gin (eic);
|
|
237
|
+
CREATE INDEX mv_ded_building_search_om_gin ON mv_ded_building_search USING gin (om);
|
|
238
|
+
|
|
239
|
+
-- Supports "distinct odbor for the filter" queries directly against the search index.
|
|
240
|
+
CREATE INDEX mv_ded_building_search_odbor_nazev_idx ON mv_ded_building_search (odbor_nazev);
|
|
@@ -17,6 +17,10 @@ export declare class DedBuildingSearchViewModel extends Model<IDedBuildingSearch
|
|
|
17
17
|
ej_kod: string | null;
|
|
18
18
|
ej_nazev: string | null;
|
|
19
19
|
ej_typ: string | null;
|
|
20
|
+
odbor_id: number | null;
|
|
21
|
+
odbor_kod: string | null;
|
|
22
|
+
odbor_nazev: string | null;
|
|
23
|
+
odbor_typ: string | null;
|
|
20
24
|
address_main: string | null;
|
|
21
25
|
addresses: string[];
|
|
22
26
|
ean: string[];
|
|
@@ -25,6 +25,10 @@ DedBuildingSearchViewModel.attributeModel = {
|
|
|
25
25
|
ej_kod: sequelize_1.DataTypes.TEXT,
|
|
26
26
|
ej_nazev: sequelize_1.DataTypes.TEXT,
|
|
27
27
|
ej_typ: sequelize_1.DataTypes.TEXT,
|
|
28
|
+
odbor_id: sequelize_1.DataTypes.INTEGER,
|
|
29
|
+
odbor_kod: sequelize_1.DataTypes.TEXT,
|
|
30
|
+
odbor_nazev: sequelize_1.DataTypes.TEXT,
|
|
31
|
+
odbor_typ: sequelize_1.DataTypes.TEXT,
|
|
28
32
|
address_main: sequelize_1.DataTypes.TEXT,
|
|
29
33
|
addresses: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.TEXT),
|
|
30
34
|
ean: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.TEXT),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DedBuildingSearchViewModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/DedBuildingSearchViewModel.ts"],"names":[],"mappings":";;;AAAA,mEAAwF;AAGxF;;;;;;GAMG;AACH,MAAa,0BAA2B,SAAQ,iBAA6B;;AAA7E,
|
|
1
|
+
{"version":3,"file":"DedBuildingSearchViewModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/DedBuildingSearchViewModel.ts"],"names":[],"mappings":";;;AAAA,mEAAwF;AAGxF;;;;;;GAMG;AACH,MAAa,0BAA2B,SAAQ,iBAA6B;;AAA7E,gEAkDC;AAjDiB,oCAAS,GAAG,wBAAwB,CAAC;AACrC,oCAAS,GAAG,gCAAgC,CAAC;AAuB7C,yCAAc,GAAwE;IAChG,GAAG,EAAE;QACD,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,KAAK,EAAE,qBAAS,CAAC,IAAI;IACrB,QAAQ,EAAE,qBAAS,CAAC,IAAI;IACxB,KAAK,EAAE,qBAAS,CAAC,OAAO;IACxB,MAAM,EAAE,qBAAS,CAAC,IAAI;IACtB,QAAQ,EAAE,qBAAS,CAAC,IAAI;IACxB,MAAM,EAAE,qBAAS,CAAC,IAAI;IACtB,QAAQ,EAAE,qBAAS,CAAC,OAAO;IAC3B,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,WAAW,EAAE,qBAAS,CAAC,IAAI;IAC3B,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,YAAY,EAAE,qBAAS,CAAC,IAAI;IAC5B,SAAS,EAAE,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,IAAI,CAAC;IAC1C,GAAG,EAAE,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,IAAI,CAAC;IACpC,GAAG,EAAE,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,IAAI,CAAC;IACpC,EAAE,EAAE,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,IAAI,CAAC;IACnC,mBAAmB,EAAE,qBAAS,CAAC,MAAM;IACrC,mBAAmB,EAAE,qBAAS,CAAC,OAAO;IACtC,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,YAAY,EAAE,qBAAS,CAAC,IAAI;CAC/B,CAAC"}
|
|
@@ -45,5 +45,9 @@ export declare class EnoBuildingDetailViewModel extends Model<IEnoBuildingDetail
|
|
|
45
45
|
spu_nazev: string | null;
|
|
46
46
|
spu_ic: string | null;
|
|
47
47
|
spu_dic: string | null;
|
|
48
|
+
odbor_id: number | null;
|
|
49
|
+
odbor_kod: string | null;
|
|
50
|
+
odbor_nazev: string | null;
|
|
51
|
+
odbor_typ: string | null;
|
|
48
52
|
static attributeModel: ModelAttributes<EnoBuildingDetailViewModel, IEnoBuildingDetailView>;
|
|
49
53
|
}
|
|
@@ -53,5 +53,9 @@ EnoBuildingDetailViewModel.attributeModel = {
|
|
|
53
53
|
spu_nazev: sequelize_1.DataTypes.TEXT,
|
|
54
54
|
spu_ic: sequelize_1.DataTypes.TEXT,
|
|
55
55
|
spu_dic: sequelize_1.DataTypes.TEXT,
|
|
56
|
+
odbor_id: sequelize_1.DataTypes.INTEGER,
|
|
57
|
+
odbor_kod: sequelize_1.DataTypes.TEXT,
|
|
58
|
+
odbor_nazev: sequelize_1.DataTypes.TEXT,
|
|
59
|
+
odbor_typ: sequelize_1.DataTypes.TEXT,
|
|
56
60
|
};
|
|
57
61
|
//# sourceMappingURL=EnoBuildingDetailViewModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnoBuildingDetailViewModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/EnoBuildingDetailViewModel.ts"],"names":[],"mappings":";;;AAAA,mEAAwF;AAGxF,MAAa,0BAA2B,SAAQ,iBAA6B;;AAA7E,
|
|
1
|
+
{"version":3,"file":"EnoBuildingDetailViewModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/EnoBuildingDetailViewModel.ts"],"names":[],"mappings":";;;AAAA,mEAAwF;AAGxF,MAAa,0BAA2B,SAAQ,iBAA6B;;AAA7E,gEAsGC;AArGiB,oCAAS,GAAG,yBAAyB,CAAC;AACtC,oCAAS,GAAG,gCAAgC,CAAC;AAiD7C,yCAAc,GAAwE;IAChG,GAAG,EAAE;QACD,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,KAAK,EAAE,qBAAS,CAAC,IAAI;IACrB,KAAK,EAAE,qBAAS,CAAC,IAAI;IACrB,QAAQ,EAAE,qBAAS,CAAC,IAAI;IACxB,aAAa,EAAE,qBAAS,CAAC,IAAI;IAC7B,gBAAgB,EAAE,qBAAS,CAAC,IAAI;IAChC,aAAa,EAAE,qBAAS,CAAC,IAAI;IAC7B,mBAAmB,EAAE,qBAAS,CAAC,IAAI;IACnC,0BAA0B,EAAE,qBAAS,CAAC,IAAI;IAC1C,qBAAqB,EAAE,qBAAS,CAAC,OAAO;IACxC,yBAAyB,EAAE,qBAAS,CAAC,OAAO;IAC5C,2BAA2B,EAAE,qBAAS,CAAC,OAAO;IAC9C,gBAAgB,EAAE,qBAAS,CAAC,OAAO;IACnC,kBAAkB,EAAE,qBAAS,CAAC,OAAO;IACrC,SAAS,EAAE,qBAAS,CAAC,OAAO;IAC5B,kBAAkB,EAAE,qBAAS,CAAC,OAAO;IACrC,oBAAoB,EAAE,qBAAS,CAAC,OAAO;IACvC,oBAAoB,EAAE,qBAAS,CAAC,OAAO;IACvC,cAAc,EAAE,qBAAS,CAAC,OAAO;IACjC,KAAK,EAAE,qBAAS,CAAC,OAAO;IACxB,IAAI,EAAE,qBAAS,CAAC,OAAO;IACvB,OAAO,EAAE,qBAAS,CAAC,MAAM;IACzB,SAAS,EAAE,qBAAS,CAAC,OAAO;IAC5B,WAAW,EAAE,qBAAS,CAAC,IAAI;IAC3B,aAAa,EAAE,qBAAS,CAAC,IAAI;IAC7B,WAAW,EAAE,qBAAS,CAAC,IAAI;IAC3B,aAAa,EAAE,qBAAS,CAAC,IAAI;IAC7B,WAAW,EAAE,qBAAS,CAAC,IAAI;IAC3B,KAAK,EAAE,qBAAS,CAAC,OAAO;IACxB,MAAM,EAAE,qBAAS,CAAC,IAAI;IACtB,QAAQ,EAAE,qBAAS,CAAC,IAAI;IACxB,MAAM,EAAE,qBAAS,CAAC,IAAI;IACtB,MAAM,EAAE,qBAAS,CAAC,OAAO;IACzB,OAAO,EAAE,qBAAS,CAAC,IAAI;IACvB,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,MAAM,EAAE,qBAAS,CAAC,IAAI;IACtB,OAAO,EAAE,qBAAS,CAAC,IAAI;IACvB,MAAM,EAAE,qBAAS,CAAC,OAAO;IACzB,OAAO,EAAE,qBAAS,CAAC,IAAI;IACvB,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,MAAM,EAAE,qBAAS,CAAC,IAAI;IACtB,OAAO,EAAE,qBAAS,CAAC,IAAI;IACvB,QAAQ,EAAE,qBAAS,CAAC,OAAO;IAC3B,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,WAAW,EAAE,qBAAS,CAAC,IAAI;IAC3B,SAAS,EAAE,qBAAS,CAAC,IAAI;CAC5B,CAAC"}
|
|
@@ -12,6 +12,10 @@ export interface IDedBuildingSearchView {
|
|
|
12
12
|
ej_kod: string | null;
|
|
13
13
|
ej_nazev: string | null;
|
|
14
14
|
ej_typ: string | null;
|
|
15
|
+
odbor_id: number | null;
|
|
16
|
+
odbor_kod: string | null;
|
|
17
|
+
odbor_nazev: string | null;
|
|
18
|
+
odbor_typ: string | null;
|
|
15
19
|
address_main: string | null;
|
|
16
20
|
addresses: string[];
|
|
17
21
|
ean: string[];
|
|
@@ -84,6 +84,10 @@ relevance AS (
|
|
|
84
84
|
s.ej_kod,
|
|
85
85
|
s.ej_nazev,
|
|
86
86
|
s.ej_typ,
|
|
87
|
+
s.odbor_id,
|
|
88
|
+
s.odbor_kod,
|
|
89
|
+
s.odbor_nazev,
|
|
90
|
+
s.odbor_typ,
|
|
87
91
|
s.address_main,
|
|
88
92
|
s.addresses,
|
|
89
93
|
s.ean,
|
|
@@ -126,6 +130,10 @@ scored AS (
|
|
|
126
130
|
r.ej_kod,
|
|
127
131
|
r.ej_nazev,
|
|
128
132
|
r.ej_typ,
|
|
133
|
+
r.odbor_id,
|
|
134
|
+
r.odbor_kod,
|
|
135
|
+
r.odbor_nazev,
|
|
136
|
+
r.odbor_typ,
|
|
129
137
|
r.address_main,
|
|
130
138
|
r.addresses,
|
|
131
139
|
r.ean,
|
|
@@ -155,7 +163,8 @@ scored AS (
|
|
|
155
163
|
),
|
|
156
164
|
page AS (
|
|
157
165
|
SELECT
|
|
158
|
-
gid, nazev, oznaceni, ej_id, ej_kod, ej_nazev, ej_typ,
|
|
166
|
+
gid, nazev, oznaceni, ej_id, ej_kod, ej_nazev, ej_typ, odbor_id, odbor_kod, odbor_nazev, odbor_typ,
|
|
167
|
+
address_main, addresses, ean, eic, om,
|
|
159
168
|
active_points_count, has_building_record, name_norm, address_norm,
|
|
160
169
|
is_exact, matched_by, matched_value, score, geom
|
|
161
170
|
FROM scored
|
|
@@ -167,7 +176,8 @@ page AS (
|
|
|
167
176
|
LIMIT $limit
|
|
168
177
|
)
|
|
169
178
|
SELECT
|
|
170
|
-
gid, nazev, oznaceni, ej_id, ej_kod, ej_nazev, ej_typ,
|
|
179
|
+
gid, nazev, oznaceni, ej_id, ej_kod, ej_nazev, ej_typ, odbor_id, odbor_kod, odbor_nazev, odbor_typ,
|
|
180
|
+
address_main, addresses, ean, eic, om,
|
|
171
181
|
active_points_count, has_building_record, name_norm, address_norm,
|
|
172
182
|
is_exact, matched_by, matched_value, score,
|
|
173
183
|
public.ST_AsGeoJSON(geom)::json AS geometry,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DedBuildingSearchRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/DedBuildingSearchRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qFAAmF;AACnF,oEAA2H;AAC3H,mDAAwC;AACxC,kEAA2C;AAC3C,6EAAwE;AACxE,mEAAiE;AACjE,iEAAgE;AAChE,yFAAsF;AAGtF;;;;;GAKG;AACH,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;WAoBV,qBAAS;;;;;;;;;;WAUT,qBAAS;;;;;;;;WAQT,qBAAS
|
|
1
|
+
{"version":3,"file":"DedBuildingSearchRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/DedBuildingSearchRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ export interface IDedBuildingSearchResult {
|
|
|
20
20
|
* as on the building detail endpoint so a client can reuse one type across both.
|
|
21
21
|
*/
|
|
22
22
|
registration_unit: IEnoRegistrationUnit | null;
|
|
23
|
+
department: IEnoRegistrationUnit | null;
|
|
23
24
|
/** Main address of the building (eno_adresa.hlavni), null when the building has no address. */
|
|
24
25
|
address: string | null;
|
|
25
26
|
/** Every distinct address of the building, main one first. */
|
|
@@ -127,7 +127,7 @@ export interface IEnoBuildingAddressResponse {
|
|
|
127
127
|
hlavni: boolean | null;
|
|
128
128
|
poradi: number;
|
|
129
129
|
}
|
|
130
|
-
export type TEnoBuildingPhysical = Omit<IEnoBuildingDetailView, "gid" | "ej_id" | "ej_kod" | "ej_nazev" | "ej_typ" | "spm_id" | "spm_kod" | "spm_nazev" | "spm_ic" | "spm_dic" | "spu_id" | "spu_kod" | "spu_nazev" | "spu_ic" | "spu_dic">;
|
|
130
|
+
export type TEnoBuildingPhysical = Omit<IEnoBuildingDetailView, "gid" | "ej_id" | "ej_kod" | "ej_nazev" | "ej_typ" | "spm_id" | "spm_kod" | "spm_nazev" | "spm_ic" | "spm_dic" | "spu_id" | "spu_kod" | "spu_nazev" | "spu_ic" | "spu_dic" | "odbor_id" | "odbor_kod" | "odbor_nazev" | "odbor_typ">;
|
|
131
131
|
export interface IEnoManager {
|
|
132
132
|
id: number | null;
|
|
133
133
|
kod: string | null;
|
|
@@ -137,6 +137,7 @@ export interface IEnoManager {
|
|
|
137
137
|
}
|
|
138
138
|
export interface IEnoBuildingProperty {
|
|
139
139
|
registration_unit: IEnoRegistrationUnit | null;
|
|
140
|
+
department: IEnoRegistrationUnit | null;
|
|
140
141
|
managers: {
|
|
141
142
|
mandate: IEnoManager | null;
|
|
142
143
|
accounting_unit: IEnoManager | null;
|
|
@@ -30,6 +30,9 @@ let DedBuildingSearchTransformation = class DedBuildingSearchTransformation exte
|
|
|
30
30
|
registration_unit: element.ej_id === null
|
|
31
31
|
? null
|
|
32
32
|
: { id: element.ej_id, kod: element.ej_kod, nazev: element.ej_nazev, typ: element.ej_typ },
|
|
33
|
+
department: element.odbor_id === null
|
|
34
|
+
? null
|
|
35
|
+
: { id: element.odbor_id, kod: element.odbor_kod, nazev: element.odbor_nazev, typ: element.odbor_typ },
|
|
33
36
|
address: element.address_main,
|
|
34
37
|
addresses: element.addresses,
|
|
35
38
|
matched_by: element.matched_by,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DedBuildingSearchTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/DedBuildingSearchTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAEA,6GAA0G;AAC1G,iEAAgE;AAEhE,2FAA2F;AAC3F,MAAM,eAAe,GAAG,eAAe,CAAC;AAExC;;;GAGG;AAEI,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,+CAAuE;IAArH;;QACI,SAAI,GAAW,iCAAiC,CAAC;QAE9C,sBAAiB,GAAG,CAAC,OAA8B,EAA4B,EAAE;YACvF,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC;YAEnF,OAAO;gBACH,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,KAAK;gBACnB,WAAW,EAAE,OAAO,CAAC,QAAQ;gBAC7B,wFAAwF;gBACxF,wDAAwD;gBACxD,iBAAiB,EACb,OAAO,CAAC,KAAK,KAAK,IAAI;oBAClB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE;gBAClG,OAAO,EAAE,OAAO,CAAC,YAAY;gBAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE;oBACT,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,EAAE,EAAE,OAAO,CAAC,EAAE;iBACjB;gBACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,YAAsB,EAAE,GAAG,EAAE,OAAO,CAAC,YAAsB,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3G,eAAe,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe;gBACnE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAChD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;aACnD,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"DedBuildingSearchTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/DedBuildingSearchTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAEA,6GAA0G;AAC1G,iEAAgE;AAEhE,2FAA2F;AAC3F,MAAM,eAAe,GAAG,eAAe,CAAC;AAExC;;;GAGG;AAEI,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,+CAAuE;IAArH;;QACI,SAAI,GAAW,iCAAiC,CAAC;QAE9C,sBAAiB,GAAG,CAAC,OAA8B,EAA4B,EAAE;YACvF,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC;YAEnF,OAAO;gBACH,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,KAAK;gBACnB,WAAW,EAAE,OAAO,CAAC,QAAQ;gBAC7B,wFAAwF;gBACxF,wDAAwD;gBACxD,iBAAiB,EACb,OAAO,CAAC,KAAK,KAAK,IAAI;oBAClB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE;gBAClG,UAAU,EACN,OAAO,CAAC,QAAQ,KAAK,IAAI;oBACrB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE;gBAC9G,OAAO,EAAE,OAAO,CAAC,YAAY;gBAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE;oBACT,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,EAAE,EAAE,OAAO,CAAC,EAAE;iBACjB;gBACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,YAAsB,EAAE,GAAG,EAAE,OAAO,CAAC,YAAsB,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3G,eAAe,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe;gBACnE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAChD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;aACnD,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;AAtCY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,qBAAU,GAAE;GACA,+BAA+B,CAsC3C"}
|
|
@@ -13,6 +13,7 @@ export declare class EnoBuildingDetailTransformation extends AbstractTransformat
|
|
|
13
13
|
private extractBuilding;
|
|
14
14
|
private transformProperty;
|
|
15
15
|
private buildRegistrationUnit;
|
|
16
|
+
private buildDepartment;
|
|
16
17
|
private buildManager;
|
|
17
18
|
private transformPoint;
|
|
18
19
|
private buildSharedWith;
|
|
@@ -101,17 +101,23 @@ let EnoBuildingDetailTransformation = class EnoBuildingDetailTransformation exte
|
|
|
101
101
|
"spu_nazev",
|
|
102
102
|
"spu_ic",
|
|
103
103
|
"spu_dic",
|
|
104
|
+
"odbor_id",
|
|
105
|
+
"odbor_kod",
|
|
106
|
+
"odbor_nazev",
|
|
107
|
+
"odbor_typ",
|
|
104
108
|
]);
|
|
105
109
|
};
|
|
106
110
|
this.transformProperty = (building) => {
|
|
107
111
|
const registrationUnit = this.buildRegistrationUnit(building);
|
|
112
|
+
const department = this.buildDepartment(building);
|
|
108
113
|
const mandate = this.buildManager(building, "spm_");
|
|
109
114
|
const accountingUnit = this.buildManager(building, "spu_");
|
|
110
|
-
if (registrationUnit === null && mandate === null && accountingUnit === null) {
|
|
115
|
+
if (registrationUnit === null && department === null && mandate === null && accountingUnit === null) {
|
|
111
116
|
return null;
|
|
112
117
|
}
|
|
113
118
|
return {
|
|
114
119
|
registration_unit: registrationUnit,
|
|
120
|
+
department,
|
|
115
121
|
managers: {
|
|
116
122
|
mandate,
|
|
117
123
|
accounting_unit: accountingUnit,
|
|
@@ -122,6 +128,10 @@ let EnoBuildingDetailTransformation = class EnoBuildingDetailTransformation exte
|
|
|
122
128
|
const unit = (0, objectMappers_1.stripPrefix)(building, "ej_");
|
|
123
129
|
return unit.id === null ? null : unit;
|
|
124
130
|
};
|
|
131
|
+
this.buildDepartment = (building) => {
|
|
132
|
+
const unit = (0, objectMappers_1.stripPrefix)(building, "odbor_");
|
|
133
|
+
return unit.id === null ? null : unit;
|
|
134
|
+
};
|
|
125
135
|
this.buildManager = (building, prefix) => {
|
|
126
136
|
const manager = (0, objectMappers_1.stripPrefix)(building, prefix);
|
|
127
137
|
return manager.id === null ? null : manager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnoBuildingDetailTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/EnoBuildingDetailTransformation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EnoBuildingDetailTransformation.js","sourceRoot":"","sources":["../../../src/output-gateway/transformations/EnoBuildingDetailTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1027,6 +1027,7 @@ Přehled endpointů a parametru `accessLimit`:
|
|
|
1027
1027
|
- **Vážené řazení**: kombinace fulltextu (`tsvector` s vahami A/B/C/D — A název a označení, B hlavní adresa, C ostatní adresy, D identifikátory) a trigramové podobnosti; váhy jsou v [DedSearchWeights.ts](../src/output-gateway/constants/DedSearchWeights.ts) včetně zdůvodnění
|
|
1028
1028
|
- **Deterministická množina kandidátů**: fulltextová i trigramová větev si své kandidáty nejdřív seřadí (`ts_rank_cd`, resp. `<->`) a teprve pak ořízne na `DED_SEARCH_FTS_CANDIDATES` / `DED_SEARCH_FUZZY_CANDIDATES`; bez toho by `LIMIT` vzal libovolné řádky v pořadí, v jakém je vrátil index, a stejný dotaz by po autovacuum mohl odpovědět jinak
|
|
1029
1029
|
- **Evidenční jednotka**: `registration_unit` má záměrně stejný tvar (`id` / `kod` / `nazev` / `typ`) jako na detailu budovy, takže klient může pro obě odpovědi použít jeden typ
|
|
1030
|
+
- **Odbor**: `department` je hlavní evidenční jednotka (`kod_maj_evidencni_jednotka_hl`) registrační jednotky, nebo registrační jednotka samotná, pokud žádnou hlavní jednotku nemá; bez tohoto rozlišení by filtr "Organizační struktura - Odbor" postavený jen na `ej_nazev` nikdy nezobrazil odbor, který spravuje majetek jen přes podřízenou evidenční jednotku (p0261#57)
|
|
1030
1031
|
- **Projekce PostGIS až na výsledné stránce**: `ST_AsGeoJSON`, bbox a centroid se počítají až po filtru a `LIMIT`; trigramová větev se navíc při přesné shodě vůbec nespustí, protože její řádky by finální `WHERE` stejně zahodil
|
|
1031
1032
|
- **Diakritika**: dotaz i indexované sloupce se normalizují přes `lower(public.unaccent(...))`, takže hledání bez diakritiky funguje běžně; stejný výraz musí zůstat v migraci i v [DedBuildingSearchRepository](../src/output-gateway/repositories/DedBuildingSearchRepository.ts), jinak by normalizované sloupce přestaly odpovídat hledanému textu
|
|
1032
1033
|
- **Geometrie**: `geometry` (GeoJSON), `bbox` a `centroid` se počítají z PostGIS geometrie uložené v pohledu už v EPSG:4326 (zdroj `eno_geometrie` je v S-JTSK 5514); u budov bez použitelné geometrie jsou všechny tři `null` a `geometry_source` je `null`
|
|
@@ -1041,7 +1042,7 @@ Přehled endpointů a parametru `accessLimit`:
|
|
|
1041
1042
|
- detail budovy (ENO) s odběrnými místy (OM) a technickými parametry pro DeD
|
|
1042
1043
|
- přístup: bez `accessLimit` — endpoint čte výhradně tabulky ENAPO (`enapo_*`, `eno_*`), které nejsou vázané na organizace z domény OICT Energetika, takže se nefiltruje přes tabulku `access_limit`; parametr `accessLimit` (ani žádný jiný query parametr) endpoint nepřijímá a vrací pro něj 400
|
|
1043
1044
|
- zdrojové tabulky a pohledy
|
|
1044
|
-
- `v_enapo_building_detail` — pohled nad `eno_budova` (dedup přes `zdroj` pomocí `DISTINCT ON (gid)`)
|
|
1045
|
+
- `v_enapo_building_detail` — pohled nad `eno_budova` (dedup přes `zdroj` pomocí `DISTINCT ON (gid)`); kromě přímé evidenční jednotky (`ej_*`) resolvuje i její hlavní jednotku (`odbor_*`, `kod_maj_evidencni_jednotka_hl`), s fallbackem na evidenční jednotku samotnou, pokud žádnou hlavní nemá — viz `property.department` níže
|
|
1045
1046
|
- `eno_adresa` — všechny adresy budovy (deduplikované podle `popis`)
|
|
1046
1047
|
- `v_enapo_building_consumption_points` — pohled nad `enapo_gid_mapping` obohacený o:
|
|
1047
1048
|
- `enapo_pre_metadata_history` — poslední měsíc metadat PRE (jen EAN / elektřina)
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -605,6 +605,13 @@ components:
|
|
|
605
605
|
description: >-
|
|
606
606
|
Evidenční jednotka (eno_ciselnik_evidencni_jednotka) resolved through eno_majetek;
|
|
607
607
|
null when the building has no majetek record. Its name is part of the search vector.
|
|
608
|
+
department:
|
|
609
|
+
allOf:
|
|
610
|
+
- $ref: "#/components/schemas/EnergeticsEnoRegistrationUnit"
|
|
611
|
+
description: >-
|
|
612
|
+
Odbor spravující budovu: hlavní evidenční jednotka registrační jednotky
|
|
613
|
+
(kod_maj_evidencni_jednotka_hl), nebo registrační jednotka samotná, pokud žádnou
|
|
614
|
+
hlavní jednotku nemá.
|
|
608
615
|
address:
|
|
609
616
|
type: string
|
|
610
617
|
nullable: true
|
|
@@ -697,6 +704,7 @@ components:
|
|
|
697
704
|
- name
|
|
698
705
|
- designation
|
|
699
706
|
- registration_unit
|
|
707
|
+
- department
|
|
700
708
|
- address
|
|
701
709
|
- addresses
|
|
702
710
|
- matched_by
|
|
@@ -876,6 +884,13 @@ components:
|
|
|
876
884
|
allOf:
|
|
877
885
|
- $ref: "#/components/schemas/EnergeticsEnoRegistrationUnit"
|
|
878
886
|
description: Evidenční jednotka (eno_ciselnik_evidencni_jednotka).
|
|
887
|
+
department:
|
|
888
|
+
allOf:
|
|
889
|
+
- $ref: "#/components/schemas/EnergeticsEnoRegistrationUnit"
|
|
890
|
+
description: >-
|
|
891
|
+
Odbor spravující budovu: hlavní evidenční jednotka registrační jednotky
|
|
892
|
+
(kod_maj_evidencni_jednotka_hl), nebo registrační jednotka samotná, pokud
|
|
893
|
+
žádnou hlavní jednotku nemá (tedy pokud je sama odborem).
|
|
879
894
|
managers:
|
|
880
895
|
type: object
|
|
881
896
|
description: Správci (eno_ciselnik_spravce) from the mandate and accounting-unit references.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/energetics",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.1",
|
|
4
4
|
"description": "Golemio Energetics Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"@apideck/portman": "1.33.0",
|
|
40
40
|
"@commitlint/cli": "^11.0.0",
|
|
41
41
|
"@commitlint/config-conventional": "^11.0.0",
|
|
42
|
-
"@golemio/cli": "2.
|
|
43
|
-
"@golemio/core": "4.0
|
|
42
|
+
"@golemio/cli": "2.1.0",
|
|
43
|
+
"@golemio/core": "4.1.0",
|
|
44
44
|
"@golemio/db-common": "1.2.3",
|
|
45
45
|
"@golemio/eslint-config": "1.2.0",
|
|
46
46
|
"@swc-node/register": "^1.11.1",
|