commit 9f5954ab6a07a2baa786faea3bd9daa76291ce15 Author: sebastian.zell Date: Fri Oct 10 13:31:30 2025 +0000 Beschreibung_Wohnungsmaske_XML hinzugefügt diff --git a/Beschreibung_Wohnungsmaske_XML b/Beschreibung_Wohnungsmaske_XML new file mode 100644 index 0000000..80e21e1 --- /dev/null +++ b/Beschreibung_Wohnungsmaske_XML @@ -0,0 +1,301 @@ +1) Grundlogik & Gate + +Gate-Bedingung (global für alle Stammdaten-/Raum- und Keller-Details): +Die meisten Detailblöcke erscheinen nur, wenn beide Bedingungen erfüllt sind: + +Mieter anwesend? = „ja“ + +Sollen Stammdaten erfasst werden? = „ja“ + +Kurzform (im Formular als relevant verwendet): + +(/data/kopf/mieter_anwesend = 'ja') AND (/data/kopf/aufgemessen = 'ja') + + +Wichtige Ausnahmen vom Gate: + +Foto Türklingel ist immer sichtbar (kein relevant), befindet sich direkt hinter „Wohnungs-/Einheits-Nr.“. + +Kopf-/Identifikationsfelder (z. B. Einheits-Nr., Mietername) sind unabhängig vom Gate sichtbar (je nach Form-Design). + +2) Kopfbereich (immer am Anfang) + +2.1 Mieter anwesend? + +Typ: select_one (Liste „ja/nein/unbekannt“) + +Zweck: Steuert Gate (siehe oben). + +2.2 Sollen Stammdaten erfasst werden? + +Typ: select_one (Liste „ja/nein/unbekannt“) + +Zweck: Steuert Gate (siehe oben). + +Wenn „nein“: alle nachfolgenden Stammdaten-/Raum-/Keller-Details werden ausgeblendet. + +3) Objekt-/Wohnungs-Identifikation + +3.1 Gebäude-/Objektbezug (sofern vorhanden) + +Auswahl/Referenz der Liegenschaft (Detail ist projektspezifisch). + +3.2 Wohnungs-/Einheits-Nr. (Pflichtfeld) + +Typ: text + +Dient als eindeutige Zuordnung der Einheit. + +3.3 Mietername (Stammdaten Wohnungen) + +Typ: text + +Reihenfolge: direkt vor Foto Türklingel. + +3.4 Foto Türklingel – immer sichtbar + +Typ: image (binary), kein relevant + +Position: unmittelbar hinter „Wohnungs-/Einheits-Nr.“ (bzw. direkt hinter „Mietername“, wenn in deinem Build so angeordnet – aktuell laut letzter Anpassung: hinter Einheits-Nr.). + +Nie ausblenden (auch wenn Gate nicht erfüllt ist). + +Test-Hinweis: Wenn dieses Foto verschwindet, stimmt die Position (Eltern-Gruppe) oder das Bind (relevant) nicht. In der finalen Version wurde beides so gesetzt, dass es immer sichtbar bleibt. + +4) Erfassende Person (optional, falls im Formular enthalten) + +4.1 Erfasser:in – Auswahl + +Typ: select_one aus Liste „erfasser“. + +Variante: Freitextoption am Ende („Freitextfeld“). + +Wenn „Freitextfeld“ gewählt ⇒ Nächstes Feld: text für manuellen Namen. + +5) Lage & Bilder (falls im Formular enthalten) + +5.1 Lage der Wohnung – Stockwerk + +Typ: select_one stockwerk + +Reihenfolge: vor „Lage im Grundriss“. + +5.2 Lage der Wohnung – Lage im Grundriss + +Typ: select_one lage_grund + +5.3 Weitere Fotos (optional, z. B. Klingelschild separat o. ä.) + +6) Räume – Auswahl (Checkliste) + +6.1 Räume (Checkliste) + +Typ: select_multiple aus folgenden Einträgen: + +Wohnzimmer, Schlafzimmer, Kinderzimmer + +Küche, Bad, Flur, Abstellraum, WC (separat), Kammer + +Waschküche, Hauswirtschaftsraum, Technikraum, Speisekammer, Heizungsraum + +Durchgangszimmer, Esszimmer, Arbeitszimmer + +Zimmer 1–9 (Platzhalter für frei benennbare Räume) + +Wichtig: + +Keine verschachtelten Gruppen – alle Raumgruppen sind parallel angelegt. + +Jede Raumgruppe wird nur angezeigt, wenn: + +Gate erfüllt ist und + +der entsprechende Raum in der Checkliste ausgewählt ist. + +Beispiel relevant eines Raums: + +(/data/kopf/mieter_anwesend='ja') AND +(/data/kopf/aufgemessen='ja') AND +selected(/data/raeume_check, 'wohnzimmer') + +7) Räume – Details (für jede aktivierte Raumgruppe) + +Für jede aktivierte Raumgruppe (Wohnzimmer, Schlafzimmer, Kinderzimmer, Küche, Bad, Flur, Abstellraum, WC (separat), Kammer, Waschküche, Hauswirtschaftsraum, Technikraum, Speisekammer, Heizungsraum, Durchgangszimmer, Esszimmer, Arbeitszimmer, Zimmer 1–9) werden dieselben Detail-Felder angezeigt (mit prefix je Raum, z. B. wohnzimmer_*, bad_* …): + +7.1 Bezeichnung + +Typ: text + +Freie Benennung/Ergänzung. + +7.2 Fenstertyp (ersetzt „Fenster vorhanden?“) + +Typ: select_one (aus Fenstertyp-Liste) + +Kein vorgeschaltetes „Fenster vorhanden?“ mehr – keine Ja/Nein/Unbekannt-Dopplung. + +Werte: + +Holfenster einfachverglast + +Holzfenster doppelt verglasst + +Doppelkastenfenster + +Kunststofffenster einfachverglast + +Kunststofffenster doppelt verglasst + +Alufenster einfachverglast + +Alufenster doppelt verglasst + +7.3 Fußbodenbelag + +Typ: select_multiple (oder select_one, je nach Liste; im aktuellen Build als Auswahl) + +Ergänzend: Fußbodenbelag (Details) – text (multiline) für Freitext. + +7.4 Wandbelag + +Typ: Auswahl + +Ergänzend: Wandbelag (Details) – text (multiline). + +7.5 Deckenbelag + +Typ: Auswahl + +Ergänzend: Deckenbelag (Details) – text (multiline). + +7.6 Anschlüsse/Heizung + +Typ: Auswahl (Liste „anschluesse“) + +7.7 Sonnenschutz + +Typ: Auswahl (Liste „sonnenschutz“) + +7.8 Bemerkungen + +Typ: text (multiline) + +7.9 Raumfoto + +Typ: image (binary, orx:max-pixels=1600) + +Bad/Sanitär: +„Bad“ wird nicht mehr abhängig von „Küche“ gesteuert. Es erscheint nur bei Auswahl „Bad“ in der Checkliste und Gate=ja. +Falls im Bad ein Sonderfall „kein Bad“ existiert: Ist „kein Bad“ gewählt, werden Bad-Details ausgeblendet (entsprechende relevant-Regel innerhalb der Bad-Gruppe). + +8) Keller (nach den Raumdetails) + +Position: Nach allen Raum-Detailgruppen (vor allgemeinen Abschlussfotos/Schluss). +Sichtbarkeitslogik (korrekt und identisch zu Merkmalsfeldern): + +8.1 Ist ein Keller vorhanden? + +Typ: select_one (ja/nein/unbekannt) + +relevant = Gate (also nur sichtbar, wenn Mieter anwesend = ja und Stammdaten erfassen = ja). + +8.2 Kellernummer + +Typ: text + +relevant = Gate AND („Ist ein Keller vorhanden?“ = ja) + +8.3 Foto Keller + +Typ: image (binary, orx:max-pixels=1600) + +relevant = Gate AND („Ist ein Keller vorhanden?“ = ja) + +Test-Hinweis: + +Setze „Mieter anwesend?“ = ja und „Stammdaten erfassen?“ = ja ⇒ die Frage „Ist ein Keller vorhanden?“ muss erscheinen. + +Wähle „ja“ ⇒ Kellernummer und Foto Keller müssen erscheinen. + +Wähle „nein“ ⇒ Kellernummer und Foto Keller verschwinden wieder. + +9) Zähler-Blöcke (Strom/Gas/Wasser …; falls im Formular vor den Räumen) + +Stromzähler vorhanden? (und ggf. Lage, Stand, Foto) + +Gaszähler vorhanden? (…) + +Wasserzähler vorhanden? (…) + +Regel: Diese Zähler-Merkmalsfelder nutzen dieselbe Gate-Formel wie Keller & Räume (Mieter anwesend = ja, Stammdaten erfassen = ja). +Einzelfelder innerhalb der Zählergruppen (z. B. Zählerstand, Zählerfoto) hängen zusätzlich von „Zähler vorhanden? = ja“ ab. + +10) Abschluss / Metadaten / Speicherung + +Meta/instanceID etc. + +Senden/Beenden wie gewohnt. + +(Falls Entities genutzt werden: Erstellung/Update gemäß deiner Server-Konfiguration; in Wohnungen nur Neuanlage, da „bearbeiten“ entfernt wurde.) + +Reihenfolge der Anzeige (Kurzüberblick) + +Mieter anwesend? + +Sollen Stammdaten erfasst werden? + +Wohnungs-/Einheits-Nr. + +Mietername + +Foto Türklingel (immer sichtbar, direkt hinter Einheits-Nr./Mietername gemäß deiner finalen Platzierung) + +(Optional: Lage/Stockwerk, weitere Kopf-Infos) + +Zähler-Blöcke (falls vor den Räumen platziert; Gate-gesteuert) + +Räume (Checkliste) + +Räume – Details (für alle ausgewählten Räume; Gate + selected()) + +Keller + +Ist ein Keller vorhanden? (Gate) + +Kellernummer & Foto Keller (Gate + Keller=ja) + +Abschluss/Submit + +Tests & Fehlersuche (Checkliste) + +Gate-Test: + +Setze Mieter anwesend = ja und Stammdaten erfassen = ja ⇒ Räume-Details & Keller erscheinen. + +Setze eine der beiden auf nein ⇒ Räume-Details & Keller verschwinden. + +Räume-Test: + +Wähle in der Checkliste z. B. Wohnzimmer und Bad ⇒ Es müssen genau diese beiden Gruppen erscheinen. + +Entferne den Haken bei Bad ⇒ Bad-Gruppe verschwindet sofort. + +Fenstertyp-Test: + +In jeder Raum-Detailgruppe gibt es nur die Auswahlbox „Fenstertyp“ (keine Ja/Nein-Dopplung). + +Liste entspricht exakt den 7 vorgegebenen Fenstertypen. + +Keller-Test: + +Gate erfüllt ⇒ „Ist ein Keller vorhanden?“ sichtbar. + +ja gewählt ⇒ Kellernummer & Foto Keller sichtbar. + +nein gewählt ⇒ beide unsichtbar. + +Foto Türklingel: + +Immer sichtbar, direkt nach Einheits-Nr. (bzw. deiner finalen Position). + +Verschwindet nie – selbst wenn Gate nicht erfüllt ist. \ No newline at end of file