У таблиці "Деталі фінансових програм" у нас зарезерована змінна "Дата оголошення тендеру". Наразі у цій змінній не відображаються жодні дані, через зміни в моделі даних.
Першопочаткова настанова полягала в тому, аби брати ідентифікатор тендера в даних проєкту, а потім із цим ідентифікатором звертатися до API ISB.
Ця логіка лишається загалом валідною, однак ми маємо зробити поправку на те, що
У моделі даних проєктів змінилося розташування ідентифікатора тендеру
Нам потрібні не всі тендери, але лише тендери на будівництво. Раніше ми працювали за логікою визначення тендерів на будівництво через зміну procurementCategory (якщо procurementCategory = works, значить це тендер на будівництво). Однак ми впевнилися, що ця логіка загалом не є коректною, оскільки зі значенням procurementCategory = works цілком можуть бути тендери, що не стосуються безпосередньо будівництво
Новий алгоритм має бути таким:
Беремо контрактні процедури, у котрих статус не дорівнює cancelled (cdu_response/contractingProcesses/summary/status)
Беремо у даних контрактних процедур в проєкті ідентифікатор тендера. Він наразі знаходиться в елементі cdu_response/contractingProcesses/relatedProcesses/details/tender. При цьому нам теж потрібні не всі ідентифікатори, а лише ті. що стосуються процедур, де
status не є cancelled або terminated (cdu_response/contractingProcesses/relatedProcesses/details/status)
platform = national (cdu_response/contractingProcesses/relatedProcesses/details/platform)
Звертаємось з ідентифікатором тендера до API Prozorro за схемою https://public-api.prozorro.gov.ua/api/2.5/tenders/{tender_id}. Наприклад, https://public-api.prozorro.gov.ua/api/2.5/tenders/b5125f746133421c9c43452baab117a0. Ми змушені звертатися до АРІ Prozorro, оскільки нам потрібно зо всіх тендерів відібрати лише ті, що стосуються будівництва. Це можна зробити коректно лише за допомогою класифікатора (items/classification), однак ці елементи даних наразі відсутні в ISB.
У даних тендера беремо значення класифікатора предмета закупівлі. Він знаходиться у елементі data/items/classification/id WHERE data/items/classification/scheme = "ДК021"
Класифікуємо тендери на такі, що стосуються будівництва, та такі, що не стосуються будівництва. Це ми робимо за допомогою значення data/items/classification/id. Якщо перші дві цифри цього значення = 45, тоді цей тендер стосується будівництва, якщо будь-які інші - цей тендер не стосується будівництва.
Для тих тендерів, що стосуються будівництва, визначаємо дату оголошення тендеру. Вона має знаходитися в елементі data/tenderPeriod/startDate, якщо ми звертаємось до API Prozorro, або у елементі tender/tenderPeriod/startDate, якщо ми звертаємось до API ISB. Наразі є сенс, ймовірно, забирати це значення з даних Prozorro, якщо ми вже і так користаємось для цієї задачі їхнім API.
У таблиці "Деталі фінансових програм" у нас зарезерована змінна "Дата оголошення тендеру". Наразі у цій змінній не відображаються жодні дані, через зміни в моделі даних.
Першопочаткова настанова полягала в тому, аби брати ідентифікатор тендера в даних проєкту, а потім із цим ідентифікатором звертатися до API ISB.
Ця логіка лишається загалом валідною, однак ми маємо зробити поправку на те, що
Новий алгоритм має бути таким:
Беремо контрактні процедури, у котрих статус не дорівнює cancelled (
cdu_response/contractingProcesses/summary/status
)Беремо у даних контрактних процедур в проєкті ідентифікатор тендера. Він наразі знаходиться в елементі
cdu_response/contractingProcesses/relatedProcesses/details/tender.
При цьому нам теж потрібні не всі ідентифікатори, а лише ті. що стосуються процедур, деcdu_response/contractingProcesses/relatedProcesses/details/status
)cdu_response/contractingProcesses/relatedProcesses/details/platform
)cdu_response/contractingProcesses/relatedProcesses/details/relationship
)Звертаємось з ідентифікатором тендера до API Prozorro за схемою
https://public-api.prozorro.gov.ua/api/2.5/tenders/{tender_id}
. Наприклад, https://public-api.prozorro.gov.ua/api/2.5/tenders/b5125f746133421c9c43452baab117a0. Ми змушені звертатися до АРІ Prozorro, оскільки нам потрібно зо всіх тендерів відібрати лише ті, що стосуються будівництва. Це можна зробити коректно лише за допомогою класифікатора (items/classification), однак ці елементи даних наразі відсутні в ISB.У даних тендера беремо значення класифікатора предмета закупівлі. Він знаходиться у елементі
data/items/classification/id
WHEREdata/items/classification/scheme = "ДК021"
Класифікуємо тендери на такі, що стосуються будівництва, та такі, що не стосуються будівництва. Це ми робимо за допомогою значення
data/items/classification/id
. Якщо перші дві цифри цього значення = 45, тоді цей тендер стосується будівництва, якщо будь-які інші - цей тендер не стосується будівництва.Для тих тендерів, що стосуються будівництва, визначаємо дату оголошення тендеру. Вона має знаходитися в елементі
data/tenderPeriod/startDate
, якщо ми звертаємось до API Prozorro, або у елементіtender/tenderPeriod/startDate
, якщо ми звертаємось до API ISB. Наразі є сенс, ймовірно, забирати це значення з даних Prozorro, якщо ми вже і так користаємось для цієї задачі їхнім API.