| 09:19:47.627 | 0.8 ms | SELECT | SELECT * FROM "global"."vw_user_login" WHERE "id"=1001 |
| 09:19:47.629 | 0.5 ms | SELECT | SELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001 |
| 09:19:47.635 | 12.5 ms | SELECT | SELECT COUNT(*) FROM (SELECT p.*,
CASE WHEN p.erp_sales_amount != 0 THEN erp_j_profit_amount / erp_sales_amount ELSE NULL END as erp_j_profit_pct,
CASE WHEN p.erp_sales_amount != 0 THEN erp_profit_amount / erp_sales_amount ELSE NULL END as erp_profit_pct
FROM (SELECT
p.id,
p.project_title,
p.client_id,
p.budget,
p.updated_at,
p.created_at,
p.bargain_date,
p.collected,
p.budget - p.collected AS un_collected,
p.pinyin_shortcut,
p.description,
(p.id::varchar || pd.user_id::varchar) as id,
p.id as id2,
(COALESCE(sum(ecctasc.amount), 0) + COALESCE(sum(ecctcpc.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cash_cost_ticket_amount,
COALESCE(sum(ecta.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_ticket_amount,
COALESCE(sum(eccrta.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_convert_amount,
COALESCE(sum(esgs.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_sales_gift_amount,
(CASE WHEN pd.user_id IS NOT NULL THEN pd.user_id ELSE p.created_by END) as created_by,
(COALESCE(sum(o2.outbound_cost), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_amount,
(COALESCE(sum(o2.outbound_amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_sales_amount,
(COALESCE(sum(ecta.amount), 0) + COALESCE(sum(ecctasc.amount), 0) + COALESCE(sum(ecctcpc.amount), 0) + COALESCE(sum(eccrta.amount), 0) + COALESCE(sum(esgs.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_use_amount,
(COALESCE(sum(o.outbound_amount - o.outbound_cost), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_profit_amount,
(COALESCE(sum(o.outbound_amount - o.outbound_cost), 0) - COALESCE(sum(ecta.amount), 0) - COALESCE(sum(ecctasc.amount), 0) - COALESCE(sum(ecctcpc.amount), 0) - COALESCE(sum(eccrta.amount), 0) - COALESCE(sum(esgs.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_j_profit_amount,
COALESCE(sum(ctlc.erp_labor_cost_amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_labor_cost_amount,
(COALESCE(sum(o.outbound_amount - o.outbound_cost), 0) - COALESCE(sum(ecta.amount), 0) - COALESCE(sum(ecctasc.amount), 0) - COALESCE(sum(ecctcpc.amount), 0) - COALESCE(sum(eccrta.amount), 0) - COALESCE(sum(esgs.amount), 0) - COALESCE(sum(ctlc.erp_labor_cost_amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_j_profit_deduct_labor_amount
FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.from_project = p.id LEFT JOIN (SELECT t.project_id, r.user_id, sum(r.pct) as pct FROM "a57be577deb434"."tbl_erp_profit_distributes" "t" LEFT JOIN "a57be577deb434"."tbl_erp_profit_distribute_pcts" "r" ON t.id = r.erp_profit_distribute_id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id", "r"."user_id") "pd" ON pd.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_users" "u" ON u.id = pd.user_id LEFT JOIN "a57be577deb434"."tbl_users" "u2" ON u2.id = p.created_by LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount), 0) as outbound_cost, COALESCE(sum(eipss.total_amount), 0) as outbound_amount FROM "a57be577deb434"."tbl_erp_sales_outbounds" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_outbound_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "o" ON p.id = o.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount), 0) as outbound_cost, COALESCE(sum(eipss.total_amount), 0) as outbound_amount FROM "a57be577deb434"."tbl_erp_sales_outbounds" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_outbound_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "o2" ON p.id = o2.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(t.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cost_tickets" "t" WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "ecta" ON p.id = ecta.project_id LEFT JOIN (SELECT sc.from_project as project_id, COALESCE(sum(t.amount),0) as amount FROM "a57be577deb434"."tbl_erp_cash_cost_tickets" "t" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.id = t.sales_contract_id LEFT JOIN "a57be577deb434"."tbl_erp_cash_cost_ticket_client_project_costs" "cpc" ON cpc.erp_cash_cost_ticket_id = t.id WHERE ("t"."status"=2) AND (cpc.id IS NULL) AND (sc.from_project IS NOT NULL) GROUP BY "sc"."from_project") "ecctasc" ON p.id = ecctasc.project_id LEFT JOIN (SELECT cpc.project_id, COALESCE(sum(cpc.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cash_cost_ticket_client_project_costs" "cpc" LEFT JOIN "a57be577deb434"."tbl_erp_cash_cost_tickets" "t" ON cpc.erp_cash_cost_ticket_id = t.id WHERE ("t"."status"=2) AND (cpc.project_id IS NOT NULL) GROUP BY "cpc"."project_id") "ecctcpc" ON p.id = ecctcpc.project_id LEFT JOIN (SELECT sc.from_project as project_id, COALESCE(sum(t.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cost_convert_tickets" "t" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.id = t.sales_contract_id WHERE ("t"."status"=2) AND (sc.from_project IS NOT NULL) GROUP BY "sc"."from_project") "eccrta" ON p.id = eccrta.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount - eipss.total_amount), 0) as amount FROM "a57be577deb434"."tbl_erp_sales_gifts" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_gift_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "esgs" ON p.id = esgs.project_id LEFT JOIN (SELECT ct.project_id as project_id, COALESCE(sum(CASE WHEN ct.work_hours > 0 THEN COALESCE(payroll.amount, 0) / GREATEST((
SELECT COUNT(1)
FROM generate_series(ct.settle_month::timestamp, (ct.settle_month + interval '1 month - 1 day')::timestamp, interval '1 day') AS work_dates(work_date)
LEFT JOIN a57be577deb434.tbl_legal_holidays lh ON lh.edate = work_dates.work_date::date
LEFT JOIN a57be577deb434.tbl_punch_strategy_schedules pss ON pss.edate = work_dates.work_date::date AND pss.punch_strategy_id = ps.id
WHERE CASE
WHEN ps.id IS NULL THEN EXTRACT(ISODOW FROM work_dates.work_date)::integer BETWEEN 1 AND 5
WHEN pss.id IS NOT NULL THEN pss.need_work
WHEN ps.legal_holiday AND lh.id IS NOT NULL THEN lh.is_exchange
ELSE (ps.week::integer & (1 << (EXTRACT(ISODOW FROM work_dates.work_date)::integer - 1))) <> 0
END
), 1) / GREATEST((CASE WHEN ps.id IS NULL THEN 8 WHEN ps.punch_type = 0 THEN 8 WHEN ps.work_hour IS NOT NULL AND ps.work_hour > 0 THEN ps.work_hour ELSE 8 END), 1) * ct.work_hours ELSE 0 END), 0) as erp_labor_cost_amount FROM ((SELECT
p.id as ticket_id,
'preSales' as ticket_type,
'售前' as ticket_type_name,
p.ticket_no,
p.case_id,
c.case_no,
COALESCE(p.client_id, c.client_id) as client_id,
c.project_id,
cl.sales_rep as sales_rep_id,
p.engineer_id,
p.start_at,
p.end_at,
date_trunc('month', p.start_at)::date as settle_month,
EXTRACT(EPOCH FROM (p.end_at - p.start_at)) / 3600 as work_hours
FROM "a57be577deb434"."tbl_pre_sales" "p" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON c.id = p.case_id LEFT JOIN "a57be577deb434"."tbl_clients" "cl" ON cl.id = COALESCE(p.client_id, c.client_id) WHERE (p.start_at IS NOT NULL) AND (p.end_at IS NOT NULL) AND (p.end_at > p.start_at) AND (p.engineer_id IS NOT NULL) AND (("p"."is_draft"=FALSE) OR (p.is_draft IS NULL)) AND ("p"."start_at" >= '2026/12/01 00:00:00') AND ("p"."start_at" <= '2026/12/31 23:59:59')) UNION ALL ( SELECT
i.id as ticket_id,
'implementRecords' as ticket_type,
'实施' as ticket_type_name,
i.ticket_no,
i.case_id,
c.case_no,
COALESCE(i.client_id, c.client_id) as client_id,
c.project_id,
cl.sales_rep as sales_rep_id,
c.last_engineer as engineer_id,
i.arrived_at as start_at,
i.left_at as end_at,
date_trunc('month', i.arrived_at)::date as settle_month,
EXTRACT(EPOCH FROM (i.left_at - i.arrived_at)) / 3600 as work_hours
FROM "a57be577deb434"."tbl_implement_records" "i" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON c.id = i.case_id LEFT JOIN "a57be577deb434"."tbl_clients" "cl" ON cl.id = COALESCE(i.client_id, c.client_id) WHERE (i.arrived_at IS NOT NULL) AND (i.left_at IS NOT NULL) AND (i.left_at > i.arrived_at) AND (c.last_engineer IS NOT NULL) AND (("i"."is_draft"=FALSE) OR (i.is_draft IS NULL)) AND ("i"."arrived_at" >= '2026/12/01 00:00:00') AND ("i"."arrived_at" <= '2026/12/31 23:59:59') )) "ct" LEFT JOIN (SELECT pay.user_id, pay.settle_month, COALESCE(sum(pay.amount), 0) as amount FROM ((SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_wage_ticket_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_wage_tickets" "t" ON am.erp_wage_ticket_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month") UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_social_insurance_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_social_insurances" "t" ON am.erp_social_insurance_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" ) UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_provident_fund_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_provident_funds" "t" ON am.erp_provident_fund_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" ) UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_personal_tax_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_personal_taxs" "t" ON am.erp_personal_tax_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" )) "pay" GROUP BY "pay"."user_id", "pay"."settle_month") "payroll" ON payroll.user_id = ct.engineer_id AND payroll.settle_month = ct.settle_month LEFT JOIN "a57be577deb434"."tbl_punch_strategy_resource_rels" "psrr" ON psrr.user_id = ct.engineer_id LEFT JOIN "a57be577deb434"."tbl_punch_strategies" "ps" ON ps.id = psrr.punch_strategy_id WHERE ct.project_id IS NOT NULL GROUP BY "ct"."project_id") "ctlc" ON p.id = ctlc.project_id WHERE ("project_status"=3) AND ("p"."bargain_date" >= '2026/12/01 00:00:00') AND ("p"."bargain_date" <= '2026/12/31 23:59:59') GROUP BY "p"."id", "pd"."user_id", "pd"."pct") "p" LEFT JOIN "a57be577deb434"."tbl_users" "u2" ON u2.id = p.created_by LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id ORDER BY "p"."bargain_date" DESC, "p"."updated_at" DESC) "c" |
| 09:19:47.648 | 13.6 ms | SELECT | SELECT p.*,
CASE WHEN p.erp_sales_amount != 0 THEN erp_j_profit_amount / erp_sales_amount ELSE NULL END as erp_j_profit_pct,
CASE WHEN p.erp_sales_amount != 0 THEN erp_profit_amount / erp_sales_amount ELSE NULL END as erp_profit_pct
FROM (SELECT
p.id,
p.project_title,
p.client_id,
p.budget,
p.updated_at,
p.created_at,
p.bargain_date,
p.collected,
p.budget - p.collected AS un_collected,
p.pinyin_shortcut,
p.description,
(p.id::varchar || pd.user_id::varchar) as id,
p.id as id2,
(COALESCE(sum(ecctasc.amount), 0) + COALESCE(sum(ecctcpc.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cash_cost_ticket_amount,
COALESCE(sum(ecta.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_ticket_amount,
COALESCE(sum(eccrta.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_convert_amount,
COALESCE(sum(esgs.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_sales_gift_amount,
(CASE WHEN pd.user_id IS NOT NULL THEN pd.user_id ELSE p.created_by END) as created_by,
(COALESCE(sum(o2.outbound_cost), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_amount,
(COALESCE(sum(o2.outbound_amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_sales_amount,
(COALESCE(sum(ecta.amount), 0) + COALESCE(sum(ecctasc.amount), 0) + COALESCE(sum(ecctcpc.amount), 0) + COALESCE(sum(eccrta.amount), 0) + COALESCE(sum(esgs.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_use_amount,
(COALESCE(sum(o.outbound_amount - o.outbound_cost), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_profit_amount,
(COALESCE(sum(o.outbound_amount - o.outbound_cost), 0) - COALESCE(sum(ecta.amount), 0) - COALESCE(sum(ecctasc.amount), 0) - COALESCE(sum(ecctcpc.amount), 0) - COALESCE(sum(eccrta.amount), 0) - COALESCE(sum(esgs.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_j_profit_amount,
COALESCE(sum(ctlc.erp_labor_cost_amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_labor_cost_amount,
(COALESCE(sum(o.outbound_amount - o.outbound_cost), 0) - COALESCE(sum(ecta.amount), 0) - COALESCE(sum(ecctasc.amount), 0) - COALESCE(sum(ecctcpc.amount), 0) - COALESCE(sum(eccrta.amount), 0) - COALESCE(sum(esgs.amount), 0) - COALESCE(sum(ctlc.erp_labor_cost_amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_j_profit_deduct_labor_amount
FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.from_project = p.id LEFT JOIN (SELECT t.project_id, r.user_id, sum(r.pct) as pct FROM "a57be577deb434"."tbl_erp_profit_distributes" "t" LEFT JOIN "a57be577deb434"."tbl_erp_profit_distribute_pcts" "r" ON t.id = r.erp_profit_distribute_id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id", "r"."user_id") "pd" ON pd.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_users" "u" ON u.id = pd.user_id LEFT JOIN "a57be577deb434"."tbl_users" "u2" ON u2.id = p.created_by LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount), 0) as outbound_cost, COALESCE(sum(eipss.total_amount), 0) as outbound_amount FROM "a57be577deb434"."tbl_erp_sales_outbounds" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_outbound_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "o" ON p.id = o.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount), 0) as outbound_cost, COALESCE(sum(eipss.total_amount), 0) as outbound_amount FROM "a57be577deb434"."tbl_erp_sales_outbounds" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_outbound_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "o2" ON p.id = o2.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(t.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cost_tickets" "t" WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "ecta" ON p.id = ecta.project_id LEFT JOIN (SELECT sc.from_project as project_id, COALESCE(sum(t.amount),0) as amount FROM "a57be577deb434"."tbl_erp_cash_cost_tickets" "t" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.id = t.sales_contract_id LEFT JOIN "a57be577deb434"."tbl_erp_cash_cost_ticket_client_project_costs" "cpc" ON cpc.erp_cash_cost_ticket_id = t.id WHERE ("t"."status"=2) AND (cpc.id IS NULL) AND (sc.from_project IS NOT NULL) GROUP BY "sc"."from_project") "ecctasc" ON p.id = ecctasc.project_id LEFT JOIN (SELECT cpc.project_id, COALESCE(sum(cpc.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cash_cost_ticket_client_project_costs" "cpc" LEFT JOIN "a57be577deb434"."tbl_erp_cash_cost_tickets" "t" ON cpc.erp_cash_cost_ticket_id = t.id WHERE ("t"."status"=2) AND (cpc.project_id IS NOT NULL) GROUP BY "cpc"."project_id") "ecctcpc" ON p.id = ecctcpc.project_id LEFT JOIN (SELECT sc.from_project as project_id, COALESCE(sum(t.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cost_convert_tickets" "t" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.id = t.sales_contract_id WHERE ("t"."status"=2) AND (sc.from_project IS NOT NULL) GROUP BY "sc"."from_project") "eccrta" ON p.id = eccrta.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount - eipss.total_amount), 0) as amount FROM "a57be577deb434"."tbl_erp_sales_gifts" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_gift_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "esgs" ON p.id = esgs.project_id LEFT JOIN (SELECT ct.project_id as project_id, COALESCE(sum(CASE WHEN ct.work_hours > 0 THEN COALESCE(payroll.amount, 0) / GREATEST((
SELECT COUNT(1)
FROM generate_series(ct.settle_month::timestamp, (ct.settle_month + interval '1 month - 1 day')::timestamp, interval '1 day') AS work_dates(work_date)
LEFT JOIN a57be577deb434.tbl_legal_holidays lh ON lh.edate = work_dates.work_date::date
LEFT JOIN a57be577deb434.tbl_punch_strategy_schedules pss ON pss.edate = work_dates.work_date::date AND pss.punch_strategy_id = ps.id
WHERE CASE
WHEN ps.id IS NULL THEN EXTRACT(ISODOW FROM work_dates.work_date)::integer BETWEEN 1 AND 5
WHEN pss.id IS NOT NULL THEN pss.need_work
WHEN ps.legal_holiday AND lh.id IS NOT NULL THEN lh.is_exchange
ELSE (ps.week::integer & (1 << (EXTRACT(ISODOW FROM work_dates.work_date)::integer - 1))) <> 0
END
), 1) / GREATEST((CASE WHEN ps.id IS NULL THEN 8 WHEN ps.punch_type = 0 THEN 8 WHEN ps.work_hour IS NOT NULL AND ps.work_hour > 0 THEN ps.work_hour ELSE 8 END), 1) * ct.work_hours ELSE 0 END), 0) as erp_labor_cost_amount FROM ((SELECT
p.id as ticket_id,
'preSales' as ticket_type,
'售前' as ticket_type_name,
p.ticket_no,
p.case_id,
c.case_no,
COALESCE(p.client_id, c.client_id) as client_id,
c.project_id,
cl.sales_rep as sales_rep_id,
p.engineer_id,
p.start_at,
p.end_at,
date_trunc('month', p.start_at)::date as settle_month,
EXTRACT(EPOCH FROM (p.end_at - p.start_at)) / 3600 as work_hours
FROM "a57be577deb434"."tbl_pre_sales" "p" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON c.id = p.case_id LEFT JOIN "a57be577deb434"."tbl_clients" "cl" ON cl.id = COALESCE(p.client_id, c.client_id) WHERE (p.start_at IS NOT NULL) AND (p.end_at IS NOT NULL) AND (p.end_at > p.start_at) AND (p.engineer_id IS NOT NULL) AND (("p"."is_draft"=FALSE) OR (p.is_draft IS NULL)) AND ("p"."start_at" >= '2026/12/01 00:00:00') AND ("p"."start_at" <= '2026/12/31 23:59:59')) UNION ALL ( SELECT
i.id as ticket_id,
'implementRecords' as ticket_type,
'实施' as ticket_type_name,
i.ticket_no,
i.case_id,
c.case_no,
COALESCE(i.client_id, c.client_id) as client_id,
c.project_id,
cl.sales_rep as sales_rep_id,
c.last_engineer as engineer_id,
i.arrived_at as start_at,
i.left_at as end_at,
date_trunc('month', i.arrived_at)::date as settle_month,
EXTRACT(EPOCH FROM (i.left_at - i.arrived_at)) / 3600 as work_hours
FROM "a57be577deb434"."tbl_implement_records" "i" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON c.id = i.case_id LEFT JOIN "a57be577deb434"."tbl_clients" "cl" ON cl.id = COALESCE(i.client_id, c.client_id) WHERE (i.arrived_at IS NOT NULL) AND (i.left_at IS NOT NULL) AND (i.left_at > i.arrived_at) AND (c.last_engineer IS NOT NULL) AND (("i"."is_draft"=FALSE) OR (i.is_draft IS NULL)) AND ("i"."arrived_at" >= '2026/12/01 00:00:00') AND ("i"."arrived_at" <= '2026/12/31 23:59:59') )) "ct" LEFT JOIN (SELECT pay.user_id, pay.settle_month, COALESCE(sum(pay.amount), 0) as amount FROM ((SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_wage_ticket_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_wage_tickets" "t" ON am.erp_wage_ticket_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month") UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_social_insurance_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_social_insurances" "t" ON am.erp_social_insurance_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" ) UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_provident_fund_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_provident_funds" "t" ON am.erp_provident_fund_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" ) UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_personal_tax_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_personal_taxs" "t" ON am.erp_personal_tax_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" )) "pay" GROUP BY "pay"."user_id", "pay"."settle_month") "payroll" ON payroll.user_id = ct.engineer_id AND payroll.settle_month = ct.settle_month LEFT JOIN "a57be577deb434"."tbl_punch_strategy_resource_rels" "psrr" ON psrr.user_id = ct.engineer_id LEFT JOIN "a57be577deb434"."tbl_punch_strategies" "ps" ON ps.id = psrr.punch_strategy_id WHERE ct.project_id IS NOT NULL GROUP BY "ct"."project_id") "ctlc" ON p.id = ctlc.project_id WHERE ("project_status"=3) AND ("p"."bargain_date" >= '2026/12/01 00:00:00') AND ("p"."bargain_date" <= '2026/12/31 23:59:59') GROUP BY "p"."id", "pd"."user_id", "pd"."pct") "p" LEFT JOIN "a57be577deb434"."tbl_users" "u2" ON u2.id = p.created_by LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id ORDER BY "p"."bargain_date" DESC, "p"."updated_at" DESC LIMIT 40 |
| 09:19:47.664 | 1.3 ms | INSERT | INSERT INTO "global"."tbl_api_log" ("code", "schema", "user_id", "device_type", "url", "request", "response", "php_error", "time", "duration") VALUES (200, 'a57be577deb434', 1001, 5, 'vue/erp-analysis/list-sales-cost', '{"created_at_period":"","collected":"","outbound_at_period":"","created_at_to":"2026\/12\/31","created_at_from":"2026\/12\/01","page":"1","pageSize":"40","listReload":"true","web_access_token":"YNQKwEYJYN8muCSh8ExnNlBf2oepDAlv"}', '{"code":2000,"result":{"list":[],"pagenation":{"totalcount":0,"thispage":1,"pagesize":40}},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}],"mod":0,"ip":"221.216.117.119","ua":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.15; rv:151.0) Gecko\/20100101 Firefox\/151.0"}', FALSE, '2026-06-01 09:19:47', 38980864) RETURNING "id" |