Andrey Epifancev 99252d7a85 fix(web): синхронизация встроенного фронта с arm-web@test (025233f) (#115)
Перенесён диапазон arm-web 100fbfb..025233f (2 коммитов, 19 файлов набора
синхронизации) скриптом docs/scripts/sync-web.sh. После переноса web/ и
arm-web@test идентичны по набору. Коммиты arm-web:
- f868a92 Скан PDF с JBIG2 не рисовался: передать pdf.js wasmUrl и копировать wasm в сборку (#32)
- a8a6da0 Форматирование перед PR: ESLint + Prettier и npm run format (#29)

Co-Authored-By: sync-web.sh <noreply@aepif.ru>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 13:46:39 +04:00

34 lines
951 B
TypeScript

import type { ConsRow, IConsolidation } from '../../types/consolidations/consolidations';
import { statusMapping } from './consts';
export function flattenCons(cons: IConsolidation[]): ConsRow[] {
const out: ConsRow[] = [];
for (const con of cons) {
// if a con has no versions, emit nothing — or emit a placeholder row if you want
con.versions.forEach((v, i) => {
const rep_date = new Date(con.reporting_date);
out.push({
id: v.id,
group_id: con.consolidation_id,
isPrimary: i === 0,
versionIndex: i,
groupSize: con.versions.length,
con_id: con.consolidation_id,
year: con.year,
quarter: con.quarter,
reporting_date: rep_date,
version_no: v.version_no,
status: statusMapping[v.status],
scenario: v.scenario,
approach: v.approach,
lock: v.lock,
created_at: v.created_at,
members_count: v.members_count,
gsk: null,
verified_at: null,
});
});
}
return out;
}