All Latest
6a27d3510fc5b: POST https://beta.jinchangxiao.com/vue/analysis/pre-sales-counts at 2026-06-09 04:48:17 pm by 43.224.72.82

Performance Profiling

Total processing time: 87 ms; Peak memory: 5.304 MB. Show Profiling Timeline

总计22条数据
TimeDurationCategoryInfo
  
16:48:17.09424.0 msyii\db\Command::queryselect ct.conname as constraint_name, a.attname as column_name, fc.relname as foreign_table_name, fns.nspname as foreign_table_schema, fa.attname as foreign_column_name from (SELECT ct.conname, ct.conrelid, ct.confrelid, ct.conkey, ct.contype, ct.confkey, generate_subscripts(ct.conkey, 1) AS s FROM pg_constraint ct ) AS ct inner join pg_class c on c.oid=ct.conrelid inner join pg_namespace ns on c.relnamespace=ns.oid inner join pg_attribute a on a.attrelid=ct.conrelid and a.attnum = ct.conkey[ct.s] left join pg_class fc on fc.oid=ct.confrelid left join pg_namespace fns on fc.relnamespace=fns.oid left join pg_attribute fa on fa.attrelid=ct.confrelid and fa.attnum = ct.confkey[ct.s] where ct.contype='f' and c.relname='tbl_pre_sales' and ns.nspname='a57be577deb434' order by fns.nspname, fc.relname, a.attnum
16:48:17.0867.1 msyii\db\Command::querySELECT d.nspname AS table_schema, c.relname AS table_name, a.attname AS column_name, t.typname AS data_type, a.attlen AS character_maximum_length, pg_catalog.col_description(c.oid, a.attnum) AS column_comment, a.atttypmod AS modifier, a.attnotnull = false AS is_nullable, CAST(pg_get_expr(ad.adbin, ad.adrelid) AS varchar) AS column_default, coalesce(pg_get_expr(ad.adbin, ad.adrelid) ~ 'nextval',false) AS is_autoinc, array_to_string((select array_agg(enumlabel) from pg_enum where enumtypid=a.atttypid)::varchar[],',') as enum_values, CASE atttypid WHEN 21 /*int2*/ THEN 16 WHEN 23 /*int4*/ THEN 32 WHEN 20 /*int8*/ THEN 64 WHEN 1700 /*numeric*/ THEN CASE WHEN atttypmod = -1 THEN null ELSE ((atttypmod - 4) >> 16) & 65535 END WHEN 700 /*float4*/ THEN 24 /*FLT_MANT_DIG*/ WHEN 701 /*float8*/ THEN 53 /*DBL_MANT_DIG*/ ELSE null END AS numeric_precision, CASE WHEN atttypid IN (21, 23, 20) THEN 0 WHEN atttypid IN (1700) THEN CASE WHEN atttypmod = -1 THEN null ELSE (atttypmod - 4) & 65535 END ELSE null END AS numeric_scale, CAST( information_schema._pg_char_max_length(information_schema._pg_truetypid(a, t), information_schema._pg_truetypmod(a, t)) AS numeric ) AS size, a.attnum = any (ct.conkey) as is_pkey FROM pg_class c LEFT JOIN pg_attribute a ON a.attrelid = c.oid LEFT JOIN pg_attrdef ad ON a.attrelid = ad.adrelid AND a.attnum = ad.adnum LEFT JOIN pg_type t ON a.atttypid = t.oid LEFT JOIN pg_namespace d ON d.oid = c.relnamespace LEFT join pg_constraint ct on ct.conrelid=c.oid and ct.contype='p' WHERE a.attnum > 0 and t.typname != '' and c.relname = 'tbl_pre_sales' and d.nspname = 'a57be577deb434' ORDER BY a.attnum;
16:48:17.1194.9 msyii\db\Command::querySELECT sum(ca.points) as points FROM "a57be577deb434"."tbl_case_assignments" "ca" LEFT JOIN (SELECT c.* FROM "a57be577deb434"."tbl_cases" "c" LEFT JOIN "a57be577deb434"."tbl_case_services" "cs" ON cs.case_id = c.id GROUP BY "c"."id") "c" ON ca.case_id = c.id WHERE ("c"."case_type"=1) AND ("c"."closed_at" >= '20260101 00:00:00') AND ("c"."closed_at" <= '20261231 23:59:59') AND ("ca"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023))
16:48:17.1324.5 msyii\db\Command::querySELECT avg(satisfaction_score) AS s_score, avg(skill_score) AS t_score FROM "a57be577deb434"."tbl_callback_records" "cr" LEFT JOIN (SELECT c.* FROM "a57be577deb434"."tbl_cases" "c" LEFT JOIN "a57be577deb434"."tbl_case_services" "cs" ON cs.case_id = c.id GROUP BY "c"."id") "c" ON cr.case_id = c.id WHERE ("c"."last_engineer" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("c"."case_type"=1) AND ("c"."case_status"=5) AND (satisfaction_score != 0 OR skill_score != 0) AND (cr.callback_date >= '20260101 00:00:00' AND cr.callback_date < timestamp '20261231 23:59:59' + interval '1 second')
16:48:17.1383.5 msyii\db\Command::querySELECT product_type_id, name, count(it.id) as value FROM "a57be577deb434"."tbl_pre_sales_product_types" "it" WHERE "pre_sales_id" IN (SELECT "ps"."id" FROM "a57be577deb434"."tbl_pre_sales" "ps" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON ps.case_id = c.id WHERE ("ps"."created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND (("ps"."created_at" >= '2026-01-01 00:00:00') AND ("ps"."created_at" <= '2026-12-31 23:59:59')) AND ("is_draft"=FALSE)) GROUP BY "product_type_id", "name"
16:48:17.0803.1 msyii\db\Command::querySELECT sum(p.budget * p.profit_pct / 100 * sub.contribution) AS profits, sum(p.budget * sub.contribution) AS currents, count(p.id) AS projects FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN (SELECT pas.project_id, sum(pas.contribution) AS contribution FROM "a57be577deb434"."tbl_project_architects" "pas" WHERE ("pas"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("pas"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023)) GROUP BY "pas"."project_id") "sub" ON p.id = sub.project_id WHERE ("p"."project_status"=3) AND (sub.contribution is not null) AND (p.bargain_date >= '20260101 00:00:00' AND p.bargain_date < timestamp '20261231 23:59:59' + interval '1 second')
16:48:17.1272.1 msyii\db\Command::querySELECT count(c.id) AS new_contact FROM "a57be577deb434"."tbl_contacts" "c" LEFT JOIN "a57be577deb434"."tbl_clients" "client" ON client.id = c.id WHERE ("c"."created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("c"."created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND (("c"."created_at" >= '20260101 00:00:00') AND ("c"."created_at" <= '20261231 23:59:59')) AND ("c"."contact_type"='1')
16:48:17.0841.6 msyii\db\Command::querySELECT count(ps.id) AS times, sum(ps.end_at - ps.start_at) AS hours, avg(ps.end_at - ps.start_at) AS avg_hours FROM "a57be577deb434"."tbl_pre_sales" "ps" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON ps.case_id = c.id WHERE ("ps"."created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("ps"."created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND (ps.start_at >= '20260101 00:00:00' AND ps.start_at < timestamp '20261231 23:59:59' + interval '1 second') AND ("ps"."is_draft"=FALSE)
16:48:17.1291.6 msyii\db\Command::querySELECT sum(ca.points) as points FROM "a57be577deb434"."tbl_case_assignments" "ca" LEFT JOIN (SELECT c.* FROM "a57be577deb434"."tbl_cases" "c" LEFT JOIN "a57be577deb434"."tbl_case_services" "cs" ON cs.case_id = c.id GROUP BY "c"."id") "c" ON ca.case_id = c.id WHERE ("c"."case_type"=1) AND ("c"."closed_at" >= '20260101 00:00:00') AND ("c"."closed_at" <= '20261231 23:59:59') AND ("ca"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND (c.deduct_points_from is null)
16:48:17.1411.4 msyii\db\Command::querySELECT "s"."id", "s"."title" AS "name", count(ps.id) as value FROM "a57be577deb434"."tbl_pre_sales" "ps" LEFT JOIN "a57be577deb434"."tbl_services" "s" ON ps.service_id = s.id LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON ps.case_id = c.id WHERE ("ps"."created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND (("ps"."created_at" >= '2026-01-01 00:00:00') AND ("ps"."created_at" <= '2026-12-31 23:59:59')) AND ("is_draft"=FALSE) GROUP BY "s"."id"
16:48:17.1471.1 msyii\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/analysis/pre-sales-counts', '{"period":"currentfascalyear","alert":"false","web_access_token":"YwFaPh8a1dbQrFwOp6grZ7RlSTuMSejO"}', '{"code":2000,"result":{"list":[{"name":"\u552e\u524d\u6b21\u6570","key":"pre_sales_times","value":26,"unit":"\u6b21","color":"#98c450","link":{}},{"name":"\u552e\u524d\u7528\u65f6","key":"individual_pre_sales_time","value":55.18,"unit":"\u5c0f\u65f6","color":"#98c450","link":{}},{"name":"\u5de5\u5206","key":"gain_points","value":"1700","unit":"\u5206","color":"#98c450","link":{}},{"name":"\u5e73\u5747\u5de5\u7a0b\u5e08\u6280\u80fd\u5f97\u5206","key":"average_skill_score","value":"9.33\/10","unit":"\u5206","color":"#98c450","link":{}},{"name":"\u6574\u4f53\u5e73\u5747\u6ee1\u610f\u5ea6\u5f97\u5206","key":"average_satisfaction_score","value":"9\/10","unit":"\u5206","color":"#98c450","link":{}},{"name":"\u65b0\u589e\u8054\u7cfb\u4eba","key":"new_contacts","value":1,"unit":"\u4e2a","color":"#98c450","link":{}},{"name":"\u4e2a\u4eba\u5e73\u5747\u552e\u524d\u7528\u65f6","key":"average_pre_sales_time","value":2.12,"unit":"\u5c0f\u65f6\/\u6b21","color":"#98c450","link":{}},{"name":"\u56e2\u961f\u5e73\u5747\u552e\u524d\u7528\u65f6","key":"average_all_pre_sales_time","value":2.12,"unit":"\u5c0f\u65f6\/\u6b21","color":"#98c450","link":{}},{"name":"\u670d\u52a1\u516c\u6d77\u5ba2\u6237\u5de5\u5206","key":"public_gain_points","value":0,"unit":"\u5206","color":"#98c450","link":{}},{"name":"\u52a9\u653b\u6d41\u6c34","key":"journal_account_assisted","value":78167938.19,"unit":"\u5143","color":"#98c450","link":{}},{"name":"\u52a9\u653b\u5229\u6da6","key":"profit_assisted","value":21081280.97,"unit":"\u5143","color":"#98c450","link":{}},{"name":"\u552e\u524d\u6210\u4ea4\u5546\u673a\u6570","key":"success_pre_sales_times","value":10,"unit":"\u4e2a","color":"#98c450","link":{}}],"chart":[{"product_type_id":4,"name":"\u7f51\u7edc\u8bbe\u5907 ","value":1,"y":100}],"score":{},"serviceChart":[{"id":230,"name":"\u54a8\u8be2\u670d\u52a1","value":14,"y":53.85},{"id":273,"name":"\u6280\u672f\u65b9\u6848-\u4e00\u7ea7\u6587\u6863","value":9,"y":34.62},{"id":275,"name":"\u6280\u672f\u65b9\u6848-\u4e8c\u7ea7\u6587\u6863","value":2,"y":7.69},{"id":233,"name":"\u7efc\u5408\u670d\u52a1\u534a\u5929","value":1,"y":3.85}]},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}],"mod":0,"ip":"43.224.72.82","ua":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.15; rv:151.0) Gecko\/20100101 Firefox\/151.0"}', FALSE, '2026-06-09 16:48:17', 81632000) RETURNING "id"
16:48:17.1251.0 msyii\db\Command::querySELECT avg(ps.end_at - ps.start_at) AS avg_hours FROM "a57be577deb434"."tbl_pre_sales" "ps" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON ps.case_id = c.id WHERE ("ps"."created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND (ps.start_at >= '20260101 00:00:00' AND ps.start_at < timestamp '20261231 23:59:59' + interval '1 second') AND ("ps"."is_draft"=FALSE)
16:48:17.0760.9 msyii\db\Command::querySELECT "user_id" FROM "a57be577deb434"."tbl_user_role_change_logs" "urcl" LEFT JOIN "a57be577deb434"."tbl_users" "u" ON urcl.user_id = u.id WHERE ("role_name"='Engineer') AND (((start_from < end_at) or end_at is null)) AND (tsrange(start_from::TIMESTAMP, end_at::TIMESTAMP, '[)') && '[2026-01-01 00:00:00, 2026-12-31 23:59:59]'::tsrange) GROUP BY "user_id", "pinyin1", "namecut1", "pinyin2", "namecut2", "pinyin3", "namecut3", "pinyin4", "namecut4" ORDER BY pinyin1 nulls first, namecut1 nulls first, pinyin2 nulls first, namecut2 nulls first, pinyin3 nulls first, namecut3 nulls first, pinyin4 nulls first, namecut4 nulls first
16:48:17.0780.9 msyii\db\Command::querySELECT "user_id" FROM "a57be577deb434"."tbl_user_role_change_logs" "urcl" LEFT JOIN "a57be577deb434"."tbl_users" "u" ON urcl.user_id = u.id WHERE ("role_name"='Engineer') AND (((start_from < end_at) or end_at is null)) AND (tsrange(start_from::TIMESTAMP, end_at::TIMESTAMP, '[)') && '[20260101 00:00:00, 20261231 23:59:59]'::tsrange) GROUP BY "user_id", "pinyin1", "namecut1", "pinyin2", "namecut2", "pinyin3", "namecut3", "pinyin4", "namecut4" ORDER BY pinyin1 nulls first, namecut1 nulls first, pinyin2 nulls first, namecut2 nulls first, pinyin3 nulls first, namecut3 nulls first, pinyin4 nulls first, namecut4 nulls first
16:48:17.1240.9 msyii\db\Command::querySELECT "user_id" FROM "a57be577deb434"."tbl_user_role_change_logs" "urcl" LEFT JOIN "a57be577deb434"."tbl_users" "u" ON urcl.user_id = u.id WHERE ("role_name"='Engineer') AND (((start_from < end_at) or end_at is null)) AND (tsrange(start_from::TIMESTAMP, end_at::TIMESTAMP, '[)') && '[20260101 00:00:00, 20261231 23:59:59]'::tsrange) GROUP BY "user_id", "pinyin1", "namecut1", "pinyin2", "namecut2", "pinyin3", "namecut3", "pinyin4", "namecut4" ORDER BY pinyin1 nulls first, namecut1 nulls first, pinyin2 nulls first, namecut2 nulls first, pinyin3 nulls first, namecut3 nulls first, pinyin4 nulls first, namecut4 nulls first
16:48:17.0830.8 msyii\db\Command::querySELECT "user_id" FROM "a57be577deb434"."tbl_user_role_change_logs" "urcl" LEFT JOIN "a57be577deb434"."tbl_users" "u" ON urcl.user_id = u.id WHERE ("role_name"='Engineer') AND (((start_from < end_at) or end_at is null)) AND (tsrange(start_from::TIMESTAMP, end_at::TIMESTAMP, '[)') && '[20260101 00:00:00, 20261231 23:59:59]'::tsrange) GROUP BY "user_id", "pinyin1", "namecut1", "pinyin2", "namecut2", "pinyin3", "namecut3", "pinyin4", "namecut4" ORDER BY pinyin1 nulls first, namecut1 nulls first, pinyin2 nulls first, namecut2 nulls first, pinyin3 nulls first, namecut3 nulls first, pinyin4 nulls first, namecut4 nulls first
16:48:17.0670.8 msyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "id"=5493
16:48:17.1260.8 msyii\db\Command::querySELECT "user_id" FROM "a57be577deb434"."tbl_user_role_change_logs" "urcl" LEFT JOIN "a57be577deb434"."tbl_users" "u" ON urcl.user_id = u.id WHERE ("role_name"='Engineer') AND (((start_from < end_at) or end_at is null)) AND (tsrange(start_from::TIMESTAMP, end_at::TIMESTAMP, '[)') && '[20260101 00:00:00, 20261231 23:59:59]'::tsrange) GROUP BY "user_id", "pinyin1", "namecut1", "pinyin2", "namecut2", "pinyin3", "namecut3", "pinyin4", "namecut4" ORDER BY pinyin1 nulls first, namecut1 nulls first, pinyin2 nulls first, namecut2 nulls first, pinyin3 nulls first, namecut3 nulls first, pinyin4 nulls first, namecut4 nulls first
16:48:17.0690.7 msyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "id"=1001
16:48:17.0700.4 msyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
16:48:17.0770.4 msyii\db\Command::querySELECT "id" FROM "a57be577deb434"."tbl_users" WHERE "id" IN (5085, 5248, 1015, 1022, 5064, 1023) ORDER BY pinyin1 nulls first, namecut1 nulls first, pinyin2 nulls first, namecut2 nulls first, pinyin3 nulls first, namecut3 nulls first, pinyin4 nulls first, namecut4 nulls first
16:48:17.0670.3 msyii\db\Connection::openOpening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta