| 01:12:04.477 | trace | yii\base\Application::bootstrap | Bootstrap with yii\log\Dispatcher |
| 01:12:04.477 | trace | yii\base\Module::getModule | Loading module: debug |
| 01:12:04.478 | trace | yii\base\Application::bootstrap | Bootstrap with yii\debug\Module::bootstrap() |
| 01:12:04.479 | trace | yii\redis\Connection::open | Opening redis DB connection: redis.server.local:6379, database=1 |
| 01:12:04.479 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SELECT |
| 01:12:04.479 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 01:12:04.480 | info | time tracing start | 1782234724480448000 |
| 01:12:04.480 | trace | yii\web\UrlManager::parseRequest | No matching URL rules. Using default URL parsing logic. |
| 01:12:04.480 | trace | yii\web\Application::handleRequest | Route requested: 'v2/punch/get-punch' |
| 01:12:04.480 | trace | yii\base\Module::getModule | Loading module: v2 |
| 01:12:04.490 | info | yii\web\Session::open | Session started |
| 01:12:04.498 | info | yii\db\Connection::open | Opening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta |
| 01:12:04.499 | info | yii\db\Command::query | SELECT * FROM "global"."vw_user_login" WHERE "access_token"='lLLCHpZSQkMu0_ceemp9PVo8_3HEKkFC' |
| 01:12:04.500 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 01:12:04.500 | 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 = 'vw_user_login'
and d.nspname = 'global'
ORDER BY
a.attnum; |
| 01:12:04.504 | 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='vw_user_login'
and ns.nspname='global'
order by
fns.nspname, fc.relname, a.attnum |
| 01:12:04.509 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
| 01:12:04.509 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SET |
| 01:12:04.511 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 01:12:04.511 | 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_users'
and d.nspname = 'a57be577deb434'
ORDER BY
a.attnum; |
| 01:12:04.516 | 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_users'
and ns.nspname='a57be577deb434'
order by
fns.nspname, fc.relname, a.attnum |
| 01:12:04.521 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
| 01:12:04.521 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SET |
| 01:12:04.522 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001 |
| 01:12:04.523 | trace | yii\base\Controller::runAction | Route to run: v2/punch/get-punch |
| 01:12:04.527 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 01:12:04.530 | trace | uranus\rbac\DbManager::checkAccessFromCache | Checking role: Admin |
| 01:12:04.530 | trace | yii\base\InlineAction::runWithParams | Running action: app\modules\v2\controllers\PunchController::actionGetPunch() |
| 01:12:04.535 | info | yii\db\Command::query | SELECT
*,
CASE WHEN in_status IS NULL and need_work = true THEN 2 ELSE in_status END AS in_status,
CASE WHEN out_status IS NULL and need_work = true THEN 2 ELSE out_status END AS out_status
FROM "a57be577deb434"."tbl_punch" WHERE ("day_at"='2026-06-24') AND ("user_id"=1001) |
| 01:12:04.544 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_punch_points" WHERE "punch_id"=62927 |
| 01:12:04.561 | info | yii\db\Command::query | SELECT "ps".* FROM "a57be577deb434"."tbl_punch_strategies" "ps" LEFT JOIN "a57be577deb434"."tbl_punch_strategy_resource_rels" "psrr" ON psrr.punch_strategy_id = ps.id WHERE "psrr"."user_id"=1001 GROUP BY "ps"."id" |
| 01:12:04.564 | info | yii\db\Command::query | SELECT EXISTS(SELECT "ps".* FROM "a57be577deb434"."tbl_punch_strategies" "ps" LEFT JOIN "a57be577deb434"."tbl_punch_strategy_resource_rels" "psrr" ON psrr.punch_strategy_id = ps.id WHERE "psrr"."user_id"=1001 GROUP BY "ps"."id") |
| 01:12:04.565 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 01:12:04.566 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 01:12:04.568 | info | yii\db\Command::query | SELECT "ps".* FROM "a57be577deb434"."tbl_punch_strategies" "ps" LEFT JOIN "a57be577deb434"."tbl_punch_strategy_resource_rels" "psrr" ON psrr.punch_strategy_id = ps.id WHERE "psrr"."user_id"=1001 GROUP BY "ps"."id" |
| 01:12:04.573 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
| 01:12:04.573 | 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_api_log'
and d.nspname = 'global'
ORDER BY
a.attnum; |
| 01:12:04.577 | 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_api_log'
and ns.nspname='global'
order by
fns.nspname, fc.relname, a.attnum |
| 01:12:04.581 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
| 01:12:04.581 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SET |
| 01:12:04.582 | info | yii\db\Command::query | INSERT INTO "global"."tbl_api_log" ("code", "schema", "user_id", "device_type", "version_code", "url", "request", "response", "php_error", "time", "duration") VALUES (200, 'a57be577deb434', 1001, 7, 178, 'v2/punch/get-punch', '{"posttime":"1782230400","access_token":"lLLCHpZSQkMu0_ceemp9PVo8_3HEKkFC","device_type":"7","version_code":"178","token":"a25bd6cf34671c9ca5e8a2867302f1e4"}', '{"code":200,"data":{"model":{"id":62927,"in_at":"","out_at":"","day_at":"2026-06-24","in_status":null,"out_status":null,"in_description":null,"out_description":null,"in_point":null,"out_point":null,"in_device":null,"out_device":null,"user_id":1001,"in_address":null,"out_address":null,"in_is_absent":false,"out_is_absent":false,"actual_in_at":null,"actual_out_at":null,"actual_in_status":null,"actual_out_status":null,"actual_in_point":null,"actual_out_point":null,"actual_in_address":null,"actual_out_address":null,"actual_in_unusual":null,"actual_out_unusual":null,"actual_in_is_absent":false,"actual_out_is_absent":false,"in_is_away":false,"in_is_away_status":0,"in_is_repair":false,"in_is_repair_status":0,"in_is_leave":true,"in_is_leave_status":0,"in_is_travel":false,"in_is_travel_status":0,"out_is_away":false,"out_is_away_status":0,"out_is_repair":false,"out_is_repair_status":0,"out_is_leave":true,"out_is_leave_status":0,"out_is_travel":false,"out_is_travel_status":0,"is_overtime":false,"is_overtime_status":0,"work_value":"0","in_value":null,"out_value":null,"away_value":"0","leave_value":"1","leave_type":null,"travel_value":"0","overtime_value":null,"absent_value":"0","strategy_time_on":null,"strategy_time_off":null,"strategy_punch_type":null,"strategy_time_on_overdue":null,"strategy_time_off_overdue":null,"strategy_work_hour":null,"strategy_distance":null,"need_work":true,"strategy_lng":null,"strategy_lat":null,"in_is_reminded":false,"in_5m_is_reminded":false,"out_is_reminded":false,"strategy_option_away_need_not_verify":false,"strategy_option_away_need_not_title":false,"strategy_option_away_need_photo":false,"in_leave_type":1,"out_leave_type":1,"punch_in_place_id":null,"punch_out_place_id":null,"strategy_leave_hour_to_day":null,"strategy_rest_start_time":null,"strategy_rest_end_time":null,"punchPoints":[],"punchInPlace":null,"punchOutPlace":null,"in_away_model":{},"out_away_model":{},"in_status_display":"","in_bgcolor":"#A0A0A0","out_status_display":"","out_bgcolor":"#A0A0A0","week":"\u661f\u671f\u4e09","date_display":"2026-06-24 \u661f\u671f\u4e09","min_out_time":""},"has_punch_strategies":false,"time":1782234724,"can_punch_away":true,"punchRepairStartDate":""},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}],"ip":"110.81.108.78","ua":"jinchangxiao\/1.0.42 (emulator emulator; HarmonyOS 6.1.0)"}', FALSE, '2026-06-24 01:12:04', 101428992) RETURNING "id" |