16:07:59.424 | 6.3 ms | SELECT | SELECT
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_clients'
and d.nspname = 'a57be577deb434'
ORDER BY
a.attnum; |
16:07:59.447 | 9.7 ms | SELECT | SELECT
c.*,
CASE WHEN p.client_id IS NULL THEN false ELSE true END AS cooperated,
CASE WHEN c.sales_rep IS NULL THEN 0 ELSE 1 END AS is_public,
sl.lost_contact_days,
extract(epoch from (now() - max(arrive.end_at))) / 86400 AS last_arrive_days,
sl.last_contact,
max(arrive.end_at) as last_arrive,
CASE WHEN c.client_class IS NOT NULL THEN (
(CASE WHEN cl.contact_base > 0 THEN floor(CASE WHEN c.contact_count > cl.contact_base THEN 1 * 15 ELSE c.contact_count * 15 / cl.contact_base END) ELSE 15 END)
+
floor(c.client_base_info_count * 15 / 9)
+
(CASE WHEN cl.visit_base > 0 THEN floor(CASE WHEN c.visit_count > ceil((CASE WHEN extract(year from now()) = extract(year from c.created_at::date) THEN (now()::date - c.created_at::date + 1)::float ELSE 221::float END) / cl.visit_base::float) THEN 1 * 20 ELSE c.visit_count * 20 / ceil((CASE WHEN extract(year from now()) = extract(year from c.created_at::date) THEN (now()::date - c.created_at::date + 1)::float ELSE 221::float END) / cl.visit_base::float) END) ELSE 20 END)
+
(CASE WHEN cl.cooperate_base > 0 THEN floor(CASE WHEN c.cooperate_count > cl.cooperate_base THEN 1 * 20 ELSE c.cooperate_count * 20 / cl.cooperate_base END) ELSE 20 END)
+
(CASE WHEN cl.case_pre_sales_base > 0 THEN floor(CASE WHEN c.case_pre_sales_count > cl.case_pre_sales_base THEN 1 * 15 ELSE c.case_pre_sales_count * 15 / cl.case_pre_sales_base END) ELSE 15 END)
+
(CASE WHEN cl.case_implement_base > 0 THEN floor(CASE WHEN c.case_implement_count > cl.case_implement_base THEN 1 * 15 ELSE c.case_implement_count * 15 / cl.case_implement_base END) ELSE 15 END)
) ELSE NULL END as score
FROM "a57be577deb434"."tbl_clients" "c" LEFT JOIN "a57be577deb434"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "a57be577deb434"."tbl_client_classes" "cl" ON cl.id = c.client_class LEFT JOIN "a57be577deb434"."tbl_client_address_rels" "car" ON car.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_addresses" "a" ON car.address_id = a.id LEFT JOIN (SELECT "client_id" FROM "a57be577deb434"."tbl_projects" WHERE "project_status"=3 GROUP BY "client_id") "p" ON p.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_work_logs" "arrive" ON (arrive.client_id = c.id) AND ("arrive"."scenario_id"=1) AND ("arrive"."is_draft"=FALSE) AND ("arrive"."location_in_id" IS NOT NULL) AND ("arrive"."location_out_id" IS NOT NULL) AND ("arrive"."client_id" IS NOT NULL) LEFT JOIN (SELECT extract(epoch from (now() - max(end_at))) / 86400 AS lost_contact_days, max(end_at) as last_contact, client_id FROM "a57be577deb434"."tbl_work_logs" WHERE "is_draft"=FALSE GROUP BY "client_id") "sl" ON sl.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = c.id AND ttr.term_id = 14 LEFT JOIN (SELECT "client_id" FROM "a57be577deb434"."tbl_contacts" WHERE lower(name) LIKE '%%' GROUP BY "client_id") "cc" ON cc.client_id = c.id WHERE (("c"."sales_rep" IN (1001, 5049, 5301, 5022, 5209, 5026, 5293, 5309, 5356, 5329, 5299, 5303, 5302, 5332, 5047, 1026, 5096, 5070, 5448, 5420, 1029, 5037, 5087, 1008, 5048, 5043, 5045, 5230, 5031, 5088, 5208, 1003, 5294, 5357, 5044, 1030, 5076, 5300, 5027, 5089, 5311, 5066, 5069, 5364, 1009, 5295, 1013, 5128, 5203, 1025, 5032, 5075, 1004, 5072, 5033, 5359, 5412, 5409, 5229, 1005, 5304, 5449, 5358, 1006, 5093)) OR ("c"."sales_rep" IS NULL) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1001))) AND ("deleted"=FALSE) AND (1=0) GROUP BY "c"."id", "cl"."id", "cooperated", "lost_contact_days", "last_contact" ORDER BY "is_public" DESC |
16:07:59.471 | 1.3 ms | INSERT | INSERT INTO "global"."tbl_api_log" ("code", "schema", "user_id", "device_type", "url", "request", "response", "php_error", "time") VALUES (200, 'a57be577deb434', 1001, 5, 'vue/client/give-up-all', '[]', '{"code":2000,"result":"","status":1,"msg":[{"name":"success","success":"\u5ba2\u6237\u5df2\u6210\u529f\u653e\u5f03","error":""}],"mod":0}', FALSE, '2025-08-09 16:07:59') RETURNING "id" |