All Latest
6a1cff65d25a3: POST https://beta.jinchangxiao.com/vue/erp-analysis/list-case-ticket at 2026-06-01 11:41:25 am by 221.216.117.119

Log Messages

总计30条数据
TimeLevelCategoryMessage
 
11:41:25.861traceyii\base\Application::bootstrapBootstrap with yii\log\Dispatcher
11:41:25.861traceyii\base\Module::getModuleLoading module: debug
11:41:25.861traceyii\base\Application::bootstrapBootstrap with yii\debug\Module::bootstrap()
11:41:25.861traceyii\redis\Connection::openOpening redis DB connection: redis.server.local:6379, database=1
11:41:25.861traceyii\redis\Connection::executeCommandExecuting Redis Command: SELECT
11:41:25.861traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
11:41:25.862infotime tracing start1780285285862155008
11:41:25.862traceyii\web\UrlManager::parseRequestNo matching URL rules. Using default URL parsing logic.
11:41:25.862traceyii\web\Application::handleRequestRoute requested: 'vue/erp-analysis/list-case-ticket'
11:41:25.862traceyii\base\Module::getModuleLoading module: vue
11:41:25.863infoyii\web\Session::openSession started
11:41:25.863infoyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "id"=1001
11:41:25.863infoyii\db\Connection::openOpening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta
11:41:25.864traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
11:41:25.864traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
11:41:25.865traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
11:41:25.865traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
11:41:25.865infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
11:41:25.865traceyii\base\Controller::runActionRoute to run: vue/erp-analysis/list-case-ticket
11:41:25.866traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
11:41:25.867traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
11:41:25.867traceyii\base\InlineAction::runWithParamsRunning action: app\modules\vue\controllers\ErpAnalysisController::actionListCaseTicket()
11:41:25.868infoyii\db\Command::querySELECT 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"."client_id"='101') "summary"
11:41:26.084infoyii\db\Command::querySELECT 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"."client_id"='101' ORDER BY ct.start_at DESC, ct.ticket_id DESC) "c"
11:41:26.093infoyii\db\Command::querySELECT 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"."client_id"='101' ORDER BY ct.start_at DESC, ct.ticket_id DESC LIMIT 40
11:41:26.313traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
11:41:26.314traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
11:41:26.314infoyii\db\Command::queryINSERT 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', '{"client_id":"101","created_at_period":"","created_at_from":"","created_at_to":"","page":"1","pageSize":"40","listReload":"true","web_access_token":"YNQKwEYJYN8muCSh8ExnNlBf2oepDAlv"}', '{"code":2000,"result":{"erp_labor_cost_amount":"5.44","work_hours":"141.01","average_labor_cost_per_hour":"0.04","list":[{"ticket_id":7414,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260106007001","case_id":9103,"case_no":"IM260106007","project_id":3923,"project_title":"25\u5e74-26\u5e74\u865a\u62df\u5316\u670d\u52a1","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"3.00","erp_labor_cost_amount":"0.00","hours_spent_display":"3h","start_at":"2026-01-07 09:00:00","start_at_display":"2026\/01\/07 09:00","end_at":"2026-01-07 12:00:00","end_at_display":"2026\/01\/07 12:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7413,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM260106005001","case_id":9101,"case_no":"IM260106005","project_id":3923,"project_title":"25\u5e74-26\u5e74\u865a\u62df\u5316\u670d\u52a1","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"2026-01-06 14:00:00","start_at_display":"2026\/01\/06 14:00","end_at":"2026-01-06 16:00:00","end_at_display":"2026\/01\/06 16:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7391,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM251225001001","case_id":9079,"case_no":"IM251225001","project_id":3728,"project_title":"25-26\u5e74\u865a\u62df\u5316\u7ef4\u4fdd\u9879\u76ee","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"5.44","hours_spent_display":"1h","start_at":"2025-12-25 15:00:00","start_at_display":"2025\/12\/25 15:00","end_at":"2025-12-25 16:00:00","end_at_display":"2025\/12\/25 16:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7253,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM251030005001","case_id":8927,"case_no":"IM251030005","project_id":3728,"project_title":"25-26\u5e74\u865a\u62df\u5316\u7ef4\u4fdd\u9879\u76ee","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.58","erp_labor_cost_amount":"0.00","hours_spent_display":"0.58h","start_at":"2025-10-30 15:27:00","start_at_display":"2025\/10\/30 15:27","end_at":"2025-10-30 16:02:00","end_at_display":"2025\/10\/30 16:02","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7246,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM251028007001","case_id":8916,"case_no":"IM251028007","project_id":3923,"project_title":"25\u5e74-26\u5e74\u865a\u62df\u5316\u670d\u52a1","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"3.50","erp_labor_cost_amount":"0.00","hours_spent_display":"3.50h","start_at":"2025-10-28 18:00:00","start_at_display":"2025\/10\/28 18:00","end_at":"2025-10-28 21:30:00","end_at_display":"2025\/10\/28 21:30","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7245,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM251028002001","case_id":8910,"case_no":"IM251028002","project_id":3728,"project_title":"25-26\u5e74\u865a\u62df\u5316\u7ef4\u4fdd\u9879\u76ee","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.50","erp_labor_cost_amount":"0.00","hours_spent_display":"4.50h","start_at":"2025-10-28 11:00:00","start_at_display":"2025\/10\/28 11:00","end_at":"2025-10-28 15:30:00","end_at_display":"2025\/10\/28 15:30","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7031,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250807004001","case_id":8687,"case_no":"IM250807004","project_id":3728,"project_title":"25-26\u5e74\u865a\u62df\u5316\u7ef4\u4fdd\u9879\u76ee","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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-08-07 09:00:00","start_at_display":"2025\/08\/07 09:00","end_at":"2025-08-07 11:00:00","end_at_display":"2025\/08\/07 11:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":7026,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250806001001","case_id":8680,"case_no":"IM250806001","project_id":3728,"project_title":"25-26\u5e74\u865a\u62df\u5316\u7ef4\u4fdd\u9879\u76ee","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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-08-06 09:00:00","start_at_display":"2025\/08\/06 09:00","end_at":"2025-08-06 11:00:00","end_at_display":"2025\/08\/06 11:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":6820,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250526006001","case_id":8445,"case_no":"IM250526006","project_id":3728,"project_title":"25-26\u5e74\u865a\u62df\u5316\u7ef4\u4fdd\u9879\u76ee","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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-05-26 13:00:00","start_at_display":"2025\/05\/26 13:00","end_at":"2025-05-26 15:00:00","end_at_display":"2025\/05\/26 15:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":6811,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250523005001","case_id":8438,"case_no":"IM250523005","project_id":3728,"project_title":"25-26\u5e74\u865a\u62df\u5316\u7ef4\u4fdd\u9879\u76ee","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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-05-23 14:00:00","start_at_display":"2025\/05\/23 14:00","end_at":"2025-05-23 15:30:00","end_at_display":"2025\/05\/23 15:30","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":6599,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250224001001","case_id":8167,"case_no":"IM250224001","project_id":3728,"project_title":"25-26\u5e74\u865a\u62df\u5316\u7ef4\u4fdd\u9879\u76ee","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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-02-24 09:00:00","start_at_display":"2025\/02\/24 09:00","end_at":"2025-02-24 10:30:00","end_at_display":"2025\/02\/24 10:30","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":6592,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM250220003001","case_id":8159,"case_no":"IM250220003","project_id":3728,"project_title":"25-26\u5e74\u865a\u62df\u5316\u7ef4\u4fdd\u9879\u76ee","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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-02-20 10:00:00","start_at_display":"2025\/02\/20 10:00","end_at":"2025-02-20 11:00:00","end_at_display":"2025\/02\/20 11:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":5048,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM230803004001","case_id":6432,"case_no":"IM230803004","project_id":3159,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2023\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"3.00","erp_labor_cost_amount":"0.00","hours_spent_display":"3h","start_at":"2023-08-03 13:00:00","start_at_display":"2023\/08\/03 13:00","end_at":"2023-08-03 16:00:00","end_at_display":"2023\/08\/03 16:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":5045,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM230803002001","case_id":6430,"case_no":"IM230803002","project_id":3159,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2023\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.13","erp_labor_cost_amount":"0.00","hours_spent_display":"2.13h","start_at":"2023-08-03 10:00:00","start_at_display":"2023\/08\/03 10:00","end_at":"2023-08-03 12:08:00","end_at_display":"2023\/08\/03 12:08","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4608,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM230323004001","case_id":5940,"case_no":"IM230323004","project_id":3159,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2023\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"2023-03-23 09:00:00","start_at_display":"2023\/03\/23 09:00","end_at":"2023-03-23 11:00:00","end_at_display":"2023\/03\/23 11:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4587,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM230320002001","case_id":5919,"case_no":"IM230320002","project_id":3159,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2023\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.43","erp_labor_cost_amount":"0.00","hours_spent_display":"0.43h","start_at":"2023-03-20 14:34:00","start_at_display":"2023\/03\/20 14:34","end_at":"2023-03-20 15:00:00","end_at_display":"2023\/03\/20 15:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4483,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM230216005001","case_id":5803,"case_no":"IM230216005","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.83","erp_labor_cost_amount":"0.00","hours_spent_display":"2.83h","start_at":"2023-02-16 18:10:00","start_at_display":"2023\/02\/16 18:10","end_at":"2023-02-16 21:00:00","end_at_display":"2023\/02\/16 21:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4369,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM221227003001","case_id":5677,"case_no":"IM221227003","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.00","erp_labor_cost_amount":"0.00","hours_spent_display":"4h","start_at":"2022-12-28 10:00:00","start_at_display":"2022\/12\/28 10:00","end_at":"2022-12-28 14:00:00","end_at_display":"2022\/12\/28 14:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4367,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM221227002001","case_id":5676,"case_no":"IM221227002","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.70","erp_labor_cost_amount":"0.00","hours_spent_display":"0.70h","start_at":"2022-12-27 14:49:00","start_at_display":"2022\/12\/27 14:49","end_at":"2022-12-27 15:31:00","end_at_display":"2022\/12\/27 15:31","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4293,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM221107001001","case_id":5584,"case_no":"IM221107001","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.33","erp_labor_cost_amount":"0.00","hours_spent_display":"2.33h","start_at":"2022-11-06 21:00:00","start_at_display":"2022\/11\/06 21:00","end_at":"2022-11-06 23:20:00","end_at_display":"2022\/11\/06 23:20","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4225,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM221012002001","case_id":5512,"case_no":"IM221012002","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"2022-10-16 14:00:00","start_at_display":"2022\/10\/16 14:00","end_at":"2022-10-16 16:00:00","end_at_display":"2022\/10\/16 16:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4211,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM221012001001","case_id":5511,"case_no":"IM221012001","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.50","erp_labor_cost_amount":"0.00","hours_spent_display":"2.50h","start_at":"2022-10-12 13:30:00","start_at_display":"2022\/10\/12 13:30","end_at":"2022-10-12 16:00:00","end_at_display":"2022\/10\/12 16:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4044,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM220802006001","case_id":5375,"case_no":"IM220802006","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.33","erp_labor_cost_amount":"0.00","hours_spent_display":"2.33h","start_at":"2022-08-02 19:00:00","start_at_display":"2022\/08\/02 19:00","end_at":"2022-08-02 21:20:00","end_at_display":"2022\/08\/02 21:20","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4019,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM220721003001","case_id":5347,"case_no":"IM220721003","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.33","erp_labor_cost_amount":"0.00","hours_spent_display":"1.33h","start_at":"2022-07-20 18:10:00","start_at_display":"2022\/07\/20 18:10","end_at":"2022-07-20 19:30:00","end_at_display":"2022\/07\/20 19:30","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4013,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM220715006001","case_id":5336,"case_no":"IM220715006","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"3.00","erp_labor_cost_amount":"0.00","hours_spent_display":"3h","start_at":"2022-07-18 18:00:00","start_at_display":"2022\/07\/18 18:00","end_at":"2022-07-18 21:00:00","end_at_display":"2022\/07\/18 21:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":4010,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM220715005001","case_id":5335,"case_no":"IM220715005","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"2022-07-18 15:00:00","start_at_display":"2022\/07\/18 15:00","end_at":"2022-07-18 17:00:00","end_at_display":"2022\/07\/18 17:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":3995,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM220712001001","case_id":5321,"case_no":"IM220712001","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":5085,"engineer_name":"\u970d\u4e1c\u9633","work_hours":"8.65","erp_labor_cost_amount":"0.00","hours_spent_display":"8.65h","start_at":"2022-07-12 10:21:53","start_at_display":"2022\/07\/12 10:21","end_at":"2022-07-12 19:00:57","end_at_display":"2022\/07\/12 19:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":3819,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM220420004001","case_id":5187,"case_no":"IM220420004","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"3.00","erp_labor_cost_amount":"0.00","hours_spent_display":"3h","start_at":"2022-04-20 16:00:00","start_at_display":"2022\/04\/20 16:00","end_at":"2022-04-20 19:00:00","end_at_display":"2022\/04\/20 19:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":3814,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM220420003001","case_id":5186,"case_no":"IM220420003","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.33","erp_labor_cost_amount":"0.00","hours_spent_display":"0.33h","start_at":"2022-04-20 14:16:00","start_at_display":"2022\/04\/20 14:16","end_at":"2022-04-20 14:36:00","end_at_display":"2022\/04\/20 14:36","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":3730,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM220316001001","case_id":5086,"case_no":"IM220316001","project_id":2784,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1-2022\u5e74","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"0.00","hours_spent_display":"5h","start_at":"2022-03-21 14:00:00","start_at_display":"2022\/03\/21 14:00","end_at":"2022-03-21 19:00:00","end_at_display":"2022\/03\/21 19:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":3551,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM211214005001","case_id":4915,"case_no":"IM211214005","project_id":"","project_title":"","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"2021-12-14 17:00:00","start_at_display":"2021\/12\/14 17:00","end_at":"2021-12-14 19:00:00","end_at_display":"2021\/12\/14 19:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":3545,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM211207002001","case_id":4894,"case_no":"IM211207002","project_id":"","project_title":"","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"2021-12-13 12:26:00","start_at_display":"2021\/12\/13 12:26","end_at":"2021-12-13 13:56:00","end_at_display":"2021\/12\/13 13:56","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":3285,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM210831005001","case_id":4601,"case_no":"IM210831005","project_id":2338,"project_title":"\u865a\u62df\u5316\u670d\u52a1","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.32","erp_labor_cost_amount":"0.00","hours_spent_display":"2.32h","start_at":"2021-08-31 12:30:00","start_at_display":"2021\/08\/31 12:30","end_at":"2021-08-31 14:49:00","end_at_display":"2021\/08\/31 14:49","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":3255,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM210811001001","case_id":4552,"case_no":"IM210811001","project_id":2338,"project_title":"\u865a\u62df\u5316\u670d\u52a1","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.55","erp_labor_cost_amount":"0.00","hours_spent_display":"0.55h","start_at":"2021-08-12 13:57:00","start_at_display":"2021\/08\/12 13:57","end_at":"2021-08-12 14:30:00","end_at_display":"2021\/08\/12 14:30","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":2985,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM210303003001","case_id":4188,"case_no":"IM210303003","project_id":"","project_title":"","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.25","erp_labor_cost_amount":"0.00","hours_spent_display":"6.25h","start_at":"2021-03-04 10:13:00","start_at_display":"2021\/03\/04 10:13","end_at":"2021-03-04 16:28:00","end_at_display":"2021\/03\/04 16:28","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":2983,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM210303001001","case_id":4186,"case_no":"IM210303001","project_id":"","project_title":"","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.25","erp_labor_cost_amount":"0.00","hours_spent_display":"4.25h","start_at":"2021-03-03 14:55:00","start_at_display":"2021\/03\/03 14:55","end_at":"2021-03-03 19:10:00","end_at_display":"2021\/03\/03 19:10","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":2231,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM200326003001","case_id":3315,"case_no":"IM200326003","project_id":56,"project_title":"\u865a\u62df\u5316\u670d\u52a1\u9879\u76ee","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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.00","erp_labor_cost_amount":"0.00","hours_spent_display":"6h","start_at":"2020-03-27 09:00:00","start_at_display":"2020\/03\/27 09:00","end_at":"2020-03-27 15:00:00","end_at_display":"2020\/03\/27 15:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":2028,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM200108003001","case_id":3098,"case_no":"IM200108003","project_id":56,"project_title":"\u865a\u62df\u5316\u670d\u52a1\u9879\u76ee","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"8.00","erp_labor_cost_amount":"0.00","hours_spent_display":"8h","start_at":"2020-01-10 09:00:00","start_at_display":"2020\/01\/10 09:00","end_at":"2020-01-10 17:00:00","end_at_display":"2020\/01\/10 17:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":1903,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM191106003001","case_id":2941,"case_no":"IM191106003","project_id":332,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\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":"2019-11-07 10:00:00","start_at_display":"2019\/11\/07 10:00","end_at":"2019-11-07 12:00:00","end_at_display":"2019\/11\/07 12:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}},{"ticket_id":1715,"ticket_type":"implementRecords","ticket_type_name":"\u5b9e\u65bd","ticket_no":"IM190719005001","case_id":2652,"case_no":"IM190719005","project_id":332,"project_title":"\u865a\u62df\u5316\u8fd0\u7ef4\u670d\u52a1","client_id":101,"client_name":"\u4e2d\u56fd\u516c\u8def\u5de5\u7a0b\u54a8\u8be2\u96c6\u56e2\u6709\u9650\u516c\u53f8(\u4e2d\u54a8\u6570\u636e\u6709\u9650\u516c\u53f8)","sales_rep_id":1005,"sales_rep_name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","engineer_id":1016,"engineer_name":"\u8346\u626c","work_hours":"11.00","erp_labor_cost_amount":"0.00","hours_spent_display":"11h","start_at":"2019-07-20 09:00:00","start_at_display":"2019\/07\/20 09:00","end_at":"2019-07-20 20:00:00","end_at_display":"2019\/07\/20 20:00","salesRep":{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09"}}],"pagenation":{"totalcount":48,"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 11:41:26', 452058880) RETURNING "id"
11:41:26.316traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
11:41:26.316traceyii\redis\Connection::executeCommandExecuting Redis Command: SET