| Limit (cost=1519.57..1519.62 rows=20 width=313) |
| -> Sort (cost=1519.57..1519.68 rows=45 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=1439.57..1518.37 rows=45 width=313) |
| Hash Cond: (sc.id = ovsub.id) |
| -> Nested Loop (cost=1108.97..1186.29 rows=45 width=120) |
| -> Seq Scan on tbl_sales_group_relationships sgr (cost=0.00..1.77 rows=1 width=4) |
| Filter: ((sales_id = 1001) AND (group_id = 1)) |
| -> Nested Loop Left Join (cost=1108.97..1184.08 rows=45 width=124) |
| -> Hash Right Join (cost=1108.69..1154.15 rows=45 width=124) |
| Hash Cond: (t0.id = sc.id) |
| -> HashAggregate (cost=149.84..171.27 rows=1715 width=36) |
| Group Key: t0.id |
| -> Hash Right Join (cost=89.76..139.68 rows=2032 width=17) |
| Hash Cond: (t1.contract_id = t0.id) |
| -> Seq Scan on tbl_sales_contract_invoices t1 (cost=0.00..44.52 rows=2052 width=10) |
| -> Hash (cost=68.32..68.32 rows=1715 width=11) |
| -> Seq Scan on tbl_sales_contracts t0 (cost=0.00..68.32 rows=1715 width=11) |
| Filter: need_analysis |
| -> Hash (cost=958.29..958.29 rows=45 width=92) |
| -> Hash Right Join (cost=916.70..958.29 rows=45 width=92) |
| Hash Cond: (t0_1.id = sc.id) |
| -> HashAggregate (cost=398.47..415.79 rows=1732 width=44) |
| Group Key: t0_1.id |
| -> Hash Right Join (cost=180.78..387.67 rows=2160 width=36) |
| Hash Cond: ("*SELECT* 1".contract_id = t0_1.id) |
| -> Append (cost=90.81..270.41 rows=2160 width=124) |
| -> Subquery Scan on "*SELECT* 1" (cost=90.81..175.49 rows=2153 width=83) |
| -> Hash Join (cost=90.81..148.58 rows=2153 width=79) |
| Hash Cond: (r.erp_collect_ticket_id = t.id) |
| -> Seq Scan on tbl_erp_collect_ticket_settles r (cost=0.00..35.94 rows=2160 width=18) |
| Filter: (sales_contract_id IS NOT NULL) |
| -> Hash (cost=63.45..63.45 rows=2189 width=37) |
| -> Seq Scan on tbl_erp_collect_tickets t (cost=0.00..63.45 rows=2189 width=37) |
| Filter: (status = ANY ('{2,5}'::integer[])) |
| -> Nested Loop (cost=0.29..9.33 rows=1 width=95) |
| -> Seq Scan on tbl_erp_cash_cost_ticket_sales_contract_settles r_1 (cost=0.00..1.02 rows=1 width=17) |
| 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.29..8.30 rows=1 width=46) |
| Index Cond: (id = r_1.erp_cash_cost_ticket_id) |
| Filter: (is_payment_settle AND (status = ANY ('{2,5}'::integer[]))) |
| -> Nested Loop (cost=0.28..85.52 rows=6 width=116) |
| -> Seq Scan on tbl_erp_payment_ticket_settles r_2 (cost=0.00..39.65 rows=6 width=18) |
| 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..7.63 rows=1 width=40) |
| Index Cond: (id = r_2.erp_payment_ticket_id) |
| Filter: (is_payment_settle AND (status = ANY ('{2,5}'::integer[]))) |
| -> Hash (cost=68.32..68.32 rows=1732 width=4) |
| -> Seq Scan on tbl_sales_contracts t0_1 (cost=0.00..68.32 rows=1732 width=4) |
| -> Hash (cost=517.68..517.68 rows=45 width=84) |
| -> Hash Right Join (cost=502.55..517.68 rows=45 width=84) |
| Hash Cond: (t0_2.contract_id = sc.id) |
| Filter: (((t0_2.id IS NOT NULL) AND (t0_2.paid_amount <> '0'::numeric)) OR ((t0_2.id IS NULL) AND (sc.erp_settle_amount > '0'::numeric))) |
| -> HashAggregate (cost=328.56..334.82 rows=626 width=41) |
| Group Key: t0_2.id |
| -> Hash Join (cost=292.33..327.00 rows=626 width=32) |
| Hash Cond: (t0_2.contract_id = t1_1.id) |
| -> Seq Scan on tbl_sales_contract_payment_collection_remind_dates t0_2 (cost=0.00..23.93 rows=1193 width=32) |
| -> Hash (cost=280.97..280.97 rows=909 width=4) |
| -> Hash Join (cost=208.21..280.97 rows=909 width=4) |
| Hash Cond: (t1_1.from_project = p_1.id) |
| -> Seq Scan on tbl_sales_contracts t1_1 (cost=0.00..68.32 rows=1686 width=8) |
| Filter: (need_analysis AND (from_project IS NOT NULL)) |
| -> Hash (cost=186.78..186.78 rows=1715 width=4) |
| -> Seq Scan on tbl_projects p_1 (cost=0.00..186.78 rows=1715 width=4) |
| Filter: (project_status = 3) |
| -> Hash (cost=173.42..173.42 rows=46 width=56) |
| -> Hash Join (cost=100.57..173.42 rows=46 width=56) |
| Hash Cond: (sc.client_id = c.id) |
| -> Seq Scan on tbl_sales_contracts sc (cost=0.00..68.32 rows=1720 width=52) |
| Filter: build_by_project |
| -> Hash (cost=99.91..99.91 rows=53 width=8) |
| -> Bitmap Heap Scan on tbl_clients c (cost=4.82..99.91 rows=53 width=8) |
| Recheck Cond: (sales_rep = 1001) |
| -> Bitmap Index Scan on tbl_clients_sales_rep_idx (cost=0.00..4.80 rows=70 width=0) |
| Index Cond: (sales_rep = 1001) |
| -> Index Scan using tbl_projects_pkey on tbl_projects p (cost=0.28..0.66 rows=1 width=8) |
| Index Cond: (sc.from_project = id) |
| -> Hash (cost=328.06..328.06 rows=204 width=36) |
| -> Subquery Scan on ovsub (cost=323.47..328.06 rows=204 width=36) |
| -> HashAggregate (cost=323.47..326.02 rows=204 width=36) |
| Group Key: t1_2.id |
| -> Hash Join (cost=127.23..322.45 rows=204 width=10) |
| Hash Cond: (p_2.id = t1_2.from_project) |
| -> Seq Scan on tbl_projects p_2 (cost=0.00..186.78 rows=1715 width=4) |
| Filter: (project_status = 3) |
| -> Hash (cost=122.50..122.50 rows=379 width=14) |
| -> Hash Join (cost=37.74..122.50 rows=379 width=14) |
| Hash Cond: (t1_2.id = t0_3.contract_id) |
| -> Seq Scan on tbl_sales_contracts t1_2 (cost=0.00..68.32 rows=1686 width=8) |
| Filter: (need_analysis AND (from_project IS NOT NULL)) |
| -> Hash (cost=32.88..32.88 rows=389 width=10) |
| -> Seq Scan on tbl_sales_contract_payment_collection_remind_dates t0_3 (cost=0.00..32.88 rows=389 width=10) |
| Filter: (((status = 1) AND (overdue_days IS NOT NULL)) OR ((status = 0) AND (remind_date <= '2026-07-10'::date))) |