# -*- coding: utf-8 -*-
"""Egyszeri feltöltő szkript: MSZ 9721-1 (Általános) és MSZ 9721-2 (Híd- és bakdaru)
ellenőrzőlista-sablonok (Szerkezeti vizsgálat, Fővizsgálat) és napi (műszakonkénti)
ellenőrzés-sablonok létrehozása a felhasználó által mellékelt 2 PDF (9721-1.pdf, 9721-2.pdf)
táblázatai alapján.

Törli a hibás/félbehagyott "3. MSZ 9721-2 Daru és Híddaru" bejegyzést (nincs vizsgalat_tipus,
rossz géptípus: Autódaru), és helyette 6 új, teljes Dictionary sort hoz létre company_id=1 alatt:
  - MSZ 9721-1 Általános - Szerkezeti vizsgálat (JegyzokonyvSablon, geptipus_lista=None -> minden gép)
  - MSZ 9721-1 Általános - Fővizsgálat (JegyzokonyvSablon, geptipus_lista=None)
  - MSZ 9721-1 Általános - Napi (műszakonkénti) ellenőrzés (NapiEllenorzesSablon, geptipus_lista=None)
  - MSZ 9721-2 Híd- és bakdaru - Szerkezeti vizsgálat (JegyzokonyvSablon, geptipus_lista=híd/bak/konzol)
  - MSZ 9721-2 Híd- és bakdaru - Fővizsgálat (JegyzokonyvSablon, geptipus_lista=híd/bak/konzol)
  - MSZ 9721-2 Híd- és bakdaru - Napi (műszakonkénti) ellenőrzés (NapiEllenorzesSablon, ua.)

Futtatás: python msz9721_sablon_feltolto.py   (az 1-es cégnek; más cégnek: main(company_id=<id>) - v81: az új cég felvételekor a rendszeradmin felület is így hívja)
"""
import json
from database import SessionLocal
import models

HIDBAK_GEPTIPUS_LISTA = "4361 - Híddaru / futódaru,4371 - Bakdaru / bakállvány,4375 - Konzoldaru"

# EBSZ 7.2.2-7.2.5 alapján megfogalmazott, kizárólag az Időszakos biztonsági felülvizsgálathoz
# (IBF) tartozó kiegészítő tételek - teljesen géptípus-független szöveg, ugyanaz, mint amit a
# 2026-09-07-i munkamenetben a targonca (MSZ 9721-4) IBF-sablonjához is felhasználtunk
# (sablon_feltolto.py "ibf_extra_data"). A 7.2.6 (jegyzőkönyv-készítés, aláírás) nem checklist-
# tétel, azt a rendszer a PDF-generálással és a vizsgáló aláírás-mezőjével már eleve teljesíti.
IBF_EXTRA_ROWS = [
    ("EBSZ 7.2.2", "Az IBF esedékessége betartva (legalább 5 évente, vagy a gép környezetének/kiszolgált technológiájának megváltozásakor, illetve a gyártó által előírt rövidebb gyakorisággal)", "SZV"),
    ("EBSZ 7.2.3", "Az emelőgép szerkezeti kialakítása megfelel az érvényes biztonsági és egészségvédelmi követelményeknek", "SZV"),
    ("EBSZ 7.2.3", "Az emelőgép gépészeti és villamos berendezése megfelel az érvényes biztonsági és egészségvédelmi követelményeknek", "SZV"),
    ("EBSZ 7.2.3", "Az emelőgép biztonsági berendezései megfelelnek az érvényes biztonsági és egészségvédelmi követelményeknek", "SZV"),
    ("EBSZ 7.2.3", "Az emelőgép az eredeti funkciójának megfelelően üzemel", "SZV, ÜJ"),
    ("EBSZ 7.2.3", "Az emelőgép környezetének jellemzői azonosak a tervezéskor és gyártáskor figyelembe vettekkel (a kiszolgált technológia nem változott)", "SZV"),
    ("EBSZ 7.2.4", "Az emelőgép korszerűsítésének szükségessége a veszélyek csökkentése érdekében", "SZV"),
    ("EBSZ 7.2.5", "Az emelőgép dokumentációjának megléte, és hogy a dokumentáció megfelel-e a tényleges állapotnak", "SZV"),
]

