30 lines
1.3 KiB
SQL
30 lines
1.3 KiB
SQL
-- SQL запрос для проверки полиса в n8n
|
|
-- Возвращает все поля из таблицы + поле found (1 если найден и валиден, 0 если нет)
|
|
-- Используется для разделения потоков в n8n (IF node) и получения данных полиса
|
|
|
|
-- Параметры:
|
|
-- :voucher или {{ $json.policy_number }} - номер полиса (уже нормализованный, кириллица -> латиница)
|
|
|
|
SELECT
|
|
*,
|
|
CASE
|
|
WHEN (
|
|
-- Проверка тарифов basic
|
|
tariff_code_basic IN ('STB0048', 'STB1099', 'STB1100', 'STB2099', 'AVS21500', 'AVS22500')
|
|
OR
|
|
-- Проверка тарифов other
|
|
tariff_code_other IN (
|
|
'SPV0001', 'SPV0002', 'SPV0003', 'SPV0004', 'SPV0005',
|
|
'STV0090',
|
|
'SPV1001', 'SPV1002', 'SPV1003', 'SPV1004', 'SPV1005',
|
|
'SPV2001', 'SPV2002', 'SPV2004', 'SPV2005',
|
|
'OPV1001', 'OPV1002', 'OPV1003', 'OPV1004', 'OPV1005',
|
|
'OPV2001', 'OPV2002', 'OPV2004', 'OPV2005'
|
|
)
|
|
) THEN 1
|
|
ELSE 0
|
|
END AS found
|
|
FROM lexrpiority
|
|
WHERE voucher = :voucher
|
|
LIMIT 1;
|