MT.Checks/DB/chk/func_specs/chk_check_select.md

2.4 KiB
Raw Blame History

chk.chk_check_select

Выборка проверок с необязательными фильтрами (NULL параметра = фильтр не применяется).

Параметр Тип Обяз. Описание
p_check_date date нет фильтр по дню проверки; NULL = без фильтра
p_chk_type_id int нет фильтр по типу проверки; NULL = без фильтра
p_chk_status_id int нет фильтр по статусу проверки; NULL = без фильтра
p_rr_organization_id text нет фильтр по организации РР; NULL = без фильтра

Возвращает TABLE — колонки chk_check: id int, check_date date, chk_type_id int, chk_status_id int, smev_message_id text, rr_organization_id text, params jsonb, parent_check_id int; сортировка по id.

Логика/особенности

  • Фильтры реализованы шаблоном (p_x IS NULL OR t.x = p_x) (db-func-7); фильтры — на корневом объекте (db-s-8).

Тесты

Тип Условие Ожидаемый результат
1 основной сценарий фикстура TEST- (3 проверки: разные дата/тип/статус/организация); все фильтры NULL 3 строки фикстуры + существующие; все колонки заполнены
2 основной сценарий фильтр по p_check_date (дата двух фикстур) только проверки с этой датой
3 основной сценарий фильтр по p_chk_type_id только проверки этого типа
4 основной сценарий фильтр по p_chk_status_id только проверки этого статуса
5 основной сценарий фильтр по p_rr_organization_id только проверки этой организации
6 основной сценарий комбинированный фильтр (дата + статус) только строки, удовлетворяющие обоим условиям
7 граничный случай фильтр без совпадений пустая таблица