aurora-1544 добавление таблицы гудвил #220

Merged
aep merged 18 commits from feat/goodWill into main 2026-11-06 18:08:01 +03:00
4 changed files with 94 additions and 94 deletions
Showing only changes of commit 0ee7fe95f1 - Show all commits

View File

@ -16,8 +16,8 @@ import { statusColorMapping } from '../widgets/ConsoleTable/consts';
import { OsvTabs } from '../widgets/ConsolidatedOsv/OsvTabs';
import { OsvContent } from '../widgets/ConsolidatedOsvContent/ConsolidatedOsvContent';
import { ChessContent } from '../widgets/ConsolidationChess/ConsolidationChessContent/ConsolidatedChessContent';
import ChangeStatusModal from '../widgets/StatusChangeModal/ChangeStatusModal';
import { GoodwillContent } from '../widgets/ConsolidationGoodwill/ConsolidationGoodwillContent/ConsolidationGoodwillContent';
import ChangeStatusModal from '../widgets/StatusChangeModal/ChangeStatusModal';
function ReportContent() {
const [card, setCard] = useState<VersionCard | null>(null);

View File

@ -1,5 +1,5 @@
import type { GoodwillTableResponse, GoodwillRow, GoodwillRowPayload, GoodwillSettingsPayload } from '../../types/goodwill/goodwill';
import { api, apiFetchBlob } from '../../api/client';
import type { GoodwillRow, GoodwillRowPayload, GoodwillSettingsPayload, GoodwillTableResponse } from '../../types/goodwill/goodwill';
export function fetchGoodwillTable(versionId: string): Promise<GoodwillTableResponse> {
return api.get<GoodwillTableResponse>(`/consolidations/versions/${versionId}/goodwill`);

View File

@ -3,6 +3,7 @@ import { Button, ConfigProvider } from 'antd';
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { useParams } from 'react-router-dom';
import { ApiError } from '../../../api/client';
import { ConsolidationFormatTableFilter } from '../../../components/ConsolidationFormatTableFilter/ConsolidationFormatTableFilter';
import {
exportChessConsolidationsResult,
exportChessTableAll,
@ -16,7 +17,6 @@ import type { VersionCard } from '../../../types/consolidations/version_members'
import { chessMatrixMode } from '../../../utils/chessMatrixMode';
import { saveBlob, xlsxFilename } from '../../../utils/download';
import { useNotificationApi } from '../../../utils/useNotification';
import { ConsolidationFormatTableFilter } from '../../../components/ConsolidationFormatTableFilter/ConsolidationFormatTableFilter';
import { ConsolidationChessResTable } from '../ConsolidationChessResTable/ConsolidationChessResTable';
import { ConsolidationChessTable } from '../ConsolidationChessTable/ConsolidationChessTable';
import { ConsolidationChessTableFilter } from '../ConsolidationChessTableFilter/ConsolidationChessTableFilter';

View File

@ -2,102 +2,102 @@ import { DownloadOutlined, EditOutlined, FullscreenExitOutlined, FullscreenOutli
import { Alert, Button, ConfigProvider, Select, Space, Tooltip } from 'antd';
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { useParams } from 'react-router-dom';
import type { GoodwillRow, GoodwillTableResponse, GoodwillTreeRow, GoodwillRowPayload } from '../../../types/goodwill/goodwill';
import { useNotificationApi } from '../../../utils/useNotification';
import { ApiError } from '../../../api/client';
import { ConsolidationFormatTableFilter } from '../../../components/ConsolidationFormatTableFilter/ConsolidationFormatTableFilter';
import { type ColumnDef, ColumnSettings, useVisibleColumns } from '../../../components/GenericTable';
import { exportGoodwillTable, fetchGoodwillTable, saveGoodwillRow } from '../../../services/api/goodwill';
import type { VersionCard } from '../../../types/consolidations/version_members';
import type { GoodwillRow, GoodwillRowPayload, GoodwillTableResponse, GoodwillTreeRow } from '../../../types/goodwill/goodwill';
import { saveBlob, xlsxFilename } from '../../../utils/download';
import { useNotificationApi } from '../../../utils/useNotification';
import { ConsolidationGoodwillTable } from '../ConsolidationGoodwillTable/ConsolidationGoodwillTable';
import { getGoodwillColumns } from '../ConsolidationGoodwillTable/config';
import { ColumnDef, ColumnSettings, useVisibleColumns } from '../../../components/GenericTable';
import { ApiError } from '../../../api/client';
import { saveBlob, xlsxFilename } from '../../../utils/download';
import { VersionCard } from '../../../types/consolidations/version_members';
import { exportGoodwillTable, fetchGoodwillTable, saveGoodwillRow } from '../../../services/api/goodwill';
// #TODO --- ТЕСТОВЫЕ ДАННЫЕ ---
const MOCK_DATA: GoodwillTableResponse = {
version_id: '30d45049-4dd6-4479-9cf7-33f4e71301ef',
goodwill_enabled: true,
editable: true,
read_only_reason: null,
rows: [
{
head_legal_entity: { id: 'head-1', name: 'Агрохолдинг "Просторы" АО' },
subsidiary_legal_entity: { id: 'sub-1-1', name: 'ООО "Дон Агро"' },
ownership_share: '100.0000',
financial_investment_amount: '4060.00',
charter_capital_amount: '371.17',
additional_capital_amount: '0.00',
participation_amount: '371.14',
goodwill_amount: '3688.86',
include_in_kfo: true,
comment: 'Основная дочерняя компания',
updated_by: { id: 'user-1', name: 'Иванов И.И.' },
updated_at: '2026-10-15T10:00:00Z',
},
{
head_legal_entity: { id: 'head-1', name: 'Агрохолдинг "Просторы" АО' },
subsidiary_legal_entity: { id: 'sub-1-2', name: 'АО "Дон Агро"' },
ownership_share: '75.0000',
financial_investment_amount: '260.01',
charter_capital_amount: '120.00',
additional_capital_amount: '0.00',
participation_amount: '119.99',
goodwill_amount: '-140.02',
include_in_kfo: false,
comment: null,
updated_by: null,
updated_at: null,
},
{
head_legal_entity: { id: 'head-1', name: 'Агрохолдинг "Просторы" АО' },
subsidiary_legal_entity: { id: 'sub-1-3', name: 'ООО "Дон Мучнов"' },
ownership_share: '100.0000',
financial_investment_amount: '130.00',
charter_capital_amount: '0.01',
additional_capital_amount: '0.00',
participation_amount: '0.01',
goodwill_amount: '129.99',
include_in_kfo: true,
comment: '',
updated_by: null,
updated_at: null,
},
{
head_legal_entity: { id: 'head-1', name: 'Агрохолдинг "Просторы" АО' },
subsidiary_legal_entity: { id: 'sub-1-4', name: 'ООО "Инвестком"' },
ownership_share: '100.0000',
financial_investment_amount: '267.00',
charter_capital_amount: '0.01',
additional_capital_amount: '0.00',
participation_amount: '0.01',
goodwill_amount: '266.99',
include_in_kfo: false,
comment: null,
updated_by: null,
updated_at: null,
},
{
head_legal_entity: { id: 'head-2', name: 'Инвестком АО' },
subsidiary_legal_entity: { id: 'sub-2-1', name: 'ООО "Юг-Инвест"' },
ownership_share: '50.0000',
financial_investment_amount: '8500.00',
charter_capital_amount: '1000.00',
additional_capital_amount: '500.00',
participation_amount: '500.00',
goodwill_amount: '8000.00',
include_in_kfo: true,
comment: 'Требует пересмотра',
updated_by: { id: 'user-2', name: 'Петров П.П.' },
updated_at: '2026-10-20T14:30:00Z',
},
],
totals: {
financial_investment_amount: '13217.01',
participation_amount: '991.15',
goodwill_amount: '12225.86',
goodwill_in_kfo_amount: '11817.85',
},
};
// const MOCK_DATA: GoodwillTableResponse = {
// version_id: '30d45049-4dd6-4479-9cf7-33f4e71301ef',
// goodwill_enabled: true,
// editable: true,
// read_only_reason: null,
// rows: [
// {
// head_legal_entity: { id: 'head-1', name: 'Агрохолдинг "Просторы" АО' },
// subsidiary_legal_entity: { id: 'sub-1-1', name: 'ООО "Дон Агро"' },
// ownership_share: '100.0000',
// financial_investment_amount: '4060.00',
// charter_capital_amount: '371.17',
// additional_capital_amount: '0.00',
// participation_amount: '371.14',
// goodwill_amount: '3688.86',
// include_in_kfo: true,
// comment: 'Основная дочерняя компания',
// updated_by: { id: 'user-1', name: 'Иванов И.И.' },
// updated_at: '2026-10-15T10:00:00Z',
// },
// {
// head_legal_entity: { id: 'head-1', name: 'Агрохолдинг "Просторы" АО' },
// subsidiary_legal_entity: { id: 'sub-1-2', name: 'АО "Дон Агро"' },
// ownership_share: '75.0000',
// financial_investment_amount: '260.01',
// charter_capital_amount: '120.00',
// additional_capital_amount: '0.00',
// participation_amount: '119.99',
// goodwill_amount: '-140.02',
// include_in_kfo: false,
// comment: null,
// updated_by: null,
// updated_at: null,
// },
// {
// head_legal_entity: { id: 'head-1', name: 'Агрохолдинг "Просторы" АО' },
// subsidiary_legal_entity: { id: 'sub-1-3', name: 'ООО "Дон Мучнов"' },
// ownership_share: '100.0000',
// financial_investment_amount: '130.00',
// charter_capital_amount: '0.01',
// additional_capital_amount: '0.00',
// participation_amount: '0.01',
// goodwill_amount: '129.99',
// include_in_kfo: true,
// comment: '',
// updated_by: null,
// updated_at: null,
// },
// {
// head_legal_entity: { id: 'head-1', name: 'Агрохолдинг "Просторы" АО' },
// subsidiary_legal_entity: { id: 'sub-1-4', name: 'ООО "Инвестком"' },
// ownership_share: '100.0000',
// financial_investment_amount: '267.00',
// charter_capital_amount: '0.01',
// additional_capital_amount: '0.00',
// participation_amount: '0.01',
// goodwill_amount: '266.99',
// include_in_kfo: false,
// comment: null,
// updated_by: null,
// updated_at: null,
// },
// {
// head_legal_entity: { id: 'head-2', name: 'Инвестком АО' },
// subsidiary_legal_entity: { id: 'sub-2-1', name: 'ООО "Юг-Инвест"' },
// ownership_share: '50.0000',
// financial_investment_amount: '8500.00',
// charter_capital_amount: '1000.00',
// additional_capital_amount: '500.00',
// participation_amount: '500.00',
// goodwill_amount: '8000.00',
// include_in_kfo: true,
// comment: 'Требует пересмотра',
// updated_by: { id: 'user-2', name: 'Петров П.П.' },
// updated_at: '2026-10-20T14:30:00Z',
// },
// ],
// totals: {
// financial_investment_amount: '13217.01',
// participation_amount: '991.15',
// goodwill_amount: '12225.86',
// goodwill_in_kfo_amount: '11817.85',
// },
// };
export const GoodwillContent = ({ card }: { card: VersionCard | null }) => {
const { version_id } = useParams<{ version_id: string }>();