second version

This commit is contained in:
Dusan Vojacek
2026-04-03 14:23:16 +02:00
parent 897b95f728
commit 9f4126946d
105 changed files with 9738 additions and 1470 deletions

View File

@@ -0,0 +1,100 @@
-- ============================================================
-- Distribuční tarify a HDO
-- ============================================================
CREATE TABLE ems.distribution_tariff (
id SERIAL PRIMARY KEY,
distributor TEXT NOT NULL, -- 'EGD', 'CEZ', 'PRE'
code TEXT NOT NULL, -- 'D02d', 'C25d', 'custom_fve'
name TEXT NOT NULL,
has_dual_rate BOOLEAN NOT NULL DEFAULT true, -- NT/VT nebo jednotarif
vat_rate NUMERIC(5,4) NOT NULL DEFAULT 0.21,
notes TEXT,
UNIQUE (distributor, code)
);
COMMENT ON TABLE ems.distribution_tariff IS
'Číselník distribučních tarifů. Jeden záznam = jeden tarif jednoho distributora.
has_dual_rate=true znamená NT/VT dvojsazba, false = jednotarif.';
-- ============================================================
CREATE TABLE ems.distribution_tariff_rate (
id SERIAL PRIMARY KEY,
tariff_id INT NOT NULL REFERENCES ems.distribution_tariff(id),
rate_type TEXT NOT NULL, -- 'NT', 'VT', 'single'
price_czk_kwh NUMERIC(10,6) NOT NULL, -- variabilní složka bez DPH
valid_from DATE NOT NULL,
valid_to DATE, -- NULL = platí dosud
notes TEXT,
UNIQUE (tariff_id, rate_type, valid_from)
);
COMMENT ON TABLE ems.distribution_tariff_rate IS
'Sazby distribučního tarifu Kč/kWh bez DPH. Verzováno přes valid_from/valid_to.
Při roční změně tarifů: nastav valid_to na starém záznamu a přidej nový.
price_czk_kwh = pouze variabilní distribuce, BEZ systémových služeb a OTE.';
COMMENT ON COLUMN ems.distribution_tariff_rate.price_czk_kwh IS
'Variabilní distribuční složka Kč/kWh bez DPH.
Nezahrnuje: systémové služby ČEPS, poplatek OTE, silovou elektřinu (spot).
Tyto ostatní fixní složky jsou v site_market_config jako system_services_czk_kwh.';
-- ============================================================
CREATE TABLE ems.hdo_code (
id SERIAL PRIMARY KEY,
distributor TEXT NOT NULL, -- 'EGD', 'CEZ', 'PRE'
code TEXT NOT NULL, -- 'B1', 'C3', 'custom_fve_home01'
description TEXT,
valid_from DATE NOT NULL,
valid_to DATE, -- NULL = platí dosud
notes TEXT,
UNIQUE (distributor, code, valid_from)
);
COMMENT ON TABLE ems.hdo_code IS
'Číselník HDO kódů per distributor. Při roční změně přidat nový záznam
s novým valid_from starý zůstane v historii pro audit.
Kód "custom_fve_home01" pro FVE instalace bez standardního HDO kódu.';
-- ============================================================
CREATE TABLE ems.hdo_code_window (
id SERIAL PRIMARY KEY,
hdo_code_id INT NOT NULL REFERENCES ems.hdo_code(id),
day_type TEXT NOT NULL DEFAULT 'all',
-- 'all' = každý den, 'workday' = Po-Pá, 'weekend' = So-Ne
rate_type TEXT NOT NULL DEFAULT 'VT', -- 'VT' nebo 'NT'
window_from TIME NOT NULL, -- začátek okna (inclusive)
window_to TIME NOT NULL -- konec okna (exclusive)
);
COMMENT ON TABLE ems.hdo_code_window IS
'NT/VT časová okna pro HDO kód. Více řádků = více oken za den.
Logika: pokud aktuální čas spadá do VT okna → rate_type=VT, jinak NT.
day_type=all znamená stejná okna každý den (workday i weekend).
Příklad home-01: VT 09:00-10:00, 12:00-13:00, 16:00-17:00, 20:00-21:00.';
-- ============================================================
-- Rozšíření site_market_config
-- ============================================================
ALTER TABLE ems.site_market_config
ADD COLUMN IF NOT EXISTS tariff_id INT REFERENCES ems.distribution_tariff(id),
ADD COLUMN IF NOT EXISTS hdo_code_id INT REFERENCES ems.hdo_code(id),
ADD COLUMN IF NOT EXISTS system_services_czk_kwh NUMERIC(10,6) DEFAULT 0,
ADD COLUMN IF NOT EXISTS ote_fee_czk_kwh NUMERIC(10,6) DEFAULT 0;
COMMENT ON COLUMN ems.site_market_config.tariff_id IS
'Distribuční tarif přiřazený k této lokalitě. FK na distribution_tariff.';
COMMENT ON COLUMN ems.site_market_config.hdo_code_id IS
'HDO kód přiřazený k této lokalitě. Určuje NT/VT časová okna.
Při změně HDO předpisu stačí přidat nový hdo_code záznam a aktualizovat FK.';
COMMENT ON COLUMN ems.site_market_config.system_services_czk_kwh IS
'Součet systémových poplatků Kč/kWh bez DPH:
systémové služby ČEPS + poplatek OTE + příspěvek na OZE.
Orientační hodnota EG.D 2025: ~0.40 Kč/kWh. Doplnit ze smlouvy/faktury.';
COMMENT ON COLUMN ems.site_market_config.ote_fee_czk_kwh IS
'Poplatek OTE za použití trhu Kč/kWh bez DPH.
Orientačně ~0.001 Kč/kWh. Lze zahrnout do system_services_czk_kwh.';