01:16:47.694 | trace | yii\base\Application::bootstrap | Bootstrap with yii\log\Dispatcher |
01:16:47.694 | trace | yii\base\Module::getModule | Loading module: debug |
01:16:47.694 | trace | yii\base\Application::bootstrap | Bootstrap with yii\debug\Module::bootstrap() |
01:16:47.695 | trace | yii\redis\Connection::open | Opening redis DB connection: redis.server.local:6379, database=1 |
01:16:47.695 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SELECT |
01:16:47.695 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
01:16:47.695 | trace | yii\base\Module::getModule | Loading module: gii |
01:16:47.695 | trace | yii\base\Application::bootstrap | Bootstrap with yii\gii\Module::bootstrap() |
01:16:47.695 | trace | yii\web\UrlManager::parseRequest | No matching URL rules. Using default URL parsing logic. |
01:16:47.695 | trace | yii\web\Application::handleRequest | Route requested: 'vue/analysis/sales-year-histogram' |
01:16:47.695 | trace | yii\base\Module::getModule | Loading module: vue |
01:16:47.702 | info | yii\web\Session::open | Session started |
01:16:47.703 | info | yii\db\Command::query | SELECT * FROM "global"."vw_user_login" WHERE "id"=1001 |
01:16:47.703 | info | yii\db\Connection::open | Opening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta |
01:16:47.707 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
01:16:47.707 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
01:16:47.708 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
01:16:47.708 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
01:16:47.708 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001 |
01:16:47.709 | trace | yii\base\Controller::runAction | Route to run: vue/analysis/sales-year-histogram |
01:16:47.710 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
01:16:47.710 | trace | uranus\rbac\DbManager::checkAccessFromCache | Checking role: Admin |
01:16:47.710 | trace | yii\base\InlineAction::runWithParams | Running action: app\modules\vue\controllers\AnalysisController::actionSalesYearHistogram() |
01:16:47.712 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
01:16:47.712 | info | yii\db\Command::query | SELECT
d.nspname AS table_schema,
c.relname AS table_name,
a.attname AS column_name,
t.typname AS data_type,
a.attlen AS character_maximum_length,
pg_catalog.col_description(c.oid, a.attnum) AS column_comment,
a.atttypmod AS modifier,
a.attnotnull = false AS is_nullable,
CAST(pg_get_expr(ad.adbin, ad.adrelid) AS varchar) AS column_default,
coalesce(pg_get_expr(ad.adbin, ad.adrelid) ~ 'nextval',false) AS is_autoinc,
array_to_string((select array_agg(enumlabel) from pg_enum where enumtypid=a.atttypid)::varchar[],',') as enum_values,
CASE atttypid
WHEN 21 /*int2*/ THEN 16
WHEN 23 /*int4*/ THEN 32
WHEN 20 /*int8*/ THEN 64
WHEN 1700 /*numeric*/ THEN
CASE WHEN atttypmod = -1
THEN null
ELSE ((atttypmod - 4) >> 16) & 65535
END
WHEN 700 /*float4*/ THEN 24 /*FLT_MANT_DIG*/
WHEN 701 /*float8*/ THEN 53 /*DBL_MANT_DIG*/
ELSE null
END AS numeric_precision,
CASE
WHEN atttypid IN (21, 23, 20) THEN 0
WHEN atttypid IN (1700) THEN
CASE
WHEN atttypmod = -1 THEN null
ELSE (atttypmod - 4) & 65535
END
ELSE null
END AS numeric_scale,
CAST(
information_schema._pg_char_max_length(information_schema._pg_truetypid(a, t), information_schema._pg_truetypmod(a, t))
AS numeric
) AS size,
a.attnum = any (ct.conkey) as is_pkey
FROM
pg_class c
LEFT JOIN pg_attribute a ON a.attrelid = c.oid
LEFT JOIN pg_attrdef ad ON a.attrelid = ad.adrelid AND a.attnum = ad.adnum
LEFT JOIN pg_type t ON a.atttypid = t.oid
LEFT JOIN pg_namespace d ON d.oid = c.relnamespace
LEFT join pg_constraint ct on ct.conrelid=c.oid and ct.contype='p'
WHERE
a.attnum > 0 and t.typname != ''
and c.relname = 'tbl_enterprises'
and d.nspname = 'global'
ORDER BY
a.attnum; |
01:16:47.718 | info | yii\db\Command::query | select
ct.conname as constraint_name,
a.attname as column_name,
fc.relname as foreign_table_name,
fns.nspname as foreign_table_schema,
fa.attname as foreign_column_name
from
(SELECT ct.conname, ct.conrelid, ct.confrelid, ct.conkey, ct.contype, ct.confkey, generate_subscripts(ct.conkey, 1) AS s
FROM pg_constraint ct
) AS ct
inner join pg_class c on c.oid=ct.conrelid
inner join pg_namespace ns on c.relnamespace=ns.oid
inner join pg_attribute a on a.attrelid=ct.conrelid and a.attnum = ct.conkey[ct.s]
left join pg_class fc on fc.oid=ct.confrelid
left join pg_namespace fns on fc.relnamespace=fns.oid
left join pg_attribute fa on fa.attrelid=ct.confrelid and fa.attnum = ct.confkey[ct.s]
where
ct.contype='f'
and c.relname='tbl_enterprises'
and ns.nspname='global'
order by
fns.nspname, fc.relname, a.attnum |
01:16:47.727 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
01:16:47.727 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SET |
01:16:47.727 | info | yii\db\Command::query | SELECT * FROM "global"."tbl_enterprises" WHERE "id"=2 |
01:16:47.728 | info | yii\db\Command::query | SELECT MIN(bargain_date) FROM "a57be577deb434"."tbl_projects" |
01:16:47.734 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
01:16:47.734 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
01:16:47.735 | info | yii\db\Command::query | SELECT
count(distinct p.client_id) as clients,
count(distinct p.id) as projects,
sum(p.budget) as budget,
sum(p.budget / 100 * p.profit_pct) AS profits,
CASE WHEN p.bargain_date >= (to_char(p.bargain_date,'YYYY-') || '01-01') :: DATE THEN to_char( P.bargain_date, 'YYYY')::INTEGER ELSE to_char( P.bargain_date, 'YYYY')::INTEGER - 1 END AS bargain_year
FROM "a57be577deb434"."tbl_projects" "p" WHERE ("project_status"=3) AND ("p"."created_by" IN (1001, 5049, 5301, 5022, 5209, 5026, 5293, 5309, 5356, 5329, 5299, 5303, 5302, 5332, 5047, 1026, 5096, 5070, 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, 5409, 5412, 5229, 1005, 5304, 5358, 1006, 5093)) AND (p.bargain_date IS NOT NULL) GROUP BY "bargain_year" |
01:16:47.750 | info | yii\db\Command::query | SELECT count(distinct p.client_id) as avg_client, count(distinct p.id) as avg_project, sum(p.budget) AS avg_budget, sum(p.budget /100 * profit_pct) AS avg_profit FROM "a57be577deb434"."tbl_projects" "p" WHERE "project_status"=3 |
01:16:47.752 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
01:16:47.752 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
01:16:47.754 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_visit_module_histories" WHERE ("user_id"=1001) AND ("object_type"=23) AND ("visit_date"='2025-08-02') |
01:16:47.764 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
01:16:47.765 | info | yii\db\Command::query | SELECT
d.nspname AS table_schema,
c.relname AS table_name,
a.attname AS column_name,
t.typname AS data_type,
a.attlen AS character_maximum_length,
pg_catalog.col_description(c.oid, a.attnum) AS column_comment,
a.atttypmod AS modifier,
a.attnotnull = false AS is_nullable,
CAST(pg_get_expr(ad.adbin, ad.adrelid) AS varchar) AS column_default,
coalesce(pg_get_expr(ad.adbin, ad.adrelid) ~ 'nextval',false) AS is_autoinc,
array_to_string((select array_agg(enumlabel) from pg_enum where enumtypid=a.atttypid)::varchar[],',') as enum_values,
CASE atttypid
WHEN 21 /*int2*/ THEN 16
WHEN 23 /*int4*/ THEN 32
WHEN 20 /*int8*/ THEN 64
WHEN 1700 /*numeric*/ THEN
CASE WHEN atttypmod = -1
THEN null
ELSE ((atttypmod - 4) >> 16) & 65535
END
WHEN 700 /*float4*/ THEN 24 /*FLT_MANT_DIG*/
WHEN 701 /*float8*/ THEN 53 /*DBL_MANT_DIG*/
ELSE null
END AS numeric_precision,
CASE
WHEN atttypid IN (21, 23, 20) THEN 0
WHEN atttypid IN (1700) THEN
CASE
WHEN atttypmod = -1 THEN null
ELSE (atttypmod - 4) & 65535
END
ELSE null
END AS numeric_scale,
CAST(
information_schema._pg_char_max_length(information_schema._pg_truetypid(a, t), information_schema._pg_truetypmod(a, t))
AS numeric
) AS size,
a.attnum = any (ct.conkey) as is_pkey
FROM
pg_class c
LEFT JOIN pg_attribute a ON a.attrelid = c.oid
LEFT JOIN pg_attrdef ad ON a.attrelid = ad.adrelid AND a.attnum = ad.adnum
LEFT JOIN pg_type t ON a.atttypid = t.oid
LEFT JOIN pg_namespace d ON d.oid = c.relnamespace
LEFT join pg_constraint ct on ct.conrelid=c.oid and ct.contype='p'
WHERE
a.attnum > 0 and t.typname != ''
and c.relname = 'tbl_visit_module_histories'
and d.nspname = 'a57be577deb434'
ORDER BY
a.attnum; |
01:16:47.767 | info | yii\db\Command::query | select
ct.conname as constraint_name,
a.attname as column_name,
fc.relname as foreign_table_name,
fns.nspname as foreign_table_schema,
fa.attname as foreign_column_name
from
(SELECT ct.conname, ct.conrelid, ct.confrelid, ct.conkey, ct.contype, ct.confkey, generate_subscripts(ct.conkey, 1) AS s
FROM pg_constraint ct
) AS ct
inner join pg_class c on c.oid=ct.conrelid
inner join pg_namespace ns on c.relnamespace=ns.oid
inner join pg_attribute a on a.attrelid=ct.conrelid and a.attnum = ct.conkey[ct.s]
left join pg_class fc on fc.oid=ct.confrelid
left join pg_namespace fns on fc.relnamespace=fns.oid
left join pg_attribute fa on fa.attrelid=ct.confrelid and fa.attnum = ct.confkey[ct.s]
where
ct.contype='f'
and c.relname='tbl_visit_module_histories'
and ns.nspname='a57be577deb434'
order by
fns.nspname, fc.relname, a.attnum |
01:16:47.777 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
01:16:47.777 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SET |
01:16:47.777 | info | yii\db\Command::query | INSERT INTO "a57be577deb434"."tbl_visit_module_histories" ("user_id", "object_type", "visit_date", "num", "last_visit_at") VALUES (1001, 23, '2025-08-02', 1, 'now()') RETURNING "id" |
01:16:47.785 | info | yii\db\Command::query | INSERT INTO "global"."tbl_api_log" ("code", "schema", "user_id", "device_type", "url", "request", "response", "php_error", "time") VALUES (200, 'a57be577deb434', 1001, 5, 'vue/analysis/sales-year-histogram', '[]', '{"code":2000,"result":{"category":{"budgetCategory":["2025\u8d22\u5e74","2024\u8d22\u5e74","2023\u8d22\u5e74","2022\u8d22\u5e74","2021\u8d22\u5e74","2020\u8d22\u5e74","2019\u8d22\u5e74","2018\u8d22\u5e74","2017\u8d22\u5e74"],"profitsCategory":["2025\u8d22\u5e74","2024\u8d22\u5e74","2023\u8d22\u5e74","2022\u8d22\u5e74","2021\u8d22\u5e74","2020\u8d22\u5e74","2019\u8d22\u5e74","2018\u8d22\u5e74","2017\u8d22\u5e74"],"clientCategory":["2025\u8d22\u5e74","2024\u8d22\u5e74","2023\u8d22\u5e74","2022\u8d22\u5e74","2021\u8d22\u5e74","2020\u8d22\u5e74","2019\u8d22\u5e74","2018\u8d22\u5e74","2017\u8d22\u5e74"],"projectCategory":["2025\u8d22\u5e74","2024\u8d22\u5e74","2023\u8d22\u5e74","2022\u8d22\u5e74","2021\u8d22\u5e74","2020\u8d22\u5e74","2019\u8d22\u5e74","2018\u8d22\u5e74","2017\u8d22\u5e74"]},"seriesBudget":[{"key":"fascal2025","name":"2025\u8d22\u5e74","y":"9837247.70"},{"key":"fascal2024","name":"2024\u8d22\u5e74","y":"65931903.70"},{"key":"fascal2023","name":"2023\u8d22\u5e74","y":"35134547.09"},{"key":"fascal2022","name":"2022\u8d22\u5e74","y":"33886193.64"},{"key":"fascal2021","name":"2021\u8d22\u5e74","y":"35224503.80"},{"key":"fascal2020","name":"2020\u8d22\u5e74","y":"44169012.80"},{"key":"fascal2019","name":"2019\u8d22\u5e74","y":"48005880.55"},{"key":"fascal2018","name":"2018\u8d22\u5e74","y":"45825636.94"},{"key":"fascal2017","name":"2017\u8d22\u5e74","y":"32376587.50"}],"seriesProfits":[{"key":"fascal2025","name":"2025\u8d22\u5e74","y":"1019649.04"},{"key":"fascal2024","name":"2024\u8d22\u5e74","y":"8578826.32"},{"key":"fascal2023","name":"2023\u8d22\u5e74","y":"4090144.83"},{"key":"fascal2022","name":"2022\u8d22\u5e74","y":"8613044.01"},{"key":"fascal2021","name":"2021\u8d22\u5e74","y":"7365186.61"},{"key":"fascal2020","name":"2020\u8d22\u5e74","y":"9592543.48"},{"key":"fascal2019","name":"2019\u8d22\u5e74","y":"13310849.09"},{"key":"fascal2018","name":"2018\u8d22\u5e74","y":"8404778.14"},{"key":"fascal2017","name":"2017\u8d22\u5e74","y":"6781289.89"}],"seriesClients":[{"key":"fascal2025","name":"2025\u8d22\u5e74","y":33},{"key":"fascal2024","name":"2024\u8d22\u5e74","y":109},{"key":"fascal2023","name":"2023\u8d22\u5e74","y":112},{"key":"fascal2022","name":"2022\u8d22\u5e74","y":87},{"key":"fascal2021","name":"2021\u8d22\u5e74","y":80},{"key":"fascal2020","name":"2020\u8d22\u5e74","y":66},{"key":"fascal2019","name":"2019\u8d22\u5e74","y":78},{"key":"fascal2018","name":"2018\u8d22\u5e74","y":87},{"key":"fascal2017","name":"2017\u8d22\u5e74","y":55}],"seriesProjects":[{"key":"fascal2025","name":"2025\u8d22\u5e74","y":45},{"key":"fascal2024","name":"2024\u8d22\u5e74","y":255},{"key":"fascal2023","name":"2023\u8d22\u5e74","y":206},{"key":"fascal2022","name":"2022\u8d22\u5e74","y":156},{"key":"fascal2021","name":"2021\u8d22\u5e74","y":140},{"key":"fascal2020","name":"2020\u8d22\u5e74","y":146},{"key":"fascal2019","name":"2019\u8d22\u5e74","y":167},{"key":"fascal2018","name":"2018\u8d22\u5e74","y":205},{"key":"fascal2017","name":"2017\u8d22\u5e74","y":140}],"avg":{"avg_client":"37.67","avg_project":"163.33","avg_budget":"39074367.52","avg_profit":"7564189.23"}},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}],"mod":0}', FALSE, '2025-08-02 01:16:47') RETURNING "id" |
01:16:47.786 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
01:16:47.786 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SET |