убран лишний метод build_with_members
This commit is contained in:
parent
b7d97943b2
commit
02d67ff733
@ -110,7 +110,7 @@ def _source_row(entry: OsvEntry) -> domain.SourceRow:
|
||||
|
||||
|
||||
def _candidate_ids(rows: Sequence[domain.SourceRow], index: CounterpartyIndex) -> set[uuid.UUID]:
|
||||
"""Идентификаторы контрагентов, имена которых понадобятся `build`: хранимые `counterparty_id` и результат дорезолва
|
||||
"""Идентификаторы контрагентов для `build_with_members`: хранимые `counterparty_id` и результат дорезолва
|
||||
для строк без него (`resolve` — по словарям индекса, без обращений к БД; ключ склейки включает имя и ИНН, поэтому
|
||||
результат для представителя группы равен результату для любой её строки)."""
|
||||
ids: set[uuid.UUID] = set()
|
||||
@ -147,12 +147,8 @@ class ConsolidatedOsvService:
|
||||
self._session = session
|
||||
self._scope = scope
|
||||
|
||||
async def build(self, version_id: uuid.UUID) -> ConsolidatedOsvBuildResult:
|
||||
"""Свод версии и данные его расчёта; версия вне видимости — 404."""
|
||||
return await self.build_with_members(version_id)
|
||||
|
||||
async def build_with_members(self, version_id: uuid.UUID) -> ConsolidatedOsvBuildResult:
|
||||
"""Свод и участники периметра, загруженные при его расчёте."""
|
||||
"""Свод и участники периметра, загруженные при его расчёте; версия вне видимости — 404."""
|
||||
found = await repo.get_version(self._session, self._scope, version_id)
|
||||
if found is None:
|
||||
raise NotFoundError(VERSION_NOT_FOUND)
|
||||
@ -191,7 +187,7 @@ class ConsolidatedOsvService:
|
||||
|
||||
async def page(self, version_id: uuid.UUID, f: OsvFilters, page: OsvPageParams) -> Page[ConsolidatedRowOut]:
|
||||
"""Страница свода после фильтров: `total` — число строк после фильтра, срез — в памяти (порядок D-16)."""
|
||||
result = await self.build(version_id)
|
||||
result = await self.build_with_members(version_id)
|
||||
rows = domain.apply_filter(result.consolidated.rows, domain_filter(f))
|
||||
window = rows[page.offset : page.offset + page.limit]
|
||||
return Page[ConsolidatedRowOut](
|
||||
@ -202,7 +198,7 @@ class ConsolidatedOsvService:
|
||||
"""xlsx сводной ОСВ (spec «Экспорт xlsx», D-14): строки после тех же фильтров, что у `page`, без пагинации, в
|
||||
порядке D-16; лист пробелов — по своду целиком. Имя файла — `svod-osv_<ГК>_<год>-<квартал>_v<n>.xlsx` (без
|
||||
percent-кодирования: оно в маршруте). `audit_event(EXPORT)` пишется после сборки книги, в транзакции запроса."""
|
||||
result = await self.build(version_id)
|
||||
result = await self.build_with_members(version_id)
|
||||
rows = domain.apply_filter(result.consolidated.rows, domain_filter(f))
|
||||
content = await run_in_threadpool(build_workbook, result.consolidated, rows)
|
||||
group_name = (
|
||||
@ -228,7 +224,7 @@ class ConsolidatedOsvService:
|
||||
|
||||
async def summary(self, version_id: uuid.UUID) -> OsvSummaryOut:
|
||||
"""Сводка: строки, несопоставленные, автосопоставленные по имени/алиасу, ОСВ-документы версии и пробелы."""
|
||||
result = await self.build(version_id)
|
||||
result = await self.build_with_members(version_id)
|
||||
rows_total, unmapped_total, auto_matched_total = domain.summary(result.consolidated)
|
||||
return OsvSummaryOut(
|
||||
rows_total=rows_total,
|
||||
@ -241,7 +237,7 @@ class ConsolidatedOsvService:
|
||||
async def row_for_entry(self, version_id: uuid.UUID, entry_id: uuid.UUID) -> ConsolidatedRowOut | None:
|
||||
"""Строка свода, в `entry_ids` которой есть `entry_id`; `None` — строка в своде не участвует (пара с пробелом
|
||||
или документ не выбран источником при наличии нарастающего)."""
|
||||
result = await self.build(version_id)
|
||||
result = await self.build_with_members(version_id)
|
||||
row = next((row for row in result.consolidated.rows if entry_id in row.entry_ids), None)
|
||||
return None if row is None else row_out(row)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user