30 lines
846 B
TypeScript
30 lines
846 B
TypeScript
import type { FileRussianStatus, IVersionCard, MemberRow } from '../../types/consolidations/version_members';
|
|
import { fileStatusMapping } from './consts';
|
|
|
|
export function normalizeData(cons_data: IVersionCard | null): MemberRow[] {
|
|
if (cons_data === null) {
|
|
return [];
|
|
}
|
|
return cons_data.members.map((m) => {
|
|
let bb_status: FileRussianStatus | undefined;
|
|
let ofr_status: FileRussianStatus | undefined;
|
|
for (const c of m.checklist) {
|
|
if (c.document_type === 'BALANCE') {
|
|
bb_status = fileStatusMapping[c.status];
|
|
} else if (c.document_type === 'INCOME') {
|
|
ofr_status = fileStatusMapping[c.status];
|
|
}
|
|
}
|
|
return {
|
|
id: m.id,
|
|
name: m.name,
|
|
inn: m.inn,
|
|
version_id: cons_data.id,
|
|
entity_type: m.entity_type,
|
|
bb_status,
|
|
ofr_status,
|
|
uploaded_osvs: [...m.osv_accounts].sort().join(', '),
|
|
};
|
|
});
|
|
}
|