CDB3-7131 [SSW, NLE] Дата формування протоколу відображається не коректно
Для випадку якщо було дискваліфіковано 2 учасників, в полі Протокол електронного аукціону сформовано: буде відображатися дата модифікаціі першого аварду, а не 2 аварда
By analyst:
У нас існують тільки дві процедури, де формується більше двох Авардів, кваліфікація проходить послідовно: SSW та NLE.
Необхідно додати логіки: якщо дискваліфікують другого учасника(Учасник_1), то Протокол електронного аукціону сформовано: має бути procedure.Awards[0].dateModified
Якщо дискваліфікують Учасника_N, то дата Протокол електронного аукціону сформовано: == procedure.Awards[n-1].dateModified
ВАЖЛИВО!
В коді
def _has_unsuccessful_winner_award(self):
"""Check for winner award status is unsuccessful or cancelled
Returns:
bool:
"""
return self.proc_obj['awards'][0]['status'] in {'unsuccessful', 'cancelled'}
необхідно враховуввти тільки Awards у статусі unsuccessful.
Авард, якого кваліфікують не може набути статусу cancelled. А може трапитись ситуація, коли є два Аварди і кваліфікують пешого. В цей час другий "відмовився від очікування" (pending_waiting --> cancelled) і в такому випадку Дата формування протоколу НЕ має помінятися для Першого Аварду!
Іншими словами: Дата формування протоколу Учасника, якого кваліфікують, має бути awards[].dateModified того Аварда, який останній набув статусу unsuccessful. Ігноруємо Аварди, які переходять у статус cancelled
Так як станом на 01.03.24 немає продових реальних процедур вказаних напрямків, де б відтворилася ситуація з дискваліфікацією більше одного учасника, то зміни вносимо для всіх існуючих протоколів.