QUERY PLAN
Limit (cost=1056.88..5512.78 rows=20 width=249)
-> Result (cost=1056.88..13310.60 rows=55 width=249)
-> Sort (cost=1056.88..1057.02 rows=55 width=149)
Sort Key: sc.signed_at DESC, sc.created_at DESC
-> Hash Left Join (cost=1013.06..1055.41 rows=55 width=149)
Hash Cond: (c.sales_rep = sgr.sales_id)
-> Hash Right Join (cost=1010.96..1052.69 rows=55 width=95)
Hash Cond: (t0.id = sc.id)
-> HashAggregate (cost=298.70..318.32 rows=1569 width=36)
Group Key: t0.id
-> Hash Right Join (cost=246.45..289.62 rows=1817 width=17)
Hash Cond: (t1.contract_id = t0.id)
-> Seq Scan on tbl_sales_contract_invoices t1 (cost=0.00..38.34 rows=1834 width=10)
-> Hash (cost=226.84..226.84 rows=1569 width=11)
-> Seq Scan on tbl_sales_contracts t0 (cost=0.00..226.84 rows=1569 width=11)
Filter: need_analysis
-> Hash (cost=711.57..711.57 rows=55 width=67)
-> Nested Loop Left Join (cost=575.88..711.57 rows=55 width=67)
-> Nested Loop Left Join (cost=575.61..646.48 rows=55 width=45)
Filter: ((c.sales_rep = ANY ('{1001,5049,5301,5022,5209,5026,5293,5309,5356,5329,5299,5303,5302,5332,5047,1026,5096,5070,5448,5420,1029,5037,5087,1008,5048,5043,5045,5230,5031,5088,5208,1003,5294,5357,5044,1030,5076,5300,5027,5089,5311,5066,5069,5364,1009,5295,1013,5128,5203,1025,5032,5075,1004,5072,5033,5359,5412,5409,5229,1005,5304,5449,5358,1006,5093}'::integer[])) OR (c.sales_rep IS NULL))
-> Hash Join (cost=575.33..600.29 rows=73 width=45)
Hash Cond: (sc_1.from_project = p.id)
Join Filter: (((scpcrd.remind_date >= '2025-08-01'::date) AND (scpcrd.remind_date <= '2025-08-31'::date)) OR ((CASE WHEN (p.collected IS NULL) THEN '0'::numeric ELSE p.collected END < (SubPlan 10)) AND (CASE WHEN (scpcrd.remind_date <= '2025-08-09'::date) THEN ((SubPlan 11) - CASE WHEN (p.collected IS NULL) THEN '0'::numeric ELSE p.collected END) ELSE '0'::numeric END > '0'::numeric)))
-> Hash Join (cost=246.31..268.57 rows=1032 width=45)
Hash Cond: (scpcrd.contract_id = sc_1.id)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrd (cost=0.00..19.49 rows=1049 width=33)
-> Hash (cost=226.84..226.84 rows=1558 width=16)
-> Seq Scan on tbl_sales_contracts sc_1 (cost=0.00..226.84 rows=1558 width=16)
Filter: (from_project IS NOT NULL)
-> Hash (cost=309.54..309.54 rows=1558 width=8)
-> Seq Scan on tbl_projects p (cost=0.00..309.54 rows=1558 width=8)
Filter: (project_status = 3)
SubPlan 10
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_9 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
SubPlan 11
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_10 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
-> Index Scan using tbl_clients_pkey on tbl_clients c (cost=0.28..0.54 rows=1 width=8)
Index Cond: (sc_1.client_id = id)
-> Index Scan using tbl_sales_contracts_pkey on tbl_sales_contracts sc (cost=0.28..1.18 rows=1 width=30)
Index Cond: (scpcrd.contract_id = id)
-> Hash (cost=1.49..1.49 rows=49 width=4)
-> Seq Scan on tbl_sales_group_relationships sgr (cost=0.00..1.49 rows=49 width=4)
SubPlan 1
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
SubPlan 2
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_1 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
SubPlan 3
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_2 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
SubPlan 4
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_3 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
SubPlan 5
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_4 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
SubPlan 6
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_5 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
SubPlan 7
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_6 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
SubPlan 8
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_7 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
SubPlan 9
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_8 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))