| 13:13:11.062 | trace | yii\base\Application::bootstrap | Bootstrap with yii\log\Dispatcher |
| 13:13:11.063 | trace | yii\base\Module::getModule | Loading module: debug |
| 13:13:11.063 | trace | yii\base\Application::bootstrap | Bootstrap with yii\debug\Module::bootstrap() |
| 13:13:11.063 | trace | yii\redis\Connection::open | Opening redis DB connection: redis.server.local:6379, database=1 |
| 13:13:11.063 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SELECT |
| 13:13:11.063 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:13:11.063 | info | time tracing start | 1780290791063896064 |
| 13:13:11.064 | trace | yii\web\UrlManager::parseRequest | No matching URL rules. Using default URL parsing logic. |
| 13:13:11.064 | trace | yii\web\Application::handleRequest | Route requested: 'vue/account/list-client' |
| 13:13:11.064 | trace | yii\base\Module::getModule | Loading module: vue |
| 13:13:11.064 | info | yii\web\Session::open | Session started |
| 13:13:11.065 | info | yii\db\Command::query | SELECT * FROM "global"."vw_user_login" WHERE "id"=5493 |
| 13:13:11.065 | info | yii\db\Connection::open | Opening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta |
| 13:13:11.066 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:13:11.066 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
| 13:13:11.066 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:13:11.066 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
| 13:13:11.066 | info | yii\db\Command::query | SELECT * FROM "o6a13e2c574d5a"."tbl_users" WHERE "id"=5493 |
| 13:13:11.067 | trace | yii\base\Controller::runAction | Route to run: vue/account/list-client |
| 13:13:11.067 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:13:11.068 | trace | uranus\rbac\DbManager::checkAccessFromCache | Checking role: Admin |
| 13:13:11.068 | trace | yii\base\InlineAction::runWithParams | Running action: app\modules\vue\controllers\AccountController::actionListClient() |
| 13:13:11.069 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:13:11.069 | info | yii\db\Command::query | 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 = 'o6a13e2c574d5a'
ORDER BY
a.attnum; |
| 13:13:11.074 | info | yii\db\Command::query | select
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_clients'
and ns.nspname='o6a13e2c574d5a'
order by
fns.nspname, fc.relname, a.attnum |
| 13:13:11.100 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
| 13:13:11.101 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SET |
| 13:13:11.101 | trace | yii\base\Model::onUnsafeAttribute | Failed to set unsafe attribute 'target' in 'app\models\search\ClientSearch'. |
| 13:13:11.101 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:13:11.101 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:13:11.103 | info | yii\db\Command::query | SELECT COUNT(*) FROM (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 152::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 152::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 "o6a13e2c574d5a"."tbl_clients" "c" LEFT JOIN "o6a13e2c574d5a"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "o6a13e2c574d5a"."tbl_client_classes" "cl" ON cl.id = c.client_class LEFT JOIN "o6a13e2c574d5a"."tbl_client_address_rels" "car" ON car.client_id = c.id LEFT JOIN "o6a13e2c574d5a"."tbl_addresses" "a" ON car.address_id = a.id LEFT JOIN (SELECT "client_id" FROM "o6a13e2c574d5a"."tbl_projects" WHERE "project_status"=3 GROUP BY "client_id") "p" ON p.client_id = c.id LEFT JOIN "o6a13e2c574d5a"."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 "o6a13e2c574d5a"."tbl_work_logs" WHERE "is_draft"=FALSE GROUP BY "client_id") "sl" ON sl.client_id = c.id LEFT JOIN "o6a13e2c574d5a"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = c.id AND ttr.term_id = 14 LEFT JOIN (SELECT "client_id" FROM "o6a13e2c574d5a"."tbl_contacts" WHERE lower(name) LIKE '%%' GROUP BY "client_id") "cc" ON cc.client_id = c.id WHERE ("sgr"."group_id"='1') AND ("c"."sales_rep"='5493') AND ("c"."sales_rep"='5493') AND ("deleted"=FALSE) GROUP BY "c"."id", "cl"."id", "cooperated", "lost_contact_days", "last_contact" ORDER BY "is_public" DESC, lost_contact_days DESC NULLS LAST, "c"."created_at" DESC) "c" |
| 13:13:11.133 | info | yii\db\Command::query | 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 152::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 152::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 "o6a13e2c574d5a"."tbl_clients" "c" LEFT JOIN "o6a13e2c574d5a"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "o6a13e2c574d5a"."tbl_client_classes" "cl" ON cl.id = c.client_class LEFT JOIN "o6a13e2c574d5a"."tbl_client_address_rels" "car" ON car.client_id = c.id LEFT JOIN "o6a13e2c574d5a"."tbl_addresses" "a" ON car.address_id = a.id LEFT JOIN (SELECT "client_id" FROM "o6a13e2c574d5a"."tbl_projects" WHERE "project_status"=3 GROUP BY "client_id") "p" ON p.client_id = c.id LEFT JOIN "o6a13e2c574d5a"."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 "o6a13e2c574d5a"."tbl_work_logs" WHERE "is_draft"=FALSE GROUP BY "client_id") "sl" ON sl.client_id = c.id LEFT JOIN "o6a13e2c574d5a"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = c.id AND ttr.term_id = 14 LEFT JOIN (SELECT "client_id" FROM "o6a13e2c574d5a"."tbl_contacts" WHERE lower(name) LIKE '%%' GROUP BY "client_id") "cc" ON cc.client_id = c.id WHERE ("sgr"."group_id"='1') AND ("c"."sales_rep"='5493') AND ("c"."sales_rep"='5493') AND ("deleted"=FALSE) GROUP BY "c"."id", "cl"."id", "cooperated", "lost_contact_days", "last_contact" ORDER BY "is_public" DESC, lost_contact_days DESC NULLS LAST, "c"."created_at" DESC LIMIT 20 |
| 13:13:11.138 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name" FROM "o6a13e2c574d5a"."tbl_client_types" WHERE "id"=1 |
| 13:13:11.138 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name", "notice_days", "color" FROM "o6a13e2c574d5a"."tbl_client_classes" WHERE "id"=1 |
| 13:13:11.139 | info | yii\db\Command::query | SELECT * FROM "o6a13e2c574d5a"."tbl_term_taxonomy_relationships" WHERE "object_id"=1 |
| 13:13:11.139 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name" FROM "o6a13e2c574d5a"."tbl_term_taxonomies" WHERE ("term_id"=14) AND ("id" IN (61, 162, 2100000000, 71, 93)) ORDER BY "sort" |
| 13:13:11.139 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name" FROM "o6a13e2c574d5a"."tbl_client_industries" WHERE "id"=20 |
| 13:13:11.139 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name" FROM "o6a13e2c574d5a"."tbl_company_natures" WHERE "id"=4 |
| 13:13:11.140 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name", "sex", "client_lock" FROM "o6a13e2c574d5a"."tbl_users" WHERE "id"=5493 |
| 13:13:11.140 | info | yii\db\Command::query | SELECT "id", "user_id", "meta_value" AS "name" FROM "o6a13e2c574d5a"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=5493) |
| 13:13:11.141 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "o6a13e2c574d5a"."tbl_users" WHERE "id"=5495 |
| 13:13:11.141 | info | yii\db\Command::query | SELECT "id", "user_id", "meta_value" AS "name" FROM "o6a13e2c574d5a"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=5495) |
| 13:13:11.142 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name" FROM "o6a13e2c574d5a"."tbl_departments" WHERE "id"=4 |
| 13:13:11.143 | info | yii\db\Command::query | SELECT "object_id", count(*) as comment FROM "o6a13e2c574d5a"."tbl_comments" WHERE ("object_type"=10) AND ("object_id"=1) GROUP BY "object_id" |
| 13:13:11.144 | info | yii\db\Command::query | SELECT * FROM "o6a13e2c574d5a"."tbl_user_visit_clients" WHERE ("user_id"='5495') AND ("client_id"=1) |
| 13:13:11.144 | info | yii\db\Command::query | SELECT "id", "client_id" FROM "o6a13e2c574d5a"."tbl_cases" WHERE ("case_status" NOT IN (5, 6)) AND ("client_id"=1) |
| 13:13:11.148 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:13:11.148 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
| 13:13:11.148 | info | yii\db\Command::query | INSERT INTO "global"."tbl_api_log" ("code", "schema", "user_id", "device_type", "url", "request", "response", "php_error", "time", "duration") VALUES (200, 'o6a13e2c574d5a', 5493, 5, 'vue/account/list-client', '{"ClientSearch":{"group":"1","sales_rep":"5493","target":"5495"},"Filter":{"name":"lost_contact_days","sort":"ASC"},"page":"1","web_access_token":"YwFaPh8a1dbQrFwOp6grZ7RlSTuMSejO"}', '{"code":2000,"result":{"list":[{"id":1,"name":"\u903b\u8f91\u6d4b\u8bd5-\u9500\u552e\u5408\u540c","abbr":"","pinyin_shortcut":"ljcsxsht","description":"","corp_rep":"","website":"","capital":"","established_at":"","headcount":"","reg_address":"","working_address":"","telephone":"","fax":"","scale":"","branch":"","purchase_scale_per_yr":"0.0","purchase_freq":"0","company_nature":4,"client_class":1,"client_industry":20,"client_type":1,"sales_rep":5493,"main_contact":"","created_by":5495,"created_at":"2026-05-27 17:25:00","updated_at":"2026-05-27 17:32:47","main_business":"","deleted":false,"capital_currency":"rmb","invoice_info":"","logo":"","en_name":"","pick_at":"2026-05-27 17:25:00","it_budget":"","deployment_mode":"","it_per_num":"","public_relations_difficulty":"","it_status":"","decision_process":"","coach":"","competitor":"","peers":"","supplier":"","main_product":"","client_base_info_count":0,"client_key_info_count":0,"contact_count":0,"visit_count":0,"cooperate_count":1,"case_pre_sales_count":0,"case_implement_count":0,"is_overdue_remind":false,"from_contact":"","tax_no":"","cooperated":true,"is_public":1,"lost_contact_days":"","last_arrive_days":"","last_contact":"","last_arrive":"","score":"6","clientType":{"id":1,"key":1,"name":"\u6700\u7ec8\u7528\u6237"},"clientClass":{"id":1,"key":1,"name":"A\u7ea7\u5ba2\u6237","notice_days":10,"color":"#D2456D"},"clientFrom":"","clientIndustry":{"id":20,"key":20,"name":"\u5176\u4ed6"},"companyNature":{"id":4,"key":4,"name":"\u79c1\u8425\u4f01\u4e1a"},"salesRep":{"id":5493,"key":5493,"name":"97289742","sex":"M","client_lock":false,"avatar":{}},"createdBy":{"id":5495,"key":5495,"name":"\u903b\u8f91\u6d4b\u8bd5","sex":"F","department_id":4,"avatar":{},"department":{"id":4,"key":4,"name":"\u5546\u52a1\u90e8"}},"commentCount":"","visitUsers":[],"unCloseCases":[],"checked":false}],"pagenation":{"totalcount":1,"thispage":1,"pagesize":20}},"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-01 13:13:11', 84814848) RETURNING "id" |
| 13:13:11.150 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:13:11.150 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SET |