Az ingatlan-adatlap mezőregisztere, a területszámítás és a közmű-párosítás
Az oszlopban és a JSON-ban tárolt adatlap-mezők, a típusfüggő láthatóság, a normalizálás, a helyiségtípus-szabályokra épülő területszámítás, a közmű-azonosítók és a költségszámla-párosítás.
A mezőregiszter SQL nélkül a Dlbtproperty könyvtárban él (TYPES, USES, COLUMNS, FIELDS, GROUPS, RETIRED, ROOM_TYPES, UTILITIES, DOC_ROLES, ENERGY_SCALE, COUNTS_AS, AREA_BUCKETS). A tárolás a tulajdonos modellé.
Mezők
- Oszlopban (kereshető):
area_net,area_gross,area_plot,rooms,half_rooms,build_year(1000–2200),floor_level(−5–200),building_floors; továbbáarea_terrace,area_garden,area_storage,wc_count,bathroom_count. - JSON-ban (
details): a csoportok (size,building,condition,comfort,parking,energy,energy_cert,plot,development,commercial) select, multi, bool és date mezői. - Típusok: flat, house, terraced, holiday, plot, development, condominium, office, retail, warehouse, garage, agricultural, hospitality, other; funkciók: residential, office, retail, hospitality, warehouse, workshop, medical, education.
- Láthatóság: a mező akkor látszik, ha bármelyik kiválasztott típushoz tartozik; típus nélkül minden. Szöveg legfeljebb 255 karakter.
- A visszavont hirdetési mezők (
RETIRED: available_from, min_rent_months, deposit_months, pets, smoking, common_cost_payer, utility_payer) nem jelennek meg sem a formon, sem az adatlapon, sem az exportban, de a korábbi értékük rejtett mezőben visszaíródik. - Régi parkolási értékek átfordítása:
garage_includedésgarage_optional→garage,none→ törlődik.
Normalizálás
normalize(): csak a kiválasztott típus(ok)hoz tartozó mezők maradnak, a tartományon kívüli számok NULL-ra esnek (hibaüzenet nélkül), a select és multi értékek fehérlistásak. normalizeRooms(): üres sor kimarad, ismeretlen típus other, negatív terület 0. normalizeMeters(): azonosító nélküli sor kimarad.
Területszámítás
computeAreas()a helyiségtípus-törzs szabályaival számol, ha van helyiség és van szabály; felülírja azarea_net,rooms,half_rooms,wc_count,bathroom_count,area_terrace,area_garden,area_storageoszlopot.- A küszöb nélküli típusok terület ×
area_factorösszege a lakótér; a küszöbös típusok gyűjtőjéből a lakótérthreshold_pct%-áigarea_factor, fölöttefactor_overarány számít. - Szoba (
counts_as = room): ahalf_room_maxalatt félszoba; WC és fürdő darabra. - Közös (
ownership = common) helyiség a lakás területébe és darabszámaiba nem számít, csak a közös összegbe; ismeretlen kódú helyiség „egyéb, 100 %”. - Helyiséglista nélkül a kézi érték marad. Élő számítás:
computeareasvégpont (editvagyadd), a form 250 ms késleltetéssel hívja; üres listánálempty.
Táblák
A táblanevek a telepítés saját előtagjával állnak az adatbázisban. property_room: property_id, level, room_type, name, area, windowless, sort_order, ownership (private, common). property_meter: property_id, utility, provider, identifier (index), payer (owner, tenant), note. A helyiségtípus-választó a törzs aktív típusait és a sorban már rögzített, közben inaktivált típust kínálja; migráció előtt a beépített 20 típust.
Költségszámla-párosítás
getByMatchValue(): előbb a match_value (aktív ingatlan), találat híján a property_meter.identifier; ilyenkor a mérő utility és payer adatát is visszaadja. A metódus hívóját a forrásvizsgálat nem találta; a felhasználási hely a kódból nem állapítható meg.