<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
  <info>
    <name>array_season_recruitments_all_parallel</name>
    <name_sync_with_filename>Y</name_sync_with_filename>
    <description/>
    <extended_description/>
    <pipeline_version/>
    <pipeline_type>Normal</pipeline_type>
    <parameters>
    </parameters>
    <capture_transform_performance>N</capture_transform_performance>
    <transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
    <transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
    <created_user>-</created_user>
    <created_date>2025/03/20 10:44:35.298</created_date>
    <modified_user>-</modified_user>
    <modified_date>2025/03/20 10:44:35.298</modified_date>
  </info>
  <notepads>
  </notepads>
  <order>
    <hop>
      <from>Table input остальные</from>
      <to>Copy rows to result 2</to>
      <enabled>Y</enabled>
    </hop>
  </order>
  <transform>
    <name>Copy rows to result 2</name>
    <type>RowsToResult</type>
    <description/>
    <distribute>Y</distribute>
    <custom_distribution/>
    <copies>1</copies>
    <partitioning>
      <method>none</method>
      <schema_name/>
    </partitioning>
    <attributes/>
    <GUI>
      <xloc>832</xloc>
      <yloc>352</yloc>
    </GUI>
  </transform>
  <transform>
    <name>Table input остальные</name>
    <type>TableInput</type>
    <description/>
    <distribute>Y</distribute>
    <custom_distribution/>
    <copies>1</copies>
    <partitioning>
      <method>none</method>
      <schema_name/>
    </partitioning>
    <connection>ervu-dashboard</connection>
    <execute_each_row>N</execute_each_row>
    <limit/>
    <sql>WITH ids AS (
    SELECT idm_id, 
           NTILE(5) OVER (ORDER BY idm_id) AS part -- Разбиваем на 5 частей
    FROM ervu_dashboard.recruitment
    WHERE schema IN ('Department', 'Organization', 'Region')
    AND idm_id NOT IN (
    	'55158cc6-1342-4701-ab2b-855a6389906d'::UUID, -- Военный комиссариат Провиденского и Чукотского районов Чукотского автономного округа
	    'd35584cf-8405-42ea-9944-25bfe5725347', -- Военный комиссариат Охотского Аяно-Майского и Тугуро-Чумиканского районов Хабаровского края
	    'b960d9a3-97c5-42ff-9fa7-1843114392a0', -- Военный комиссариат Тигильского Карагинского Олюторского и Пенжинского районов Камчатского края
	    'ab335d7b-7966-470d-89b3-72cee950839d', -- Военный комиссариат Оймяконского и Момского улусов Республики Саха (Якутия)
	    '1dea48be-40fb-42bd-9df8-14d0cfd3fd12', -- Военный комиссариат Нижнеколымского и Среднеколымского улусов Республики Саха (Якутия)
	    '018b8e04-2714-402a-961b-39877b9ee698', -- Военный комиссариат Верхоянского и Эвено-Бытантайского улусов Республики Саха (Якутия)
	    '18e818af-ef45-49ee-aea2-d0f3516ddf1d', -- Военный комиссариат Верхнеколымского улуса Республики Саха (Якутия)
	    'b2ec295c-47a4-4be9-a6f8-827096f9857d', -- Военный комиссариат Булунского и Жиганского улусов Республики Саха (Якутия)
	    'eaffdb79-767f-405c-a1b1-b48bdc63add8', -- Военный комиссариат Усть-Янского Аллаиховского и Абыйского улусов Республики Саха (Якутия)
	    '354f7fbd-467f-4f41-aaad-f0e2e139527e', -- Военный комиссариат города Воркута Республики Коми
	    'ce2b0297-d1e8-422a-8367-b7e3a5cc7a40', -- Военный комиссариат города Инта Республики Коми
	    'c023af4a-ad27-4539-a1f9-7a3251634fdb', -- Военный комиссариат города Печора и Печорского района Республики Коми
	    '0e44335f-02db-43ac-b713-f09532e675a3', -- Военный комиссариат городов Ухта Вуктыл и Сосногорск Вуктыльского и Сосногорского районов Республики Коми
	    'e55859e6-9d34-47b7-a969-efc8ceea708b', -- Военный комиссариат Ижемского района Республики Коми
	    'b9d1002f-d2a7-4d2f-910b-637b2cf332dd', -- Военный комиссариат Княжпогостского и Усть-Вымского районов Республики Коми
	    'ef2da2e5-0cc1-479c-b2de-c334c95b5514', -- Военный комиссариат Сысольского Койгородского и Прилузского районов Республики Коми
	    '53851a38-fc95-400b-9ff7-00b4dcad2918', -- Военный комиссариат города Сыктывкар Сыктывдинского и Корткеросского районов Республики Коми
	    '2dc1de3a-712a-4376-8baf-7833a43f6678', -- Военный комиссариат Троицко-Печорского района Республики Коми
	    'a6db3dba-65e3-4ad9-a76e-a846efec2a2d', -- Военный комиссариат Удорского района Республики Коми
	    '630ba6cd-c979-4d35-b128-f6e2527949ef', -- Военный комиссариат города Усинск и Усинского района Республики Коми
	    '231361d3-3d34-4409-8a30-20c4b013d62c', -- Военный комиссариат Усть-Куломского района Республики Коми
	    '6466af82-e8be-416d-88c9-cef02f99fef0', -- Военный комиссариат Усть-Цилемского района Республики Коми
	    '83c89e3d-aa69-43bc-857c-59ce405b9e1e', -- Военный комиссариат Туруханского района и города Игарка Красноярского края
	    'ec2c03cd-9c13-4980-9f6d-ba4a93a9a411', -- Военный комиссариат города Лесосибирск и Мотыгинского района Красноярского края
	    'd386bf1f-42bd-436f-8b14-288b2cbe1046', -- какой то Северо-Енисейский безымянный военкомат
	    '61b5758c-c72b-426e-a96f-e146d89197c2', -- Военный комиссариат города Норильск и Таймырского Долгано-Ненецкого района Красноярского края
	    '9f1a1e68-2fd2-478c-b6ba-b04cc6b752b3', -- Военный комиссариат Эвенкийского района Красноярского края
	    '7cb704d4-b600-4ce9-bddf-723e1b024f98', -- Военный комиссариат Гайнского района Пермского края
	    'be515915-26e8-41c8-af21-3b53d991d632', -- Военный комиссариат Кочевского и Косинского районов Пермского края
	    '28061db5-22ef-46f6-a2af-043c47288885', -- Военный комиссариат Ненецкого автономного округа
	    'ce08e909-5a14-480f-b931-bff172872ac6', -- ВК городских округов Курильский и Северо-Курильский Сахалинской области
	    'f578c2c0-72fe-4f3b-bcf7-659bda20f511', -- Военный комиссариат города Губкинский Пуровского и Красноселькупского районов Ямало-Ненецкого автономного округа
	    '5a0c4a0c-1d00-4528-9dcc-73c8d6dd52b9', -- Военный комиссариат города Лабытнанги и Шурышкарского района Ямало-Ненецкого автономного округа
	    '50af0e45-872b-48e8-bf74-c13b2162e3ce', -- Военный комиссариат городов Ноябрьск и Муравленко Ямало-Ненецкого автономного округа
	    'a8852d04-516d-4ea4-9979-5eb149e9ac7e', -- Военный комиссариат города Новый Уренгой Ямало-Ненецкого автономного округа
	    '9464d4df-9402-4eb2-abb2-c68b079ad5cf', -- Военный комиссариат города Салехард и Приуральского района Ямало-Ненецкого автономного округа
	    'b778245a-0257-4d93-a51c-fa7005e4a480', -- Военный комиссариат города Надым и Надымского района Ямало-Ненецкого автономного округа
	    '2e18cd11-bbca-406d-a2b8-0a89cbb2046e', -- Военный комиссариат Тазовского района Ямало-Ненецкого автономного округа
	    'a4126a2d-3412-47cd-aa90-caa62e202c7f' -- Военный комиссариат Ямальского района Ямало-Ненецкого автономного округа
    	)
),
grouped AS (
    SELECT 
        array_agg(idm_id) FILTER (WHERE part = 1) AS part_1,
        array_agg(idm_id) FILTER (WHERE part = 2) AS part_2,
        array_agg(idm_id) FILTER (WHERE part = 3) AS part_3,
        array_agg(idm_id) FILTER (WHERE part = 4) AS part_4,
        array_agg(idm_id) FILTER (WHERE part = 5) AS part_5
    FROM ids
),
split_parts AS (
    SELECT 
        gs.row_num,
        (SELECT array_agg(val) FROM unnest(part_1) WITH ORDINALITY AS t(val, ord) 
         WHERE ord > array_length(part_1, 1) * (gs.row_num - 1) / 2 
           AND ord &lt;= array_length(part_1, 1) * gs.row_num / 2) AS PART_RECRUITMENT_1,
        (SELECT array_agg(val) FROM unnest(part_2) WITH ORDINALITY AS t(val, ord) 
         WHERE ord > array_length(part_2, 1) * (gs.row_num - 1) / 2 
           AND ord &lt;= array_length(part_2, 1) * gs.row_num / 2) AS PART_RECRUITMENT_2,
        (SELECT array_agg(val) FROM unnest(part_3) WITH ORDINALITY AS t(val, ord) 
         WHERE ord > array_length(part_3, 1) * (gs.row_num - 1) / 2 
           AND ord &lt;= array_length(part_3, 1) * gs.row_num / 2) AS PART_RECRUITMENT_3,
        (SELECT array_agg(val) FROM unnest(part_4) WITH ORDINALITY AS t(val, ord) 
         WHERE ord > array_length(part_4, 1) * (gs.row_num - 1) / 2 
           AND ord &lt;= array_length(part_4, 1) * gs.row_num / 2) AS PART_RECRUITMENT_4,
        (SELECT array_agg(val) FROM unnest(part_5) WITH ORDINALITY AS t(val, ord) 
         WHERE ord > array_length(part_5, 1) * (gs.row_num - 1) / 2 
           AND ord &lt;= array_length(part_5, 1) * gs.row_num / 2) AS PART_RECRUITMENT_5
    FROM grouped
    CROSS JOIN generate_series(1, 2) gs(row_num)
)
SELECT 
PART_RECRUITMENT_1,
PART_RECRUITMENT_2,
PART_RECRUITMENT_3,
PART_RECRUITMENT_4,
PART_RECRUITMENT_5 
FROM split_parts;</sql>
    <variables_active>N</variables_active>
    <attributes/>
    <GUI>
      <xloc>512</xloc>
      <yloc>352</yloc>
    </GUI>
  </transform>
  <transform_error_handling>
  </transform_error_handling>
  <attributes/>
</pipeline>
