All Latest
6a2f60bb30e4f: POST https://beta.jinchangxiao.com/vue/smart-board/engineer-list at 2026-06-15 10:17:31 am by 124.127.56.185

Log Messages

总计77条数据
TimeLevelCategoryMessage
 
10:17:31.192traceyii\base\Application::bootstrapBootstrap with yii\log\Dispatcher
10:17:31.192traceyii\base\Module::getModuleLoading module: debug
10:17:31.193traceyii\base\Application::bootstrapBootstrap with yii\debug\Module::bootstrap()
10:17:31.200traceyii\redis\Connection::openOpening redis DB connection: redis.server.local:6379, database=1
10:17:31.200traceyii\redis\Connection::executeCommandExecuting Redis Command: SELECT
10:17:31.207traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.214infotime tracing start1781489851214605056
10:17:31.214traceyii\web\UrlManager::parseRequestNo matching URL rules. Using default URL parsing logic.
10:17:31.214traceyii\web\Application::handleRequestRoute requested: 'vue/smart-board/engineer-list'
10:17:31.214traceyii\base\Module::getModuleLoading module: vue
10:17:31.228infoyii\web\Session::openSession started
10:17:31.229infoyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "id"=1001
10:17:31.229infoyii\db\Connection::openOpening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta
10:17:31.234traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.234traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
10:17:31.235infoyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "id"=1001
10:17:31.236traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.236traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
10:17:31.237infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
10:17:31.237traceyii\base\Controller::runActionRoute to run: vue/smart-board/engineer-list
10:17:31.238traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.240traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
10:17:31.240traceyii\base\InlineAction::runWithParamsRunning action: app\modules\vue\controllers\SmartBoardController::actionEngineerList()
10:17:31.240traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.241traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.243infoyii\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
10:17:31.244traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.245traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
10:17:31.245infoyii\db\Command::querySELECT "id", "name" FROM "a57be577deb434"."tbl_users" WHERE "id" IN (5085, 5248, 1015, 1022, 5064, 1023)
10:17:31.246infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id" IN (5064, 1023, 5085, 1022, 5248, 1015))
10:17:31.247infoyii\db\Command::querySELECT "egr"."engineer_id", "eg"."name" AS "group_name" FROM "a57be577deb434"."tbl_engineer_group_relationships" "egr" LEFT JOIN "a57be577deb434"."tbl_engineer_groups" "eg" ON egr.engineer_group_id = eg.id WHERE "egr"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023)
10:17:31.248traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.248infoyii\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_engineer_group_relationships' and d.nspname = 'a57be577deb434' ORDER BY a.attnum;
10:17:31.253infoyii\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_engineer_group_relationships' and ns.nspname='a57be577deb434' order by fns.nspname, fc.relname, a.attnum
10:17:31.270traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
10:17:31.271traceyii\redis\Connection::executeCommandExecuting Redis Command: SET
10:17:31.271infoyii\db\Command::querySELECT "im"."created_by", COUNT(im.id) AS times, COALESCE(EXTRACT(epoch FROM SUM(im.left_at - im.arrived_at)) / 3600, 0) AS hours, COUNT(DISTINCT c.client_id) AS service_clients, COUNT(DISTINCT CASE WHEN c.project_id IS NOT NULL THEN c.project_id END) AS service_projects FROM "a57be577deb434"."tbl_implement_records" "im" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON im.case_id = c.id WHERE ("im"."created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("im"."arrived_at" >= '2026-01-01 00:00:00') AND ("im"."arrived_at" <= '2026-12-31 23:59:59') AND ("im"."is_draft"=FALSE) GROUP BY "im"."created_by"
10:17:31.277traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.278infoyii\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_implement_records' and d.nspname = 'a57be577deb434' ORDER BY a.attnum;
10:17:31.282infoyii\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_implement_records' and ns.nspname='a57be577deb434' order by fns.nspname, fc.relname, a.attnum
10:17:31.320traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
10:17:31.320traceyii\redis\Connection::executeCommandExecuting Redis Command: SET
10:17:31.320infoyii\db\Command::querySELECT "ca"."engineer_id", COALESCE(SUM(ca.points), 0) AS points FROM "a57be577deb434"."tbl_case_assignments" "ca" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON ca.case_id = c.id WHERE ("c"."case_type"=2) AND ("c"."closed_at" >= '2026-01-01 00:00:00') AND ("c"."closed_at" <= '2026-12-31 23:59:59') AND ("ca"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023)) GROUP BY "ca"."engineer_id"
10:17:31.325infoyii\db\Command::querySELECT "created_by", COUNT(id) AS new_contact FROM "a57be577deb434"."tbl_contacts" WHERE ("created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("created_at" >= '2026-01-01 00:00:00') AND ("created_at" <= '2026-12-31 23:59:59') AND ("contact_type"='1') GROUP BY "created_by"
10:17:31.327infoyii\db\Command::querySELECT "im"."created_by", COUNT(im.id) AS times, COALESCE(EXTRACT(epoch FROM SUM(im.left_at - im.arrived_at)) / 3600, 0) AS hours, COUNT(DISTINCT c.client_id) AS service_clients, COUNT(DISTINCT CASE WHEN c.project_id IS NOT NULL THEN c.project_id END) AS service_projects FROM "a57be577deb434"."tbl_implement_records" "im" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON im.case_id = c.id WHERE ("im"."created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("im"."arrived_at" >= '2025-07-19 00:00:00') AND ("im"."arrived_at" <= '2025-12-31 23:59:59') AND ("im"."is_draft"=FALSE) GROUP BY "im"."created_by"
10:17:31.333infoyii\db\Command::querySELECT "ca"."engineer_id", COALESCE(SUM(ca.points), 0) AS points FROM "a57be577deb434"."tbl_case_assignments" "ca" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON ca.case_id = c.id WHERE ("c"."case_type"=2) AND ("c"."closed_at" >= '2025-07-19 00:00:00') AND ("c"."closed_at" <= '2025-12-31 23:59:59') AND ("ca"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023)) GROUP BY "ca"."engineer_id"
10:17:31.337infoyii\db\Command::querySELECT "created_by", COUNT(id) AS new_contact FROM "a57be577deb434"."tbl_contacts" WHERE ("created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("created_at" >= '2025-07-19 00:00:00') AND ("created_at" <= '2025-12-31 23:59:59') AND ("contact_type"='1') GROUP BY "created_by"
10:17:31.339infoyii\db\Command::querySELECT "im"."created_by", COUNT(im.id) AS times, COALESCE(EXTRACT(epoch FROM SUM(im.left_at - im.arrived_at)) / 3600, 0) AS hours, COUNT(DISTINCT c.client_id) AS service_clients, COUNT(DISTINCT CASE WHEN c.project_id IS NOT NULL THEN c.project_id END) AS service_projects FROM "a57be577deb434"."tbl_implement_records" "im" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON im.case_id = c.id WHERE ("im"."created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("im"."arrived_at" >= '2025-01-01 00:00:00') AND ("im"."arrived_at" <= '2025-06-15 23:59:59') AND ("im"."is_draft"=FALSE) GROUP BY "im"."created_by"
10:17:31.344infoyii\db\Command::querySELECT "ca"."engineer_id", COALESCE(SUM(ca.points), 0) AS points FROM "a57be577deb434"."tbl_case_assignments" "ca" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON ca.case_id = c.id WHERE ("c"."case_type"=2) AND ("c"."closed_at" >= '2025-01-01 00:00:00') AND ("c"."closed_at" <= '2025-06-15 23:59:59') AND ("ca"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023)) GROUP BY "ca"."engineer_id"
10:17:31.348infoyii\db\Command::querySELECT "created_by", COUNT(id) AS new_contact FROM "a57be577deb434"."tbl_contacts" WHERE ("created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("created_at" >= '2025-01-01 00:00:00') AND ("created_at" <= '2025-06-15 23:59:59') AND ("contact_type"='1') GROUP BY "created_by"
10:17:31.350infoyii\db\Command::querySELECT "ps"."created_by", COUNT(ps.id) AS times, COALESCE(EXTRACT(epoch FROM SUM(ps.end_at - ps.start_at)) / 3600, 0) AS hours, COUNT(DISTINCT c.client_id) AS service_clients 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" >= '2026-01-01 00:00:00') AND ("ps"."start_at" <= '2026-12-31 23:59:59') AND ("ps"."is_draft"=FALSE) GROUP BY "ps"."created_by"
10:17:31.351traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.352infoyii\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;
10:17:31.356infoyii\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
10:17:31.383traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
10:17:31.383traceyii\redis\Connection::executeCommandExecuting Redis Command: SET
10:17:31.383infoyii\db\Command::querySELECT "ca"."engineer_id", COALESCE(SUM(ca.points), 0) AS points FROM "a57be577deb434"."tbl_case_assignments" "ca" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON ca.case_id = c.id WHERE ("c"."case_type"=1) AND ("c"."closed_at" >= '2026-01-01 00:00:00') AND ("c"."closed_at" <= '2026-12-31 23:59:59') AND ("ca"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023)) GROUP BY "ca"."engineer_id"
10:17:31.387infoyii\db\Command::querySELECT "created_by", COUNT(id) AS new_contact FROM "a57be577deb434"."tbl_contacts" WHERE ("created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("created_at" >= '2026-01-01 00:00:00') AND ("created_at" <= '2026-12-31 23:59:59') AND ("contact_type"='1') GROUP BY "created_by"
10:17:31.390infoyii\db\Command::querySELECT "sub"."engineer_id", COALESCE(SUM(p.budget * sub.contribution), 0) AS assisted_revenue, COALESCE(SUM(p.budget * p.profit_pct / 100 * sub.contribution), 0) AS assisted_profit, COUNT(p.id) AS projects FROM (SELECT "pa"."engineer_id", "pa"."project_id", SUM(pa.contribution) AS contribution FROM "a57be577deb434"."tbl_project_architects" "pa" WHERE "pa"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023) GROUP BY "pa"."engineer_id", "pa"."project_id") "sub" LEFT JOIN "a57be577deb434"."tbl_projects" "p" ON sub.project_id = p.id WHERE ("p"."project_status"=3) AND ("p"."bargain_date" >= '2026-01-01 00:00:00') AND ("p"."bargain_date" <= '2026-12-31 23:59:59') GROUP BY "sub"."engineer_id"
10:17:31.393infoyii\db\Command::querySELECT "ps"."created_by", COUNT(ps.id) AS times, COALESCE(EXTRACT(epoch FROM SUM(ps.end_at - ps.start_at)) / 3600, 0) AS hours, COUNT(DISTINCT c.client_id) AS service_clients 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" >= '2025-07-19 00:00:00') AND ("ps"."start_at" <= '2025-12-31 23:59:59') AND ("ps"."is_draft"=FALSE) GROUP BY "ps"."created_by"
10:17:31.395infoyii\db\Command::querySELECT "ca"."engineer_id", COALESCE(SUM(ca.points), 0) AS points FROM "a57be577deb434"."tbl_case_assignments" "ca" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON ca.case_id = c.id WHERE ("c"."case_type"=1) AND ("c"."closed_at" >= '2025-07-19 00:00:00') AND ("c"."closed_at" <= '2025-12-31 23:59:59') AND ("ca"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023)) GROUP BY "ca"."engineer_id"
10:17:31.399infoyii\db\Command::querySELECT "created_by", COUNT(id) AS new_contact FROM "a57be577deb434"."tbl_contacts" WHERE ("created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("created_at" >= '2025-07-19 00:00:00') AND ("created_at" <= '2025-12-31 23:59:59') AND ("contact_type"='1') GROUP BY "created_by"
10:17:31.400infoyii\db\Command::querySELECT "sub"."engineer_id", COALESCE(SUM(p.budget * sub.contribution), 0) AS assisted_revenue, COALESCE(SUM(p.budget * p.profit_pct / 100 * sub.contribution), 0) AS assisted_profit, COUNT(p.id) AS projects FROM (SELECT "pa"."engineer_id", "pa"."project_id", SUM(pa.contribution) AS contribution FROM "a57be577deb434"."tbl_project_architects" "pa" WHERE "pa"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023) GROUP BY "pa"."engineer_id", "pa"."project_id") "sub" LEFT JOIN "a57be577deb434"."tbl_projects" "p" ON sub.project_id = p.id WHERE ("p"."project_status"=3) AND ("p"."bargain_date" >= '2025-07-19 00:00:00') AND ("p"."bargain_date" <= '2025-12-31 23:59:59') GROUP BY "sub"."engineer_id"
10:17:31.404infoyii\db\Command::querySELECT "ps"."created_by", COUNT(ps.id) AS times, COALESCE(EXTRACT(epoch FROM SUM(ps.end_at - ps.start_at)) / 3600, 0) AS hours, COUNT(DISTINCT c.client_id) AS service_clients 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" >= '2025-01-01 00:00:00') AND ("ps"."start_at" <= '2025-06-15 23:59:59') AND ("ps"."is_draft"=FALSE) GROUP BY "ps"."created_by"
10:17:31.406infoyii\db\Command::querySELECT "ca"."engineer_id", COALESCE(SUM(ca.points), 0) AS points FROM "a57be577deb434"."tbl_case_assignments" "ca" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON ca.case_id = c.id WHERE ("c"."case_type"=1) AND ("c"."closed_at" >= '2025-01-01 00:00:00') AND ("c"."closed_at" <= '2025-06-15 23:59:59') AND ("ca"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023)) GROUP BY "ca"."engineer_id"
10:17:31.410infoyii\db\Command::querySELECT "created_by", COUNT(id) AS new_contact FROM "a57be577deb434"."tbl_contacts" WHERE ("created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) AND ("created_at" >= '2025-01-01 00:00:00') AND ("created_at" <= '2025-06-15 23:59:59') AND ("contact_type"='1') GROUP BY "created_by"
10:17:31.413infoyii\db\Command::querySELECT "sub"."engineer_id", COALESCE(SUM(p.budget * sub.contribution), 0) AS assisted_revenue, COALESCE(SUM(p.budget * p.profit_pct / 100 * sub.contribution), 0) AS assisted_profit, COUNT(p.id) AS projects FROM (SELECT "pa"."engineer_id", "pa"."project_id", SUM(pa.contribution) AS contribution FROM "a57be577deb434"."tbl_project_architects" "pa" WHERE "pa"."engineer_id" IN (5085, 5248, 1015, 1022, 5064, 1023) GROUP BY "pa"."engineer_id", "pa"."project_id") "sub" LEFT JOIN "a57be577deb434"."tbl_projects" "p" ON sub.project_id = p.id WHERE ("p"."project_status"=3) AND ("p"."bargain_date" >= '2025-01-01 00:00:00') AND ("p"."bargain_date" <= '2025-06-15 23:59:59') GROUP BY "sub"."engineer_id"
10:17:31.416infoyii\db\Command::querySELECT "created_by", TO_CHAR(occurrence_at, 'YYYY-MM') AS month_key, COALESCE(SUM(amount), 0) AS total_amount FROM "a57be577deb434"."tbl_reimbursements" WHERE ("status" IN (1, 2, 3)) AND ("occurrence_at" >= '2026-01-01') AND ("occurrence_at" <= '2026-12-31 23:59:59') AND ("created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) GROUP BY "created_by", TO_CHAR(occurrence_at, 'YYYY-MM')
10:17:31.418infoyii\db\Command::querySELECT "created_by", TO_CHAR(occurrence_at, 'YYYY-MM') AS month_key, COALESCE(SUM(amount), 0) AS total_amount FROM "a57be577deb434"."tbl_reimbursements" WHERE ("status" IN (1, 2, 3)) AND ("occurrence_at" >= '2025-01-01') AND ("occurrence_at" <= '2025-12-31 23:59:59') AND ("created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) GROUP BY "created_by", TO_CHAR(occurrence_at, 'YYYY-MM')
10:17:31.422infoyii\db\Command::querySELECT "r"."created_by", COALESCE(tt.id, 0) AS type_id, COALESCE(tt.name, '未分类') AS type_name, COALESCE(SUM(r.amount), 0) AS total_amount FROM "a57be577deb434"."tbl_reimbursements" "r" LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = r.id AND ttr.term_id = 18 AND ttr.object_type = 7 LEFT JOIN "a57be577deb434"."tbl_term_taxonomies" "tt" ON tt.id = ttr.taxonomy_id WHERE ("r"."status" IN (1, 2, 3)) AND ("r"."occurrence_at" >= '2026-01-01') AND ("r"."occurrence_at" <= '2026-12-31 23:59:59') AND ("r"."created_by" IN (5085, 5248, 1015, 1022, 5064, 1023)) GROUP BY "r"."created_by", tt.id, tt.name ORDER BY COALESCE(SUM(r.amount), 0) DESC
10:17:31.425traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.425traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
10:17:31.428traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.429traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
10:17:31.429infoyii\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/smart-board/engineer-list', '{"period":"currentfascalyear","engineer":"","web_access_token":"JU9Qn0Er55lxUI9CLMF3SA6k67eZ2hvL"}', '{"code":2000,"result":{"list":[{"id":1023,"name":"\u5468\u5b50\u5065","avatar":{"id":4,"user_id":1023,"name":"\/files\/cdn\/a57be577deb434\/avatar\/1023.jpg"},"group_name":"\u5168\u4f53","times_index":46,"hour_index":143.8,"pre_sales":{"times":{"current":1,"vs_previous":-0.5,"vs_last_year":-0.6666},"hours":{"current":11.2,"vs_previous":0.8666,"vs_last_year":1.8717},"points":{"current":50,"vs_previous":-0.75,"vs_last_year":-0.6},"new_contacts":{"current":0,"vs_previous":-1,"vs_last_year":null},"service_clients":{"current":1,"vs_previous":-0.5,"vs_last_year":-0.6666},"service_projects":{"current":2,"vs_previous":"0","vs_last_year":-0.5},"assisted_revenue":{"current":6000,"vs_previous":0.0909,"vs_last_year":-0.9848},"assisted_profit":{"current":1727.6,"vs_previous":-0.6163,"vs_last_year":-0.9852}},"implement":{"times":{"current":45,"vs_previous":-0.7,"vs_last_year":-0.637},"hours":{"current":132.6,"vs_previous":-0.6931,"vs_last_year":-0.6154},"points":{"current":2524,"vs_previous":-0.724,"vs_last_year":-0.6529},"new_contacts":{"current":0,"vs_previous":-1,"vs_last_year":null},"service_clients":{"current":13,"vs_previous":-0.4347,"vs_last_year":-0.35},"service_projects":{"current":17,"vs_previous":-0.5641,"vs_last_year":-0.5142}},"expense":{"expense_trend":{"categories":["2026-01","2026-02","2026-03","2026-04","2026-05","2026-06","2026-07","2026-08","2026-09","2026-10","2026-11","2026-12"],"currentYear":[{"key":"2026-01","name":"2026-01","model":{"amount":"3936.11","last_amount":"885.08","growth":3.4471},"y":"3936.11"},{"key":"2026-02","name":"2026-02","model":{"amount":"2778.47","last_amount":"899.34","growth":2.0894},"y":"2778.47"},{"key":"2026-03","name":"2026-03","model":{"amount":"2596.48","last_amount":"5428.78","growth":-0.5217},"y":"2596.48"},{"key":"2026-04","name":"2026-04","model":{"amount":"0","last_amount":"1334.77","growth":-1},"y":"0"},{"key":"2026-05","name":"2026-05","model":{"amount":"0","last_amount":"4940.37","growth":-1},"y":"0"},{"key":"2026-06","name":"2026-06","model":{"amount":"0","last_amount":"4891.86","growth":-1},"y":"0"},{"key":"2026-07","name":"2026-07","model":{"amount":null,"last_amount":"5355.75","growth":null},"y":null},{"key":"2026-08","name":"2026-08","model":{"amount":null,"last_amount":"5687.86","growth":null},"y":null},{"key":"2026-09","name":"2026-09","model":{"amount":null,"last_amount":"2234.48","growth":null},"y":null},{"key":"2026-10","name":"2026-10","model":{"amount":null,"last_amount":"1297.22","growth":null},"y":null},{"key":"2026-11","name":"2026-11","model":{"amount":null,"last_amount":"5300.94","growth":null},"y":null},{"key":"2026-12","name":"2026-12","model":{"amount":null,"last_amount":"1737.40","growth":null},"y":null}],"lastYear":[{"key":"2025-01","name":"2026-01","model":{"amount":"3936.11","last_amount":"885.08","growth":3.4471},"y":"885.08"},{"key":"2025-02","name":"2026-02","model":{"amount":"2778.47","last_amount":"899.34","growth":2.0894},"y":"899.34"},{"key":"2025-03","name":"2026-03","model":{"amount":"2596.48","last_amount":"5428.78","growth":-0.5217},"y":"5428.78"},{"key":"2025-04","name":"2026-04","model":{"amount":"0","last_amount":"1334.77","growth":-1},"y":"1334.77"},{"key":"2025-05","name":"2026-05","model":{"amount":"0","last_amount":"4940.37","growth":-1},"y":"4940.37"},{"key":"2025-06","name":"2026-06","model":{"amount":"0","last_amount":"4891.86","growth":-1},"y":"4891.86"},{"key":"2025-07","name":"2026-07","model":{"amount":null,"last_amount":"5355.75","growth":null},"y":"5355.75"},{"key":"2025-08","name":"2026-08","model":{"amount":null,"last_amount":"5687.86","growth":null},"y":"5687.86"},{"key":"2025-09","name":"2026-09","model":{"amount":null,"last_amount":"2234.48","growth":null},"y":"2234.48"},{"key":"2025-10","name":"2026-10","model":{"amount":null,"last_amount":"1297.22","growth":null},"y":"1297.22"},{"key":"2025-11","name":"2026-11","model":{"amount":null,"last_amount":"5300.94","growth":null},"y":"5300.94"},{"key":"2025-12","name":"2026-12","model":{"amount":null,"last_amount":"1737.40","growth":null},"y":"1737.40"}],"totalAmount":9311.06,"totalLastAmount":18380.2,"totalGrowth":-0.4934},"expense_type":[{"name":"\u5f80\u8fd4\u4ea4\u901a\u8d39","amount":"4522.37","percentage":0.4856},{"name":"\u51fa\u5dee\u8865\u52a9","amount":"3000.00","percentage":0.3221},{"name":"\u51fa\u79df\u8f66\u8d39","amount":"1434.69","percentage":0.154},{"name":"\u7535\u8bdd\u8d39","amount":"200.00","percentage":0.0214},{"name":"\u5176\u4ed6\u529e\u516c\u8d39\u7528","amount":"154","percentage":0.0165}]}},{"id":5085,"name":"\u970d\u4e1c\u9633","avatar":{"id":51,"user_id":5085,"name":"\/files\/cdn\/a57be577deb434\/avatar\/7423f9b0-25ce-3351-871b-15d81c0dcf0f.jpg"},"group_name":"\u5168\u4f53","times_index":33,"hour_index":158.9,"pre_sales":{"times":{"current":0,"vs_previous":-1,"vs_last_year":-1},"hours":{"current":0,"vs_previous":-1,"vs_last_year":-1},"points":{"current":0,"vs_previous":-1,"vs_last_year":-1},"new_contacts":{"current":0,"vs_previous":-1,"vs_last_year":null},"service_clients":{"current":0,"vs_previous":-1,"vs_last_year":-1},"service_projects":{"current":0,"vs_previous":-1,"vs_last_year":-1},"assisted_revenue":{"current":0,"vs_previous":-1,"vs_last_year":-1},"assisted_profit":{"current":0,"vs_previous":-1,"vs_last_year":-1}},"implement":{"times":{"current":33,"vs_previous":-0.6666,"vs_last_year":-0.4843},"hours":{"current":158.9,"vs_previous":-0.7082,"vs_last_year":-0.3153},"points":{"current":2519,"vs_previous":-0.7225,"vs_last_year":-0.4771},"new_contacts":{"current":0,"vs_previous":-1,"vs_last_year":null},"service_clients":{"current":12,"vs_previous":-0.3333,"vs_last_year":-0.0769},"service_projects":{"current":15,"vs_previous":-0.4444,"vs_last_year":-0.375}},"expense":{"expense_trend":{"categories":["2026-01","2026-02","2026-03","2026-04","2026-05","2026-06","2026-07","2026-08","2026-09","2026-10","2026-11","2026-12"],"currentYear":[{"key":"2026-01","name":"2026-01","model":{"amount":"2227.79","last_amount":"1854.71","growth":0.2011},"y":"2227.79"},{"key":"2026-02","name":"2026-02","model":{"amount":"769.10","last_amount":"993.75","growth":-0.226},"y":"769.10"},{"key":"2026-03","name":"2026-03","model":{"amount":"681.12","last_amount":"4004.74","growth":-0.8299},"y":"681.12"},{"key":"2026-04","name":"2026-04","model":{"amount":"0","last_amount":"458.00","growth":-1},"y":"0"},{"key":"2026-05","name":"2026-05","model":{"amount":"0","last_amount":"989.94","growth":-1},"y":"0"},{"key":"2026-06","name":"2026-06","model":{"amount":"0","last_amount":"1185.54","growth":-1},"y":"0"},{"key":"2026-07","name":"2026-07","model":{"amount":null,"last_amount":"3549.67","growth":null},"y":null},{"key":"2026-08","name":"2026-08","model":{"amount":null,"last_amount":"1259.21","growth":null},"y":null},{"key":"2026-09","name":"2026-09","model":{"amount":null,"last_amount":"3494.12","growth":null},"y":null},{"key":"2026-10","name":"2026-10","model":{"amount":null,"last_amount":"698.32","growth":null},"y":null},{"key":"2026-11","name":"2026-11","model":{"amount":null,"last_amount":"1140.13","growth":null},"y":null},{"key":"2026-12","name":"2026-12","model":{"amount":null,"last_amount":"1506.15","growth":null},"y":null}],"lastYear":[{"key":"2025-01","name":"2026-01","model":{"amount":"2227.79","last_amount":"1854.71","growth":0.2011},"y":"1854.71"},{"key":"2025-02","name":"2026-02","model":{"amount":"769.10","last_amount":"993.75","growth":-0.226},"y":"993.75"},{"key":"2025-03","name":"2026-03","model":{"amount":"681.12","last_amount":"4004.74","growth":-0.8299},"y":"4004.74"},{"key":"2025-04","name":"2026-04","model":{"amount":"0","last_amount":"458.00","growth":-1},"y":"458.00"},{"key":"2025-05","name":"2026-05","model":{"amount":"0","last_amount":"989.94","growth":-1},"y":"989.94"},{"key":"2025-06","name":"2026-06","model":{"amount":"0","last_amount":"1185.54","growth":-1},"y":"1185.54"},{"key":"2025-07","name":"2026-07","model":{"amount":null,"last_amount":"3549.67","growth":null},"y":"3549.67"},{"key":"2025-08","name":"2026-08","model":{"amount":null,"last_amount":"1259.21","growth":null},"y":"1259.21"},{"key":"2025-09","name":"2026-09","model":{"amount":null,"last_amount":"3494.12","growth":null},"y":"3494.12"},{"key":"2025-10","name":"2026-10","model":{"amount":null,"last_amount":"698.32","growth":null},"y":"698.32"},{"key":"2025-11","name":"2026-11","model":{"amount":null,"last_amount":"1140.13","growth":null},"y":"1140.13"},{"key":"2025-12","name":"2026-12","model":{"amount":null,"last_amount":"1506.15","growth":null},"y":"1506.15"}],"totalAmount":3678.01,"totalLastAmount":9486.68,"totalGrowth":-0.6122},"expense_type":[{"name":"\u51fa\u79df\u8f66\u8d39","amount":"2678.47","percentage":0.7282},{"name":"\u4f4f\u5bbf\u8d39","amount":"551.54","percentage":0.1499},{"name":"\u7535\u8bdd\u8d39","amount":"300.00","percentage":0.0815},{"name":"\u5176\u4ed6\u529e\u516c\u8d39\u7528","amount":"148","percentage":0.0402}]}},{"id":1015,"name":"\u5434\u660a","avatar":{"id":12,"user_id":1015,"name":"\/files\/cdn\/a57be577deb434\/avatar\/d69b398a-5951-36e9-a92e-992fe938db26.jpg"},"group_name":"\u5168\u4f53","times_index":24,"hour_index":50.3,"pre_sales":{"times":{"current":17,"vs_previous":-0.2916,"vs_last_year":-0.4687},"hours":{"current":29.8,"vs_previous":-0.3363,"vs_last_year":-0.3242},"points":{"current":1250,"vs_previous":-0.5192,"vs_last_year":-0.4565},"new_contacts":{"current":0,"vs_previous":null,"vs_last_year":null},"service_clients":{"current":11,"vs_previous":-0.0833,"vs_last_year":-0.5769},"service_projects":{"current":6,"vs_previous":-0.4,"vs_last_year":-0.1428},"assisted_revenue":{"current":65437360.2,"vs_previous":40.0945,"vs_last_year":56.9584},"assisted_profit":{"current":15357714.27,"vs_previous":31.568,"vs_last_year":85.7031}},"implement":{"times":{"current":7,"vs_previous":-0.6666,"vs_last_year":-0.2222},"hours":{"current":20.5,"vs_previous":-0.5619,"vs_last_year":0.2576},"points":{"current":386,"vs_previous":-0.7694,"vs_last_year":0.0722},"new_contacts":{"current":0,"vs_previous":null,"vs_last_year":null},"service_clients":{"current":6,"vs_previous":-0.5,"vs_last_year":-0.1428},"service_projects":{"current":6,"vs_previous":-0.4,"vs_last_year":-0.25}},"expense":{"expense_trend":{"categories":["2026-01","2026-02","2026-03","2026-04","2026-05","2026-06","2026-07","2026-08","2026-09","2026-10","2026-11","2026-12"],"currentYear":[{"key":"2026-01","name":"2026-01","model":{"amount":"1275","last_amount":"1222","growth":0.0433},"y":"1275"},{"key":"2026-02","name":"2026-02","model":{"amount":"1639","last_amount":"0","growth":"1"},"y":"1639"},{"key":"2026-03","name":"2026-03","model":{"amount":"0","last_amount":"0","growth":null},"y":"0"},{"key":"2026-04","name":"2026-04","model":{"amount":"111","last_amount":"7232","growth":-0.9846},"y":"111"},{"key":"2026-05","name":"2026-05","model":{"amount":"0","last_amount":"0","growth":null},"y":"0"},{"key":"2026-06","name":"2026-06","model":{"amount":"0","last_amount":"7687","growth":-1},"y":"0"},{"key":"2026-07","name":"2026-07","model":{"amount":null,"last_amount":"3330.63","growth":null},"y":null},{"key":"2026-08","name":"2026-08","model":{"amount":null,"last_amount":"666","growth":null},"y":null},{"key":"2026-09","name":"2026-09","model":{"amount":null,"last_amount":"3839","growth":null},"y":null},{"key":"2026-10","name":"2026-10","model":{"amount":null,"last_amount":"0","growth":null},"y":null},{"key":"2026-11","name":"2026-11","model":{"amount":null,"last_amount":"0","growth":null},"y":null},{"key":"2026-12","name":"2026-12","model":{"amount":null,"last_amount":"4062","growth":null},"y":null}],"lastYear":[{"key":"2025-01","name":"2026-01","model":{"amount":"1275","last_amount":"1222","growth":0.0433},"y":"1222"},{"key":"2025-02","name":"2026-02","model":{"amount":"1639","last_amount":"0","growth":"1"},"y":"0"},{"key":"2025-03","name":"2026-03","model":{"amount":"0","last_amount":"0","growth":null},"y":"0"},{"key":"2025-04","name":"2026-04","model":{"amount":"111","last_amount":"7232","growth":-0.9846},"y":"7232"},{"key":"2025-05","name":"2026-05","model":{"amount":"0","last_amount":"0","growth":null},"y":"0"},{"key":"2025-06","name":"2026-06","model":{"amount":"0","last_amount":"7687","growth":-1},"y":"7687"},{"key":"2025-07","name":"2026-07","model":{"amount":null,"last_amount":"3330.63","growth":null},"y":"3330.63"},{"key":"2025-08","name":"2026-08","model":{"amount":null,"last_amount":"666","growth":null},"y":"666"},{"key":"2025-09","name":"2026-09","model":{"amount":null,"last_amount":"3839","growth":null},"y":"3839"},{"key":"2025-10","name":"2026-10","model":{"amount":null,"last_amount":"0","growth":null},"y":"0"},{"key":"2025-11","name":"2026-11","model":{"amount":null,"last_amount":"0","growth":null},"y":"0"},{"key":"2025-12","name":"2026-12","model":{"amount":null,"last_amount":"4062","growth":null},"y":"4062"}],"totalAmount":3025,"totalLastAmount":16141,"totalGrowth":-0.8125},"expense_type":[{"name":"\u71c3\u6cb9\u8d39","amount":"1000","percentage":0.3305},{"name":"\u51fa\u5dee\u8865\u52a9","amount":"911","percentage":0.3011},{"name":"\u5f80\u8fd4\u4ea4\u901a\u8d39","amount":"839","percentage":0.2773},{"name":"\u7535\u8bdd\u8d39","amount":"275","percentage":0.0909}]}},{"id":5248,"name":"\u6587\u4f73\u9f99","avatar":{"id":135,"user_id":5248,"name":"\/files\/cdn\/a57be577deb434\/avatar\/b4458545-7f88-3479-97be-6f43b2b50454.png"},"group_name":"\u5168\u4f53","times_index":23,"hour_index":49.9,"pre_sales":{"times":{"current":0,"vs_previous":-1,"vs_last_year":-1},"hours":{"current":0,"vs_previous":-1,"vs_last_year":-1},"points":{"current":0,"vs_previous":-1,"vs_last_year":-1},"new_contacts":{"current":0,"vs_previous":-1,"vs_last_year":null},"service_clients":{"current":0,"vs_previous":-1,"vs_last_year":-1},"service_projects":{"current":0,"vs_previous":-1,"vs_last_year":-1},"assisted_revenue":{"current":0,"vs_previous":-1,"vs_last_year":-1},"assisted_profit":{"current":0,"vs_previous":-1,"vs_last_year":-1}},"implement":{"times":{"current":23,"vs_previous":-0.7195,"vs_last_year":-0.574},"hours":{"current":49.9,"vs_previous":-0.8524,"vs_last_year":-0.7179},"points":{"current":828,"vs_previous":-0.8321,"vs_last_year":-0.6441},"new_contacts":{"current":0,"vs_previous":-1,"vs_last_year":null},"service_clients":{"current":15,"vs_previous":-0.423,"vs_last_year":-0.25},"service_projects":{"current":16,"vs_previous":-0.5294,"vs_last_year":-0.3333}},"expense":{"expense_trend":{"categories":["2026-01","2026-02","2026-03","2026-04","2026-05","2026-06","2026-07","2026-08","2026-09","2026-10","2026-11","2026-12"],"currentYear":[{"key":"2026-01","name":"2026-01","model":{"amount":"221.22","last_amount":"948.98","growth":-0.7668},"y":"221.22"},{"key":"2026-02","name":"2026-02","model":{"amount":"0","last_amount":"191.05","growth":-1},"y":"0"},{"key":"2026-03","name":"2026-03","model":{"amount":"2209.35","last_amount":"591.08","growth":2.7378},"y":"2209.35"},{"key":"2026-04","name":"2026-04","model":{"amount":"0","last_amount":"818.07","growth":-1},"y":"0"},{"key":"2026-05","name":"2026-05","model":{"amount":"0","last_amount":"768.82","growth":-1},"y":"0"},{"key":"2026-06","name":"2026-06","model":{"amount":"0","last_amount":"381.87","growth":-1},"y":"0"},{"key":"2026-07","name":"2026-07","model":{"amount":null,"last_amount":"2756.06","growth":null},"y":null},{"key":"2026-08","name":"2026-08","model":{"amount":null,"last_amount":"817.33","growth":null},"y":null},{"key":"2026-09","name":"2026-09","model":{"amount":null,"last_amount":"1123.41","growth":null},"y":null},{"key":"2026-10","name":"2026-10","model":{"amount":null,"last_amount":"623.65","growth":null},"y":null},{"key":"2026-11","name":"2026-11","model":{"amount":null,"last_amount":"538.90","growth":null},"y":null},{"key":"2026-12","name":"2026-12","model":{"amount":null,"last_amount":"793.51","growth":null},"y":null}],"lastYear":[{"key":"2025-01","name":"2026-01","model":{"amount":"221.22","last_amount":"948.98","growth":-0.7668},"y":"948.98"},{"key":"2025-02","name":"2026-02","model":{"amount":"0","last_amount":"191.05","growth":-1},"y":"191.05"},{"key":"2025-03","name":"2026-03","model":{"amount":"2209.35","last_amount":"591.08","growth":2.7378},"y":"591.08"},{"key":"2025-04","name":"2026-04","model":{"amount":"0","last_amount":"818.07","growth":-1},"y":"818.07"},{"key":"2025-05","name":"2026-05","model":{"amount":"0","last_amount":"768.82","growth":-1},"y":"768.82"},{"key":"2025-06","name":"2026-06","model":{"amount":"0","last_amount":"381.87","growth":-1},"y":"381.87"},{"key":"2025-07","name":"2026-07","model":{"amount":null,"last_amount":"2756.06","growth":null},"y":"2756.06"},{"key":"2025-08","name":"2026-08","model":{"amount":null,"last_amount":"817.33","growth":null},"y":"817.33"},{"key":"2025-09","name":"2026-09","model":{"amount":null,"last_amount":"1123.41","growth":null},"y":"1123.41"},{"key":"2025-10","name":"2026-10","model":{"amount":null,"last_amount":"623.65","growth":null},"y":"623.65"},{"key":"2025-11","name":"2026-11","model":{"amount":null,"last_amount":"538.90","growth":null},"y":"538.90"},{"key":"2025-12","name":"2026-12","model":{"amount":null,"last_amount":"793.51","growth":null},"y":"793.51"}],"totalAmount":2430.57,"totalLastAmount":3699.87,"totalGrowth":-0.343},"expense_type":[{"name":"\u51fa\u5dee\u8865\u52a9","amount":"1200","percentage":0.4937},{"name":"\u5f80\u8fd4\u4ea4\u901a\u8d39","amount":"1009.35","percentage":0.4152},{"name":"\u51fa\u79df\u8f66\u8d39","amount":"121.22","percentage":0.0498},{"name":"\u7535\u8bdd\u8d39","amount":"100.00","percentage":0.0411}]}},{"id":1022,"name":"\u5f90\u7855","avatar":{"id":6,"user_id":1022,"name":"\/files\/cdn\/a57be577deb434\/avatar\/2b5ec94d-d83c-38b4-ac3a-38720c369f91.png"},"group_name":"\u5168\u4f53","times_index":20,"hour_index":45.7,"pre_sales":{"times":{"current":2,"vs_previous":1,"vs_last_year":"0"},"hours":{"current":10.2,"vs_previous":1.55,"vs_last_year":1.372},"points":{"current":200,"vs_previous":-0.3333,"vs_last_year":1},"new_contacts":{"current":0,"vs_previous":-1,"vs_last_year":null},"service_clients":{"current":2,"vs_previous":1,"vs_last_year":"0"},"service_projects":{"current":1,"vs_previous":"0","vs_last_year":"1"},"assisted_revenue":{"current":21104.99,"vs_previous":14.5183,"vs_last_year":"1"},"assisted_profit":{"current":5276.25,"vs_previous":10.0529,"vs_last_year":"1"}},"implement":{"times":{"current":18,"vs_previous":-0.7534,"vs_last_year":-0.7272},"hours":{"current":35.5,"vs_previous":-0.824,"vs_last_year":-0.7721},"points":{"current":1218,"vs_previous":-0.7543,"vs_last_year":-0.733},"new_contacts":{"current":0,"vs_previous":-1,"vs_last_year":null},"service_clients":{"current":9,"vs_previous":-0.64,"vs_last_year":-0.25},"service_projects":{"current":10,"vs_previous":-0.6875,"vs_last_year":-0.5}},"expense":{"expense_trend":{"categories":["2026-01","2026-02","2026-03","2026-04","2026-05","2026-06","2026-07","2026-08","2026-09","2026-10","2026-11","2026-12"],"currentYear":[{"key":"2026-01","name":"2026-01","model":{"amount":"504","last_amount":"654","growth":-0.2293},"y":"504"},{"key":"2026-02","name":"2026-02","model":{"amount":"2132","last_amount":"312","growth":5.8333},"y":"2132"},{"key":"2026-03","name":"2026-03","model":{"amount":"0","last_amount":"958","growth":-1},"y":"0"},{"key":"2026-04","name":"2026-04","model":{"amount":"0","last_amount":"624","growth":-1},"y":"0"},{"key":"2026-05","name":"2026-05","model":{"amount":"0","last_amount":"970","growth":-1},"y":"0"},{"key":"2026-06","name":"2026-06","model":{"amount":"0","last_amount":"751","growth":-1},"y":"0"},{"key":"2026-07","name":"2026-07","model":{"amount":null,"last_amount":"521","growth":null},"y":null},{"key":"2026-08","name":"2026-08","model":{"amount":null,"last_amount":"1622","growth":null},"y":null},{"key":"2026-09","name":"2026-09","model":{"amount":null,"last_amount":"100","growth":null},"y":null},{"key":"2026-10","name":"2026-10","model":{"amount":null,"last_amount":"358","growth":null},"y":null},{"key":"2026-11","name":"2026-11","model":{"amount":null,"last_amount":"170","growth":null},"y":null},{"key":"2026-12","name":"2026-12","model":{"amount":null,"last_amount":"440","growth":null},"y":null}],"lastYear":[{"key":"2025-01","name":"2026-01","model":{"amount":"504","last_amount":"654","growth":-0.2293},"y":"654"},{"key":"2025-02","name":"2026-02","model":{"amount":"2132","last_amount":"312","growth":5.8333},"y":"312"},{"key":"2025-03","name":"2026-03","model":{"amount":"0","last_amount":"958","growth":-1},"y":"958"},{"key":"2025-04","name":"2026-04","model":{"amount":"0","last_amount":"624","growth":-1},"y":"624"},{"key":"2025-05","name":"2026-05","model":{"amount":"0","last_amount":"970","growth":-1},"y":"970"},{"key":"2025-06","name":"2026-06","model":{"amount":"0","last_amount":"751","growth":-1},"y":"751"},{"key":"2025-07","name":"2026-07","model":{"amount":null,"last_amount":"521","growth":null},"y":"521"},{"key":"2025-08","name":"2026-08","model":{"amount":null,"last_amount":"1622","growth":null},"y":"1622"},{"key":"2025-09","name":"2026-09","model":{"amount":null,"last_amount":"100","growth":null},"y":"100"},{"key":"2025-10","name":"2026-10","model":{"amount":null,"last_amount":"358","growth":null},"y":"358"},{"key":"2025-11","name":"2026-11","model":{"amount":null,"last_amount":"170","growth":null},"y":"170"},{"key":"2025-12","name":"2026-12","model":{"amount":null,"last_amount":"440","growth":null},"y":"440"}],"totalAmount":2636,"totalLastAmount":4269,"totalGrowth":-0.3825},"expense_type":[{"name":"\u5f80\u8fd4\u4ea4\u901a\u8d39","amount":"1332","percentage":0.5053},{"name":"\u51fa\u5dee\u8865\u52a9","amount":"800","percentage":0.3034},{"name":"\u7535\u8bdd\u8d39","amount":"400","percentage":0.1517},{"name":"\u51fa\u79df\u8f66\u8d39","amount":"104","percentage":0.0394}]}},{"id":5064,"name":"\u59da\u96ea\u7eaf","avatar":{"id":38,"user_id":5064,"name":"\/files\/cdn\/a57be577deb434\/avatar\/5bec09dc-1f7a-3542-89a2-cedfefb3fded.png"},"group_name":"\u5168\u4f53","times_index":6,"hour_index":4,"pre_sales":{"times":{"current":6,"vs_previous":"1","vs_last_year":"1"},"hours":{"current":4,"vs_previous":"1","vs_last_year":"1"},"points":{"current":200,"vs_previous":"1","vs_last_year":"1"},"new_contacts":{"current":1,"vs_previous":"1","vs_last_year":"1"},"service_clients":{"current":3,"vs_previous":"1","vs_last_year":"1"},"service_projects":{"current":1,"vs_previous":"1","vs_last_year":"1"},"assisted_revenue":{"current":12703473,"vs_previous":"1","vs_last_year":"1"},"assisted_profit":{"current":5716562.85,"vs_previous":"1","vs_last_year":"1"}},"implement":{"times":{"current":0,"vs_previous":null,"vs_last_year":null},"hours":{"current":0,"vs_previous":null,"vs_last_year":null},"points":{"current":0,"vs_previous":null,"vs_last_year":null},"new_contacts":{"current":1,"vs_previous":"1","vs_last_year":"1"},"service_clients":{"current":0,"vs_previous":null,"vs_last_year":null},"service_projects":{"current":0,"vs_previous":null,"vs_last_year":null}},"expense":{"expense_trend":{"categories":["2026-01","2026-02","2026-03","2026-04","2026-05","2026-06","2026-07","2026-08","2026-09","2026-10","2026-11","2026-12"],"currentYear":[{"key":"2026-01","name":"2026-01","model":{"amount":"349.40","last_amount":"0","growth":"1"},"y":"349.40"},{"key":"2026-02","name":"2026-02","model":{"amount":"0","last_amount":"0","growth":null},"y":"0"},{"key":"2026-03","name":"2026-03","model":{"amount":"0","last_amount":"0","growth":null},"y":"0"},{"key":"2026-04","name":"2026-04","model":{"amount":"885883.00","last_amount":"0","growth":"1"},"y":"885883.00"},{"key":"2026-05","name":"2026-05","model":{"amount":"800.00","last_amount":"0","growth":"1"},"y":"800.00"},{"key":"2026-06","name":"2026-06","model":{"amount":"0","last_amount":"0","growth":null},"y":"0"},{"key":"2026-07","name":"2026-07","model":{"amount":null,"last_amount":"0","growth":null},"y":null},{"key":"2026-08","name":"2026-08","model":{"amount":null,"last_amount":"73.80","growth":null},"y":null},{"key":"2026-09","name":"2026-09","model":{"amount":null,"last_amount":"0","growth":null},"y":null},{"key":"2026-10","name":"2026-10","model":{"amount":null,"last_amount":"0","growth":null},"y":null},{"key":"2026-11","name":"2026-11","model":{"amount":null,"last_amount":"0","growth":null},"y":null},{"key":"2026-12","name":"2026-12","model":{"amount":null,"last_amount":"145.00","growth":null},"y":null}],"lastYear":[{"key":"2025-01","name":"2026-01","model":{"amount":"349.40","last_amount":"0","growth":"1"},"y":"0"},{"key":"2025-02","name":"2026-02","model":{"amount":"0","last_amount":"0","growth":null},"y":"0"},{"key":"2025-03","name":"2026-03","model":{"amount":"0","last_amount":"0","growth":null},"y":"0"},{"key":"2025-04","name":"2026-04","model":{"amount":"885883.00","last_amount":"0","growth":"1"},"y":"0"},{"key":"2025-05","name":"2026-05","model":{"amount":"800.00","last_amount":"0","growth":"1"},"y":"0"},{"key":"2025-06","name":"2026-06","model":{"amount":"0","last_amount":"0","growth":null},"y":"0"},{"key":"2025-07","name":"2026-07","model":{"amount":null,"last_amount":"0","growth":null},"y":"0"},{"key":"2025-08","name":"2026-08","model":{"amount":null,"last_amount":"73.80","growth":null},"y":"73.80"},{"key":"2025-09","name":"2026-09","model":{"amount":null,"last_amount":"0","growth":null},"y":"0"},{"key":"2025-10","name":"2026-10","model":{"amount":null,"last_amount":"0","growth":null},"y":"0"},{"key":"2025-11","name":"2026-11","model":{"amount":null,"last_amount":"0","growth":null},"y":"0"},{"key":"2025-12","name":"2026-12","model":{"amount":null,"last_amount":"145.00","growth":null},"y":"145.00"}],"totalAmount":887032.4,"totalLastAmount":0,"totalGrowth":"1"},"expense_type":[{"name":"\u51fa\u79df\u8f66\u8d39","amount":"887032.40","percentage":1}]}}]},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}],"mod":0,"ip":"124.127.56.185","ua":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/149.0.0.0 Safari\/537.36 Edg\/149.0.0.0"}', FALSE, '2026-06-15 10:17:31', 214923776) RETURNING "id"
10:17:31.434traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
10:17:31.435traceyii\redis\Connection::executeCommandExecuting Redis Command: SET