MT.Checks/DB/chk/functions.md

30 lines
5.3 KiB
Markdown

# Слой `chk` — функции
## Список функций
| Сущность | Функция | Статус | Параметры | Возвращает | Функция | Репозиторий | Комментарий |
|---|---|---|---|---|---|---|---|
| chk_type | chk_type_select | DEV | — | TABLE — строки справочника | CODE | REQ | код: `functions/chk_type_select.sql`; тесты: `tests/test_chk_type_select.psql`; репозиторий: `MT.Checks/Repository/ChkTypeRepository.cs` |
| chk_status | chk_status_select | DEV | — | TABLE — строки справочника | CODE | REQ | код: `functions/chk_status_select.sql`; тесты: `tests/test_chk_status_select.psql`; репозиторий: `MT.Checks/Repository/ChkStatusRepository.cs` |
| chk_check | chk_check_insert | DEV | p_check_date, p_chk_type_id, p_chk_status_id, p_smev_message_id, p_rr_organization_id, p_params (JSON), p_parent_check_id | int — id проверки | CODE | REQ | код: `functions/chk_check_insert.sql`; тесты: `tests/test_chk_check_insert.psql`; репозиторий: `MT.Checks/Repository/ChkCheckRepository.cs` |
| chk_check | chk_check_update | DEV | p_id + все поля записи | int — число строк (db-m-3) | CODE | REQ | полная запись объекта (db-m-8); код: `functions/chk_check_update.sql`; тесты: `tests/test_chk_check_update.psql` |
| chk_check | chk_check_delete | DEV | p_id | int — число строк | CODE | REQ | код: `functions/chk_check_delete.sql`; тесты: `tests/test_chk_check_delete.psql` |
| chk_check | chk_check_select | DEV | p_check_date, p_chk_type_id, p_chk_status_id, p_rr_organization_id | TABLE — строки chk_check | CODE | REQ | NULL параметра = фильтр не применяется; код: `functions/chk_check_select.sql`; тесты: `tests/test_chk_check_select.psql` |
| chk_check | chk_check_get | DEV | p_id | TABLE — строка chk_check | CODE | REQ | код: `functions/chk_check_get.sql`; тесты: `tests/test_chk_check_get.psql` |
Спецификации функций и тест-планы: `func_specs/{функция}.md` (d-db-9). Код функций:
`functions/{сущность}_{действие}.sql` (db-func-4, расширение `.sql` — соглашение
репозитория). psql-тесты: `tests/test_{сущность}_{действие}.psql` (db-tst),
нумерация проверок = строкам таблиц «Тесты» спецификаций. Выполнение тестов —
на тестовой базе (db-tst-4): `psql -d <база> -f tests/test_*.psql`.
Статусы (d-dev-1, d-dev-2, d-dev-5): `Статус` = `DEV` (реализация начата);
колонка «Функция» = `CODE` (код и тесты написаны; `DONE` — после утверждения
пользователем); «Репозиторий» = `REQ`.
Примечание к колонке «Репозиторий» (2026-09-08, решение пользователя):
unit-тесты репозиториев не создаются вовсе; спецификации тестов сохранены как
документация ожидаемого поведения — `1-docs/2-core/chk/repository_tests/`.
Код репозиториев написан (проект `MT.Checks`); статус `CODE` по d-dev-3
неприменим, т.к. требует наличия тестов.