| 10:17:49.043 | 7.8 ms | SELECT | SELECT COUNT(*) FROM (SELECT p.*,
now() - status_updated_at as remain,
now() - progress_updated_at as progress_remain,
now() - forecast_updated_at as forecast_remain,
(p.budget * p.profit_pct / 100) as profit,
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 ("p"."bargain_date" >= '2026-01-01') AND (p.bargain_date < TIMESTAMP '2026-12-31' + INTERVAL '1 second') AND ("p"."project_status"='3') AND ("p"."created_by"='1001') AND ("p"."bargain_date" >= '2026-01-01 00:00:00') AND (p.bargain_date < TIMESTAMP '2026-12-31 23:59:59' + INTERVAL '1 second') AND ("p"."client_id"='982') GROUP BY "p"."id" ORDER BY "p"."bargain_date" DESC, "p"."created_at" DESC) "c" |
| 10:17:49.052 | 7.9 ms | SELECT | SELECT p.*,
now() - status_updated_at as remain,
now() - progress_updated_at as progress_remain,
now() - forecast_updated_at as forecast_remain,
(p.budget * p.profit_pct / 100) as profit,
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 ("p"."bargain_date" >= '2026-01-01') AND (p.bargain_date < TIMESTAMP '2026-12-31' + INTERVAL '1 second') AND ("p"."project_status"='3') AND ("p"."created_by"='1001') AND ("p"."bargain_date" >= '2026-01-01 00:00:00') AND (p.bargain_date < TIMESTAMP '2026-12-31 23:59:59' + INTERVAL '1 second') AND ("p"."client_id"='982') GROUP BY "p"."id" ORDER BY "p"."bargain_date" DESC, "p"."created_at" DESC LIMIT 20 OFFSET 20 |
| 10:17:49.069 | 2.2 ms | INSERT | INSERT INTO "global"."tbl_api_log" ("code", "schema", "user_id", "device_type", "url", "request", "response", "php_error", "time", "duration") VALUES (200, 'a57be577deb434', 1001, 5, 'vue/analysis/sales-data-list', '{"period":"currentfascalyear","viewMode":"month","dataUserId":"1001","id":"1001","page":"2","client_id":"982","project_status":"3"}', '{"code":2000,"result":{"counts":[{"name":"\u9500\u552e\u5229\u6da6","key":"profits","value":572.93,"unit":"\u4e07","valueEx":"","unitEx":"","color":"#98c450","link":[]},{"name":"\u9500\u552e\u6d41\u6c34","key":"currents","value":1280.44,"unit":"\u4e07","valueEx":"","unitEx":"","color":"#98c450","link":[]},{"name":"\u5408\u4f5c\u5ba2\u6237\u6570\/\u5546\u673a\u6570","key":"clients","value":1,"unit":"\u4e2a","valueEx":5,"unitEx":"\u4e2a","color":"#98c450","link":[]},{"name":"\u5df2\u6536\u6b3e\/\u672a\u6536\u6b3e\u91d1\u989d","key":"payment","value":103,"unit":"\u5143","valueEx":1280.43,"unitEx":"\u4e07","color":"#e75a4a","link":[]},{"name":"\u5df2\u5f00\/\u672a\u5f00\u53d1\u7968\u91d1\u989d","key":"invoices","value":"2710","unit":"\u5143","valueEx":1281,"unitEx":"\u4e07","color":"#e75a4a","link":[]}],"list":[],"thisUser":"","can_create":true,"can_create_work_log":true,"can_create_schedule":true,"pagenation":{"totalcount":5,"thispage":2,"pagesize":20}},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}],"mod":0,"ip":"39.156.194.178","ua":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.15; rv:152.0) Gecko\/20100101 Firefox\/152.0"}', FALSE, '2026-07-01 10:17:49', 40537088) RETURNING "id" |