2.4 KiB
2.4 KiB
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 | граничный случай | фильтр без совпадений | пустая таблица |