6a1d3c4f88710: POST https://beta.jinchangxiao.com/vue/erp-analysis/list-case-ticket at 2026-06-01 04:01:19 pm by 221.216.117.119

Database Queries

总计6条数据
TimeDurationTypeQuery
  
16:01:19.5632.3 msSELECTSELECT * FROM "global"."vw_user_login" WHERE "id"=1001

16:01:19.5661.9 msSELECTSELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001

16:01:19.570210.7 msSELECTSELECT 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))) 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)) )) "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))) 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)) )) "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:19.78211.7 msSELECTSELECT 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))) 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)) )) "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))) 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)) )) "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:19.794290.7 msSELECTSELECT 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))) 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)) )) "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))) 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)) )) "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 OFFSET 120

16:01:20.0862.2 msINSERTINSERT 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":"","created_at_to":"","created_at_from":"","page":"4","pageSize":"40","listReload":"undefined","web_access_token":"XCfRahmCFXcXmdIMLA2cYqURDbuJi7wa"}', '{"code":2000,"result":{"erp_labor_cost_amount":"2735.64","work_hours":"5805.26","average_labor_cost_per_hour":"0.47","list":[{"ticket_id":7201,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM251001001001","case_id":8861,"case_no":"IM251001001","project_id":3626,"project_title":"\u5b58\u50a8\u6269\u5bb9-K","client_id":85,"client_name":"\u5317\u4eac\u52a8\u529b\u673a\u68b0\u7814\u7a76\u624031\u6240","sales_rep_id":5087,"sales_rep_name":"\u5218\u5fae","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"1.50","erp_labor_cost_amount":"0.00","hours_spent_display":"1.50h","start_at":"2025-10-01 10:32:00","start_at_display":"2025\/10\/01 10:32","end_at":"2025-10-01 12:02:00","end_at_display":"2025\/10\/01 12:02","salesRep":{"id":5087,"key":5087,"name":"\u5218\u5fae"}},{"ticket_id":7199,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250929005001","case_id":8860,"case_no":"IM250929005","project_id":3731,"project_title":"2024veeam\u548c\u5b58\u50a8\u7eed\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":"2025-09-29 15:00:00","start_at_display":"2025\/09\/29 15:00","end_at":"2025-09-29 16:00:00","end_at_display":"2025\/09\/29 16:00","salesRep":{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587"}},{"ticket_id":7198,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250929004001","case_id":8859,"case_no":"IM250929004","project_id":3666,"project_title":"24-25\u5e74\u7eed\u4fdd\u9879\u76ee","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":"2025-09-29 11:00:00","start_at_display":"2025\/09\/29 11:00","end_at":"2025-09-29 12:00:00","end_at_display":"2025\/09\/29 12:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7192,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250925003001","case_id":8851,"case_no":"IM250925003","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.23","erp_labor_cost_amount":"0.00","hours_spent_display":"1.23h","start_at":"2025-09-25 13:55:00","start_at_display":"2025\/09\/25 13:55","end_at":"2025-09-25 15:09:00","end_at_display":"2025\/09\/25 15:09","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7191,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250925002001","case_id":8850,"case_no":"IM250925002","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.75","erp_labor_cost_amount":"0.00","hours_spent_display":"2.75h","start_at":"2025-09-25 08:00:00","start_at_display":"2025\/09\/25 08:00","end_at":"2025-09-25 10:45:00","end_at_display":"2025\/09\/25 10:45","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7189,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250924003001","case_id":8846,"case_no":"IM250924003","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":"6.00","erp_labor_cost_amount":"0.00","hours_spent_display":"6h","start_at":"2025-09-24 13:00:00","start_at_display":"2025\/09\/24 13:00","end_at":"2025-09-24 19:00:00","end_at_display":"2025\/09\/24 19:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7188,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250924002001","case_id":8845,"case_no":"IM250924002","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":"1.63","erp_labor_cost_amount":"0.00","hours_spent_display":"1.63h","start_at":"2025-09-24 10:40:00","start_at_display":"2025\/09\/24 10:40","end_at":"2025-09-24 12:18:00","end_at_display":"2025\/09\/24 12:18","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7184,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250923001001","case_id":8842,"case_no":"IM250923001","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.53","erp_labor_cost_amount":"0.00","hours_spent_display":"1.53h","start_at":"2025-09-23 15:14:00","start_at_display":"2025\/09\/23 15:14","end_at":"2025-09-23 16:46:00","end_at_display":"2025\/09\/23 16:46","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7185,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250923002001","case_id":8843,"case_no":"IM250923002","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":"4.17","erp_labor_cost_amount":"0.00","hours_spent_display":"4.17h","start_at":"2025-09-23 09:00:00","start_at_display":"2025\/09\/23 09:00","end_at":"2025-09-23 13:10:00","end_at_display":"2025\/09\/23 13:10","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7179,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250922003001","case_id":8840,"case_no":"IM250922003","project_id":3626,"project_title":"\u5b58\u50a8\u6269\u5bb9-K","client_id":85,"client_name":"\u5317\u4eac\u52a8\u529b\u673a\u68b0\u7814\u7a76\u624031\u6240","sales_rep_id":5087,"sales_rep_name":"\u5218\u5fae","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"1.17","erp_labor_cost_amount":"0.00","hours_spent_display":"1.17h","start_at":"2025-09-22 14:39:00","start_at_display":"2025\/09\/22 14:39","end_at":"2025-09-22 15:49:00","end_at_display":"2025\/09\/22 15:49","salesRep":{"id":5087,"key":5087,"name":"\u5218\u5fae"}},{"ticket_id":7176,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250919004001","case_id":8834,"case_no":"IM250919004","project_id":3719,"project_title":"\u601d\u79d1\u786c\u4ef6\u7ef4\u4fdd1\u5e74-K-2024","client_id":12,"client_name":"smc(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\/SMC(\u5317\u4eac)\u5236\u9020\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":"2025-09-19 19:00:00","start_at_display":"2025\/09\/19 19:00","end_at":"2025-09-19 20:00:00","end_at_display":"2025\/09\/19 20:00","salesRep":{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91"}},{"ticket_id":7172,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250919001001","case_id":8831,"case_no":"IM250919001","project_id":3823,"project_title":"\u4fe1\u521b\u5e73\u53f0\u6269\u5bb9-2025\u5e74","client_id":20,"client_name":"\u4e2d\u56fd\u91cd\u578b\u673a\u68b0\u6709\u9650\u516c\u53f8\u3001\u56fd\u673a\u91cd\u578b\u88c5\u5907(\u67ec\u57d4\u5be8\u8fbe\u5cb1\u6c34\u7535\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.62","erp_labor_cost_amount":"0.00","hours_spent_display":"0.62h","start_at":"2025-09-19 14:47:00","start_at_display":"2025\/09\/19 14:47","end_at":"2025-09-19 15:24:00","end_at_display":"2025\/09\/19 15:24","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7171,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250919002001","case_id":8832,"case_no":"IM250919002","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":"0.00","hours_spent_display":"2h","start_at":"2025-09-19 09:00:00","start_at_display":"2025\/09\/19 09:00","end_at":"2025-09-19 11:00:00","end_at_display":"2025\/09\/19 11:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7168,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250918009001","case_id":8830,"case_no":"IM250918009","project_id":3666,"project_title":"24-25\u5e74\u7eed\u4fdd\u9879\u76ee","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":"2025-09-18 20:00:00","start_at_display":"2025\/09\/18 20:00","end_at":"2025-09-18 21:00:00","end_at_display":"2025\/09\/18 21:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7167,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250918005001","case_id":8826,"case_no":"IM250918005","project_id":3823,"project_title":"\u4fe1\u521b\u5e73\u53f0\u6269\u5bb9-2025\u5e74","client_id":20,"client_name":"\u4e2d\u56fd\u91cd\u578b\u673a\u68b0\u6709\u9650\u516c\u53f8\u3001\u56fd\u673a\u91cd\u578b\u88c5\u5907(\u67ec\u57d4\u5be8\u8fbe\u5cb1\u6c34\u7535\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.50","erp_labor_cost_amount":"0.00","hours_spent_display":"0.50h","start_at":"2025-09-18 16:15:00","start_at_display":"2025\/09\/18 16:15","end_at":"2025-09-18 16:45:00","end_at_display":"2025\/09\/18 16:45","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7164,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250918001001","case_id":8822,"case_no":"IM250918001","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":"0.52","erp_labor_cost_amount":"0.00","hours_spent_display":"0.52h","start_at":"2025-09-18 13:34:00","start_at_display":"2025\/09\/18 13:34","end_at":"2025-09-18 14:05:00","end_at_display":"2025\/09\/18 14:05","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7158,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250917005001","case_id":8819,"case_no":"IM250917005","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":"4.00","erp_labor_cost_amount":"0.00","hours_spent_display":"4h","start_at":"2025-09-17 13:00:00","start_at_display":"2025\/09\/17 13:00","end_at":"2025-09-17 17:00:00","end_at_display":"2025\/09\/17 17:00","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7154,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250916001001","case_id":8810,"case_no":"IM250916001","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":"2025-09-16 15:00:00","start_at_display":"2025\/09\/16 15:00","end_at":"2025-09-16 16:00:00","end_at_display":"2025\/09\/16 16:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7151,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250915003001","case_id":8805,"case_no":"IM250915003","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.18","erp_labor_cost_amount":"0.00","hours_spent_display":"1.18h","start_at":"2025-09-16 09:28:00","start_at_display":"2025\/09\/16 09:28","end_at":"2025-09-16 10:39:00","end_at_display":"2025\/09\/16 10:39","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7149,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250915006001","case_id":8808,"case_no":"IM250915006","project_id":3836,"project_title":"2025veeam\u4ea7\u54c1\u7eed\u4fdd","client_id":31,"client_name":"\u4e1c\u65b9\u7f51\u529b\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8","sales_rep_id":"","sales_rep_name":"","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"1.00","erp_labor_cost_amount":"0.00","hours_spent_display":"1h","start_at":"2025-09-15 15:00:00","start_at_display":"2025\/09\/15 15:00","end_at":"2025-09-15 16:00:00","end_at_display":"2025\/09\/15 16:00","salesRep":{}},{"ticket_id":7148,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250915004001","case_id":8806,"case_no":"IM250915004","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.53","erp_labor_cost_amount":"0.00","hours_spent_display":"0.53h","start_at":"2025-09-15 13:57:00","start_at_display":"2025\/09\/15 13:57","end_at":"2025-09-15 14:29:00","end_at_display":"2025\/09\/15 14:29","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7146,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250911005001","case_id":8794,"case_no":"IM250911005","project_id":3731,"project_title":"2024veeam\u548c\u5b58\u50a8\u7eed\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":"6.67","erp_labor_cost_amount":"0.00","hours_spent_display":"6.67h","start_at":"2025-09-13 09:00:00","start_at_display":"2025\/09\/13 09:00","end_at":"2025-09-13 15:40:00","end_at_display":"2025\/09\/13 15:40","salesRep":{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587"}},{"ticket_id":7142,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250911004001","case_id":8793,"case_no":"IM250911004","project_id":3731,"project_title":"2024veeam\u548c\u5b58\u50a8\u7eed\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":"5.00","erp_labor_cost_amount":"0.00","hours_spent_display":"5h","start_at":"2025-09-12 09:00:00","start_at_display":"2025\/09\/12 09:00","end_at":"2025-09-12 14:00:00","end_at_display":"2025\/09\/12 14:00","salesRep":{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587"}},{"ticket_id":7143,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250912004001","case_id":8801,"case_no":"IM250912004","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.50","erp_labor_cost_amount":"0.00","hours_spent_display":"0.50h","start_at":"2025-09-12 08:30:00","start_at_display":"2025\/09\/12 08:30","end_at":"2025-09-12 09:00:00","end_at_display":"2025\/09\/12 09:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7137,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250911007001","case_id":8796,"case_no":"IM250911007","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.40","erp_labor_cost_amount":"0.00","hours_spent_display":"0.40h","start_at":"2025-09-11 17:06:00","start_at_display":"2025\/09\/11 17:06","end_at":"2025-09-11 17:30:00","end_at_display":"2025\/09\/11 17:30","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7136,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250911003001","case_id":8792,"case_no":"IM250911003","project_id":3745,"project_title":"netapp\u5b58\u50a8\u7b2c\u4e09\u65b9\u7ef4\u4fdd1\u5e74-2024","client_id":2182,"client_name":"\u5317\u4eac\u5357\u65b9\u65af\u5948\u514b\u739b\u6da1\u8f6e\u6280\u672f\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":"2025-09-11 09:30:00","start_at_display":"2025\/09\/11 09:30","end_at":"2025-09-11 10:30:00","end_at_display":"2025\/09\/11 10:30","salesRep":{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91"}},{"ticket_id":7130,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250909005001","case_id":8786,"case_no":"IM250909005","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.50","erp_labor_cost_amount":"0.00","hours_spent_display":"1.50h","start_at":"2025-09-10 13:39:00","start_at_display":"2025\/09\/10 13:39","end_at":"2025-09-10 15:09:00","end_at_display":"2025\/09\/10 15:09","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7129,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250909004001","case_id":8785,"case_no":"IM250909004","project_id":3635,"project_title":"\u65b0\u5efaDMZ\u533a\u79c1\u6709\u4e91","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":"1.50","erp_labor_cost_amount":"0.00","hours_spent_display":"1.50h","start_at":"2025-09-09 20:00:00","start_at_display":"2025\/09\/09 20:00","end_at":"2025-09-09 21:30:00","end_at_display":"2025\/09\/09 21:30","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7126,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250909001001","case_id":8782,"case_no":"IM250909001","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":"8.33","erp_labor_cost_amount":"0.00","hours_spent_display":"8.33h","start_at":"2025-09-09 09:19:00","start_at_display":"2025\/09\/09 09:19","end_at":"2025-09-09 17:39:00","end_at_display":"2025\/09\/09 17:39","salesRep":{"id":5087,"key":5087,"name":"\u5218\u5fae"}},{"ticket_id":7123,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250908004001","case_id":8780,"case_no":"IM250908004","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.50","erp_labor_cost_amount":"0.00","hours_spent_display":"0.50h","start_at":"2025-09-08 20:00:00","start_at_display":"2025\/09\/08 20:00","end_at":"2025-09-08 20:30:00","end_at_display":"2025\/09\/08 20:30","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7122,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250908003001","case_id":8779,"case_no":"IM250908003","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":"6.08","erp_labor_cost_amount":"0.00","hours_spent_display":"6.08h","start_at":"2025-09-08 11:47:00","start_at_display":"2025\/09\/08 11:47","end_at":"2025-09-08 17:52:00","end_at_display":"2025\/09\/08 17:52","salesRep":{"id":5087,"key":5087,"name":"\u5218\u5fae"}},{"ticket_id":7121,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250908001001","case_id":8777,"case_no":"IM250908001","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":"1.18","erp_labor_cost_amount":"0.00","hours_spent_display":"1.18h","start_at":"2025-09-08 09:36:00","start_at_display":"2025\/09\/08 09:36","end_at":"2025-09-08 10:47:00","end_at_display":"2025\/09\/08 10:47","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7117,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250904003001","case_id":8773,"case_no":"IM250904003","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":"9.38","erp_labor_cost_amount":"0.00","hours_spent_display":"9.38h","start_at":"2025-09-05 08:41:00","start_at_display":"2025\/09\/05 08:41","end_at":"2025-09-05 18:04:00","end_at_display":"2025\/09\/05 18:04","salesRep":{"id":5087,"key":5087,"name":"\u5218\u5fae"}},{"ticket_id":7116,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250904002001","case_id":8772,"case_no":"IM250904002","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.98","erp_labor_cost_amount":"0.00","hours_spent_display":"1.98h","start_at":"2025-09-04 14:45:00","start_at_display":"2025\/09\/04 14:45","end_at":"2025-09-04 16:44:00","end_at_display":"2025\/09\/04 16:44","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7114,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250903001001","case_id":8770,"case_no":"IM250903001","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":"8.10","erp_labor_cost_amount":"0.00","hours_spent_display":"8.10h","start_at":"2025-09-03 09:00:00","start_at_display":"2025\/09\/03 09:00","end_at":"2025-09-03 17:06:00","end_at_display":"2025\/09\/03 17:06","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7111,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250902003001","case_id":8768,"case_no":"IM250902003","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.10","erp_labor_cost_amount":"0.00","hours_spent_display":"1.10h","start_at":"2025-09-02 13:44:00","start_at_display":"2025\/09\/02 13:44","end_at":"2025-09-02 14:50:00","end_at_display":"2025\/09\/02 14:50","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7110,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250902001001","case_id":8766,"case_no":"IM250902001","project_id":3953,"project_title":"POCN25085613-8\u53e3POE\u4ea4\u6362\u673a","client_id":12,"client_name":"smc(\u4e2d\u56fd)\u6709\u9650\u516c\u53f8\/SMC(\u5317\u4eac)\u5236\u9020\u6709\u9650\u516c\u53f8","sales_rep_id":5300,"sales_rep_name":"\u82cf\u6e05\u4e91","engineer_id":1023,"engineer_name":"\u5468\u5b50\u5065","work_hours":"0.70","erp_labor_cost_amount":"0.00","hours_spent_display":"0.70h","start_at":"2025-09-02 08:20:00","start_at_display":"2025\/09\/02 08:20","end_at":"2025-09-02 09:02:00","end_at_display":"2025\/09\/02 09:02","salesRep":{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91"}},{"ticket_id":7106,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250901003001","case_id":8763,"case_no":"IM250901003","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":"2025-09-01 13:30:00","start_at_display":"2025\/09\/01 13:30","end_at":"2025-09-01 15:30:00","end_at_display":"2025\/09\/01 15:30","salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0"}},{"ticket_id":7102,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250827001001","case_id":8754,"case_no":"IM250827001","project_id":3823,"project_title":"\u4fe1\u521b\u5e73\u53f0\u6269\u5bb9-2025\u5e74","client_id":20,"client_name":"\u4e2d\u56fd\u91cd\u578b\u673a\u68b0\u6709\u9650\u516c\u53f8\u3001\u56fd\u673a\u91cd\u578b\u88c5\u5907(\u67ec\u57d4\u5be8\u8fbe\u5cb1\u6c34\u7535\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":"4.77","erp_labor_cost_amount":"0.00","hours_spent_display":"4.77h","start_at":"2025-08-28 13:00:00","start_at_display":"2025\/08\/28 13:00","end_at":"2025-08-28 17:46:00","end_at_display":"2025\/08\/28 17:46","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7097,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250826006001","case_id":8753,"case_no":"IM250826006","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":"8.57","erp_labor_cost_amount":"0.00","hours_spent_display":"8.57h","start_at":"2025-08-27 09:14:00","start_at_display":"2025\/08\/27 09:14","end_at":"2025-08-27 17:48:00","end_at_display":"2025\/08\/27 17:48","salesRep":{"id":5087,"key":5087,"name":"\u5218\u5fae"}}],"pagenation":{"totalcount":1843,"thispage":4,"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:20', 527205120) RETURNING "id"