| 13:25:30.293 | trace | yii\base\Application::bootstrap | Bootstrap with yii\log\Dispatcher |
| 13:25:30.293 | trace | yii\base\Module::getModule | Loading module: debug |
| 13:25:30.293 | trace | yii\base\Application::bootstrap | Bootstrap with yii\debug\Module::bootstrap() |
| 13:25:30.293 | trace | yii\redis\Connection::open | Opening redis DB connection: redis.server.local:6379, database=1 |
| 13:25:30.294 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SELECT |
| 13:25:30.294 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:25:30.294 | info | time tracing start | 1780291530294383104 |
| 13:25:30.294 | trace | yii\web\UrlManager::parseRequest | No matching URL rules. Using default URL parsing logic. |
| 13:25:30.294 | trace | yii\web\Application::handleRequest | Route requested: 'vue/client/list' |
| 13:25:30.294 | trace | yii\base\Module::getModule | Loading module: vue |
| 13:25:30.295 | info | yii\web\Session::open | Session started |
| 13:25:30.295 | info | yii\db\Command::query | SELECT * FROM "global"."vw_user_login" WHERE "id"=5495 |
| 13:25:30.295 | info | yii\db\Connection::open | Opening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta |
| 13:25:30.296 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:25:30.296 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
| 13:25:30.297 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:25:30.297 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
| 13:25:30.297 | info | yii\db\Command::query | SELECT * FROM "o6a13e2c574d5a"."tbl_users" WHERE "id"=5495 |
| 13:25:30.298 | trace | yii\base\Controller::runAction | Route to run: vue/client/list |
| 13:25:30.298 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:25:30.298 | trace | uranus\rbac\DbManager::checkAccessFromCache | Checking role: Admin |
| 13:25:30.298 | trace | yii\base\InlineAction::runWithParams | Running action: app\modules\vue\controllers\ClientController::actionList() |
| 13:25:30.299 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:25:30.299 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
| 13:25:30.299 | trace | yii\base\Model::onUnsafeAttribute | Failed to set unsafe attribute 'from_contact_name' in 'app\models\search\ClientSearch'. |
| 13:25:30.300 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:25:30.300 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:25:30.305 | 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 (("c"."sales_rep"='5495')) AND (("c"."sales_rep" IN (5495, 5493)) OR ("c"."sales_rep" IS NULL) OR ("c"."id" IN (SELECT "client_id" FROM "o6a13e2c574d5a"."tbl_user_visit_clients" WHERE "user_id"=5495))) 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:25:30.326 | 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 (("c"."sales_rep"='5495')) AND (("c"."sales_rep" IN (5495, 5493)) OR ("c"."sales_rep" IS NULL) OR ("c"."id" IN (SELECT "client_id" FROM "o6a13e2c574d5a"."tbl_user_visit_clients" WHERE "user_id"=5495))) 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:25:30.331 | info | yii\db\Command::query | SELECT "id", "name", "sex", "client_lock" FROM "o6a13e2c574d5a"."tbl_users" WHERE "id"='5495' |
| 13:25:30.331 | 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:25:30.332 | 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 (("c"."sales_rep"='5495')) AND (("c"."sales_rep" IN (5495, 5493)) OR ("c"."sales_rep" IS NULL) OR ("c"."id" IN (SELECT "client_id" FROM "o6a13e2c574d5a"."tbl_user_visit_clients" WHERE "user_id"=5495))) AND ("deleted"=FALSE) AND (("c"."sales_rep" IN (SELECT "id" FROM "o6a13e2c574d5a"."tbl_users" WHERE ("id" IN (5495, 5493)) AND ("user_status"='1') AND ("client_lock"=FALSE) 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)) OR (c.sales_rep IS NULL)) GROUP BY "c"."id", "cl"."id", "cooperated", "lost_contact_days", "last_contact" ORDER BY "is_public" DESC) "c" |
| 13:25:30.336 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:25:30.336 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
| 13:25:30.336 | 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', 5495, 5, 'vue/client/list', '{"ClientSearch":{"sales_rep":["5495"],"group":"2","client_class":"","has_contact":"","cooperated":"","client_type":"","company_nature":"","client_industry":"","from_contact_name":"","from_contact":"","state_id":"","created_period":"","created_by":""},"is_all":"0","other_period":"currentfascalyear","Filter":{"name":"lost_contact_days","sort":"ASC"},"page":"1","web_access_token":"7CCP7jMsjjSDfF61luGGB1mxLPdASSzl"}', '{"code":2000,"result":{"list":[],"thisUser":{"id":5495,"name":"\u903b\u8f91\u6d4b\u8bd5","sex":"F","client_lock":false,"avatar":{}},"extra":0,"is_lock":false,"unlock_count":0,"can_lock":true,"can_create":true,"can_import":true,"can_export":true,"can_transfer":true,"can_delete":true,"can_give_up":true,"can_create_work_log":true,"can_create_schedule":true,"pagenation":{"totalcount":0,"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:25:30', 42283008) RETURNING "id" |
| 13:25:30.337 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 13:25:30.338 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SET |