Log Messages

总计59条数据
TimeLevelCategoryMessage
 
05:42:00.315traceyii\base\Application::bootstrapBootstrap with yii\log\Dispatcher
05:42:00.315traceyii\base\Module::getModuleLoading module: debug
05:42:00.315traceyii\base\Application::bootstrapBootstrap with yii\debug\Module::bootstrap()
05:42:00.315traceyii\redis\Connection::openOpening redis DB connection: redis.server.local:6379, database=1
05:42:00.315traceyii\redis\Connection::executeCommandExecuting Redis Command: SELECT
05:42:00.316traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.316traceyii\base\Module::getModuleLoading module: gii
05:42:00.316traceyii\base\Application::bootstrapBootstrap with yii\gii\Module::bootstrap()
05:42:00.316traceyii\web\UrlManager::parseRequestNo matching URL rules. Using default URL parsing logic.
05:42:00.316traceyii\web\Application::handleRequestRoute requested: 'vue/project/list-sales-forecast'
05:42:00.316traceyii\base\Module::getModuleLoading module: vue
05:42:00.325infoyii\web\Session::openSession started
05:42:00.326infoyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "id"=1001
05:42:00.326infoyii\db\Connection::openOpening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta
05:42:00.330traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.330traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
05:42:00.331traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.331traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
05:42:00.331infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
05:42:00.333traceyii\base\Controller::runActionRoute to run: vue/project/list-sales-forecast
05:42:00.333traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.334traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
05:42:00.334traceyii\base\InlineAction::runWithParamsRunning action: app\modules\vue\controllers\ProjectController::actionListSalesForecast()
05:42:00.338traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.338infoyii\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_projects' and d.nspname = 'a57be577deb434' ORDER BY a.attnum;
05:42:00.344infoyii\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_projects' and ns.nspname='a57be577deb434' order by fns.nspname, fc.relname, a.attnum
05:42:00.359traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
05:42:00.359traceyii\redis\Connection::executeCommandExecuting Redis Command: SET
05:42:00.367traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.368traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.369infoyii\db\Command::querySELECT COUNT(*) FROM (SELECT p.*, (p.budget / 100 * p.profit_pct) as profits, now() - status_updated_at as remain, now() - progress_updated_at as progress_remain, now() - forecast_updated_at as forecast_remain, extract(epoch from (now() - max(sl.end_at))) / 86400 AS lost_contact_days, max(sl.end_at) as last_contact, extract(epoch from (now() - max(arrive.end_at))) / 86400 AS last_arrive_days, max(arrive.end_at) as last_arrive, case when p.end_at IS NOT NULL THEN p.end_at - p.created_at ELSE now() - p.created_at END as duration, (SELECT sum(amount) FROM a57be577deb434.tbl_invoices i WHERE i.project_id = p.id) as issued_invoices FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_project_remind_receivers" "prr" ON prr.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_clients" "usedclient" ON p.used_client = usedclient.id LEFT JOIN "a57be577deb434"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "a57be577deb434"."tbl_work_logs" "arrive" ON (arrive.project_id = p.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 "a57be577deb434"."tbl_work_logs" "sl" ON sl.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = p.id AND ttr.term_id = 10 LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr2" ON ttr2.object_id = p.id AND ttr2.term_id = 13 LEFT JOIN "a57be577deb434"."tbl_project_architects" "pa" ON "pa"."project_id" = "p"."id" LEFT JOIN "a57be577deb434"."tbl_engineer_group_relationships" "egr" ON egr.engineer_id = pa.engineer_id WHERE ("c"."deleted"=FALSE) AND (c.id is not null) AND ((c.sales_rep IS NULL) OR ("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 ("prr"."user_id"=1001) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1001))) AND (1=0) GROUP BY "p"."id" ORDER BY "p"."bargain_date" DESC, "p"."created_at" DESC) "c"
05:42:00.381infoyii\db\Command::querySELECT p.*, (p.budget / 100 * p.profit_pct) as profits, now() - status_updated_at as remain, now() - progress_updated_at as progress_remain, now() - forecast_updated_at as forecast_remain, extract(epoch from (now() - max(sl.end_at))) / 86400 AS lost_contact_days, max(sl.end_at) as last_contact, extract(epoch from (now() - max(arrive.end_at))) / 86400 AS last_arrive_days, max(arrive.end_at) as last_arrive, case when p.end_at IS NOT NULL THEN p.end_at - p.created_at ELSE now() - p.created_at END as duration, (SELECT sum(amount) FROM a57be577deb434.tbl_invoices i WHERE i.project_id = p.id) as issued_invoices FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_project_remind_receivers" "prr" ON prr.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_clients" "usedclient" ON p.used_client = usedclient.id LEFT JOIN "a57be577deb434"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "a57be577deb434"."tbl_work_logs" "arrive" ON (arrive.project_id = p.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 "a57be577deb434"."tbl_work_logs" "sl" ON sl.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = p.id AND ttr.term_id = 10 LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr2" ON ttr2.object_id = p.id AND ttr2.term_id = 13 LEFT JOIN "a57be577deb434"."tbl_project_architects" "pa" ON "pa"."project_id" = "p"."id" LEFT JOIN "a57be577deb434"."tbl_engineer_group_relationships" "egr" ON egr.engineer_id = pa.engineer_id WHERE ("c"."deleted"=FALSE) AND (c.id is not null) AND ((c.sales_rep IS NULL) OR ("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 ("prr"."user_id"=1001) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1001))) AND (1=0) GROUP BY "p"."id" ORDER BY "p"."bargain_date" DESC, "p"."created_at" DESC LIMIT 20
05:42:00.390infoyii\db\Command::querySELECT SUM(budget) FROM (SELECT p.*, (p.budget / 100 * p.profit_pct) as profits, now() - status_updated_at as remain, now() - progress_updated_at as progress_remain, now() - forecast_updated_at as forecast_remain, extract(epoch from (now() - max(sl.end_at))) / 86400 AS lost_contact_days, max(sl.end_at) as last_contact, extract(epoch from (now() - max(arrive.end_at))) / 86400 AS last_arrive_days, max(arrive.end_at) as last_arrive, case when p.end_at IS NOT NULL THEN p.end_at - p.created_at ELSE now() - p.created_at END as duration, (SELECT sum(amount) FROM a57be577deb434.tbl_invoices i WHERE i.project_id = p.id) as issued_invoices FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_project_remind_receivers" "prr" ON prr.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_clients" "usedclient" ON p.used_client = usedclient.id LEFT JOIN "a57be577deb434"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "a57be577deb434"."tbl_work_logs" "arrive" ON (arrive.project_id = p.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 "a57be577deb434"."tbl_work_logs" "sl" ON sl.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = p.id AND ttr.term_id = 10 LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr2" ON ttr2.object_id = p.id AND ttr2.term_id = 13 LEFT JOIN "a57be577deb434"."tbl_project_architects" "pa" ON "pa"."project_id" = "p"."id" LEFT JOIN "a57be577deb434"."tbl_engineer_group_relationships" "egr" ON egr.engineer_id = pa.engineer_id WHERE ("c"."deleted"=FALSE) AND (c.id is not null) AND ((c.sales_rep IS NULL) OR ("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 ("prr"."user_id"=1001) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1001))) AND ("project_status"=1) GROUP BY "p"."id") "c"
05:42:00.447infoyii\db\Command::querySELECT SUM(budget) FROM (SELECT p.*, (p.budget / 100 * p.profit_pct) as profits, now() - status_updated_at as remain, now() - progress_updated_at as progress_remain, now() - forecast_updated_at as forecast_remain, extract(epoch from (now() - max(sl.end_at))) / 86400 AS lost_contact_days, max(sl.end_at) as last_contact, extract(epoch from (now() - max(arrive.end_at))) / 86400 AS last_arrive_days, max(arrive.end_at) as last_arrive, case when p.end_at IS NOT NULL THEN p.end_at - p.created_at ELSE now() - p.created_at END as duration, (SELECT sum(amount) FROM a57be577deb434.tbl_invoices i WHERE i.project_id = p.id) as issued_invoices FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_project_remind_receivers" "prr" ON prr.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_clients" "usedclient" ON p.used_client = usedclient.id LEFT JOIN "a57be577deb434"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "a57be577deb434"."tbl_work_logs" "arrive" ON (arrive.project_id = p.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 "a57be577deb434"."tbl_work_logs" "sl" ON sl.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = p.id AND ttr.term_id = 10 LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr2" ON ttr2.object_id = p.id AND ttr2.term_id = 13 LEFT JOIN "a57be577deb434"."tbl_project_architects" "pa" ON "pa"."project_id" = "p"."id" LEFT JOIN "a57be577deb434"."tbl_engineer_group_relationships" "egr" ON egr.engineer_id = pa.engineer_id WHERE ("c"."deleted"=FALSE) AND (c.id is not null) AND ((c.sales_rep IS NULL) OR ("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 ("prr"."user_id"=1001) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1001))) AND ("project_status"=2) GROUP BY "p"."id") "c"
05:42:00.474infoyii\db\Command::querySELECT SUM(budget) FROM (SELECT p.*, (p.budget / 100 * p.profit_pct) as profits, now() - status_updated_at as remain, now() - progress_updated_at as progress_remain, now() - forecast_updated_at as forecast_remain, extract(epoch from (now() - max(sl.end_at))) / 86400 AS lost_contact_days, max(sl.end_at) as last_contact, extract(epoch from (now() - max(arrive.end_at))) / 86400 AS last_arrive_days, max(arrive.end_at) as last_arrive, case when p.end_at IS NOT NULL THEN p.end_at - p.created_at ELSE now() - p.created_at END as duration, (SELECT sum(amount) FROM a57be577deb434.tbl_invoices i WHERE i.project_id = p.id) as issued_invoices FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_project_remind_receivers" "prr" ON prr.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_clients" "usedclient" ON p.used_client = usedclient.id LEFT JOIN "a57be577deb434"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "a57be577deb434"."tbl_work_logs" "arrive" ON (arrive.project_id = p.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 "a57be577deb434"."tbl_work_logs" "sl" ON sl.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = p.id AND ttr.term_id = 10 LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr2" ON ttr2.object_id = p.id AND ttr2.term_id = 13 LEFT JOIN "a57be577deb434"."tbl_project_architects" "pa" ON "pa"."project_id" = "p"."id" LEFT JOIN "a57be577deb434"."tbl_engineer_group_relationships" "egr" ON egr.engineer_id = pa.engineer_id WHERE ("c"."deleted"=FALSE) AND (c.id is not null) AND ((c.sales_rep IS NULL) OR ("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 ("prr"."user_id"=1001) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1001))) AND ("project_status"=3) GROUP BY "p"."id") "c"
05:42:00.645infoyii\db\Command::querySELECT count(sub.id) as count, sum(sub.budget) as budget, sum(sub.profits) as profits, progress.project_progress as name, progress.id as key, progress.description FROM "a57be577deb434"."tbl_project_progresses" "progress" LEFT JOIN (SELECT p.*, (p.budget / 100 * p.profit_pct) as profits, now() - status_updated_at as remain, now() - progress_updated_at as progress_remain, now() - forecast_updated_at as forecast_remain, extract(epoch from (now() - max(sl.end_at))) / 86400 AS lost_contact_days, max(sl.end_at) as last_contact, extract(epoch from (now() - max(arrive.end_at))) / 86400 AS last_arrive_days, max(arrive.end_at) as last_arrive, case when p.end_at IS NOT NULL THEN p.end_at - p.created_at ELSE now() - p.created_at END as duration, (SELECT sum(amount) FROM a57be577deb434.tbl_invoices i WHERE i.project_id = p.id) as issued_invoices FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_project_remind_receivers" "prr" ON prr.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_clients" "usedclient" ON p.used_client = usedclient.id LEFT JOIN "a57be577deb434"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "a57be577deb434"."tbl_work_logs" "arrive" ON (arrive.project_id = p.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 "a57be577deb434"."tbl_work_logs" "sl" ON sl.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = p.id AND ttr.term_id = 10 LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr2" ON ttr2.object_id = p.id AND ttr2.term_id = 13 LEFT JOIN "a57be577deb434"."tbl_project_architects" "pa" ON "pa"."project_id" = "p"."id" LEFT JOIN "a57be577deb434"."tbl_engineer_group_relationships" "egr" ON egr.engineer_id = pa.engineer_id WHERE ("c"."deleted"=FALSE) AND (c.id is not null) AND ((c.sales_rep IS NULL) OR ("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 ("prr"."user_id"=1001) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1001))) GROUP BY "p"."id" ORDER BY "p"."bargain_date" DESC, "p"."created_at" DESC) "sub" ON "progress"."id" = "sub"."project_progress" WHERE "is_delete"=FALSE GROUP BY "progress"."id" ORDER BY "order"
05:42:00.677traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.678infoyii\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_project_progresses' and d.nspname = 'a57be577deb434' ORDER BY a.attnum;
05:42:00.680infoyii\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_project_progresses' and ns.nspname='a57be577deb434' order by fns.nspname, fc.relname, a.attnum
05:42:00.689traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
05:42:00.690traceyii\redis\Connection::executeCommandExecuting Redis Command: SET
05:42:00.690infoyii\db\Command::querySELECT count(sub.id) as count, sum(sub.budget) as budget, sum(sub.profits) as profits, tt.name, tt.id as key, tt.description FROM "a57be577deb434"."tbl_term_taxonomies" "tt" LEFT JOIN (SELECT "p"."id", "p"."budget", "ttr2"."taxonomy_id", (p.budget / 100 * p.profit_pct) as profits FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_project_remind_receivers" "prr" ON prr.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_clients" "usedclient" ON p.used_client = usedclient.id LEFT JOIN "a57be577deb434"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "a57be577deb434"."tbl_work_logs" "arrive" ON (arrive.project_id = p.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 "a57be577deb434"."tbl_work_logs" "sl" ON sl.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = p.id AND ttr.term_id = 10 LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr2" ON ttr2.object_id = p.id AND ttr2.term_id = 13 LEFT JOIN "a57be577deb434"."tbl_project_architects" "pa" ON "pa"."project_id" = "p"."id" LEFT JOIN "a57be577deb434"."tbl_engineer_group_relationships" "egr" ON egr.engineer_id = pa.engineer_id WHERE ("c"."deleted"=FALSE) AND (c.id is not null) AND ((c.sales_rep IS NULL) OR ("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 ("prr"."user_id"=1001) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1001))) AND (ttr2.taxonomy_id is not null) GROUP BY "p"."id", "ttr2"."taxonomy_id" ORDER BY "p"."bargain_date" DESC, "p"."created_at" DESC) "sub" ON "tt"."id" = "sub"."taxonomy_id" WHERE ("term_id"=13) AND ("is_delete"=FALSE) GROUP BY "tt"."id" ORDER BY "sort", "tt"."id"
05:42:00.723traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.723infoyii\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_term_taxonomies' and d.nspname = 'a57be577deb434' ORDER BY a.attnum;
05:42:00.726infoyii\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_term_taxonomies' and ns.nspname='a57be577deb434' order by fns.nspname, fc.relname, a.attnum
05:42:00.734traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
05:42:00.734traceyii\redis\Connection::executeCommandExecuting Redis Command: SET
05:42:00.734traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.734traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
05:42:00.735infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_visit_module_histories" WHERE ("user_id"=1001) AND ("object_type"=1) AND ("visit_date"='2025-08-09')
05:42:00.742traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.742infoyii\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_visit_module_histories' and d.nspname = 'a57be577deb434' ORDER BY a.attnum;
05:42:00.745infoyii\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_visit_module_histories' and ns.nspname='a57be577deb434' order by fns.nspname, fc.relname, a.attnum
05:42:00.754traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
05:42:00.754traceyii\redis\Connection::executeCommandExecuting Redis Command: SET
05:42:00.755infoyii\db\Command::queryINSERT INTO "a57be577deb434"."tbl_visit_module_histories" ("user_id", "object_type", "visit_date", "num", "last_visit_at") VALUES (1001, 1, '2025-08-09', 1, 'now()') RETURNING "id"
05:42:00.759infoyii\db\Command::queryINSERT INTO "global"."tbl_api_log" ("code", "schema", "user_id", "device_type", "url", "request", "response", "php_error", "time") VALUES (200, 'a57be577deb434', 1001, 5, 'vue/project/list-sales-forecast', '[]', '{"code":2000,"result":{"list":[],"count":{"progressCount":[{"count":250,"budget":"82334224.00","profits":"16931542.2052000000000000000000","name":"\n <div class=\"text-center-highchart-x\">\u786e\u8ba4\u95ee\u9898\n <div class=\"highchart-x-tool\">\u786e\u8ba4\u95ee\u9898<br \/>\u5b9a\u4e49\uff1a\u786e\u8ba4\u5ba2\u6237\u5f53\u524d\u9047\u5230\u7684\u5b9e\u9645\u95ee\u9898\uff0c \u6216\u8005\u5f85\u529e\u4efb\u52a1\uff0c\u6216\u8005\u9762\u4e34\u54ea\u4e9b\u6311\u6218\uff1f\n \u65b9\u6cd5\uff1a\u7b2c\u4e00\u6b65\uff1a5why\u6cd5\u8be2\u95ee\u771f\u95ee\u9898 \u7b2c\u4e8c\u6b65\uff1a\u53cd\u95ee\u5982\u679c\u4e0d\u89e3\u51b3\u4f1a\u600e\u6837\uff1f<\/div>\n <\/div>","key":2,"description":"\u5b9a\u4e49\uff1a\u786e\u8ba4\u5ba2\u6237\u5f53\u524d\u9047\u5230\u7684\u5b9e\u9645\u95ee\u9898\uff0c \u6216\u8005\u5f85\u529e\u4efb\u52a1\uff0c\u6216\u8005\u9762\u4e34\u54ea\u4e9b\u6311\u6218\uff1f\n \u65b9\u6cd5\uff1a\u7b2c\u4e00\u6b65\uff1a5why\u6cd5\u8be2\u95ee\u771f\u95ee\u9898 \u7b2c\u4e8c\u6b65\uff1a\u53cd\u95ee\u5982\u679c\u4e0d\u89e3\u51b3\u4f1a\u600e\u6837\uff1f"},{"count":130,"budget":"77284181.78","profits":"13498103.56130000000000000000","name":"\n <div class=\"text-center-highchart-x\">\u65b9\u6848\u8bbe\u8ba1\n <div class=\"highchart-x-tool\">\u65b9\u6848\u8bbe\u8ba1<br \/>\u5b9a\u4e49\uff1a\u6839\u636e\u5ba2\u6237\u9762\u4e34\u7684\u95ee\u9898\u53ca\u6311\u6218\uff0c \u63d0\u51fa\u6211\u65b9\u7684\u4ea7\u54c1\u65b9\u6848\u3002\u5177\u4f53\u7684\u54c1\u724c\uff0c \u578b\u53f7\uff0c\u914d\u7f6e\uff0c\u4fdd\u4fee\u3002 \n\u65b9\u6cd5\uff1a\u5c06\u5ba2\u6237\u7684\u95ee\u9898\u53ca\u9700\u6c42\u7528\u6587\u5b57\u63cf\u8ff0\u51fa\u6765\uff0c\u4ea4\u7ed9\u552e\u524d\u6216\u5382\u5546\u3002<\/div>\n <\/div>","key":3,"description":"\u5b9a\u4e49\uff1a\u6839\u636e\u5ba2\u6237\u9762\u4e34\u7684\u95ee\u9898\u53ca\u6311\u6218\uff0c \u63d0\u51fa\u6211\u65b9\u7684\u4ea7\u54c1\u65b9\u6848\u3002\u5177\u4f53\u7684\u54c1\u724c\uff0c \u578b\u53f7\uff0c\u914d\u7f6e\uff0c\u4fdd\u4fee\u3002 \n\u65b9\u6cd5\uff1a\u5c06\u5ba2\u6237\u7684\u95ee\u9898\u53ca\u9700\u6c42\u7528\u6587\u5b57\u63cf\u8ff0\u51fa\u6765\uff0c\u4ea4\u7ed9\u552e\u524d\u6216\u5382\u5546\u3002"},{"count":76,"budget":"45857002.60","profits":"6109294.44560000000000000000","name":"\n <div class=\"text-center-highchart-x\">\u786e\u8ba4\u65b9\u6848\n <div class=\"highchart-x-tool\">\u786e\u8ba4\u65b9\u6848<br \/>\u5b9a\u4e49\uff1a\u6839\u636e\u5ba2\u6237\u7684\u53cd\u9988\uff0c\u4e0d\u65ad\u4f18\u5316\u89e3\u51b3\u65b9\u6848\uff0c\u76f4\u5230\u5ba2\u6237\u53e3\u5934\u6216\u4e66\u9762\u8ba4\u53ef\u65b9\u6848\u3002 \n\u65b9\u6cd5\uff1a\u4f7f\u7528\u573a\u666f\uff0c\u95ee\u9898\uff0c\u9700\u6c42\uff0c\u4ea7\u54c1\u53ca\u529f\u80fd\u7684\u65b9\u6cd5\u8bb2\u89e3\u65b9\u6848\u3002<\/div>\n <\/div>","key":4,"description":"\u5b9a\u4e49\uff1a\u6839\u636e\u5ba2\u6237\u7684\u53cd\u9988\uff0c\u4e0d\u65ad\u4f18\u5316\u89e3\u51b3\u65b9\u6848\uff0c\u76f4\u5230\u5ba2\u6237\u53e3\u5934\u6216\u4e66\u9762\u8ba4\u53ef\u65b9\u6848\u3002 \n\u65b9\u6cd5\uff1a\u4f7f\u7528\u573a\u666f\uff0c\u95ee\u9898\uff0c\u9700\u6c42\uff0c\u4ea7\u54c1\u53ca\u529f\u80fd\u7684\u65b9\u6cd5\u8bb2\u89e3\u65b9\u6848\u3002"},{"count":236,"budget":"95544870.36","profits":"16437946.16696000000000000000","name":"\n <div class=\"text-center-highchart-x\">\u5546\u52a1\u62a5\u4ef7\n <div class=\"highchart-x-tool\">\u5546\u52a1\u62a5\u4ef7<br \/>\u5b9a\u4e49\uff1a1.\u62a5\u4ef7\u6709\u6548\u671f 2.\u6838\u7b97\u5229\u6da6\u7387 3. \u4ea4\u8d27\u65b9\u5f0f\u53ca\u65f6\u95f4 4.\u9a8c\u6536\u65b9\u5f0f 5.\u6536\u6b3e\u65b9\u5f0f 6.\u8fdd\u7ea6\u6761\u6b3e \n\u65b9\u6cd5\uff1a\u7528\u516c\u53f8\u6807\u51c6\u7684\u62a5\u4ef7\u5355\u6837\u5f0f\u5411\u5ba2\u6237\u63d0\u4f9b\u62a5\u4ef7\u3002<\/div>\n <\/div>","key":5,"description":"\u5b9a\u4e49\uff1a1.\u62a5\u4ef7\u6709\u6548\u671f 2.\u6838\u7b97\u5229\u6da6\u7387 3. \u4ea4\u8d27\u65b9\u5f0f\u53ca\u65f6\u95f4 4.\u9a8c\u6536\u65b9\u5f0f 5.\u6536\u6b3e\u65b9\u5f0f 6.\u8fdd\u7ea6\u6761\u6b3e \n\u65b9\u6cd5\uff1a\u7528\u516c\u53f8\u6807\u51c6\u7684\u62a5\u4ef7\u5355\u6837\u5f0f\u5411\u5ba2\u6237\u63d0\u4f9b\u62a5\u4ef7\u3002"},{"count":140,"budget":"41320887.50","profits":"6647101.08745400000000000000","name":"\n <div class=\"text-center-highchart-x\">\u63a8\u52a8\u6210\u4ea4\n <div class=\"highchart-x-tool\">\u63a8\u52a8\u6210\u4ea4<br \/>\u5b9a\u4e49\uff1a\u5ba2\u6237\u786e\u8ba4\u4e86\u65b9\u6848\uff0c\u4e86\u89e3\u4e86\u6210\u4ea4\u4ef7\u683c\u3002 \n\u65b9\u6cd5\uff1a\u901a\u8fc7\u5229\u76ca\u5206\u4eab\uff0c\u5b9e\u529b\u8bc1\u660e\uff0c\u9ad8\u5c42\u62dc\u8bbf\uff0c\u5382\u5546\u62dc\u8bbf\uff0c\u6848\u4f8b\u53c2\u89c2\uff0c\u7a81\u51fa\u6211\u65b9\u4f18\u52bf\uff0c\u6253\u51fb\u5bf9\u624b\u52a3\u52bf\u3002<\/div>\n <\/div>","key":6,"description":"\u5b9a\u4e49\uff1a\u5ba2\u6237\u786e\u8ba4\u4e86\u65b9\u6848\uff0c\u4e86\u89e3\u4e86\u6210\u4ea4\u4ef7\u683c\u3002 \n\u65b9\u6cd5\uff1a\u901a\u8fc7\u5229\u76ca\u5206\u4eab\uff0c\u5b9e\u529b\u8bc1\u660e\uff0c\u9ad8\u5c42\u62dc\u8bbf\uff0c\u5382\u5546\u62dc\u8bbf\uff0c\u6848\u4f8b\u53c2\u89c2\uff0c\u7a81\u51fa\u6211\u65b9\u4f18\u52bf\uff0c\u6253\u51fb\u5bf9\u624b\u52a3\u52bf\u3002"},{"count":397,"budget":"86467909.51","profits":"12226851.915284000000000000","name":"\n <div class=\"text-center-highchart-x\">\u7b7e\u8ba2\u5408\u540c\n <div class=\"highchart-x-tool\">\u7b7e\u8ba2\u5408\u540c<br \/>\u5b9a\u4e49\uff1a\u786e\u8ba4\u4ea7\u54c1\u914d\u7f6e\uff0c\u4ea7\u54c1\u6570\u91cf\uff0c\u4ea7\u54c1\u4ef7\u683c\uff0c\u4ed8\u6b3e\u65b9\u5f0f\uff0c\u5230\u8d27\u65e5\u671f\uff0c\u8fdd\u7ea6\u6761\u6b3e\uff0c\u9a8c\u6536\u6807\u51c6\u3002 \n\u65b9\u6cd5\uff1a\u6309\u7167\u516c\u53f8\u5408\u540c\u8303\u672c\u6216\u6309\u7167\u5ba2\u6237\u8303\u672c\u7b7e\u8ba2\u5408\u540c\u3002<\/div>\n <\/div>","key":9,"description":"\u5b9a\u4e49\uff1a\u786e\u8ba4\u4ea7\u54c1\u914d\u7f6e\uff0c\u4ea7\u54c1\u6570\u91cf\uff0c\u4ea7\u54c1\u4ef7\u683c\uff0c\u4ed8\u6b3e\u65b9\u5f0f\uff0c\u5230\u8d27\u65e5\u671f\uff0c\u8fdd\u7ea6\u6761\u6b3e\uff0c\u9a8c\u6536\u6807\u51c6\u3002 \n\u65b9\u6cd5\uff1a\u6309\u7167\u516c\u53f8\u5408\u540c\u8303\u672c\u6216\u6309\u7167\u5ba2\u6237\u8303\u672c\u7b7e\u8ba2\u5408\u540c\u3002"},{"count":702,"budget":"174832887.39","profits":"36838238.23934400000000000000","name":"\n <div class=\"text-center-highchart-x\">\u4ea4\u8d27\u4e2d\n <div class=\"highchart-x-tool\">\u4ea4\u8d27\u4e2d<br \/>\u5b9a\u4e49\uff1a\u5ba2\u6237\u7b7e\u7f72\u7b7e\u6536\u5355\uff0c\u7b7e\u7f72\u9a8c\u6536\u5355 \n\u65b9\u6cd5\uff1a\u8d27\u5230\u5ba2\u6237\u6307\u5b9a\u5730\u70b9\u7b7e\u7f72\u7b7e\u6536\u5355\uff0c \u5b89\u88c5\u90e8\u7f72\u5b8c\u6210\u7b7e\u7f72\u9a8c\u6536\u5355\u3002<\/div>\n <\/div>","key":10,"description":"\u5b9a\u4e49\uff1a\u5ba2\u6237\u7b7e\u7f72\u7b7e\u6536\u5355\uff0c\u7b7e\u7f72\u9a8c\u6536\u5355 \n\u65b9\u6cd5\uff1a\u8d27\u5230\u5ba2\u6237\u6307\u5b9a\u5730\u70b9\u7b7e\u7f72\u7b7e\u6536\u5355\uff0c \u5b89\u88c5\u90e8\u7f72\u5b8c\u6210\u7b7e\u7f72\u9a8c\u6536\u5355\u3002"},{"count":111,"budget":"35091233.37","profits":"6228773.261412000000000000","name":"\n <div class=\"text-center-highchart-x\">\u6536\u6b3e\u4e2d\n <div class=\"highchart-x-tool\">\u6536\u6b3e\u4e2d<br \/>\u5b9a\u4e49\uff1a\u5f00\u53d1\u7968\uff0c\u5b8c\u6210\u6536\u6b3e \u3002\n\u65b9\u6cd5\uff1a\u5411\u8d22\u52a1\u7533\u8bf7\u5f00\u53d1\u7968\u3002<\/div>\n <\/div>","key":49,"description":"\u5b9a\u4e49\uff1a\u5f00\u53d1\u7968\uff0c\u5b8c\u6210\u6536\u6b3e \u3002\n\u65b9\u6cd5\uff1a\u5411\u8d22\u52a1\u7533\u8bf7\u5f00\u53d1\u7968\u3002"}],"salesForecastCount":[{"count":714,"budget":"161895179.46","profits":"24188215.27765600000000000000","name":"\n <div class=\"text-center-highchart-x\">\u6211\u81ea\u5df1\u505a\u5e84\n <div class=\"highchart-x-tool\">\u6211\u81ea\u5df1\u505a\u5e84<br \/>\u5382\u5546\u542c\u6211\u652f\u914d\uff0c\u7ed9\u6211\u597d\u4ef7\u683c\u3002\n\u5ba2\u6237\u542c\u6211\u652f\u914d\uff0c\u6309\u7167\u6211\u7684\u65b9\u5f0f\u91c7\u8d2d\u3002<\/div>\n <\/div>","key":181,"description":"\u5382\u5546\u542c\u6211\u652f\u914d\uff0c\u7ed9\u6211\u597d\u4ef7\u683c\u3002\n\u5ba2\u6237\u542c\u6211\u652f\u914d\uff0c\u6309\u7167\u6211\u7684\u65b9\u5f0f\u91c7\u8d2d\u3002"},{"count":1025,"budget":"288972760.04","profits":"63570945.9809720000000000000000","name":"\n <div class=\"text-center-highchart-x\">\u6211\u4e0e\u5ba2\u6237\u8054\u624b\n <div class=\"highchart-x-tool\">\u6211\u4e0e\u5ba2\u6237\u8054\u624b<br \/>\u4e0e\u5ba2\u6237\u8054\u624b\u5411\u5382\u5546\u4e89\u53d6\u6700\u4f18\u60e0\u4ef7\u683c\u3002\u5229\u6da6\u540450%\u3002<\/div>\n <\/div>","key":142,"description":"\u4e0e\u5ba2\u6237\u8054\u624b\u5411\u5382\u5546\u4e89\u53d6\u6700\u4f18\u60e0\u4ef7\u683c\u3002\u5229\u6da6\u540450%\u3002"},{"count":324,"budget":"143983539.07","profits":"26889627.66308200000000000000","name":"\n <div class=\"text-center-highchart-x\">\u6211\u4e0e\u5382\u5546\u8054\u624b\n <div class=\"highchart-x-tool\">\u6211\u4e0e\u5382\u5546\u8054\u624b<br \/>\u4e0e\u5382\u5546\u8054\u624b\u5171\u540c\u641e\u5b9a\u5ba2\u6237\uff0c\u5229\u6da6\u5404\u536050%<\/div>\n <\/div>","key":172,"description":"\u4e0e\u5382\u5546\u8054\u624b\u5171\u540c\u641e\u5b9a\u5ba2\u6237\uff0c\u5229\u6da6\u5404\u536050%"},{"count":109,"budget":"62749452.76","profits":"7524027.015014000000000000","name":"\n <div class=\"text-center-highchart-x\">\u5382\u5546\u8fc7\u5355\n <div class=\"highchart-x-tool\">\u5382\u5546\u8fc7\u5355<br \/>\u4fdd\u63015%\u57fa\u672c\u5229\u6da6\u7387\uff0c\u5e2e\u52a9\u5382\u5546\u4ea4\u4ed8\u9879\u76ee\u3002<\/div>\n <\/div>","key":232,"description":"\u4fdd\u63015%\u57fa\u672c\u5229\u6da6\u7387\uff0c\u5e2e\u52a9\u5382\u5546\u4ea4\u4ed8\u9879\u76ee\u3002"}]},"status1_sum":"7567500","status2_sum":"12944899.6","status3_sum":"363447100.10","params":{"dateRange":{"period":"","from":"","to":""}},"thisUser":"","can_create":true,"pagenation":{"totalcount":0,"thispage":1,"pagesize":20}},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}],"mod":0}', FALSE, '2025-08-09 05:42:00') RETURNING "id"
05:42:00.761traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
05:42:00.761traceyii\redis\Connection::executeCommandExecuting Redis Command: SET