Skip to content

CDB3-6526 Додати поля у base.LandProps

Для можливості налаштування фільтрів для полів base.LandProps що передбачають наявність обтяжень/співвласників/інженерних мереж додати ознаку так/ні


Detailed Description

Додати для кожного з полів про наявність обтяжень/співвласників/інженерних мереж додаткове подле з типом boolean


AR (actual result):

  • encumbrances ["Наявність обтяжень:"] type=string
  • jointOwnership ["Наявність співвласників:"] type=string
  • utilitiesAvailability ["Наявність інженерних мереж:"] type=string

ER (expected result):

  • Додати поля hasEncumbrances/hasJointOwnership/hasUtilitiesAvailability
  • Для вказаних полів приймати значення true/false
  • Якщо передано true - обов'язково мають бути заповнені пов'язані поля encumbrances/jointOwnership/utilitiesAvailability
  • Виконати міграцію: для існуючих процедур якщо заповнені поля encumbrances/jointOwnership/utilitiesAvailability - вказати для hasEncumbrances/hasJointOwnership/hasUtilitiesAvailability значення так; якщо поля не заповнені - Не вказано. Значення "Не вказано" використовувати тільки при міграції

Other logic without changes:

  • мінімізація впливу на майданчики: можливість передавати тільки значення encumbrances/jointOwnership/utilitiesAvailability і автозаповнювати hasEncumbrances/hasJointOwnership/hasUtilitiesAvailability
  1. До базової моделі base.LandProps додати нові поля типу boolean:
  • hasEncumbrances
  • hasJointOwnership
  • hasUtilitiesAvailability

Дані поля НЕ обовʼязкові для заповнення при публікації процедури.

1.1. Якщо користувач при публікації Процедури вказав

  • hasEncumbrances == false і додатково передає заповнене поле encumbrances необхідно повернути валідаційну помилку "no encumbrances are indicated (hasEncumbrances = false)"
  • hasJointOwnership == false і додатково передає заповнене поле jointOwnership необхідно повернути валідаційну помилку "no jointOwnership are indicated (hasJointOwnership = false)"
  • hasUtilitiesAvailability == false і додатково передає заповнене поле utilitiesAvailability необхідно повернути валідаційну помилку "no utilitiesAvailability are indicated (hasUtilitiesAvailability = false)"

Бізнесово: якщо користувач при публікації Процедури вказує, що немає "Обтяжень" та/або немає "Співвласників" та/або немає "Інженерних мереж", то не даємо заповнити відповідні поля, що може вказувати, що такі параметри насправді є.

1.2. Якщо користувач при публікації Процедури вказав:

  • hasEncumbrances == true, то обовʼязково має бути заповнено існуюче поле encumbrances (воно має тип string). Необхідно повернути валідаційну помилку "при значенні true має бути заповнено поле encumbrances"
  • hasJointOwnership == true, то обовʼязково має бути заповнено існуюче поле jointOwnership (воно має тип string)
  • hasUtilitiesAvailability == true, то обовʼязково має бути заповнено існуюче поле utilitiesAvailability (воно має тип string)

1.3.1 Якщо користувач при публікації Процедури передав тільки заповнені існуючі encumbrances та/або jointOwnership та/або utilitiesAvailability і не передав їх відповідники: hasEncumbrances, hasJointOwnership, hasUtilitiesAvailability - необхідно повернути валідаційну помилку "no "true" value for hasEncumbrances/hasJointOwnership/hasUtilitiesAvailability" і не дозволити опублікувати Процедуру без цих полів.

1.3.2. Якщо користувач при публікації Процедури НЕ передав ні has* ні encumbrances/jointOwnership/utilitiesAvailability (або передав пусті значення) - при створенні обʼєкта Процедури необхідно автоматично заповнити відповідні поля hasEncumbrances/hasJointOwnership/hasUtilitiesAvailability значенням false.

На прикладі: При створенні процедури користувач передав:

  1. hasEncumbrances = true + заповнене поле encumbrances
  2. hasJointOwnership = false
  3. НЕ передав hasUtilitiesAvailability і не передав utilitiesAvailability, то має створитися Процедура з
    hasEncumbrances: true
    encumbrances: text
    hasJointOwnership: false
    hasUtilitiesAvailability: false

1.4.1. Необхідно внести зміни в існуючу логіку заповнення поля encumbrances:

  • для нових Процедур не дозволяти обирати значення "noEncumbrances" зі словника encumbrances
    Необхідно повертати валідаційну помилку "invalid value" для поля encumbrances

Бізнесово: якщо користувач хоче опублікувати Процедуру у якій "немає Обтяжень", то треба передавати hasEncumbrances == false і не передавати взагалі поле encumbrances

1.4.2. Логіка заповнення полів jointOwnership, utilitiesAvailability залишається без змін: в деяких процедурах це довільне поле, а в деяких це значення зі словника. Тут змін не вносимо: користувач може обрати будь-яке значення зі словника (якщо його передбачено) або заповнити довільним текстом. Зберігається умова із п.1.1. (якщо has* == false, то полів jointOwnership, utilitiesAvailability НЕ очікуємо. Їх немає бути)

