| Aggregate (cost=560.37..560.38 rows=1 width=32) |
| -> Hash Join (cost=469.69..557.57 rows=374 width=96) |
| Hash Cond: (t.id = ord.sales_contract_id) |
| -> Hash Left Join (cost=400.51..482.51 rows=577 width=100) |
| Hash Cond: (t.id = settle.sales_contract_id) |
| Filter: (((sales.sales_contract_id IS NOT NULL) OR (settle.sales_contract_id IS NOT NULL)) AND (((COALESCE(sales.amount, '0'::numeric) - COALESCE(return.amount, '0'::numeric)) - COALESCE(settle.amount, '0'::numeric)) < '0'::numeric)) |
| -> Hash Left Join (cost=182.76..260.19 rows=1732 width=72) |
| Hash Cond: (t.id = return.sales_contract_id) |
| -> Hash Left Join (cost=94.58..167.46 rows=1732 width=40) |
| Hash Cond: (t.id = sales.sales_contract_id) |
| -> Seq Scan on tbl_sales_contracts t (cost=0.00..68.32 rows=1732 width=4) |
| -> Hash (cost=92.75..92.75 rows=146 width=36) |
| -> Subquery Scan on sales (cost=89.47..92.75 rows=146 width=36) |
| -> HashAggregate (cost=89.47..91.29 rows=146 width=36) |
| Group Key: sc.id |
| -> Hash Right Join (cost=8.14..88.74 rows=146 width=10) |
| Hash Cond: (sc.from_project = t_1.project_id) |
| -> Seq Scan on tbl_sales_contracts sc (cost=0.00..68.32 rows=1732 width=8) |
| -> Hash (cost=6.31..6.31 rows=146 width=10) |
| -> Seq Scan on tbl_erp_sales_outbounds t_1 (cost=0.00..6.31 rows=146 width=10) |
| Filter: ((created_at >= '2025-08-08 14:34:58+08'::timestamp with time zone) AND (status = 2)) |
| -> Hash (cost=88.13..88.13 rows=4 width=36) |
| -> Subquery Scan on return (cost=88.01..88.13 rows=4 width=36) |
| -> GroupAggregate (cost=88.01..88.09 rows=4 width=36) |
| Group Key: sc_1.id |
| -> Sort (cost=88.01..88.02 rows=4 width=10) |
| Sort Key: sc_1.id |
| -> Hash Right Join (cost=13.11..87.97 rows=4 width=10) |
| Hash Cond: (sc_1.from_project = pi.project_id) |
| -> Seq Scan on tbl_sales_contracts sc_1 (cost=0.00..68.32 rows=1732 width=8) |
| -> Hash (cost=13.06..13.06 rows=4 width=10) |
| -> Nested Loop Left Join (cost=2.42..13.06 rows=4 width=10) |
| -> Hash Right Join (cost=2.28..12.19 rows=4 width=10) |
| Hash Cond: (esips.id = esrps.erp_sales_outbound_spent_product_id) |
| -> Seq Scan on tbl_erp_sales_outbound_spent_products esips (cost=0.00..8.27 rows=427 width=8) |
| -> Hash (cost=2.23..2.23 rows=4 width=10) |
| -> Hash Join (cost=1.14..2.23 rows=4 width=10) |
| Hash Cond: (esrps.erp_sales_return_id = t_2.id) |
| -> Seq Scan on tbl_erp_sales_return_products esrps (cost=0.00..1.06 rows=6 width=14) |
| -> Hash (cost=1.09..1.09 rows=4 width=4) |
| -> Seq Scan on tbl_erp_sales_returns t_2 (cost=0.00..1.09 rows=4 width=4) |
| Filter: ((created_at >= '2025-08-08 14:34:58+08'::timestamp with time zone) AND (status = 2)) |
| -> Index Scan using tbl_erp_sales_outbounds_pkey on tbl_erp_sales_outbounds pi (cost=0.14..0.22 rows=1 width=8) |
| Index Cond: (id = esips.erp_sales_outbound_id) |
| -> Hash (cost=215.28..215.28 rows=197 width=36) |
| -> Subquery Scan on settle (cost=210.85..215.28 rows=197 width=36) |
| -> HashAggregate (cost=210.85..213.31 rows=197 width=36) |
| Group Key: "*SELECT* 1".contract_id |
| -> Append (cost=71.41..209.87 rows=197 width=10) |
| -> Subquery Scan on "*SELECT* 1" (cost=71.41..114.99 rows=195 width=10) |
| -> Hash Join (cost=71.41..113.04 rows=195 width=106) |
| Hash Cond: (r.erp_collect_ticket_id = t_3.id) |
| -> Seq Scan on tbl_erp_collect_ticket_settles r (cost=0.00..35.94 rows=2160 width=14) |
| Filter: (sales_contract_id IS NOT NULL) |
| -> Hash (cost=68.94..68.94 rows=198 width=4) |
| -> Seq Scan on tbl_erp_collect_tickets t_3 (cost=0.00..68.94 rows=198 width=4) |
| Filter: ((created_at >= '2025-08-08 14:34:58+08'::timestamp with time zone) AND (status = 2)) |
| -> Subquery Scan on "*SELECT* 2" (cost=0.29..9.35 rows=1 width=9) |
| -> Nested Loop (cost=0.29..9.34 rows=1 width=105) |
| -> Seq Scan on tbl_erp_cash_cost_ticket_sales_contract_settles r_1 (cost=0.00..1.02 rows=1 width=13) |
| Filter: (sales_contract_id IS NOT NULL) |
| -> Index Scan using tbl_erp_cash_cost_tickets_pkey on tbl_erp_cash_cost_tickets t_4 (cost=0.29..8.31 rows=1 width=4) |
| Index Cond: (id = r_1.erp_cash_cost_ticket_id) |
| Filter: (is_payment_settle AND (created_at >= '2025-08-08 14:34:58+08'::timestamp with time zone) AND (status = 2)) |
| -> Subquery Scan on "*SELECT* 3" (cost=0.28..85.53 rows=1 width=36) |
| -> Nested Loop (cost=0.28..85.52 rows=1 width=132) |
| -> Seq Scan on tbl_erp_payment_ticket_settles r_2 (cost=0.00..39.65 rows=6 width=14) |
| Filter: (sales_contract_id IS NOT NULL) |
| -> Index Scan using tbl_erp_payment_tickets_pkey on tbl_erp_payment_tickets t_5 (cost=0.28..7.64 rows=1 width=4) |
| Index Cond: (id = r_2.erp_payment_ticket_id) |
| Filter: (is_payment_settle AND (created_at >= '2025-08-08 14:34:58+08'::timestamp with time zone) AND (status = 2)) |
| -> Hash (cost=55.16..55.16 rows=1122 width=4) |
| -> Seq Scan on tbl_erp_sales_orders ord (cost=0.00..55.16 rows=1122 width=4) |
| Filter: (NOT is_done) |