| Limit (cost=1457.66..1457.69 rows=11 width=313) |
| -> Sort (cost=1457.66..1457.69 rows=11 width=313) |
| Sort Key: (CASE WHEN (t0_2.id IS NOT NULL) THEN t0_2.remind_date ELSE sc.signed_at END) DESC |
| -> Hash Left Join (cost=1237.74..1457.47 rows=11 width=313) |
| Hash Cond: (sc.id = ovsub.id) |
| -> Nested Loop Left Join (cost=912.96..1132.34 rows=11 width=120) |
| -> Nested Loop Left Join (cost=912.82..1126.47 rows=11 width=124) |
| -> Nested Loop Left Join (cost=912.54..1052.79 rows=11 width=124) |
| 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,5409,5412,5229,1005,5304,5449,5358,1006,5093}'::integer[])) OR (c.sales_rep IS NULL)) |
| -> Hash Right Join (cost=912.27..954.99 rows=15 width=120) |
| Hash Cond: (t0.id = sc.id) |
| -> HashAggregate (cost=139.49..159.77 rows=1622 width=36) |
| Group Key: t0.id |
| -> Hash Right Join (cost=84.65..129.96 rows=1907 width=17) |
| Hash Cond: (t1.contract_id = t0.id) |
| -> Seq Scan on tbl_sales_contract_invoices t1 (cost=0.00..40.25 rows=1925 width=10) |
| -> Hash (cost=64.37..64.37 rows=1622 width=11) |
| -> Seq Scan on tbl_sales_contracts t0 (cost=0.00..64.37 rows=1622 width=11) |
| Filter: need_analysis |
| -> Hash (cost=772.59..772.59 rows=15 width=88) |
| -> Hash Right Join (cost=733.56..772.59 rows=15 width=88) |
| Hash Cond: (t0_1.id = sc.id) |
| -> HashAggregate (cost=329.62..345.99 rows=1637 width=44) |
| Group Key: t0_1.id |
| -> Hash Right Join (cost=173.27..319.33 rows=2059 width=36) |
| Hash Cond: ("*SELECT* 1".contract_id = t0_1.id) |
| -> Append (cost=88.44..229.08 rows=2059 width=36) |
| -> Subquery Scan on "*SELECT* 1" (cost=88.44..164.60 rows=2056 width=36) |
| -> Hash Join (cost=88.44..144.04 rows=2056 width=124) |
| Hash Cond: (r.erp_collect_ticket_id = t.id) |
| -> Seq Scan on tbl_erp_collect_ticket_settles r (cost=0.00..34.77 rows=2059 width=12) |
| Filter: (sales_contract_id IS NOT NULL) |
| -> Hash (cost=61.74..61.74 rows=2136 width=4) |
| -> Seq Scan on tbl_erp_collect_tickets t (cost=0.00..61.74 rows=2136 width=4) |
| Filter: (status = ANY ('{2,5}'::integer[])) |
| -> Subquery Scan on "*SELECT* 2" (cost=0.28..9.33 rows=1 width=36) |
| -> Nested Loop (cost=0.28..9.32 rows=1 width=124) |
| -> Seq Scan on tbl_erp_cash_cost_ticket_sales_contract_settles r_1 (cost=0.00..1.01 rows=1 width=12) |
| Filter: (sales_contract_id IS NOT NULL) |
| -> Index Scan using tbl_erp_cash_cost_tickets_pkey on tbl_erp_cash_cost_tickets t_1 (cost=0.28..8.30 rows=1 width=4) |
| Index Cond: (id = r_1.erp_cash_cost_ticket_id) |
| Filter: (is_payment_settle AND (status = ANY ('{2,5}'::integer[]))) |
| -> Subquery Scan on "*SELECT* 3" (cost=0.28..55.14 rows=2 width=36) |
| -> Nested Loop (cost=0.28..55.12 rows=2 width=124) |
| -> Seq Scan on tbl_erp_payment_ticket_settles r_2 (cost=0.00..38.50 rows=2 width=12) |
| Filter: (sales_contract_id IS NOT NULL) |
| -> Index Scan using tbl_erp_payment_tickets_pkey on tbl_erp_payment_tickets t_2 (cost=0.28..8.30 rows=1 width=4) |
| Index Cond: (id = r_2.erp_payment_ticket_id) |
| Filter: (is_payment_settle AND (status = ANY ('{2,5}'::integer[]))) |
| -> Hash (cost=64.37..64.37 rows=1637 width=4) |
| -> Seq Scan on tbl_sales_contracts t0_1 (cost=0.00..64.37 rows=1637 width=4) |
| -> Hash (cost=403.75..403.75 rows=15 width=80) |
| -> Hash Right Join (cost=390.76..403.75 rows=15 width=80) |
| Hash Cond: (t0_2.contract_id = sc.id) |
| -> HashAggregate (cost=326.20..331.94 rows=574 width=41) |
| Group Key: t0_2.id |
| -> Hash Join (cost=132.84..324.77 rows=574 width=32) |
| Hash Cond: (p_1.id = t1_1.from_project) |
| -> Seq Scan on tbl_projects p_1 (cost=0.00..180.19 rows=1623 width=4) |
| Filter: (project_status = 3) |
| -> Hash (cost=119.33..119.33 rows=1081 width=36) |
| -> Hash Join (cost=84.32..119.33 rows=1081 width=36) |
| Hash Cond: (t0_2.contract_id = t1_1.id) |
| -> Seq Scan on tbl_sales_contract_payment_collection_remind_dates t0_2 (cost=0.00..32.09 rows=1109 width=32) |
| -> Hash (cost=64.37..64.37 rows=1596 width=8) |
| -> Seq Scan on tbl_sales_contracts t1_1 (cost=0.00..64.37 rows=1596 width=8) |
| Filter: (need_analysis AND (from_project IS NOT NULL)) |
| -> Hash (cost=64.37..64.37 rows=15 width=52) |
| -> Seq Scan on tbl_sales_contracts sc (cost=0.00..64.37 rows=15 width=52) |
| Filter: (build_by_project AND (NOT need_analysis)) |
| -> Index Scan using tbl_clients_pkey on tbl_clients c (cost=0.28..6.43 rows=1 width=8) |
| Index Cond: (sc.client_id = id) |
| -> Index Scan using tbl_projects_pkey on tbl_projects p (cost=0.28..6.70 rows=1 width=8) |
| Index Cond: (sc.from_project = id) |
| -> Index Only Scan using tbl_sales_group_relationships_pkey on tbl_sales_group_relationships sgr (cost=0.14..0.52 rows=1 width=4) |
| Index Cond: (sales_id = c.sales_rep) |
| -> Hash (cost=322.44..322.44 rows=187 width=36) |
| -> Subquery Scan on ovsub (cost=318.23..322.44 rows=187 width=36) |
| -> HashAggregate (cost=318.23..320.57 rows=187 width=36) |
| Group Key: t1_2.id |
| -> Hash Join (cost=129.18..317.29 rows=187 width=10) |
| Hash Cond: (p_2.id = t1_2.from_project) |
| -> Seq Scan on tbl_projects p_2 (cost=0.00..180.19 rows=1623 width=4) |
| Filter: (project_status = 3) |
| -> Hash (cost=124.78..124.78 rows=352 width=14) |
| -> Hash Join (cost=44.92..124.78 rows=352 width=14) |
| Hash Cond: (t1_2.id = t0_3.contract_id) |
| -> Seq Scan on tbl_sales_contracts t1_2 (cost=0.00..64.37 rows=1596 width=8) |
| Filter: (need_analysis AND (from_project IS NOT NULL)) |
| -> Hash (cost=40.41..40.41 rows=361 width=10) |
| -> Seq Scan on tbl_sales_contract_payment_collection_remind_dates t0_3 (cost=0.00..40.41 rows=361 width=10) |
| Filter: (((status = 1) AND (overdue_days IS NOT NULL)) OR ((status = 0) AND (remind_date <= '2025-12-18'::date))) |