-- DROP FUNCTION ourpension.f_create_snv_incoming_tessa(text, text, int8);
CREATE OR REPLACE FUNCTION ourpension.f_create_snv_incoming_tessa(p_snils text, p_full_name text, p_id_file bigint DEFAULT NULL::bigint)
RETURNS text
LANGUAGE plpgsql
AS $function$
DECLARE
_tessa_params json;
_id_card text;
_id_doc text;
_tessa_path text := 'Integration/CreateCard';
_file_name text;
_file bytea;
BEGIN
IF p_id_file IS NULL THEN
RETURN NULL;
END IF;
SELECT d.file_name, d.file
INTO _file_name, _file
FROM ourpension.year_tax_deduction d
WHERE d.id = p_id_file;
IF _file_name IS NULL OR btrim(_file_name) = '' OR _file IS NULL THEN
RETURN NULL;
END IF;
_tessa_params := json_build_object(
'System', '5',
'CardTypeID', '32078ec6-7b20-42c5-a4e8-77ae3b7a4c7c',
'AuthorAdLogin', 'System',
'SubTypeID', '7eded5d0-8333-441f-9dca-031133205727',
'SubTypeName', 'Сервисное заявление ФЛ',
'OutgoingSubTypeID', 'c6137918-3652-44c8-b364-91aaa0264763',
'OutgoingSubTypeName', 'Справка/ответ ФНС о налоговом вычете',
'Summary', 'Справка о подтверждении получения/неполучения налогового вычета',
'DeliveryMethodID', '4',
'DeliveryMethodName', 'Личный прием',
'SNILS', p_snils,
'FullName', p_full_name,
'NPF360Link', 'http://',
'LinkCardID', '6f95b490-6f8f-46d1-945d-42650496e40c'
);
SELECT value || _tessa_path
INTO _tessa_path
FROM tools.npf360_settings
WHERE "name" = 'TESSA_API';
RAISE NOTICE '1) JSON param: %', _tessa_params::text;
_id_card := convert_from(robot.post_json(_tessa_path, _tessa_params), 'UTF8');
RAISE NOTICE '2) id_card: %', _id_card;
IF utils.f_is_tessa_guid(_id_card) THEN
_id_doc := utils.post_file_to_tessa_card(_id_card, 'System', _file_name, _file);
RAISE NOTICE '3) id_doc: %', _id_doc;
PERFORM utils.send_signal_to_tessa(_id_card, 'complete1');
UPDATE ourpension.year_tax_deduction
SET tessa_card_id = _id_card
WHERE id = p_id_file;
ELSE
RETURN NULL;
END IF;
RETURN json_build_object(
'id_card', _id_card,
'id_doc', _id_doc,
'JSON_params', _tessa_params
)::text;
END;
$function$
;
'DeliveryMethodID', 0, -- Почта России
'DeliveryMethodName', 'Почта России',
'DeliveryTypeID', 2, --Письмо простое
'DeliveryTypeName', 'Письмо простое',