1.5. Модель base.LandProps необхідно змінити для сервісів: registry, procedure
1.5.1. Зміни також в "наслідуваних" моделях. Наприклад, у bankRuptcy.LandProps 1.5.2. Для asset та largeAsset аналогічні зміни треба внести в модель asset.LandProps

  1. МІГРАЦІЯ:
    2.1. Міграція поля encumbrances
  • Якщо існуюче поле encumbrances НЕ заповнено в обʼєкті Процедури (відсутнє), то hasEncumbrances == false + encumbrances НЕ додаємо (його не було і не має зʼявитися)
  • Якщо існуюче поле encumbrances заповнено в обʼєкті значеннями:
    -- noEncumbrances
    -- "-"
    -- Відсутні
    -- Ні
    -- Немає
    -- Не зареєстровані
    (не враховувати регістр літер - може бути написано "відсутні", "ні" тощо)
    то, hasEncumbrances == false, поле encumbrances прибираємо із публічного API response. Краще дотриуватись однієї логіки: якщо hasEncumbrances == false, то encumbrances має бути відсутнім.
  • Якщо існуюче поле encumbrances заповнено будь-якими іншими значеннями, окрім перерахованих вище, то hasEncumbrances == true, поле encumbrances залишаємо у тому вигляді, яким воно є без змін.

2.2. Міграція поля jointOwnership

  • Якщо існуюче поле jointOwnership НЕ заповнено в обʼєкті Процедури (відсутнє), то hasEncumbrances == false + jointOwnership НЕ додаємо (його не було і не має зʼявитися)
  • Якщо існуюче поле jointOwnership заповнено в обʼєкті значеннями:
    -- Відсутні
    -- "-"
    -- Ні
    -- Немає
    -- Не зареєстровані
    -- Один власник
    -- Співвласників немає
    (не враховувати регістр літер - може бути написано "відсутні", "ні" тощо)
    то, hasJointOwnership == false, поле jointOwnership прибираємо із публічного API response. Краще дотриуватись однієї логіки: якщо hasJointOwnership == false, то jointOwnership має бути відсутнім.
  • Якщо існуюче поле jointOwnership заповнено будь-якими іншими значеннями, окрім перерахованих вище, то hasJointOwnership == true, поле jointOwnership залишаємо у тому вигляді, яким воно є без змін.

2.3. Міграція поля utilitiesAvailability

  • Якщо існуюче поле utilitiesAvailability НЕ заповнено в обʼєкті Процедури (відсутнє), то hasUtilitiesAvailability == false + utilitiesAvailability НЕ додаємо (його не було і не має зʼявитися)
  • Якщо існуюче поле utilitiesAvailability заповнено в обʼєкті значеннями:
    -- Відсутні
    -- "-"
    -- Інформація відсутня
    -- Не встановлено
    -- Відсутні комунікації
    -- Ні
    -- Немає
    -- Не зареєстровані
    (не враховувати регістр літер - може бути написано "відсутні", "ні" тощо)
    то, hasUtilitiesAvailability == false, поле utilitiesAvailability прибираємо із публічного API response. Краще дотриуватись однієї логіки: якщо hasUtilitiesAvailability == false, то utilitiesAvailability має бути відсутнім.
  • Якщо існуюче поле utilitiesAvailability заповнено будь-якими іншими значеннями, окрім перерахованих вище, то hasUtilitiesAvailability == true, поле utilitiesAvailability залишаємо у тому вигляді, яким воно є без змін.
  1. Необхідно змінити для існуючих і додати для нових параметрів
    LegalNames для параметрів:
"hasEncumbrances": {
     "uk_UA": "Присутні обтяження",
     "en_US": "Encumbrances are present"
},
"hasJointOwnership": {
     "uk_UA": "Наявні співвласники",
     "en_US": "Co-owners available"
},
"hasUtilitiesAvailability": {
     "uk_UA": "Інженерні мережі наявні",
     "en_US": "Utilities are available"
},
"encumbrances": {
     "uk_UA": "Інформація про наявні обтяження",
     "en_US": "Encumbrances information"
},
"jointOwnership": {
     "uk_UA": "Інформація про співвласників",
     "en_US": "JointOwnership information"
},
"utilitiesAvailability": {
     "uk_UA": "Інформація про інженерні мережі",
     "en_US": "Utilities information"
},

P.S.: Для процедур BRE/BRD поле utilitiesAvailability є обовʼязковим для заповнення. Відповідно, повʼязане поле hasUtilitiesAvailability має бути true. Залишається на відповідальність Майданчика

!!! ВАЖЛИВО !!! Для процедур DGF змін не вносимо. Для GFE & GFD все має залишитися як є

Requestor & Contact

Requestor:

  • Danyil Nizhnyi (e-tender)

Contact Point:

Edited by Philip