# ---------------------------------------------------------------------------
# MSZ 9721-1:2020 3. táblázat (Általános) - (pont, targy, muszakonkenti, szerkezeti, fo)
# None = "-" (nem vizsgálati mód az adott oszlopban)
# ---------------------------------------------------------------------------
ROWS_9721_1 = [
    ("4.2.1", "Azonosítás (pl. adattáblával)", None, "SZV", "SZV"),
    ("4.2.2", "Kezelői kézikönyv, használati utasítás", None, None, "SZV"),
    ("4.2.2", "Emelőgépen található kezelési utasítás", None, "SZV", "SZV"),
    ("4.2.2", "Emelőgép üzemviteli dokumentuma, kísérődokumentációk", None, "SZV", "SZV"),
    ("4.2.2", "Megfelelőségi nyilatkozatok, tanúsítványok", None, None, "SZV"),
    ("4.2.3", "Emelőgépnapló, karbantartás dokumentálása", "SZV", "SZV", "SZV"),
    ("4.2.4", "Korábbi jegyzőkönyvek, bizonylatok (pl. szerkezeti stb.)", None, None, "SZV"),
    ("4.2.5", "Egyéb vizsgálati jegyzőkönyvek (pl. ÉV, terhelési próba)", None, None, "SZV"),
    ("4.2.6", "Üzemviteli dokumentum", None, "SZV", "SZV"),
    ("4.2.7", "Időszakos vizsgálati időközök dokumentáltsága és betartása", None, "SZV", "SZV"),
    ("4.2.8", "CE-jelölés az emelőgép adattábláján", None, None, "SZV"),
    ("4.2.9", "Típusvizsgálati tanúsítvány vagy gyártói EK megfelelőségi nyilatkozat megléte", None, None, "SZV"),
    ("4.3.1", "Telepítés biztonsági távolságai", None, None, "SZV, ME"),
    ("4.3.2", "Megvilágítás megfelelősége (munkatér, kezelőhely)", None, None, "SZV, ME"),
    ("4.3.3", "Munkatér beláthatósága", None, None, "SZV"),
    ("4.3.4", "Zajhatás megítélése", None, None, "SZV, ME"),
    ("4.4.1", "Tartószerkezet, pálya és sín állapota", None, "SZV", "SZV"),
    ("4.4.2", "Tehertartás egységeinek állapota, deformációmentessége", "SZV", "SZV", "SZV"),
    ("4.4.3", "Tartószerkezet alaktartása", None, "SZV", "SZV, ME"),
    ("4.4.4", "Acélszerkezet, járdák, korlátok, feljárók állapota", None, "SZV", "SZV"),
    ("4.4.5", "Járdák, korlátok, feljárók, átjárók, nyílások mérete", None, "SZV, ME", "SZV, ME"),
    ("4.4.6", "Rögzítetlen, felesleges tárgyak jelenléte", "SZV", "SZV", "SZV"),
    ("4.4.7", "Szerelőnyílások fedelének rögzítettsége", None, None, "SZV"),
    ("4.5.1", "A tartószerkezet kapcsolatainak és csavarkötéseinek állapota", None, "SZV", "SZV, T"),
    ("4.5.2", "Hegesztések (pl. repedés stb.)", None, "SZV", "SZV, ME"),
    ("4.6.1.1", "Kerekek, terelőgörgők állapota, kopás mértéke", None, "SZV", "SZV, ME"),
    ("4.6.1.2", "Tengelytalálkozások egytengelyűsége, reteszhornyok állapota", None, "SZV", "SZV, T"),
    ("4.6.1.3", "Csapágyak állapota, zaja", "SZV", "SZV", "SZV, T"),
    ("4.6.1.4", "Nyitott fogaskerekek állapota, kenése", "SZV", "SZV", "SZV, ME"),
    ("4.6.1.5", "Hajtómotorok állapota, zaja, melegedése, rezgése, hűtőbordák tisztasága", "SZV", "SZV, T", "SZV, T"),
    ("4.6.1.6", "Tengelykapcsolók sérülésmentessége, kopásaik", None, "SZV", "SZV, T"),
    ("4.6.1.7", "Hajtóművek sérülésmentessége, rögzítettsége, olajfolyásai, kenőanyag-ellátottsága, működőképessége, zaja, melegedése, rezgése", "SZV", "SZV", "SZV, T"),
    ("4.6.1.8", "Hajlékony vonóelem (kötél, lánc, heveder) sérülésének, korróziójának és kopásának mértéke, akadálytalan mozgása, szakadás- vagy repedésmentessége", "SZV", None, "SZV, ME"),
    ("4.6.1.9", "Hajlékony vonóelemek végeinek állapota", "SZV", "SZV", "SZV"),
    ("4.6.1.10", "Hajlékony vonóelemek terelőelemeinek perem- és horonykopása, épsége, védőburkolatok sérülésmentessége, vízelvezetése", "SZV", "SZV", "SZV"),
    ("4.6.1.11", "Horog, teherfelvevő eszköz működőképessége, repedés- és sérülésmentessége, korróziójának, alakváltozásának mértéke, kopása, beépítésének megfelelősége", "SZV", None, "SZV, ME"),
    ("4.6.1.12", "Horogszerkezet rögzítőelemeinek leütés elleni védelme", "SZV", "SZV", "SZV"),
    ("4.6.1.13", "Horogkiakadás-gátló megléte, sérülésmentessége, működőképessége", "SZV", "SZV", "SZV"),
    ("4.6.1.14", "Az oldható kötések biztosítása és a kapcsolatok feszessége, épsége", "SZV", "SZV", "SZV"),
    ("4.6.2.1 a)", "Szekrény sérülésmentessége, zárhatósága, korróziómentessége, rögzítettsége, az előírt IP-védelem és a tömszelencék megléte", "SZV", "SZV", "SZV"),
    ("4.6.2.1 b)", "Kábelezés sérülésmentessége, jelölése, rögzítettsége", "SZV", "SZV", "SZV"),
    ("4.6.2.1 c)", "Villamos berendezések (pl. vezérlők, biztosítékok, relék, ellenállások stb.) működőképessége, sérülése, rögzítettsége, melegedése", None, "SZV", "SZV"),
    ("4.6.2.1 d)", "Hűtés és/vagy fűtés megfelelő működése, szellőztető pormentessége", "SZV", "SZV", "SZV"),
    ("4.6.2.1 e)", "Feliratok, jelölések megléte", None, "SZV", "SZV"),
    ("4.6.2.2", "Védőszigetelések, a vezetékezés állapota és jelölése", None, None, "SZV"),
    ("4.6.2.3", "A villamos biztonsági szerelvények állapota, működése a gyári előírás szerint", None, "SZV", "SZV"),
    ("4.6.2.4", "A kapcsolók, érzékelők, érintkezők, ellenállások, biztosítók állapota", None, "SZV", "SZV"),
    ("4.6.2.5", "Akkumulátor(ok) elhelyezése, burkolata, rögzítettsége, állapota, tisztasága, tömítettsége, a töltöttségének mérése, a töltöttségi állapotkijelző működőképessége", "SZV", None, "SZV"),
    ("4.6.2.6", "Az állapotjelző villamos műszerek működése, állapotuk", "SZV", "SZV", "SZV"),
    ("4.6.3.1 a)", "Munkaközeg-szintjelzés és -nyomásjelzés megfelelősége üzemben és üzemen kívül", "SZV", None, "SZV"),
    ("4.6.3.1 b)", "A munkaközeg hőmérséklet-kijelzőjének állapota", "SZV", "SZV", None),
    ("4.6.3.1 c)", "A munkaközeg túlmelegedése elleni védelme", None, "SZV", "SZV"),
    ("4.6.3.1 d)", "A rendszert a túlnyomás ellen védő berendezés működőképessége", None, "SZV", "SZV"),
    ("4.6.3.2", "Hiba (pl. csőtörés) esetén a nem vezérelt mozgások ellen védő elemek, szelepek elhelyezése, valamint az alapvető fontosságú (pl. munkahenger és tehertartó szelep közötti) csővezetékszakaszok állapota, tömítettsége", None, None, "SZV"),
    ("4.6.3.3", "A mozgásokat lassító, rögzítőfékezési és sebességszabályozó (fék)rendszerek hatásossága, egyenletessége", "SZV", "SZV, T, ÜJ", "SZV, T, ÜJ"),
    ("4.6.3.4", "Az azonos funkciókra ható több párhuzamos munkavégző egység esetén a szinkron működés megfelelősége", "SZV", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.3.5", "A nyomás beállítására (szabályozására) való helyek védettsége az illetéktelenek beavatkozásától, a gyakori szabályzást igénylő helyek megközelíthetősége", None, "SZV", "SZV"),
    ("4.6.3.6", "A nyomásjelző akusztikai/optikai rendszer működőképessége", None, "ÜJ", "ÜJ"),
    ("4.6.3.7", "Motorok, szivattyúk megfelelő működése", "ÜJ", "ÜJ", "ÜJ"),
    ("4.6.3.8 a)", "A hajtásrendszerek rángatásmentes működése", "ÜJ", "ÜJ", "ÜJ"),
    ("4.6.3.8 b)", "Aszimmetrikus terheléskor a szinkron működés megfelelősége", None, "ÜT", "ÜT"),
    ("4.6.3.8 c)", "Több sebességi fokozatú hajtás esetén az átkapcsolás egyenletessége", None, "ÜT", "ÜT"),
    ("4.6.3.9 a)", "Kompresszor és szerelvényeinek állapota", None, "ÜJ", "ÜJ"),
    ("4.6.3.9 b)", "A légbeszívó szűrők tisztasága", "SZV", "SZV", "SZV"),
    ("4.6.3.9 c)", "Légtartályok és szerelvényeik állapota", None, "ÜJ", "ÜJ"),
    ("4.6.3.9 d)", "A fagymentesítő rendszer működőképessége", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.3.9 e)", "A biztonsági szempontból másodlagos funkciókat leválasztó rendszerek működése, védőszelepek működése", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.3.9 f)", "Többkörös rendszer egyik körének sérülése esetén a többi kört leválasztó szelepek, és az épen maradt körök működése a biztosított (csökkentett) energiaszinten", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.3.10", "Akaratlan elmozdulás elleni védelem", "SZV", "SZV", "SZV"),
    ("4.6.3.11", "A hidraulikus akkumulátor állapota és leválasztásának feltételei", None, "SZV", "SZV"),
    ("4.6.4", "Belső égésű motorok állapota", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.5", "A hidraulikus és pneumatikus vezetékek állapota", None, "SZV", "SZV"),
    ("4.6.6", "Hajtásvezérlő berendezések", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.7", "Energiaellátás állapota", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.8", "Egyéb szerkezetek, részegységek", None, "Vonatkozó előírás szerint", "Vonatkozó előírás szerint"),
    ("4.6.9", "Az emelőgép tisztasága", "SZV", None, "SZV"),
    ("4.7.1", "Teherbírás, mozgási sebességek, kiszolgált technológiának való megfelelőség stb.", None, "SZV", "SZV"),
    ("4.8.1", "Fék állapota (pl. fékhézag mérése stb.)", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ, ÜT, ME"),
    ("4.8.2", "Energiakimaradás esetén tehertartás, stabilitás", None, "SZV", "SZV, ÜJ, ÜT, ME"),
    ("4.8.3", "Vészleállító", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.4", "Mozgáshatároló ütköző/szerkezet", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.5", "Határolóeszközök (pl. végálláskapcsoló stb.) épsége", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.6", "Túlterhelés elleni védelem", None, None, "SZV, ÜJ, TT"),
    ("4.8.7", "Mozgásjelző", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.8", "Érintésvédelem", None, "SZV", "SZV"),
    ("4.8.9", "Veszélyes térhez való hozzáférés elleni védelem", "SZV", "SZV", "SZV"),
    ("4.8.10", "Világító- és jelzőberendezés", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.11", "Stabilizáló-, rögzítő- és támaszrendszer", "SZV", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.12", "Elektronikus felügyelet (pl. állapotfigyelő egység stb.)", None, None, "SZV"),
    ("4.8.13", "Terhelhetőség jelzése", "SZV", "SZV", "SZV"),
    ("4.8.14", "Emelőgép rögzítése (pl. viharcsap stb.)", "SZV", "SZV", "SZV, ÜJ"),
    ("4.8.15", "Burkolatok megléte", "SZV", "SZV, T", "SZV, T"),
    ("4.8.16", "Ajtó- (csapóajtó-) reteszelések állapota", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.17", "Végálláskapcsolók működése, tartószerkezetük épsége, rögzítettsége", "ÜJ", "ÜJ", "ÜJ"),
    ("4.9.1", "Szerkezeti egységek állapota", None, "SZV, T", "SZV, T"),
    ("4.9.2", "Biztonságos szerelés feltétele", None, "SZV", "SZV"),
    ("4.10.1", "Folyadékszintek (pl. hajtóműolaj stb.)", "SZV", None, "SZV"),
    ("4.10.2", "Kenőanyag-ellátottság (pl. csapágy stb.)", None, "SZV", "SZV"),
    ("4.10.3", "Olajszivárgás, -folyás", "SZV", "SZV", "SZV"),
    ("4.10.4", "Korrózió elleni bevonatok", None, None, "SZV, ME"),
    ("4.10.5", "A beépített hajlékony vonóelem kenőanyaggal való ellátottsága, szennyezettsége", None, "SZV", "SZV"),
    ("4.11.1", "Biztonságos karbantartás feltétele", None, None, "SZV"),
    ("4.11.2", "Munka megfelelősége", None, None, "SZV"),
    ("4.11.3", "Anyagok, alkatrészek megfelelősége", None, None, "SZV"),
    ("4.12.1", "Adattábla, teherbírás, munkavédelmi szín- és alakjelek", "SZV", "SZV", "SZV"),
    ("4.12.2", "Vezérlőelemek jelölése", None, "SZV", "SZV"),
    ("4.12.3", "Emelőgép munkakörnyezetbeni egyedi azonosítója", None, "SZV", "SZV"),
    ("4.12.4", "Teherbírás, terhelhetőség jelölése, terhelési diagramok megléte", "SZV", None, "SZV"),
    ("4.13.1", "Kezelőt védő szerkezetek", "SZV", "SZV", "SZV"),
    ("4.13.2", "Ergonómiai követelmények", None, None, "SZV, ÜJ"),
    ("4.13.3", "Megközelíthetőség", None, "SZV", "SZV"),
    ("4.13.4", "Kezelőt visszatartó szerkezet megléte, állapota", None, "SZV", "SZV, T"),
    ("4.13.5", "Mentési feltételek", None, "SZV", "SZV"),
    ("4.13.6", "Tűzoltó készülék", "SZV", "SZV", "SZV"),
    ("4.13.7", "Kezelőülés épsége, rögzítettsége, beállíthatósága", "SZV", "SZV", "SZV"),
    ("4.13.8", "A kezelőfülkéhez vagy -helyekhez tartozó burkolatok, ajtók és nyílások megfelelősége, elemeik rögzítettsége", "SZV", "SZV", "SZV"),
    ("4.13.9", "A kezelőhelyről való kilátás és feltételei", None, "SZV", None),
    ("4.14.1", "Indító-, leállítórendszer", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.14.2", "Energialeválasztó", None, "SZV", "SZV, ÜJ"),
    ("4.14.3", "Akaratlan indítás elleni védelem", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.14.4", "Vezérlőelem visszatérése", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.14.5", "Illetéktelen használat elleni védelem", "SZV", "SZV, T", "SZV, T"),
    ("4.14.6", "Több vezérlőhely biztonsága", None, "SZV", "SZV"),
    ("4.14.7", "Távvezérlő biztonságos működőképessége", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.14.8", "Tartalékvezérlés működőképessége", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.14.9", "Nyomógombok, kapcsolók állapota, működőképessége, jelölések megléte", "SZV, ÜJ", None, "SZV, ÜJ"),
    ("4.14.10", "Kijelzők működőképessége, színjelölések", "ÜJ", "ÜJ", "ÜJ"),
    ("4.15", "Automata üzemű emelőgép munkaterületének védelme személyek belépésétől (pl. automata daru, felrakógép vagy targonca)", None, "SZV", "SZV"),
    ("4.16", "Hang- és fényjelzők (pl. hangerő, szín)", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.17", "Használati körülmények, vizsgálati csoportszám változása", None, "SZV", "SZV"),
    ("4.18", "Szabványváltozás hatása, veszélycsökkentés lehetősége korszerűsítéssel", None, None, "SZV"),
    ("4.19", "Korábban feltárt hibák elhárítása", None, None, "SZV"),
    ("4.20", "Az emelőgép átalakítása miatt felszerelt berendezések vizsgálata és dokumentáltsága a 4.2.2. szakasz szerint", None, None, "SZV"),
]

# ---------------------------------------------------------------------------
# MSZ 9721-2:2020 1. táblázat (Híd- és bakdaru) - fehér (általános, 9721-1-gyel egyező) +
# szürke (daru-specifikus kiegészítő) sorok EGYBEN, ahogy a szabvány saját táblázata mutatja.
# ---------------------------------------------------------------------------
ROWS_9721_2 = [
    ("4.2.1", "Azonosítás (pl. adattáblával)", None, "SZV", "SZV"),
    ("4.2.2", "Kezelői kézikönyv, használati utasítás", None, None, "SZV"),
    ("4.2.2", "Emelőgépen található kezelési utasítás", None, "SZV", "SZV"),
    ("4.2.2", "Emelőgép üzemviteli dokumentuma, kísérődokumentációk", None, "SZV", "SZV"),
    ("4.2.2", "Megfelelőségi nyilatkozatok, tanúsítványok", None, None, "SZV"),
    ("4.2.3", "Emelőgépnapló, karbantartás dokumentálása", "SZV", "SZV", "SZV"),
    ("4.2.4", "Korábbi jegyzőkönyvek, bizonylatok (pl. szerkezeti stb.)", None, None, "SZV"),
    ("4.2.5", "Egyéb vizsgálati jegyzőkönyvek (pl. ÉV, terhelési próba)", None, None, "SZV"),
    ("4.2.6", "Üzemviteli dokumentum", None, "SZV", "SZV"),
    ("4.2.7", "Időszakos vizsgálati időközök dokumentáltsága és betartása", None, "SZV", "SZV"),
    ("4.2.8", "CE-jelölés az emelőgép adattábláján", None, None, "SZV"),
    ("4.2.9", "Típusvizsgálati tanúsítvány, vagy gyártói EK megfelelőségi nyilatkozat megléte", None, None, "SZV"),
    ("4.3.1", "Telepítés biztonsági távolságai", None, None, "SZV, ME"),
    ("4.3.2", "Megvilágítás megfelelősége (munkatér, kezelőhely)", None, None, "SZV, ME"),
    ("4.3.3", "Munkatér beláthatósága", None, None, "SZV"),
    ("4.3.4", "Zajhatás megítélése", None, None, "SZV, ME"),
    ("4.4.1", "Tartószerkezet, pálya és sín állapota", None, "SZV", "SZV"),
    ("4.4.2", "Tehertartás egységeinek állapota, deformációmentessége", "SZV", "SZV", "SZV"),
    ("4.4.3", "Tartószerkezet alaktartása", None, "SZV", "SZV, ME"),
    ("4.4.4", "Acélszerkezet, járdák, korlátok, feljárók állapota", None, "SZV", "SZV"),
    ("4.4.5", "Járdák, korlátok, feljárók, átjárók, nyílások mérete", None, "SZV, ME", "SZV, ME"),
    ("4.4.6", "Rögzítetlen, felesleges tárgyak jelenléte", "SZV", "SZV", "SZV"),
    ("4.4.7", "Szerelőnyílások fedelének rögzítettsége", None, None, "SZV"),
    ("4.4.8.1", "A lábszerkezet állapota, alaktartása, kötőelemek feszessége, repedésmentessége", None, "SZV", "SZV, ME, MM"),
    ("4.4.8.2", "A zsámoly acélszerkezetének állapota", None, "SZV", "SZV, ME, MM"),
    ("4.4.8.3", "A himbaszerkezetek, csapok, saruk állapota, kopásuk mértéke, rögzítettségük, kenőanyag-ellátottságuk", None, "SZV", "SZV, ME"),
    ("4.4.9.1", "Fesztávolság, szint, kígyózás megfelelősége", None, "SZV", "SZV, ME, MM"),
    ("4.4.9.2", "Pálya állapota, rögzítettsége, repedésmentessége, csavarkötések állapota", "SZV", "SZV", "SZV"),
    ("4.4.9.3", "Sín, síndilatáció állapota, kopás mértéke", None, "SZV", "SZV, ME"),
    ("4.4.9.4", "Sínlefogás állapota, rögzítettsége", None, "SZV", "SZV"),
    ("4.4.9.5", "Pályaelemek közötti földelő átkötések megléte, sérülésmentessége", None, "SZV", "SZV"),
    ("4.5.1", "A tartószerkezet kapcsolatainak és csavarkötéseinek állapota", None, "SZV", "SZV, T"),
    ("4.5.2", "Hegesztések (pl. repedés stb.)", None, "SZV", "SZV, ME"),
    ("4.6.1.1", "Kerekek, terelőgörgők állapota, kopás mértéke", None, "SZV", "SZV, ME"),
    ("4.6.1.2", "Tengelytalálkozások egytengelyűsége, reteszhornyok állapota", None, "SZV", "SZV, T"),
    ("4.6.1.3", "Csapágyak állapota, zaja", "SZV", "SZV", "SZV, T"),
    ("4.6.1.4", "Nyitott fogaskerekek állapota, kenése", "SZV", "SZV", "SZV, ME"),
    ("4.6.1.5", "Hajtómotorok állapota, zaja, melegedése, rezgése, hűtőbordák tisztasága", "SZV", "SZV, T", "SZV, T"),
    ("4.6.1.6", "Tengelykapcsolók sérülésmentessége, kopásaik", None, "SZV", "SZV, T"),
    ("4.6.1.7", "Hajtóművek sérülésmentessége, rögzítettsége, olajfolyásai, kenőanyag-ellátottsága, zaja, melegedése, rezgése", "SZV", "SZV", "SZV, T"),
    ("4.6.1.8", "Hajlékony vonóelem sérülésének, korróziójának és kopásának mértéke, szakadás- vagy repedésmentessége", "SZV", None, "SZV, ME"),
    ("4.6.1.9", "Hajlékony vonóelemek végeinek állapota", "SZV", "SZV", "SZV"),
    ("4.6.1.10", "Hajlékony vonóelem terelőinek perem- és horonykopása, védőburkolatok sérülésmentessége", "SZV", "SZV", "SZV"),
    ("4.6.1.11", "Horog, teherfelvevő eszköz működőképessége, sérülésmentessége, korróziójának, alakváltozásának mértéke, kopása, beépítésének megfelelősége", "SZV", None, "SZV, ME"),
    ("4.6.1.12", "Horogszerkezet rögzítő elemeinek leütés elleni védelme", "SZV", "SZV", "SZV"),
    ("4.6.1.13", "Horogkiakadás-gátló megléte, sérülésmentessége, működőképessége", "SZV", "SZV", "SZV"),
    ("4.6.1.14", "Az oldható kötések biztosítása, a kapcsolatok feszessége, épsége", "SZV", "SZV", "SZV"),
    ("4.6.1.15", "A kerékperem és a sín széle közötti hézag", None, "SZV, ME", "SZV, ME"),
    ("4.6.1.16", "Fékek sérülése, laza csavar, kopás, megfelelő működés, légrés és kopótárcsa vastagságának mérése (hirtelen fékezés süllyesztéskor), fékút", "SZV", "SZV, ME", "SZV, ME"),
    ("4.6.1.17", "Központi zsírzóberendezés működőképessége", None, "SZV", "SZV, ÜJ"),
    ("4.6.1.18", "Darut rögzítő szerkezet (pl. sínfogó) működőképessége", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ, ME"),
    ("4.6.1.19", "A horog alsó véghelyzetében a hajlékony vonóelem tartalékmenetének megfelelősége a tárolóegységen", None, "SZV", "SZV"),
    ("4.6.1.20", "Hajlékony vonóelem megvezetésének (pl. láncbevezető, kötélsoroló stb.) működőképessége, kopása, sérülése, rögzítettsége", None, "SZV", "SZV"),
    ("4.6.1.21", "Horog repedésmentessége, sérülése, korrózió hatása, alakváltozás mértéke, kopása, beépítés megfelelősége, kiakadásgátló sérülésmentessége, működőképessége, teherbírás-jelölés megléte, horogtengely vízszintessége, színjelölése", None, "SZV", "SZV, MM"),
    ("4.6.1.22", "Megcsúszó tengelykapcsoló megfelelő beállítottsága, sérülése", None, None, "SZV, MM"),
    ("4.6.1.23", "Koronghornyok kopása, peremeinek, védőburkolatainak épsége, sérülésmentessége", None, "SZV", "SZV, ME"),
    ("4.6.2.1 a)", "Sérülésmentessége, zárhatósága, rögzítettsége, az előírt IP-védelem és a tömszelencék megléte", "SZV", "SZV", "SZV"),
    ("4.6.2.1 b)", "Kábelezés sérülésmentessége, jelölése, rögzítettsége", "SZV", "SZV", "SZV"),
    ("4.6.2.1 c)", "Villamos berendezések (pl. vezérlők, biztosítékok, relék, ellenállások stb.) működőképessége, sérülése, rögzítettsége, melegedése", None, "SZV", "SZV"),
    ("4.6.2.1 d)", "Hűtés és/vagy fűtés megfelelő működése, szellőztető pormentessége", "SZV", "SZV", "SZV"),
    ("4.6.2.1 e)", "Feliratok, jelölések megléte", None, "SZV", "SZV"),
    ("4.6.2.2", "A vezetékezés állapota és azonosítása", None, None, "SZV"),
    ("4.6.2.3", "A villamos biztonsági szerelvények állapota", None, "SZV", "SZV"),
    ("4.6.2.4", "A kapcsolók, érintkezők, ellenállások, biztosítók állapota", None, "SZV", "SZV"),
    ("4.6.2.5", "Akkumulátor(ok) elhelyezése, burkolata, rögzítettsége, állapota, tisztasága, tömítettsége, a töltöttségének mérése, a töltöttségi állapotkijelző működőképessége", "SZV", None, "SZV"),
    ("4.6.2.6", "Állapotjelző villamos műszerek állapota", "SZV", "SZV", "SZV"),
    ("4.6.2.7 a)", "Főkapcsolószekrény vizsgálata", None, "SZV", "SZV"),
    ("4.6.2.7 b)", "Merevsínes áramellátás", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.2.7 c)", "Úszókábeles áramellátás", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.2.7 d)", "Kábeldobos áramellátás", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.2.7 e)", "Energialánc", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.2.7 f)", "Kábelvezetés", None, "SZV", "SZV"),
    ("4.6.2.8", "Áramellátást biztosító szerkezet (pl. vonszolókar, áramszedő kosár, konzol stb.) sérülése, rögzítettsége", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.2.9", "Villamos szekrény tartószerkezetének sérülése, rögzítettsége", None, "SZV, T", "SZV, T"),
    ("4.6.3.1 a)", "Munkaközeg-szintjelzés és -nyomásjelzés megfelelősége üzemben és üzemen kívül", "SZV", None, "SZV"),
    ("4.6.3.1 b)", "A munkaközeg hőmérséklet-kijelzőjének állapota", "SZV", "SZV", None),
    ("4.6.3.1 c)", "A munkaközeg túlmelegedés elleni védelme", None, "SZV", "SZV"),
    ("4.6.3.1 d)", "A hidraulikus rendszert a túlnyomás ellen védő berendezés működőképessége", None, "SZV", "SZV"),
    ("4.6.3.2", "Hiba (pl. csőtörés) esetén a nem vezérelt mozgások ellen védő elemek, szelepek elhelyezése, valamint az alapvető fontosságú (pl. munkahenger és tehertartó szelep közötti) csővezetékszakaszok állapota, tömítettsége", None, None, "SZV"),
    ("4.6.3.3", "A mozgásokat lassító, rögzítőfékezési és sebességszabályozó (fék)rendszerek hatásossága, egyenletessége", "SZV", "SZV, T, ÜJ", "SZV, T, ÜJ"),
    ("4.6.3.4", "Az azonos funkciókra ható több párhuzamos munkavégző egység szinkron működése", "SZV", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.3.5", "A nyomás beállítására (szabályozására) való helyek védettsége az illetéktelenek beavatkozásától, a gyakori szabályzást igénylő helyek megközelíthetősége", None, "SZV", "SZV"),
    ("4.6.3.6", "A nyomásjelző akusztikai/optikai rendszer működőképessége", None, "ÜJ", "ÜJ"),
    ("4.6.3.7", "Motorok, szivattyúk működése", "ÜJ", "ÜJ", "ÜJ"),
    ("4.6.3.8 a)", "A hajtásrendszerek rángatásmentes működése", "ÜJ", "ÜJ", "ÜJ"),
    ("4.6.3.8 b)", "Aszimmetrikus terheléskor a szinkron működés megfelelősége", None, "ÜT", "ÜT"),
    ("4.6.3.8 c)", "Több sebességi fokozatú hajtás esetén az átkapcsolás egyenletessége", None, "ÜT", "ÜT"),
    ("4.6.3.9 a)", "Kompresszor és szerelvényeinek állapota", None, "ÜJ", "ÜJ"),
    ("4.6.3.9 b)", "A légbeszívó szűrők tisztasága", "SZV", "SZV", "SZV"),
    ("4.6.3.9 c)", "Légtartályok és szerelvényeik állapota", None, "ÜJ", "ÜJ"),
    ("4.6.3.9 d)", "A fagymentesítő rendszer működőképessége", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.3.9 e)", "A biztonsági szempontból másodlagos funkciókat leválasztó rendszerek működése, védőszelepek működése", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.3.9 f)", "Többkörös rendszer egyik körének sérülése esetén a többi kört leválasztó szelepek, és az épen maradt körök működése a biztosított (csökkentett) energiaszinten", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.3.10", "Akaratlan elmozdulás elleni védelem", "SZV", "SZV", "SZV"),
    ("4.6.3.11", "A hidraulikus akkumulátor állapota és leválasztásának feltételei", None, "SZV", "SZV"),
    ("4.6.3.12 a)", "A lassító fékezést biztosító rendszer hatásossága, egyenletessége", None, "ÜJ", "ÜT"),
    ("4.6.3.12 b)", "Energiakimaradás esetén működő fékek túlzott igénybevételi csúcsokat okozó működés elleni védelme", None, "ÜJ", "ÜT"),
    ("4.6.3.12 c)", "A vízszintes rögzítést és az üzemi fékezést biztosító rendszerek együttes működésének túlzott dinamikus csúcsok elleni védelmi rendszere", None, "ÜJ", "ÜJ"),
    ("4.6.3.12 d)", "A rögzítő fékberendezés működési feltétele", None, "ÜJ", "ÜJ"),
    ("4.6.3.12 e)", "A több hajtóműről hajtott darumozgások üzemzavar elleni védelme", None, "ÜJ", "ÜT"),
    ("4.6.3.12 f)", "A nem kielégítő rendszernyomás esetén egyes funkciók blokkolása", None, "ÜJ", "ÜT"),
    ("4.6.3.12 g)", "A nyomásjelző, kisnyomásjelző, akusztikai/optikai jelzőrendszer működőképessége", None, "ÜJ", "ÜT"),
    ("4.6.3.13", "Másodlagos (szükség- vagy vész-) üzemmód (ha van) használati utasítás szerinti működése", None, "ÜJ", "ÜT"),
    ("4.6.4", "Belső égésű motorok állapota", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.5", "A hidraulikus és pneumatikus vezetékek állapota", None, "SZV", "SZV"),
    ("4.6.6", "Hajtásvezérlő berendezések", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.7", "Energiaellátás állapota", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.6.8", "Egyéb szerkezetek, részegységek", None, "Vonatkozó előírás szerint", "Vonatkozó előírás szerint"),
    ("4.6.9", "Az emelőgép tisztasága", "SZV", None, "SZV"),
    ("4.7.1", "Teherbírás, mozgási sebességek, kiszolgált technológiának való megfelelőség stb.", None, "SZV", "SZV"),
    ("4.8.1", "Fék állapota (pl. fékhézag mérése stb.)", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ, ÜT, ME"),
    ("4.8.2", "Energiakimaradás esetén tehertartás, stabilitás", None, "SZV", "SZV, ÜJ, ÜT, ME"),
    ("4.8.3", "Vészleállító", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.3.1", "A bakdaruk esetén lábankénti vészleállító előírás szerinti működése", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.4", "Mozgáshatároló ütköző/szerkezet", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.4.1", "Rugalmas ütközők sérülése, rögzítettsége", "SZV", "SZV", "SZV"),
    ("4.8.5", "Határolóeszközök (pl. végálláskapcsoló stb.) épsége", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.6", "Túlterhelés elleni védelem", None, None, "SZV, ÜJ, TT"),
    ("4.8.7", "Mozgásjelző", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.8", "Érintésvédelem", None, "SZV", "SZV"),
    ("4.8.9", "Veszélyes térhez való hozzáférés elleni védelem", "SZV", "SZV", "SZV"),
    ("4.8.10", "Világító- és jelzőberendezés", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.11", "Stabilizáló-, rögzítő- és támaszrendszer", "SZV", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.12", "Elektronikus felügyelet (pl. állapotfigyelő egység stb.)", None, None, "SZV"),
    ("4.8.13", "Terhelhetőség jelzése", "SZV", "SZV", "SZV"),
    ("4.8.14", "Emelőgép rögzítése (pl. viharcsap stb.)", "SZV", "SZV", "SZV, ÜJ"),
    ("4.8.15", "Burkolatok megléte", "SZV", "SZV, T", "SZV, T"),
    ("4.8.16", "Ajtó- (csapóajtó-) reteszelések állapota", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.17", "Végálláskapcsolók működése, tartószerkezetük épsége, rögzítettsége", "ÜJ", "ÜJ", "ÜJ"),
    ("4.8.18", "Szélsebességmérő megléte, működőképessége", None, "SZV", "SZV"),
    ("4.8.19", "Kritikus alkatrészek fokozott ellenőrzése", None, None, "Utasítás szerint"),
    ("4.8.20", "Hátralévő biztonságos üzemeltetési időszak meghatározása (SWP/DWP esetén)", None, None, "Utasítás szerint"),
    ("4.8.21", "Használati körülményekben bekövetkező változás hatása", None, None, "SZV"),
    ("4.8.22", "Síntisztító épsége, működőképessége", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.8.23", "Leugrás elleni védelem épsége, működőképessége", None, "SZV", "SZV"),
    ("4.9.1", "Szerkezeti egységek állapota", None, "SZV, T", "SZV, T"),
    ("4.9.2", "Biztonságos szerelés feltétele", None, "SZV", "SZV"),
    ("4.10.1", "Folyadékszintek (pl. hajtóműolaj stb.)", "SZV", None, "SZV"),
    ("4.10.2", "Kenőanyag-ellátottság (pl. csapágy stb.)", None, "SZV", "SZV"),
    ("4.10.3", "Olajszivárgás, -folyás", "SZV", "SZV", "SZV"),
    ("4.10.4", "Korrózió elleni bevonatok", None, None, "SZV, ME"),
    ("4.10.5", "A beépített hajlékony vonóelem kenőanyaggal való ellátottsága", None, "SZV", "SZV"),
    ("4.11.1", "Biztonságos karbantartás feltétele", None, None, "SZV"),
    ("4.11.2", "Munka megfelelősége", None, None, "SZV"),
    ("4.11.3", "Anyagok, alkatrészek megfelelősége", None, None, "SZV"),
    ("4.12.1", "Adattábla, teherbírás, munkavédelmi szín- és alakjelek", "SZV", "SZV", "SZV"),
    ("4.12.2", "Vezérlőelemek jelölése", None, "SZV", "SZV"),
    ("4.12.3", "Emelőgép munkakörnyezetbeni egyedi azonosítója", None, "SZV", "SZV"),
    ("4.12.4", "Teherbírás, terhelhetőség jelölése, terhelési diagramok", "SZV", None, "SZV"),
    ("4.12.5", "A tartószerkezeten (hídon) rádió-távvezérléskor a vezérlés irányjelzésének megléte", "SZV", "SZV", "SZV"),
    ("4.13.1", "Kezelőt védő szerkezetek", "SZV", "SZV", "SZV"),
    ("4.13.2", "Ergonómiai követelmények", None, None, "SZV, ÜJ"),
    ("4.13.3", "Megközelíthetőség", None, "SZV", "SZV"),
    ("4.13.4", "Kezelőt visszatartó szerkezet megléte és állapota", None, "SZV", "SZV, T"),
    ("4.13.5", "Mentési feltételek", None, "SZV", "SZV"),
    ("4.13.6", "Tűzoltó készülék", "SZV", "SZV", "SZV"),
    ("4.13.7", "Kezelőülés épsége, rögzítettsége, beállíthatósága", "SZV", "SZV", "SZV"),
    ("4.13.8", "A kezelőfülkéhez vagy -helyekhez tartozó burkolatok, ajtók és nyílások megfelelősége, elemeik rögzítettsége", "SZV", "SZV", "SZV"),
    ("4.13.9", "A kezelőhelyről való kilátás és feltételei", None, "SZV", None),
    ("4.14.1", "Indító-, leállítórendszer", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.14.2", "Energialeválasztó", None, "SZV", "SZV, ÜJ"),
    ("4.14.3", "Akaratlan indítás elleni védelem", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.14.4", "Vezérlőelem visszatérése", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.14.5", "Illetéktelen használat elleni védelem", "SZV", "SZV, T", "SZV, T"),
    ("4.14.6", "Több vezérlőhely biztonsága", None, "SZV", "SZV"),
    ("4.14.7", "Távvezérlő biztonságos működőképessége", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.14.8", "Tartalékvezérlés működőképessége", None, "SZV, ÜJ", "SZV, ÜJ"),
    ("4.14.9", "Nyomógombok, kapcsolók állapota, jelölések megléte", "SZV, ÜJ", None, "SZV, ÜJ"),
    ("4.14.10", "Kijelzők működőképessége, színjelölések", "ÜJ", "ÜJ", "ÜJ"),
    ("4.14.11", "Távvezérlők azonosítása, CE-jelölés megléte", "SZV", "SZV", "SZV"),
    ("4.15", "Automata üzemű emelőgép munkaterületének védelme személyek belépésétől (pl. automata daru, felrakógép vagy targonca)", None, "SZV", "SZV"),
    ("4.16", "Hang- és fényjelzők (pl. hangerő, szín)", "SZV, ÜJ", "SZV, ÜJ", "SZV, ÜJ"),
    ("4.17", "Használati körülmények, vizsgálati csoportszám változása", None, "SZV", "SZV"),
    ("4.18", "Szabványváltozás hatása, veszélycsökkentés lehetősége korszerűsítéssel", None, None, "SZV"),
    ("4.19", "Korábban feltárt hibák elhárítása", None, None, "SZV"),
    ("4.20", "Az emelőgép átalakítása miatt felszerelt berendezések vizsgálata és dokumentáltsága a 4.2.2. szakasz szerint", None, None, "SZV"),
]

# ---------------------------------------------------------------------------
# Napi (műszakonkénti) ellenőrzés kérdés-szövegek, "pont" szerint kulcsolva - manuálisan
# megfogalmazva, a MEGLÉVŐ MSZ 9721-4 targonca napi-sablon stílusát követve ("Rendben van/
# vannak/működik X? (kód)"), úgy, hogy a "Nem" válasz mindig a hiba-állapotot jelenti.
# kovetkezmeny: "LETILTAS" (biztonságkritikus, azonnal blokkoló) vagy "FIGYELMEZTETES".
# ---------------------------------------------------------------------------
NAPI_SZOVEGEK = {
    "4.2.3": ("Rendben van vezetve az emelőgépnapló, nincs elmaradt karbantartás? (javasolt ellenőrzés: SZV)", "FIGYELMEZTETES"),
    "4.4.2": ("Rendben van a tehertartó egységek állapota, nincs látható deformáció? (SZV)", "LETILTAS"),
    "4.4.6": ("Nincs rögzítetlen vagy felesleges tárgy az emelőgépen? (SZV)", "FIGYELMEZTETES"),
    "4.6.1.3": ("Rendben vannak a csapágyak, nincs szokatlan zaj? (SZV)", "FIGYELMEZTETES"),
    "4.6.1.4": ("Rendben vannak a nyitott fogaskerekek, megfelelően kenettek? (SZV)", "FIGYELMEZTETES"),
    "4.6.1.5": ("Rendben vannak a hajtómotorok, nincs túlzott zaj, melegedés vagy rezgés? (SZV)", "FIGYELMEZTETES"),
    "4.6.1.7": ("Rendben vannak a hajtóművek, nincs olajfolyás, elegendő a kenőanyag? (SZV)", "FIGYELMEZTETES"),
    "4.6.1.8": ("Rendben van a hajlékony vonóelem (kötél/lánc/heveder), nincs sérülés, korrózió vagy túlzott kopás? (SZV)", "LETILTAS"),
    "4.6.1.9": ("Rendben van a hajlékony vonóelem végeinek rögzítése? (SZV)", "LETILTAS"),
    "4.6.1.10": ("Rendben vannak a vonóelem-terelők, nincs túlzott peremkopás, a védőburkolat ép? (SZV)", "FIGYELMEZTETES"),
    "4.6.1.11": ("Rendben működik a horog/teherfelvevő eszköz, nincs sérülés vagy alakváltozás? (SZV)", "LETILTAS"),
    "4.6.1.12": ("Rendben van a horogszerkezet rögzítőelemeinek védelme? (SZV)", "FIGYELMEZTETES"),
    "4.6.1.13": ("Rendben van a horogkiakadás-gátló, megvan és működik? (SZV)", "LETILTAS"),
    "4.6.1.14": ("Rendben vannak biztosítva az oldható kötések, nincs meglazult csatlakozás? (SZV)", "FIGYELMEZTETES"),
    "4.6.1.18": ("Rendben működik a darut rögzítő szerkezet (pl. sínfogó)? (SZV, ÜJ)", "LETILTAS"),
    "4.6.2.1 a)": ("Rendben van a villamos szekrény, nincs sérülés, jól zár? (SZV)", "FIGYELMEZTETES"),
    "4.6.2.1 b)": ("Rendben van a kábelezés, nincs sérülés, jól rögzített? (SZV)", "FIGYELMEZTETES"),
    "4.6.2.1 d)": ("Rendben működik a hűtés/fűtés, a szellőzés nem poros? (SZV)", "FIGYELMEZTETES"),
    "4.6.2.5": ("Rendben van az akkumulátor elhelyezése, rögzítettsége, tisztasága? (SZV)", "FIGYELMEZTETES"),
    "4.6.2.6": ("Rendben működnek az állapotjelző villamos műszerek? (SZV)", "FIGYELMEZTETES"),
    "4.6.3.1 a)": ("Rendben van a munkaközeg (hidraulika) szint- és nyomásjelzése? (SZV)", "FIGYELMEZTETES"),
    "4.6.3.1 b)": ("Rendben működik a munkaközeg hőmérséklet-kijelzője? (SZV)", "FIGYELMEZTETES"),
    "4.6.3.3": ("Rendben hatásosak a mozgást lassító, rögzítőfékezési rendszerek? (SZV)", "LETILTAS"),
    "4.6.3.4": ("Rendben van a párhuzamos munkavégző egységek szinkron működése? (SZV)", "FIGYELMEZTETES"),
    "4.6.3.7": ("Rendben működnek a motorok, szivattyúk? (ÜJ)", "FIGYELMEZTETES"),
    "4.6.3.8 a)": ("Rendben, rángatásmentesen működnek a hajtásrendszerek? (ÜJ)", "FIGYELMEZTETES"),
    "4.6.3.9 b)": ("Rendben vannak a légbeszívó szűrők, tiszták? (SZV)", "FIGYELMEZTETES"),
    "4.6.3.10": ("Rendben véd a hidraulikus/pneumatikus rendszer az akaratlan elmozdulás ellen? (SZV)", "LETILTAS"),
    "4.6.4": ("Rendben van a belső égésű motor, nincs szivárgás, a kipufogó ép? (SZV, ÜJ)", "FIGYELMEZTETES"),
    "4.6.9": ("Rendben van az emelőgép tisztasága? (SZV)", "FIGYELMEZTETES"),
    "4.8.1": ("Rendben működik az üzemi és a rögzítőfék? (SZV, ÜJ)", "LETILTAS"),
    "4.8.3": ("Rendben működik a vészleállító? (SZV, ÜJ)", "LETILTAS"),
    "4.8.3.1": ("Bakdaruknál rendben működik a lábankénti vészleállító? (SZV, ÜJ) - ha nem bakdaru, válaszd az IGEN-t", "LETILTAS"),
    "4.8.4": ("Rendben van a mozgáshatároló ütköző/szerkezet? (SZV, ÜJ)", "LETILTAS"),
    "4.8.4.1": ("Rendben vannak a rugalmas ütközők, nincs sérülés, jól rögzítettek? (SZV)", "FIGYELMEZTETES"),
    "4.8.5": ("Rendben épek a határolóeszközök (pl. végálláskapcsoló)? (SZV, ÜJ)", "LETILTAS"),
    "4.8.7": ("Rendben működik a mozgásjelző? (SZV, ÜJ)", "FIGYELMEZTETES"),
    "4.8.9": ("Rendben véd a berendezés a veszélyes térhez való hozzáférés ellen? (SZV)", "LETILTAS"),
    "4.8.10": ("Rendben működik a világító- és jelzőberendezés? (SZV, ÜJ)", "FIGYELMEZTETES"),
    "4.8.11": ("Rendben van a stabilizáló-, rögzítő- és támaszrendszer? (SZV)", "LETILTAS"),
    "4.8.13": ("Rendben jelzi a berendezés a terhelhetőséget? (SZV)", "FIGYELMEZTETES"),
    "4.8.14": ("Rendben rögzíthető az emelőgép üzemen kívüli helyzetben (pl. viharcsap)? (SZV)", "FIGYELMEZTETES"),
    "4.8.15": ("Rendben megvannak a burkolatok? (SZV)", "FIGYELMEZTETES"),
    "4.10.1": ("Rendben vannak a folyadékszintek (pl. hajtóműolaj)? (SZV)", "FIGYELMEZTETES"),
    "4.10.3": ("Nincs olajszivárgás, -folyás? (SZV)", "FIGYELMEZTETES"),
    "4.12.1": ("Rendben, olvashatóan meg van az adattábla, a munkavédelmi szín- és alakjelek? (SZV)", "FIGYELMEZTETES"),
    "4.12.4": ("Rendben, olvashatóan jelölve van a teherbírás/terhelhetőség, megvannak a terhelési diagramok? (SZV)", "FIGYELMEZTETES"),
    "4.12.5": ("Rádió-távvezérléskor rendben megvan a vezérlés irányjelzése a tartószerkezeten (hídon)? (SZV) - ha nincs rádió-távvezérlés, válaszd az IGEN-t", "FIGYELMEZTETES"),
    "4.13.1": ("Rendben vannak a kezelőt védő szerkezetek? (SZV)", "LETILTAS"),
    "4.13.6": ("Megvan és rendben van a tűzoltó készülék? (SZV)", "FIGYELMEZTETES"),
    "4.13.7": ("Rendben van a kezelőülés, ép, rögzített, beállítható? (SZV)", "FIGYELMEZTETES"),
    "4.13.8": ("Rendben vannak a kezelőfülke burkolatai, ajtói, nyílásai? (SZV)", "FIGYELMEZTETES"),
    "4.14.4": ("Rendben visszatérnek alaphelyzetbe a vezérlőelemek elengedéskor? (SZV, ÜJ)", "LETILTAS"),
    "4.14.5": ("Rendben véd a berendezés az illetéktelen használat ellen? (SZV)", "FIGYELMEZTETES"),
    "4.14.9": ("Rendben vannak a nyomógombok, kapcsolók, jelölések? (SZV, ÜJ)", "FIGYELMEZTETES"),
    "4.14.10": ("Rendben működnek a kijelzők, jók a színjelölések? (ÜJ)", "FIGYELMEZTETES"),
    "4.14.11": ("Rendben azonosíthatók a távvezérlők, megvan a CE-jelölés? (SZV) - ha nincs távvezérlő, válaszd az IGEN-t", "FIGYELMEZTETES"),
    "4.16": ("Rendben működnek a hang- és fényjelzők? (SZV, ÜJ)", "FIGYELMEZTETES"),
    "4.8.17": ("Rendben működnek a végálláskapcsolók, ép és jól rögzített a tartószerkezetük? (ÜJ)", "LETILTAS"),
    "4.4.9.2": ("Rendben van a darupálya állapota, rögzítettsége, nincs repedés? (SZV) - ha nincs darupálya-/daruhídjárda, válaszd az IGEN-t", "FIGYELMEZTETES"),
    "4.6.1.16": ("Rendben vannak a fékek, nincs sérülés, laza csavar vagy túlzott kopás? (SZV)", "LETILTAS"),
}


def build_jegyzokonyv_sablon(rows, oszlop_idx):
    """oszlop_idx: 3 = Szerkezeti oszlop, 4 = Fő oszlop (a rows tuple-ök 0-indexeltek: pont,targy,muszak,szerk,fo)."""
    kerdesek = []
    for pont, targy, muszak, szerk, fo in rows:
        ertek = (szerk if oszlop_idx == 3 else fo)
        if ertek is None:
            continue
        kerdesek.append({"pont": pont, "targy": targy, "mod": ertek})
    return kerdesek


def build_ibf_sablon(fo_kerdesek):
    """Időszakos biztonsági felülvizsgálat = a Fővizsgálat teljes listája + az EBSZ 7.2.2-7.2.5
    kiegészítő tételek (l. IBF_EXTRA_ROWS) - a Fővizsgálat magában foglalja a Szerkezeti
    vizsgálatot is (MSZ 9721-1 3.1. szakasz: "Az időszakos biztonsági felülvizsgálat
    tartalmazza a fővizsgálatot."), ezért nem a Szerkezeti listából, hanem a Fővizsgálatéból
    indulunk ki."""
    kerdesek = list(fo_kerdesek)
    for pont, targy, mod in IBF_EXTRA_ROWS:
        kerdesek.append({"pont": pont, "targy": targy, "mod": mod})
    return kerdesek


def build_napi_sablon(rows):
    kerdesek = []
    hianyzik = []
    for pont, targy, muszak, szerk, fo in rows:
        if muszak is None:
            continue
        if pont not in NAPI_SZOVEGEK:
            hianyzik.append((pont, targy))
            continue
        szoveg, kovetkezmeny = NAPI_SZOVEGEK[pont]
        # Duplikátum-védelem: két azonos "pont" (pl. targy-eltérő allistás sorok) esetén
        # ne kerüljön kétszer ugyanaz a kérdés a napi listába.
        if any(k["szoveg"] == szoveg for k in kerdesek):
            continue
        kerdesek.append({"szoveg": szoveg, "kovetkezmeny": kovetkezmeny})
    if hianyzik:
        print("FIGYELEM - napi kérdés-szöveg nélkül maradt (kihagyva):", hianyzik)
    return kerdesek


def upsert_sablon(db, kategoria, nev, vizsgalat_tipus, geptipus_lista, kerdesek, company_id=1):
    ertek = {"nev": nev, "geptipus_lista": geptipus_lista or "", "kerdesek": kerdesek}
    if vizsgalat_tipus:
        ertek["vizsgalat_tipus"] = vizsgalat_tipus
    d = models.Dictionary(company_id=company_id, kategoria=kategoria, ertek=json.dumps(ertek, ensure_ascii=False))
    db.add(d)
    db.flush()
    print(f"Létrehozva: [{kategoria}] {nev} - {len(kerdesek)} tétel (id={d.id})")


def main(company_id=1, db=None):
    """Az MSZ 9721-1 (Általános) és MSZ 9721-2 (Híd- és bakdaru) sablonok feltöltése a megadott cégnek (alap: 1-es cég).
    db: kapott munkamenet (a hívó commitol; csak flush) - None esetén saját munkamenet (commit + lezárás).
    v81 előtt a törlés (1. és 1b. lépés) MINDEN cég azonos nevű sorait törölte, de csak az 1-es cégnek írt; mostantól mindkettő a megadott cégre szűkül."""
    sajat_session = db is None
    if sajat_session:
        db = SessionLocal()

    def upsert(*args):
        return upsert_sablon(db, *args, company_id=company_id)

    # 1) Hibás, félbehagyott bejegyzés törlése
    torolheto = db.query(models.Dictionary).filter(
        models.Dictionary.company_id == company_id,
        models.Dictionary.kategoria == "JegyzokonyvSablon",
        models.Dictionary.ertek.like('%"3. MSZ 9721-2 Daru %')
    ).all()
    for t in torolheto:
        print(f"Törlés: id={t.id}, company_id={t.company_id}")
        db.delete(t)

    # 1b) Ez a szkript idempotens - újrafuttatáskor a SAJÁT korábbi sorait (név-előtag alapján)
    # törli, mielőtt újra létrehozná, nehogy duplikálódjanak. Más sablonokhoz (pl. a targonca
    # MSZ 9721-4-hez) NEM nyúl.
    for elotag in ("MSZ 9721-1 Általános", "MSZ 9721-2 Híd- és bakdaru"):
        sajat_regi = db.query(models.Dictionary).filter(
            models.Dictionary.company_id == company_id,
            models.Dictionary.kategoria.in_(["JegyzokonyvSablon", "NapiEllenorzesSablon"]),
            models.Dictionary.ertek.like(f'%"nev": "{elotag}%')
        ).all()
        for s in sajat_regi:
            print(f"Újrafuttatás - korábbi saját sor törlése: id={s.id}")
            db.delete(s)
    db.flush()

    # 2) MSZ 9721-1 Általános
    szerk_9721_1 = build_jegyzokonyv_sablon(ROWS_9721_1, 3)
    fo_9721_1 = build_jegyzokonyv_sablon(ROWS_9721_1, 4)
    ibf_9721_1 = build_ibf_sablon(fo_9721_1)
    napi_9721_1 = build_napi_sablon(ROWS_9721_1)

    upsert("JegyzokonyvSablon", "MSZ 9721-1 Általános - Szerkezeti vizsgálat", "Szerkezeti vizsgálat", None, szerk_9721_1)
    upsert("JegyzokonyvSablon", "MSZ 9721-1 Általános - Fővizsgálat", "Fővizsgálat", None, fo_9721_1)
    upsert("JegyzokonyvSablon", "MSZ 9721-1 Általános - Időszakos biztonsági felülvizsgálat", "Időszakos biztonsági felülvizsgálat", None, ibf_9721_1)
    upsert("NapiEllenorzesSablon", "MSZ 9721-1 Általános - Napi (műszakonkénti) ellenőrzés", None, None, napi_9721_1)

    # 3) MSZ 9721-2 Híd- és bakdaru
    szerk_9721_2 = build_jegyzokonyv_sablon(ROWS_9721_2, 3)
    fo_9721_2 = build_jegyzokonyv_sablon(ROWS_9721_2, 4)
    ibf_9721_2 = build_ibf_sablon(fo_9721_2)
    napi_9721_2 = build_napi_sablon(ROWS_9721_2)

    upsert("JegyzokonyvSablon", "MSZ 9721-2 Híd- és bakdaru - Szerkezeti vizsgálat", "Szerkezeti vizsgálat", HIDBAK_GEPTIPUS_LISTA, szerk_9721_2)
    upsert("JegyzokonyvSablon", "MSZ 9721-2 Híd- és bakdaru - Fővizsgálat", "Fővizsgálat", HIDBAK_GEPTIPUS_LISTA, fo_9721_2)
    upsert("JegyzokonyvSablon", "MSZ 9721-2 Híd- és bakdaru - Időszakos biztonsági felülvizsgálat", "Időszakos biztonsági felülvizsgálat", HIDBAK_GEPTIPUS_LISTA, ibf_9721_2)
    upsert("NapiEllenorzesSablon", "MSZ 9721-2 Híd- és bakdaru - Napi (műszakonkénti) ellenőrzés", None, HIDBAK_GEPTIPUS_LISTA, napi_9721_2)

    if sajat_session:
        db.commit()
    else:
        db.flush()
    print("\nKÉSZ - minden sablon elmentve.")
    if sajat_session:
        db.close()
    return True


if __name__ == "__main__":
    main()
