fix(web): шахматка красит и пару без встречной стороны (one_sided), как API и xlsx (AURORA-1651, ревью #158)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
2812897858
commit
814929819a
@ -25,7 +25,8 @@
|
|||||||
Экран SHALL загружать матрицу при открытии вкладки (`GET /consolidations/versions/{id}/intercompany-matrix/all`) и показывать
|
Экран SHALL загружать матрицу при открытии вкладки (`GET /consolidations/versions/{id}/intercompany-matrix/all`) и показывать
|
||||||
таблицу: первая колонка «ДБ / КТ» (закреплена слева) — компании периметра в порядке ответа (`companies[]`), остальные колонки —
|
таблицу: первая колонка «ДБ / КТ» (закреплена слева) — компании периметра в порядке ответа (`companies[]`), остальные колонки —
|
||||||
те же компании. В ячейке пары (строка A, колонка Б) SHALL быть три числа друг под другом: сумма `amount_a`, сумма `amount_b`
|
те же компании. В ячейке пары (строка A, колонка Б) SHALL быть три числа друг под другом: сумма `amount_a`, сумма `amount_b`
|
||||||
и расхождение `variance_amount` в скобках; расхождение выделяется красным, если `exceeds_threshold = true`. Если у пары есть
|
и расхождение `variance_amount` в скобках; расхождение выделяется красным, если `exceeds_threshold = true` или
|
||||||
|
`one_sided = true` (пара без встречной стороны; правило подсветки — как в API и xlsx, AURORA-1651). Если у пары есть
|
||||||
строки ОСВ без сопоставленного счёта (`skipped_osv_entry_count > 0`), рядом с первым числом SHALL показываться значок
|
строки ОСВ без сопоставленного счёта (`skipped_osv_entry_count > 0`), рядом с первым числом SHALL показываться значок
|
||||||
предупреждения с подсказкой «Строк ОСВ без сопоставленного счёта: N; в суммы не вошли». Если ячейки пары в ответе нет
|
предупреждения с подсказкой «Строк ОСВ без сопоставленного счёта: N; в суммы не вошли». Если ячейки пары в ответе нет
|
||||||
(в том числе на диагонали), SHALL показываться прочерк «—» на приглушённом фоне. Ниже таблицы закреплена строка «Итого»: до
|
(в том числе на диагонали), SHALL показываться прочерк «—» на приглушённом фоне. Ниже таблицы закреплена строка «Итого»: до
|
||||||
@ -38,6 +39,10 @@
|
|||||||
- **WHEN** для пары `(A, Б)` сервер вернул `exceeds_threshold = true`
|
- **WHEN** для пары `(A, Б)` сервер вернул `exceeds_threshold = true`
|
||||||
- **THEN** третье число ячейки (расхождение) показано красным, первые два — обычным цветом
|
- **THEN** третье число ячейки (расхождение) показано красным, первые два — обычным цветом
|
||||||
|
|
||||||
|
#### Scenario: Пара без встречной стороны
|
||||||
|
- **WHEN** для пары `(A, Б)` сервер вернул `amount_b = 0`, `one_sided = true`, `exceeds_threshold = false`
|
||||||
|
- **THEN** третье число ячейки (расхождение) показано красным
|
||||||
|
|
||||||
#### Scenario: Пары нет в ответе
|
#### Scenario: Пары нет в ответе
|
||||||
- **WHEN** в `cells[]` нет ячейки для пары компаний
|
- **WHEN** в `cells[]` нет ячейки для пары компаний
|
||||||
- **THEN** на их пересечении показан прочерк «—»
|
- **THEN** на их пересечении показан прочерк «—»
|
||||||
|
|||||||
@ -79,7 +79,8 @@ export const ConsolidationChessTable: React.FC<ConsolidationChessTableI> = ({
|
|||||||
{chessTableCellFormatValue(cell.amount_a, units, decimals)}
|
{chessTableCellFormatValue(cell.amount_a, units, decimals)}
|
||||||
</span>
|
</span>
|
||||||
<span>{chessTableCellFormatValue(cell.amount_b, units, decimals)}</span>
|
<span>{chessTableCellFormatValue(cell.amount_b, units, decimals)}</span>
|
||||||
<span style={{ color: cell.exceeds_threshold ? 'red' : 'inherit' }}>
|
{/* подсветка как в API и xlsx: порог > 5 % или пара без встречной стороны (AURORA-1651) */}
|
||||||
|
<span style={{ color: cell.exceeds_threshold || cell.one_sided ? 'red' : 'inherit' }}>
|
||||||
({chessTableCellFormatValue(cell.variance_amount, units, decimals)})
|
({chessTableCellFormatValue(cell.variance_amount, units, decimals)})
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user