Загрузка данных


DO $check40$
DECLARE
    v_base varchar(255);
    v_cookies text;
    v_response bytea;
    v_text text;
    v_json jsonb;
BEGIN
    SELECT web_base
    INTO v_base
    FROM tools.settings
    LIMIT 1;

    v_cookies := robot.login_ex2(v_base, 'bb_robot');

    IF coalesce(v_cookies, '') = '' THEN
        RAISE EXCEPTION 'Не удалось авторизовать bb_robot';
    END IF;

    BEGIN
        v_response := robot.get_page_data(
            v_base,
            'queryModel?queryModelCode=J6JzujYq',
            v_cookies,
            json_build_object(
                'start_date_app', '',
                'end_date_app', '',
                'isChecked', true,
                'contract_activity_type', 'ALL'
            )
        );

        v_text := convert_from(v_response, 'UTF8');

        RAISE NOTICE 'DIAG40: ответ модели: %',
            left(v_text, 2000);

        v_json := v_text::jsonb;

        RAISE NOTICE 'DIAG40: период % — %, количество: %',
            v_json->>'start_date_app',
            v_json->>'end_date_app',
            jsonb_array_length(v_json->'list');

    EXCEPTION WHEN OTHERS THEN
        PERFORM robot.logout_ex(v_base, v_cookies);
        RAISE;
    END;

    PERFORM robot.logout_ex(v_base, v_cookies);
END;
$check40$;