Total processing time: 76 ms; Peak memory: 5.080 MB. Show Profiling Timeline
| Time | Duration | Category | Info |
|---|---|---|---|
| 16:01:28.109 | 23.7 ms | yii\db\Command::query | SELECT COALESCE(ROUND(sum(summary.erp_labor_cost_amount)::numeric, 2), 0) as erp_labor_cost_amount, COALESCE(ROUND(sum(summary.work_hours)::numeric, 2), 0) as work_hours, COALESCE(ROUND(COALESCE(sum(summary.erp_labor_cost_amount), 0)::numeric / NULLIF(sum(summary.work_hours)::numeric, 0), 2), 0) as average_labor_cost_per_hour FROM (SELECT ct.ticket_id, ct.ticket_type, ct.ticket_type_name, ct.ticket_no, ct.case_id, ct.case_no, ct.project_id, p.project_title, ct.client_id, c.name as client_name, ct.sales_rep_id, sr.name as sales_rep_name, ct.engineer_id, e.name as engineer_name, ROUND(ct.work_hours::numeric, 2) as work_hours, ROUND(COALESCE(tlc.erp_labor_cost_amount, 0)::numeric, 2) as erp_labor_cost_amount, CASE WHEN ROUND(ct.work_hours::numeric, 2) = TRUNC(ROUND(ct.work_hours::numeric, 2)) THEN TRUNC(ROUND(ct.work_hours::numeric, 2))::text || 'h' ELSE ROUND(ct.work_hours::numeric, 2)::text || 'h' END as hours_spent_display, ct.start_at, to_char(ct.start_at, 'YYYY/MM/DD HH24:MI') as start_at_display, ct.end_at, to_char(ct.end_at, 'YYYY/MM/DD HH24:MI') as end_at_display 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-01-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-01-01 00:00:00') AND ("i"."arrived_at" <= '2026-12-31 23:59:59') )) "ct" LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON c.id = ct.client_id LEFT JOIN "a57be577deb434"."tbl_projects" "p" ON p.id = ct.project_id LEFT JOIN "a57be577deb434"."tbl_users" "sr" ON sr.id = ct.sales_rep_id LEFT JOIN "a57be577deb434"."tbl_users" "e" ON e.id = ct.engineer_id LEFT JOIN (SELECT ct.ticket_id, ct.ticket_type, 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-01-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-01-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 GROUP BY "ct"."ticket_id", "ct"."ticket_type") "tlc" ON tlc.ticket_id = ct.ticket_id AND tlc.ticket_type = ct.ticket_type WHERE "ct"."engineer_id"='1023') "summary" |
| 16:01:28.143 | 22.5 ms | yii\db\Command::query | SELECT ct.ticket_id, ct.ticket_type, ct.ticket_type_name, ct.ticket_no, ct.case_id, ct.case_no, ct.project_id, p.project_title, ct.client_id, c.name as client_name, ct.sales_rep_id, sr.name as sales_rep_name, ct.engineer_id, e.name as engineer_name, ROUND(ct.work_hours::numeric, 2) as work_hours, ROUND(COALESCE(tlc.erp_labor_cost_amount, 0)::numeric, 2) as erp_labor_cost_amount, CASE WHEN ROUND(ct.work_hours::numeric, 2) = TRUNC(ROUND(ct.work_hours::numeric, 2)) THEN TRUNC(ROUND(ct.work_hours::numeric, 2))::text || 'h' ELSE ROUND(ct.work_hours::numeric, 2)::text || 'h' END as hours_spent_display, ct.start_at, to_char(ct.start_at, 'YYYY/MM/DD HH24:MI') as start_at_display, ct.end_at, to_char(ct.end_at, 'YYYY/MM/DD HH24:MI') as end_at_display 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-01-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-01-01 00:00:00') AND ("i"."arrived_at" <= '2026-12-31 23:59:59') )) "ct" LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON c.id = ct.client_id LEFT JOIN "a57be577deb434"."tbl_projects" "p" ON p.id = ct.project_id LEFT JOIN "a57be577deb434"."tbl_users" "sr" ON sr.id = ct.sales_rep_id LEFT JOIN "a57be577deb434"."tbl_users" "e" ON e.id = ct.engineer_id LEFT JOIN (SELECT ct.ticket_id, ct.ticket_type, 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-01-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-01-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 GROUP BY "ct"."ticket_id", "ct"."ticket_type") "tlc" ON tlc.ticket_id = ct.ticket_id AND tlc.ticket_type = ct.ticket_type WHERE "ct"."engineer_id"='1023' ORDER BY ct.start_at DESC, ct.ticket_id DESC LIMIT 40 |
| 16:01:28.134 | 8.6 ms | yii\db\Command::query | SELECT COUNT(*) FROM (SELECT ct.ticket_id, ct.ticket_type, ct.ticket_type_name, ct.ticket_no, ct.case_id, ct.case_no, ct.project_id, p.project_title, ct.client_id, c.name as client_name, ct.sales_rep_id, sr.name as sales_rep_name, ct.engineer_id, e.name as engineer_name, ROUND(ct.work_hours::numeric, 2) as work_hours, ROUND(COALESCE(tlc.erp_labor_cost_amount, 0)::numeric, 2) as erp_labor_cost_amount, CASE WHEN ROUND(ct.work_hours::numeric, 2) = TRUNC(ROUND(ct.work_hours::numeric, 2)) THEN TRUNC(ROUND(ct.work_hours::numeric, 2))::text || 'h' ELSE ROUND(ct.work_hours::numeric, 2)::text || 'h' END as hours_spent_display, ct.start_at, to_char(ct.start_at, 'YYYY/MM/DD HH24:MI') as start_at_display, ct.end_at, to_char(ct.end_at, 'YYYY/MM/DD HH24:MI') as end_at_display 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-01-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-01-01 00:00:00') AND ("i"."arrived_at" <= '2026-12-31 23:59:59') )) "ct" LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON c.id = ct.client_id LEFT JOIN "a57be577deb434"."tbl_projects" "p" ON p.id = ct.project_id LEFT JOIN "a57be577deb434"."tbl_users" "sr" ON sr.id = ct.sales_rep_id LEFT JOIN "a57be577deb434"."tbl_users" "e" ON e.id = ct.engineer_id LEFT JOIN (SELECT ct.ticket_id, ct.ticket_type, 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-01-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-01-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 GROUP BY "ct"."ticket_id", "ct"."ticket_type") "tlc" ON tlc.ticket_id = ct.ticket_id AND tlc.ticket_type = ct.ticket_type WHERE "ct"."engineer_id"='1023' ORDER BY ct.start_at DESC, ct.ticket_id DESC) "c" |
| 16:01:28.168 | 2.0 ms | yii\db\Command::query | 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-case-ticket', '{"user_id":"1023","created_at_period":"erpcurrentfascalyear","created_at_to":"","created_at_from":"","page":"1","pageSize":"40","listReload":"true","web_access_token":"XCfRahmCFXcXmdIMLA2cYqURDbuJi7wa"}', '{"code":2000,"result":{"erp_labor_cost_amount":"2291.19","work_hours":"143.74","average_labor_cost_per_hour":"15.94","list":[{"ticket_id":7534,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260325005001","case_id":9247,"case_no":"IM260325005","project_id":4055,"project_title":"2025veeam\u7eed\u4fdd\u53ca\u786c\u4ef6\u7ef4\u4fdd","client_id":90,"client_name":"\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\uff08\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\u5317\u4eac\u5206\u516c\u53f8 \uff09","sales_rep_id":5295,"sales_rep_name":"\u9b4f\u6cfd\u6587","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"2.00","erp_labor_cost_amount":"90.92","hours_spent_display":"2h","start_at":"2026-03-25 15:00:00","start_at_display":"2026\/03\/25 15:00","end_at":"2026-03-25 17:00:00","end_at_display":"2026\/03\/25 17:00","salesRep":{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587"}},{"ticket_id":7532,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260323006001","case_id":9240,"case_no":"IM260323006","project_id":3873,"project_title":"2025\u5e74\u6570\u636e\u4e2d\u5fc3\u7ef4\u4fdd","client_id":48,"client_name":"\u4e2d\u90fd\u6570\u79d1\u4f9b\u5e94\u94fe\u7ba1\u7406\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"2.00","erp_labor_cost_amount":"90.92","hours_spent_display":"2h","start_at":"2026-03-25 09:00:00","start_at_display":"2026\/03\/25 09:00","end_at":"2026-03-25 11:00:00","end_at_display":"2026\/03\/25 11:00","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7529,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260323005001","case_id":9239,"case_no":"IM260323005","project_id":3150,"project_title":"2023\u5e74\u786c\u4ef6\u7eed\u4fdd-C","client_id":5,"client_name":"\u4e2d\u7535\u79d1\u592a\u529b\u901a\u4fe1\u79d1\u6280\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"2.00","erp_labor_cost_amount":"90.92","hours_spent_display":"2h","start_at":"2026-03-24 08:00:00","start_at_display":"2026\/03\/24 08:00","end_at":"2026-03-24 10:00:00","end_at_display":"2026\/03\/24 10:00","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7527,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260323004001","case_id":9238,"case_no":"IM260323004","project_id":3873,"project_title":"2025\u5e74\u6570\u636e\u4e2d\u5fc3\u7ef4\u4fdd","client_id":48,"client_name":"\u4e2d\u90fd\u6570\u79d1\u4f9b\u5e94\u94fe\u7ba1\u7406\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"1.03","erp_labor_cost_amount":"46.98","hours_spent_display":"1.03h","start_at":"2026-03-23 15:03:00","start_at_display":"2026\/03\/23 15:03","end_at":"2026-03-23 16:05:00","end_at_display":"2026\/03\/23 16:05","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7526,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260323001001","case_id":9235,"case_no":"IM260323001","project_id":3962,"project_title":"Netapp\u5b58\u50a8\u6269\u5bb9","client_id":89,"client_name":"\u5c71\u4e1c\u91d1\u8f6f\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8(\u62db\u91d1\u77ff\u4e1a\u80a1\u4efd\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"2.00","erp_labor_cost_amount":"90.92","hours_spent_display":"2h","start_at":"2026-03-21 09:00:00","start_at_display":"2026\/03\/21 09:00","end_at":"2026-03-21 11:00:00","end_at_display":"2026\/03\/21 11:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7524,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260320003001","case_id":9232,"case_no":"IM260320003","project_id":3150,"project_title":"2023\u5e74\u786c\u4ef6\u7eed\u4fdd-C","client_id":5,"client_name":"\u4e2d\u7535\u79d1\u592a\u529b\u901a\u4fe1\u79d1\u6280\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"0.48","erp_labor_cost_amount":"21.97","hours_spent_display":"0.48h","start_at":"2026-03-20 10:55:00","start_at_display":"2026\/03\/20 10:55","end_at":"2026-03-20 11:24:00","end_at_display":"2026\/03\/20 11:24","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7523,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260319002001","case_id":9229,"case_no":"IM260319002","project_id":3976,"project_title":"\u865a\u62df\u5316\u6269\u5bb9\uff0c\u6838\u5fc3\u7f51\u7edc\u6539\u9020","client_id":89,"client_name":"\u5c71\u4e1c\u91d1\u8f6f\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8(\u62db\u91d1\u77ff\u4e1a\u80a1\u4efd\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"5.00","erp_labor_cost_amount":"227.30","hours_spent_display":"5h","start_at":"2026-03-19 14:00:00","start_at_display":"2026\/03\/19 14:00","end_at":"2026-03-19 19:00:00","end_at_display":"2026\/03\/19 19:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7522,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260319001001","case_id":9228,"case_no":"IM260319001","project_id":3910,"project_title":"33\u6240\u9ad8\u6027\u80fd\u9879\u76ee","client_id":2762,"client_name":"\u4e0a\u6d77\u534e\u8baf\u7f51\u7edc\u7cfb\u7edf\u6709\u9650\u516c\u53f8(\u8fc7\u5355)","sales_rep_id":5087,"sales_rep_name":"\u5218\u5fae","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"0.88","erp_labor_cost_amount":"40.16","hours_spent_display":"0.88h","start_at":"2026-03-19 09:38:00","start_at_display":"2026\/03\/19 09:38","end_at":"2026-03-19 10:31:00","end_at_display":"2026\/03\/19 10:31","salesRep":{"id":5087,"key":5087,"name":"\u5218\u5fae"}},{"ticket_id":7521,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260317002001","case_id":9225,"case_no":"IM260317002","project_id":3810,"project_title":"NETAPP\u5b58\u50a8\u7eed\u4fdd\u670d\u52a1-2025\u5e74","client_id":1492,"client_name":"\u5317\u4eac\u8d1d\u745e\u548c\u5eb7\u751f\u7269\u6280\u672f\u6709\u9650\u516c\u53f8(\u5317\u4eac\u8d1d\u745e\u548c\u5eb7\u533b\u5b66\u68c0\u9a8c\u5b9e\u9a8c\u5ba4\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"2.00","erp_labor_cost_amount":"90.92","hours_spent_display":"2h","start_at":"2026-03-17 16:00:00","start_at_display":"2026\/03\/17 16:00","end_at":"2026-03-17 18:00:00","end_at_display":"2026\/03\/17 18:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7518,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260316002001","case_id":9219,"case_no":"IM260316002","project_id":3976,"project_title":"\u865a\u62df\u5316\u6269\u5bb9\uff0c\u6838\u5fc3\u7f51\u7edc\u6539\u9020","client_id":89,"client_name":"\u5c71\u4e1c\u91d1\u8f6f\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8(\u62db\u91d1\u77ff\u4e1a\u80a1\u4efd\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"7.63","erp_labor_cost_amount":"347.01","hours_spent_display":"7.63h","start_at":"2026-03-17 08:19:00","start_at_display":"2026\/03\/17 08:19","end_at":"2026-03-17 15:57:00","end_at_display":"2026\/03\/17 15:57","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7516,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260316001001","case_id":9218,"case_no":"IM260316001","project_id":3976,"project_title":"\u865a\u62df\u5316\u6269\u5bb9\uff0c\u6838\u5fc3\u7f51\u7edc\u6539\u9020","client_id":89,"client_name":"\u5c71\u4e1c\u91d1\u8f6f\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8(\u62db\u91d1\u77ff\u4e1a\u80a1\u4efd\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"9.37","erp_labor_cost_amount":"425.81","hours_spent_display":"9.37h","start_at":"2026-03-16 09:54:00","start_at_display":"2026\/03\/16 09:54","end_at":"2026-03-16 19:16:00","end_at_display":"2026\/03\/16 19:16","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7514,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260311004001","case_id":9215,"case_no":"IM260311004","project_id":3976,"project_title":"\u865a\u62df\u5316\u6269\u5bb9\uff0c\u6838\u5fc3\u7f51\u7edc\u6539\u9020","client_id":89,"client_name":"\u5c71\u4e1c\u91d1\u8f6f\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8(\u62db\u91d1\u77ff\u4e1a\u80a1\u4efd\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"7.00","erp_labor_cost_amount":"318.22","hours_spent_display":"7h","start_at":"2026-03-13 09:00:00","start_at_display":"2026\/03\/13 09:00","end_at":"2026-03-13 16:00:00","end_at_display":"2026\/03\/13 16:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7513,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260311003001","case_id":9214,"case_no":"IM260311003","project_id":3976,"project_title":"\u865a\u62df\u5316\u6269\u5bb9\uff0c\u6838\u5fc3\u7f51\u7edc\u6539\u9020","client_id":89,"client_name":"\u5c71\u4e1c\u91d1\u8f6f\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8(\u62db\u91d1\u77ff\u4e1a\u80a1\u4efd\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"7.00","erp_labor_cost_amount":"318.22","hours_spent_display":"7h","start_at":"2026-03-12 09:00:00","start_at_display":"2026\/03\/12 09:00","end_at":"2026-03-12 16:00:00","end_at_display":"2026\/03\/12 16:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7496,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260302003001","case_id":9198,"case_no":"IM260302003","project_id":3150,"project_title":"2023\u5e74\u786c\u4ef6\u7eed\u4fdd-C","client_id":5,"client_name":"\u4e2d\u7535\u79d1\u592a\u529b\u901a\u4fe1\u79d1\u6280\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"1.00","erp_labor_cost_amount":"45.46","hours_spent_display":"1h","start_at":"2026-03-02 11:00:00","start_at_display":"2026\/03\/02 11:00","end_at":"2026-03-02 12:00:00","end_at_display":"2026\/03\/02 12:00","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7495,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260302002001","case_id":9197,"case_no":"IM260302002","project_id":4055,"project_title":"2025veeam\u7eed\u4fdd\u53ca\u786c\u4ef6\u7ef4\u4fdd","client_id":90,"client_name":"\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\uff08\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\u5317\u4eac\u5206\u516c\u53f8 \uff09","sales_rep_id":5295,"sales_rep_name":"\u9b4f\u6cfd\u6587","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"1.00","erp_labor_cost_amount":"45.46","hours_spent_display":"1h","start_at":"2026-03-02 10:00:00","start_at_display":"2026\/03\/02 10:00","end_at":"2026-03-02 11:00:00","end_at_display":"2026\/03\/02 11:00","salesRep":{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587"}},{"ticket_id":7493,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260228002001","case_id":9195,"case_no":"IM260228002","project_id":3796,"project_title":"deepseek\u79c1\u6709\u5316\u90e8\u7f72","client_id":2125,"client_name":"\u5317\u4eac\u673a\u5668\u5236\u9020\u6709\u9650\u516c\u53f8","sales_rep_id":5087,"sales_rep_name":"\u5218\u5fae","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"0.45","erp_labor_cost_amount":"0.00","hours_spent_display":"0.45h","start_at":"2026-02-28 15:57:00","start_at_display":"2026\/02\/28 15:57","end_at":"2026-02-28 16:24:00","end_at_display":"2026\/02\/28 16:24","salesRep":{"id":5087,"key":5087,"name":"\u5218\u5fae"}},{"ticket_id":7486,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260226002001","case_id":9188,"case_no":"IM260226002","project_id":3150,"project_title":"2023\u5e74\u786c\u4ef6\u7eed\u4fdd-C","client_id":5,"client_name":"\u4e2d\u7535\u79d1\u592a\u529b\u901a\u4fe1\u79d1\u6280\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"0.50","erp_labor_cost_amount":"0.00","hours_spent_display":"0.50h","start_at":"2026-02-26 16:16:00","start_at_display":"2026\/02\/26 16:16","end_at":"2026-02-26 16:46:00","end_at_display":"2026\/02\/26 16:46","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7483,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260212003001","case_id":9185,"case_no":"IM260212003","project_id":4055,"project_title":"2025veeam\u7eed\u4fdd\u53ca\u786c\u4ef6\u7ef4\u4fdd","client_id":90,"client_name":"\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\uff08\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\u5317\u4eac\u5206\u516c\u53f8 \uff09","sales_rep_id":5295,"sales_rep_name":"\u9b4f\u6cfd\u6587","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"8.50","erp_labor_cost_amount":"0.00","hours_spent_display":"8.50h","start_at":"2026-02-12 09:00:00","start_at_display":"2026\/02\/12 09:00","end_at":"2026-02-12 17:30:00","end_at_display":"2026\/02\/12 17:30","salesRep":{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587"}},{"ticket_id":7474,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260206001001","case_id":9171,"case_no":"IM260206001","project_id":4055,"project_title":"2025veeam\u7eed\u4fdd\u53ca\u786c\u4ef6\u7ef4\u4fdd","client_id":90,"client_name":"\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\uff08\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\u5317\u4eac\u5206\u516c\u53f8 \uff09","sales_rep_id":5295,"sales_rep_name":"\u9b4f\u6cfd\u6587","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"1.00","erp_labor_cost_amount":"0.00","hours_spent_display":"1h","start_at":"2026-02-06 13:00:00","start_at_display":"2026\/02\/06 13:00","end_at":"2026-02-06 14:00:00","end_at_display":"2026\/02\/06 14:00","salesRep":{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587"}},{"ticket_id":7471,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260205006001","case_id":9170,"case_no":"IM260205006","project_id":4027,"project_title":"25-26\u5e74\u5b89\u5168\u7eed\u4fdd","client_id":918,"client_name":"\u4e2d\u56fd\u571f\u6728\u5de5\u7a0b\u96c6\u56e2\u6709\u9650\u516c\u53f8","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"1.00","erp_labor_cost_amount":"0.00","hours_spent_display":"1h","start_at":"2026-02-05 16:00:00","start_at_display":"2026\/02\/05 16:00","end_at":"2026-02-05 17:00:00","end_at_display":"2026\/02\/05 17:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7467,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260204005001","case_id":9164,"case_no":"IM260204005","project_id":3942,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4-2025","client_id":497,"client_name":"\u5317\u4eac\u7ea2\u661f\u80a1\u4efd\u6709\u9650\u516c\u53f8","sales_rep_id":5300,"sales_rep_name":"\u82cf\u6e05\u4e91","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"1.00","erp_labor_cost_amount":"0.00","hours_spent_display":"1h","start_at":"2026-02-04 15:00:00","start_at_display":"2026\/02\/04 15:00","end_at":"2026-02-04 16:00:00","end_at_display":"2026\/02\/04 16:00","salesRep":{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91"}},{"ticket_id":1926,"ticket_type":"preSales","ticket_type_name":"\u552e\u524d","ticket_no":"PS260204003001","case_id":9162,"case_no":"PS260204003","project_id":3976,"project_title":"\u865a\u62df\u5316\u6269\u5bb9\uff0c\u6838\u5fc3\u7f51\u7edc\u6539\u9020","client_id":89,"client_name":"\u5c71\u4e1c\u91d1\u8f6f\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8(\u62db\u91d1\u77ff\u4e1a\u80a1\u4efd\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"11.20","erp_labor_cost_amount":"0.00","hours_spent_display":"11.20h","start_at":"2026-02-04 08:54:00","start_at_display":"2026\/02\/04 08:54","end_at":"2026-02-04 20:06:00","end_at_display":"2026\/02\/04 20:06","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7465,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260203002001","case_id":9159,"case_no":"IM260203002","project_id":4048,"project_title":"netapp\u5b58\u50a8\u8bbe\u5907\u6269\u5bb9","client_id":518,"client_name":"\u5317\u4eac\u56fd\u79d1\u73af\u5b87\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8\uff08EDA)\/\u53a6\u95e8\u6cc9\u7f51\u4fe1\u606f\u6280\u672f\u6709\u9650\u516c\u53f8","sales_rep_id":5295,"sales_rep_name":"\u9b4f\u6cfd\u6587","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"1.00","erp_labor_cost_amount":"0.00","hours_spent_display":"1h","start_at":"2026-02-03 15:00:00","start_at_display":"2026\/02\/03 15:00","end_at":"2026-02-03 16:00:00","end_at_display":"2026\/02\/03 16:00","salesRep":{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587"}},{"ticket_id":7463,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260202003001","case_id":9157,"case_no":"IM260202003","project_id":3810,"project_title":"NETAPP\u5b58\u50a8\u7eed\u4fdd\u670d\u52a1-2025\u5e74","client_id":1492,"client_name":"\u5317\u4eac\u8d1d\u745e\u548c\u5eb7\u751f\u7269\u6280\u672f\u6709\u9650\u516c\u53f8(\u5317\u4eac\u8d1d\u745e\u548c\u5eb7\u533b\u5b66\u68c0\u9a8c\u5b9e\u9a8c\u5ba4\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"2.67","erp_labor_cost_amount":"0.00","hours_spent_display":"2.67h","start_at":"2026-02-03 08:00:00","start_at_display":"2026\/02\/03 08:00","end_at":"2026-02-03 10:40:00","end_at_display":"2026\/02\/03 10:40","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7462,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260202002001","case_id":9156,"case_no":"IM260202002","project_id":3810,"project_title":"NETAPP\u5b58\u50a8\u7eed\u4fdd\u670d\u52a1-2025\u5e74","client_id":1492,"client_name":"\u5317\u4eac\u8d1d\u745e\u548c\u5eb7\u751f\u7269\u6280\u672f\u6709\u9650\u516c\u53f8(\u5317\u4eac\u8d1d\u745e\u548c\u5eb7\u533b\u5b66\u68c0\u9a8c\u5b9e\u9a8c\u5ba4\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"5.33","erp_labor_cost_amount":"0.00","hours_spent_display":"5.33h","start_at":"2026-02-02 13:00:00","start_at_display":"2026\/02\/02 13:00","end_at":"2026-02-02 18:20:00","end_at_display":"2026\/02\/02 18:20","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7460,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260128002001","case_id":9148,"case_no":"IM260128002","project_id":4115,"project_title":"netapp\u5b58\u50a8\u6269\u5bb9","client_id":57,"client_name":"\u4fdd\u8bfa\u79d1\u6280(\u5317\u4eac)\u6709\u9650\u516c\u53f8\u3001\u4e0a\u6d77\u6da6\u8bfa\u3001\u4e2d\u56fd\u7535\u5b50\u7cfb\u7edf\u5de5\u7a0b\u7b2c\u4e8c\u5efa\u8bbe\u6709\u9650\u516c\u53f8,\u6851\u8fea\u4e9a\u533b\u836f\u6280\u672f(\u4e0a\u6d77)\u6709\u9650\u8d23\u4efb\u516c\u53f8","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"8.20","erp_labor_cost_amount":"0.00","hours_spent_display":"8.20h","start_at":"2026-01-31 08:52:00","start_at_display":"2026\/01\/31 08:52","end_at":"2026-01-31 17:04:00","end_at_display":"2026\/01\/31 17:04","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7454,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260128001001","case_id":9147,"case_no":"IM260128001","project_id":3665,"project_title":"24\u5e74\u865a\u62df\u5316\u7eed\u4fdd\u53ca\u670d\u52a1","client_id":25,"client_name":"\u5317\u4eac\u5e02\u6d77\u6dc0\u533a\u6559\u5e08\u8fdb\u4fee\u5b66\u6821","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"4.50","erp_labor_cost_amount":"0.00","hours_spent_display":"4.50h","start_at":"2026-01-28 09:00:00","start_at_display":"2026\/01\/28 09:00","end_at":"2026-01-28 13:30:00","end_at_display":"2026\/01\/28 13:30","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7451,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260127001001","case_id":9146,"case_no":"IM260127001","project_id":3810,"project_title":"NETAPP\u5b58\u50a8\u7eed\u4fdd\u670d\u52a1-2025\u5e74","client_id":1492,"client_name":"\u5317\u4eac\u8d1d\u745e\u548c\u5eb7\u751f\u7269\u6280\u672f\u6709\u9650\u516c\u53f8(\u5317\u4eac\u8d1d\u745e\u548c\u5eb7\u533b\u5b66\u68c0\u9a8c\u5b9e\u9a8c\u5ba4\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"0.77","erp_labor_cost_amount":"0.00","hours_spent_display":"0.77h","start_at":"2026-01-27 13:59:00","start_at_display":"2026\/01\/27 13:59","end_at":"2026-01-27 14:45:00","end_at_display":"2026\/01\/27 14:45","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7445,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260123005001","case_id":9139,"case_no":"IM260123005","project_id":3446,"project_title":"\u601d\u79d1\u670d\u52a1\u5668\u65b0\u8d2d+\u6570\u636e\u8fc1\u79fb","client_id":90,"client_name":"\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\uff08\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\u5317\u4eac\u5206\u516c\u53f8 \uff09","sales_rep_id":5295,"sales_rep_name":"\u9b4f\u6cfd\u6587","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"4.50","erp_labor_cost_amount":"0.00","hours_spent_display":"4.50h","start_at":"2026-01-24 09:00:00","start_at_display":"2026\/01\/24 09:00","end_at":"2026-01-24 13:30:00","end_at_display":"2026\/01\/24 13:30","salesRep":{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587"}},{"ticket_id":7440,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260123001001","case_id":9135,"case_no":"IM260123001","project_id":3832,"project_title":"\u98de\u5854\u9632\u706b\u5899\u7eed\u4fdd-2025\u5e74","client_id":89,"client_name":"\u5c71\u4e1c\u91d1\u8f6f\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8(\u62db\u91d1\u77ff\u4e1a\u80a1\u4efd\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"6.67","erp_labor_cost_amount":"0.00","hours_spent_display":"6.67h","start_at":"2026-01-22 18:00:00","start_at_display":"2026\/01\/22 18:00","end_at":"2026-01-23 00:40:00","end_at_display":"2026\/01\/23 00:40","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7439,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260122002001","case_id":9134,"case_no":"IM260122002","project_id":3810,"project_title":"NETAPP\u5b58\u50a8\u7eed\u4fdd\u670d\u52a1-2025\u5e74","client_id":1492,"client_name":"\u5317\u4eac\u8d1d\u745e\u548c\u5eb7\u751f\u7269\u6280\u672f\u6709\u9650\u516c\u53f8(\u5317\u4eac\u8d1d\u745e\u548c\u5eb7\u533b\u5b66\u68c0\u9a8c\u5b9e\u9a8c\u5ba4\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"1.00","erp_labor_cost_amount":"0.00","hours_spent_display":"1h","start_at":"2026-01-22 14:00:00","start_at_display":"2026\/01\/22 14:00","end_at":"2026-01-22 15:00:00","end_at_display":"2026\/01\/22 15:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7436,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260116003001","case_id":9128,"case_no":"IM260116003","project_id":3150,"project_title":"2023\u5e74\u786c\u4ef6\u7eed\u4fdd-C","client_id":5,"client_name":"\u4e2d\u7535\u79d1\u592a\u529b\u901a\u4fe1\u79d1\u6280\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"3.27","erp_labor_cost_amount":"0.00","hours_spent_display":"3.27h","start_at":"2026-01-19 15:44:00","start_at_display":"2026\/01\/19 15:44","end_at":"2026-01-19 19:00:00","end_at_display":"2026\/01\/19 19:00","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7435,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260116002001","case_id":9127,"case_no":"IM260116002","project_id":3150,"project_title":"2023\u5e74\u786c\u4ef6\u7eed\u4fdd-C","client_id":5,"client_name":"\u4e2d\u7535\u79d1\u592a\u529b\u901a\u4fe1\u79d1\u6280\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"2.97","erp_labor_cost_amount":"0.00","hours_spent_display":"2.97h","start_at":"2026-01-16 15:00:00","start_at_display":"2026\/01\/16 15:00","end_at":"2026-01-16 17:58:00","end_at_display":"2026\/01\/16 17:58","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7430,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260114005001","case_id":9121,"case_no":"IM260114005","project_id":3150,"project_title":"2023\u5e74\u786c\u4ef6\u7eed\u4fdd-C","client_id":5,"client_name":"\u4e2d\u7535\u79d1\u592a\u529b\u901a\u4fe1\u79d1\u6280\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"4.58","erp_labor_cost_amount":"0.00","hours_spent_display":"4.58h","start_at":"2026-01-15 17:47:00","start_at_display":"2026\/01\/15 17:47","end_at":"2026-01-15 22:22:00","end_at_display":"2026\/01\/15 22:22","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7431,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260114006001","case_id":9122,"case_no":"IM260114006","project_id":3446,"project_title":"\u601d\u79d1\u670d\u52a1\u5668\u65b0\u8d2d+\u6570\u636e\u8fc1\u79fb","client_id":90,"client_name":"\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\uff08\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\u5317\u4eac\u5206\u516c\u53f8 \uff09","sales_rep_id":5295,"sales_rep_name":"\u9b4f\u6cfd\u6587","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"3.00","erp_labor_cost_amount":"0.00","hours_spent_display":"3h","start_at":"2026-01-15 09:00:00","start_at_display":"2026\/01\/15 09:00","end_at":"2026-01-15 12:00:00","end_at_display":"2026\/01\/15 12:00","salesRep":{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587"}},{"ticket_id":7428,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260114004001","case_id":9120,"case_no":"IM260114004","project_id":3150,"project_title":"2023\u5e74\u786c\u4ef6\u7eed\u4fdd-C","client_id":5,"client_name":"\u4e2d\u7535\u79d1\u592a\u529b\u901a\u4fe1\u79d1\u6280\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"2.00","erp_labor_cost_amount":"0.00","hours_spent_display":"2h","start_at":"2026-01-14 14:00:00","start_at_display":"2026\/01\/14 14:00","end_at":"2026-01-14 16:00:00","end_at_display":"2026\/01\/14 16:00","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7429,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260113001001","case_id":9116,"case_no":"IM260113001","project_id":4055,"project_title":"2025veeam\u7eed\u4fdd\u53ca\u786c\u4ef6\u7ef4\u4fdd","client_id":90,"client_name":"\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\uff08\u82cf\u9ece\u4e16\u8d22\u4ea7\u4fdd\u9669(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\u5317\u4eac\u5206\u516c\u53f8 \uff09","sales_rep_id":5295,"sales_rep_name":"\u9b4f\u6cfd\u6587","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"2.50","erp_labor_cost_amount":"0.00","hours_spent_display":"2.50h","start_at":"2026-01-13 15:00:00","start_at_display":"2026\/01\/13 15:00","end_at":"2026-01-13 17:30:00","end_at_display":"2026\/01\/13 17:30","salesRep":{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587"}},{"ticket_id":7424,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260112004001","case_id":9115,"case_no":"IM260112004","project_id":3151,"project_title":"2023\u5e74\u8f6f\u4ef6\u7eed\u4fdd\u9879\u76ee","client_id":5,"client_name":"\u4e2d\u7535\u79d1\u592a\u529b\u901a\u4fe1\u79d1\u6280\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"2.00","erp_labor_cost_amount":"0.00","hours_spent_display":"2h","start_at":"2026-01-13 09:00:00","start_at_display":"2026\/01\/13 09:00","end_at":"2026-01-13 11:00:00","end_at_display":"2026\/01\/13 11:00","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7423,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260112001001","case_id":9112,"case_no":"IM260112001","project_id":3150,"project_title":"2023\u5e74\u786c\u4ef6\u7eed\u4fdd-C","client_id":5,"client_name":"\u4e2d\u7535\u79d1\u592a\u529b\u901a\u4fe1\u79d1\u6280\u6709\u9650\u516c\u53f8","sales_rep_id":1004,"sales_rep_name":"\u4f0a\u5cfb\u8fb0","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"3.38","erp_labor_cost_amount":"0.00","hours_spent_display":"3.38h","start_at":"2026-01-12 15:53:00","start_at_display":"2026\/01\/12 15:53","end_at":"2026-01-12 19:16:00","end_at_display":"2026\/01\/12 19:16","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7426,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260112002001","case_id":9113,"case_no":"IM260112002","project_id":3665,"project_title":"24\u5e74\u865a\u62df\u5316\u7eed\u4fdd\u53ca\u670d\u52a1","client_id":25,"client_name":"\u5317\u4eac\u5e02\u6d77\u6dc0\u533a\u6559\u5e08\u8fdb\u4fee\u5b66\u6821","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"2.00","erp_labor_cost_amount":"0.00","hours_spent_display":"2h","start_at":"2026-01-12 11:00:00","start_at_display":"2026\/01\/12 11:00","end_at":"2026-01-12 13:00:00","end_at_display":"2026\/01\/12 13:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}}],"pagenation":{"totalcount":46,"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 16:01:28', 70387200) RETURNING "id" |
| 16:01:28.100 | 0.8 ms | yii\db\Command::query | SELECT * FROM "global"."vw_user_login" WHERE "id"=1001 |
| 16:01:28.102 | 0.5 ms | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001 |
| 16:01:28.107 | 0.5 ms | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_erp_settles" WHERE ("date"='2025-12-01') AND ("is_settle"=TRUE) |
| 16:01:28.099 | 0.2 ms | yii\db\Connection::open | Opening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta |
| 16:01:28.108 | 0.2 ms | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_erp_settles" WHERE ("date"='2026-12-01') AND ("is_settle"=TRUE) |