"""Pracovní finanční scénáře, nikoli nabídkový či projektantský rozpočet.
Vše v Kč bez DPH; ceny jsou zvolené intervaly pro test rozhodnutí, nejsou ceníkem.
"""
import csv,json
from pathlib import Path
out=Path(__file__).resolve().parent
rows=[]
def add(v,p,q,u,lo,hi):rows.append(dict(varianta=v,polozka=p,mnozstvi=q,jednotka=u,jednotkova_min=lo,jednotkova_max=hi,min=q*lo,max=q*hi))
# Celý modelovaný koridor zaokrouhlený na 750 m; plocha bílé barvy je pouze pracovní.
add('A','Průzkumy, návrh, průjezdnost, mostní ověření a projednání',1,'soubor',500000,1200000)
add('A','Odstranění starého a nové značení včetně symbolů',1,'soubor',150000,450000)
add('A','Lokální opravy povrchů a vpustí',1,'soubor',300000,1000000)
add('A','Svislé značení a osazení',1,'soubor',100000,250000)
add('A','Napojení a drobné stavební úpravy předpolí',1,'soubor',400000,1500000)
add('A','Organizace výstavby a dočasné značení',1,'soubor',150000,400000)
add('A','Dozor, zaměření a dokumentace dokončení',1,'soubor',100000,250000)
# C1: částečný zásah do svršku, 300 m stavebních zásahů; ne délka mostu!
add('C1','Průzkumy, projekt a mostní posouzení',1,'soubor',800000,1600000)
add('C1','Lokální přestavba pásu 5 m: bourání, podklad, izolace a povrch',1500,'m2',2500,4500)
add('C1','Oddělení včetně podkladu a kotvení dle návrhu',300,'m',4000,8000)
add('C1','Odvodnění a lokální ochrana/přeložení sítí',1,'soubor',400000,1200000)
add('C1','Napojení včetně značení',1,'soubor',800000,2000000)
add('C1','Zařízení staveniště a dopravní opatření',1,'soubor',600000,1500000)
add('C1','Dozory a dokončovací dokumentace',1,'soubor',300000,700000)
# C2: plošný svršek a obě zábradlí; konstrukce nosná nezesilována.
add('C2','Průzkumy, projekt a mostní posouzení',1,'soubor',1000000,2000000)
add('C2','Svršek 12 m: bourání, příprava, izolace a nové povrchy',3600,'m2',3500,6500)
add('C2','Oddělení včetně podkladu a kotvení dle návrhu',300,'m',5000,12000)
add('C2','Zábradlí na obou okrajích včetně demontáže a osazení',600,'m',4000,8000)
add('C2','Odvodnění a lokální ochrana/přeložení sítí',1,'soubor',800000,2000000)
add('C2','Napojení včetně značení',1,'soubor',1000000,3000000)
add('C2','Zařízení staveniště a dopravní opatření',1,'soubor',1000000,3000000)
add('C2','Dozory a dokončovací dokumentace',1,'soubor',500000,1000000)
summary=[]
for v,res in [('A',.25),('C1',.35),('C2',.35)]:
 rr=[r for r in rows if r['varianta']==v];lo=sum(r['min'] for r in rr);hi=sum(r['max'] for r in rr)
 summary.append(dict(varianta=v,zaklad_min=lo,zaklad_max=hi,rezerva=res,bez_dph_min=lo*(1+res),bez_dph_max=hi*(1+res),vc_dph_min=lo*(1+res)*1.21,vc_dph_max=hi*(1+res)*1.21))
with open(out/'naklady-polozky.csv','w') as f:
 w=csv.DictWriter(f,fieldnames=list(rows[0]),delimiter=';');w.writeheader();w.writerows(rows)
(out/'naklady-souhrn.json').write_text(json.dumps({'typ':'autorské předpoklady; rámec cen 2025–2026 bez indexace; nikoli nabídky','stavebni_delka_C_m':300,'koridor_A_m':750,'souhrn':summary},ensure_ascii=False,indent=2)+'\n')
for s in summary:print(s)
