Open ndrhzn opened 1 month ago
in progress
Для показника "Дата оголошення тендеру" нам потрібно брати ідентифікатор тендеру з елементу cdu_response/contractingProcesses/summary/tender/id
Якщо у тендері procurementCategory = “works”, тоді можна брати tenderPeriod/startDate (втім, дати початку може не бути)
Для показника "Клас наслідків" нам потрібно
У даних проєкту знайти ідентифікатор завдання. Він знаходиться в елементі approaches/items/additionalClassifications/id where approaches/items/additionalClassifications/scheme = "UA-SESC"
Потім із цим ідентифікатором звернутися до https://public-isb.dream.gov.ua/isb/e-construction/design-documentation?design-task-code={ідентифікатор завдання}. Наприклад, https://public-isb.dream.gov.ua/isb/e-construction/design-documentation?design-task-code=ZP01:0060-6583-3010-9264.
У відповіді буде елемент designDocumentation/sesc-class - саме він нам і потрібен
Елемента даних для показника “Дата подачі документів в ДІАМ для отримання дозволу про початок робіт” у нас наразі немає. Ми можемо залишити цей стовпчик порожнім, але поруч з ним додати стовпчик “Дата отримання дозволу на початок робіт” / The date of obtaining a construction permit.
У даних проєкту знайти ідентифікатор завдання. Він знаходиться в елементі approaches/items/additionalClassifications/id where approaches/items/additionalClassifications/scheme = "UA-SESC"
Потім із цим ідентифікатором звернутися до https://public-isb.dream.gov.ua/isb/e-construction/design-documentation?design-task-code={ідентифікатор завдання}. Наприклад, https://public-isb.dream.gov.ua/isb/e-construction/design-documentation?design-task-code=ZP01:0060-6583-3010-9264.
У відповіді буде елемент designDocumentation/milestones/dateMet, нам потрібен цей елемент лише для тих випадків, де designDocumentation/milestones/type = “constructionPermission”
Хоча фактично все, що я написав у попередньому повідомленні, стосується стовпчика "Будівельні роботи". Отже, створювати новий елемент не потрібно, просто потрібно наповнити той, що вже є у таблиці
Там в структуру таблиці помилково додали стовпчик "Примітка", котрий в середовищі BI не дуже має сенс. Давайте його приберемо @andrzejbeletsky
Щодо самої таблиці у нас, здається, є ще декілька стовпчиків де ми можемо додати дані
З рештою будемо розбиратися мірою появи даних в АРІ
Також попросили сортувати таблицю за стовпчиком “Заплановано. Державний бюджет (субвенція)” від найбільшого до найменшого
Також давайте зараз зробимо все, що після стовпчика "Заплановано. Інші джерела" прихованим за замовчуванням. Видається, що у нас там немає даних зовсім, і мало цінності в тому, аби показувати цю структуру із суцільними NA. Потім мірою надходження даних в АРІ, будемо робити видимими за замовчуваннями окремі стовпчики
Зроблено "Дата оголошення тендеру"
Зроблено "Дата підписання договору"
На dev зроблено "Клас наслідків"
На dev зроблено "Будівельні роботи"
"Клас наслідків" та "Будівельні роботи" можна релізити на прод
Щодо "Дата оголошення тендеру" та "Дата підписання договору" - здається, коли їх тільки зробили, то там були записи із датами. А зараз всі записи порожні (-). Щось змінилося у обробці даних?
Наразі фільтр "Фінансова програма" працює таким чином, що якщо його застосувати, то зникають показники з частини стовпчиків
Фільтр не застосований
Фільтр застосований
Видається, що це не дуже правильна поведінка. Як це має працюєвати - уявімо, що у нас в цій таблиці є дані щодо 10 різних фінансових програм, нам потрібно обрати лише ті проєкти, які мають фінансування в рамках якоїсь фінансової програми.
Отже, коли ми обираємо щось у фільтрі "Фінансова програма", фільтрація має застосовуватись насамперед до проєктів, а не до окремих стовпчиків, що стосуються фінансування.
Чи це має сенс, @andrzejbeletsky? Можу винести це окремою задачею
[Надійшло / Disbursed]
У моделі даних зʼявились нові елементи, котрі вказують на фінансовий прогрес в проєкті, зокрема на те, скільки коштів надійшло. Наразі, здається, лише один проєкт має цей елемент даних заповненим, однак ми вже можемо будувати процес обробки даних для відображення у таблиці.
Потрібні нам дані містяться в елементі cdu_response/approaches/implementation/financialProgress/breakdown
"implementation": {
"financialProgress": {
"breakdown": [
{
"id": "0235c342-4781-4e83-8e31-699d4c171903",
"period": {
"endDate": "2024-05-31",
"startDate": "2024-05-01"
},
"measures": {
"disbursed": 21127088
},
"classifications": {
"budgetFinanceId": "76467cb0-1f42-c8d5-f4f1-5dcae53eecdb"
}
},
{
"id": "4d90b9df-886a-4b0c-872e-a47c78dc24f6",
"period": {
"endDate": "2024-06-30",
"startDate": "2024-06-01"
},
"measures": {
"disbursed": 35211813
},
"classifications": {
"budgetFinanceId": "76467cb0-1f42-c8d5-f4f1-5dcae53eecdb"
}
},
{
"id": "70d50484-3cc3-47ab-b670-c9b025795c2b",
"period": {
"endDate": "2024-08-31",
"startDate": "2024-08-01"
},
"measures": {
"disbursed": 11510589
},
"classifications": {
"budgetFinanceId": "76467cb0-1f42-c8d5-f4f1-5dcae53eecdb"
}
},
{
"id": "80b31c62-c16c-4d2d-bcb0-a6f11d33dae0",
"period": {
"endDate": "2024-07-31",
"startDate": "2024-07-01"
},
"measures": {
"disbursed": 35211813
},
"classifications": {
"budgetFinanceId": "76467cb0-1f42-c8d5-f4f1-5dcae53eecdb"
}
}
]
}
}
cdu_response/approaches/implementation/financialProgress/breakdown/measures/disbursed - вказує на те, скільки коштів надійшло
cdu_response/approaches/implementation/financialProgress/breakdown/classifications/budgetFinanceId - вказує на те, з якого джерела даних походять кошти
Тобто, аби визначити, чи це "Надійшло. Державний бюджет", чи "Надійшло. Місцевий бюджет", нам потрібно звʼязати cdu_response/approaches/implementation/financialProgress/breakdown/classifications/budgetFinanceId із cdu_response/approaches/budget/finance/id.
Скажімо, у цьому прикладі у нас cdu_response/approaches/implementation/financialProgress/breakdown/classifications/budgetFinanceId = "76467cb0-1f42-c8d5-f4f1-5dcae53eecdb".
Якщо ми подивимось у елемент cdu_response/approaches/budget/finance, там можна знайти запис із відповідним id
{
"id": "76467cb0-1f42-c8d5-f4f1-5dcae53eecdb",
"value": {
"amount": 103061303,
"currency": "UAH"
},
"period": {
"endDate": "2024-12-31",
"startDate": "2024-01-01"
},
"status": "committed",
"measures": {
"fiscalYear": 2024,
"relatedItem": "498d8222-a541-4b7a-9073-c5775ba2ef84"
},
"legalBasis": "Постанова Кабінету Міністрів України від 28 квітня 2023 р. № 419 (зі змінами)",
"financeType": "stateFunds",
"classification": {
"budgetProgramId": "2211310",
"budgetProgramKVK": "221",
"budgetProgramName": "Субвенція з державного бюджету місцевим бюджетам на облаштування безпечних умов у закладах, що надають загальну середню освіту"
},
"financeCategory": "centralBudget",
"relatedProcesses": [
{
"id": "rje2f34f-gac0-4mfc-8n39-7w00ze6p30gg",
"scheme": "UA-DREAM",
"identifier": "8w2ht6q5-613z-4td5-9rin-1s28he8p11e9",
"relationship": "fundingProgram"
}
]
}
В цьому елементі ми також можемо подивитися financeCategory і встановити, що це кошти державного бюджету. Отже, надходження ми можемо кваліфікувати як "Надійшло. Державний бюджет". За цим же принципом ми можемо ідентифікувати і "Надійшло. Місцевий бюджет" та "Надійшло. Інші джерела"
Щодо "Дата оголошення тендеру" та "Дата підписання договору" - здається, коли їх тільки зробили, то там були записи із датами. А зараз всі записи порожні (-). Щось змінилося у обробці даних?
Схоже, що зламалося через те, що в АРІ змінили модель даних. Розберуся, як потрібно змінити шляхи до потрібних елементів даних та задокументую тут
Документую тут, що у нас виявили помилку в розрахунках показника "Загальна кошторисна вартість", яка походить з того, що до одного проєкту можуть бути підвʼязані декілька заявок у різних статусах. Зафіксували, що для цього показника нам потрібно брати лише ті заявки, що мають статус active.
Також домовились перейменувати цей показник на "Сума фінансового запиту" / Amount of money requested, оскільки це буде більш коректним описом цього елемента даних.
Показник "Загальна кошторисна вартість" ми додамо згодом - за ним потрібно буде звертатися до даних ЄДЕССБ.
Виправлення розрахунку та перейменування в прогресі
За аналогією із сторінкою "Деталі проєктів", нам потрібно зробити сторінку "Деталі фінансових програм" / Financial programs details.
Сторінка має бути доступна за посиланням /finProgramsDetails, посилання на цю сторінку має бути доступно у лівій панелі модуля аналітики після посилання на "Бюджетування" і перед посиланням на "Наповнення". Іконка для цієї сторінки може бути на зразок такої.
З правого боку сторінки має бути панель вибору стовпчиків для відображення за аналогією з тим, як це реалізовано на сторінці "Деталі проєктів". Видимість за замовчуванням зафіксована у таблиці нижче у стовпчику default_state.
Під панеллю вибору стовпчиків для відображення має бути панель фільтрів із наступними опціями
До цієї таблиці мають потрапляти лише ті проєкти, котрі отримали фінансування в рамках певної фінансової програми. Наразі фінансова програма в даних в нас лише одна, але в майбутньому передбачається, що їх буде багато.
Ми можемо дізнатися, чи має проєкт звʼязок із фінансовою програмою через елемент cdu_response/approaches/budget/finance/relatedProcesses. Там можна дивитися на cdu_response/approaches/budget/finance/relatedProcesses/identifier де cdu_response/approaches/budget/finance/relatedProcesses/scheme = "fundingProgram".
Логіка доволі проста - ми обираємо проєкти, у яких в структурі фінансування є звʼязок із фінансовою програмою (станом на сьогодні їх має бути 42 - для перевірки).
Сама таблиця має містити наступні стовпчики
Не всі елементи даних походять з ideas або objects endpoint. Для деяких стовпчиків нам потрібно буде забирати дані із нових ендпойнтів, інформація про це міститься у стовпчику notes.
Також не всі елементи даних наразі доступні взагалі, Проєктний офіс разом із командою розробки працюють над тим, аби зробити ці стовпчики доступними. Ми будемо додавати інформацію щодо наявності потрібних елементів даних та описувати шляхи до них.