13:25:20.494 | trace | yii\base\Application::bootstrap | Bootstrap with yii\log\Dispatcher |
13:25:20.494 | trace | yii\base\Module::getModule | Loading module: debug |
13:25:20.494 | trace | yii\base\Application::bootstrap | Bootstrap with yii\debug\Module::bootstrap() |
13:25:20.494 | trace | yii\redis\Connection::open | Opening redis DB connection: redis.server.local:6379, database=1 |
13:25:20.494 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: SELECT |
13:25:20.494 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
13:25:20.494 | trace | yii\base\Module::getModule | Loading module: gii |
13:25:20.495 | trace | yii\base\Application::bootstrap | Bootstrap with yii\gii\Module::bootstrap() |
13:25:20.495 | trace | yii\web\UrlManager::parseRequest | No matching URL rules. Using default URL parsing logic. |
13:25:20.495 | trace | yii\web\Application::handleRequest | Route requested: 'v2/project/list' |
13:25:20.495 | trace | yii\base\Module::getModule | Loading module: v2 |
13:25:20.495 | info | yii\web\Session::open | Session started |
13:25:20.496 | info | yii\db\Connection::open | Opening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta |
13:25:20.498 | info | yii\db\Command::query | SELECT * FROM "global"."vw_user_login" WHERE "access_token"='oTtlK_p5ZOBpvQJd1tf5AoUbRaTdQ7qH' |
13:25:20.500 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
13:25:20.501 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
13:25:20.501 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
13:25:20.501 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
13:25:20.501 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1000 |
13:25:20.502 | trace | yii\base\Controller::runAction | Route to run: v2/project/list |
13:25:20.502 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
13:25:20.503 | trace | uranus\rbac\DbManager::checkAccessFromCache | Checking role: Admin |
13:25:20.503 | trace | yii\base\InlineAction::runWithParams | Running action: app\modules\v2\controllers\ProjectController::actionList() |
13:25:20.503 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
13:25:20.503 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
13:25:20.504 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
13:25:20.504 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
13:25:20.506 | info | yii\db\Command::query | SELECT 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"."name" ILIKE '%离开%') OR ("c"."pinyin_shortcut" ILIKE '%离开%') OR ("usedclient"."name" ILIKE '%离开%') OR ("usedclient"."pinyin_shortcut" ILIKE '%离开%') OR ("p"."pinyin_shortcut" ILIKE '%离开%') OR ("p"."project_title" ILIKE '%离开%') OR ("p"."description" ILIKE '%离开%') OR ("p"."comment" ILIKE '%离开%')) AND (c.id is not null) AND ((c.sales_rep IS NULL) OR ("c"."sales_rep" IN (5049, 5301, 5022, 5209, 5026, 5293, 5309, 5356, 5329, 5299, 5303, 5302, 5332, 5047, 1026, 5096, 5070, 5420, 1029, 1001, 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)) OR ("prr"."user_id"=1000) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1000))) AND ("p"."project_status"='1') GROUP BY "p"."id" ORDER BY "p"."updated_at" DESC) "c" |
13:25:20.516 | info | yii\db\Command::query | 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"."name" ILIKE '%离开%') OR ("c"."pinyin_shortcut" ILIKE '%离开%') OR ("usedclient"."name" ILIKE '%离开%') OR ("usedclient"."pinyin_shortcut" ILIKE '%离开%') OR ("p"."pinyin_shortcut" ILIKE '%离开%') OR ("p"."project_title" ILIKE '%离开%') OR ("p"."description" ILIKE '%离开%') OR ("p"."comment" ILIKE '%离开%')) AND (c.id is not null) AND ((c.sales_rep IS NULL) OR ("c"."sales_rep" IN (5049, 5301, 5022, 5209, 5026, 5293, 5309, 5356, 5329, 5299, 5303, 5302, 5332, 5047, 1026, 5096, 5070, 5420, 1029, 1001, 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)) OR ("prr"."user_id"=1000) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1000))) AND ("p"."project_status"='1') GROUP BY "p"."id" ORDER BY "p"."updated_at" DESC LIMIT 10 |
13:25:20.527 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name", "logo", "client_type", "client_class", "client_industry", "sales_rep" FROM "a57be577deb434"."tbl_clients" WHERE "id"=2815 |
13:25:20.528 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id"=1004 |
13:25:20.528 | info | yii\db\Command::query | SELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1004) |
13:25:20.529 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_client_types" WHERE "id"=6 |
13:25:20.529 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name", "notice_days", "color" FROM "a57be577deb434"."tbl_client_classes" WHERE "id"=47 |
13:25:20.529 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_client_industries" WHERE "id"=10 |
13:25:20.530 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "type" AS "name" FROM "a57be577deb434"."tbl_contract_types" WHERE "id"=1 |
13:25:20.530 | info | yii\db\Command::query | SELECT "project_id", "contribution" AS "value", "engineer_id" AS "key", "u"."name" FROM "a57be577deb434"."tbl_project_architects" LEFT JOIN "a57be577deb434"."tbl_users" "u" ON engineer_id = u.id WHERE "a57be577deb434"."tbl_project_architects"."project_id"=3817 ORDER BY "contribution" DESC, "engineer_id" |
13:25:20.531 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
13:25:20.531 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
13:25:20.531 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "project_status" AS "name", "color" FROM "a57be577deb434"."tbl_project_statuses" WHERE "id"=1 |
13:25:20.531 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "project_progress" AS "name", "description" FROM "a57be577deb434"."tbl_project_progresses" WHERE "id"=6 |
13:25:20.532 | info | yii\db\Command::query | SELECT id, product_type_id, product_type_id as key, name, coalesce(budget, 0) as budget, coalesce(pct, 0) as pct, coalesce(profit, 0) as profit, project_id FROM "a57be577deb434"."tbl_project_product_types" WHERE "project_id"=3817 |
13:25:20.532 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id"=3817 |
13:25:20.533 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name", "description" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=13) AND ("id" IN (5, 226, 129, 160, 142, 184, 189, 349)) ORDER BY "sort" |
13:25:20.533 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id"=3817 |
13:25:20.533 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=10) AND ("id" IN (5, 226, 129, 160, 142, 184, 189, 349)) ORDER BY "sort" |
13:25:20.534 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id"=3817 |
13:25:20.534 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=9) AND ("id" IN (5, 226, 129, 160, 142, 184, 189, 349)) ORDER BY "sort" |
13:25:20.534 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "a57be577deb434"."tbl_users" WHERE "id"=1004 |
13:25:20.535 | info | yii\db\Command::query | SELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1004) |
13:25:20.535 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_departments" WHERE "id"=1 |
13:25:20.535 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "a57be577deb434"."tbl_users" WHERE "id"=1000 |
13:25:20.536 | info | yii\db\Command::query | SELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1000) |
13:25:20.536 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_clients" WHERE "id"=2815 |
13:25:20.537 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id"=1004 |
13:25:20.537 | info | yii\db\Command::query | SELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1004) |
13:25:20.537 | info | yii\db\Command::query | SELECT "c"."project_id", sum(ca.points) as points FROM "a57be577deb434"."tbl_cases" "c" LEFT JOIN (SELECT "case_id", sum(points) as points FROM "a57be577deb434"."tbl_case_assignments" GROUP BY "case_id") "ca" ON ca.case_id = c.id WHERE "c"."project_id"=3817 GROUP BY "c"."project_id" |
13:25:20.539 | info | yii\db\Command::query | SELECT "project_id", count(id) as count FROM "a57be577deb434"."tbl_work_logs" WHERE ("is_draft"=FALSE) AND ("project_id"=3817) GROUP BY "project_id" |
13:25:20.539 | info | yii\db\Command::query | SELECT "project_id", count(id) as count FROM "a57be577deb434"."tbl_cases" WHERE "project_id"=3817 GROUP BY "project_id" |
13:25:20.540 | info | yii\db\Command::query | SELECT "project_id", EXTRACT(epoch FROM sum(end_at - start_at)) /3600 AS hours, count(id) as times FROM "a57be577deb434"."tbl_work_logs" WHERE ("is_draft"=FALSE) AND ("scenario_id"=1) AND (("location_in_id" IS NOT NULL) AND ("location_out_id" IS NOT NULL) AND ("client_id" IS NOT NULL)) AND ("project_id"=3817) GROUP BY "project_id" |
13:25:20.540 | info | yii\db\Command::query | SELECT "c"."project_id", sum(hours), sum(times) as times FROM "a57be577deb434"."tbl_cases" "c" LEFT JOIN (SELECT "case_id", EXTRACT(epoch FROM sum(left_at - arrived_at)) /3600 AS hours, count(id) as times FROM "a57be577deb434"."tbl_implement_records" WHERE "is_draft"=FALSE GROUP BY "case_id") "i" ON i.case_id = c.id WHERE ("case_type"=2) AND ("c"."project_id"=3817) GROUP BY "c"."project_id" |
13:25:20.542 | info | yii\db\Command::query | SELECT "c"."project_id", sum(hours), sum(times) as times FROM "a57be577deb434"."tbl_cases" "c" LEFT JOIN (SELECT "case_id", EXTRACT(epoch FROM sum(end_at - start_at)) /3600 AS hours, count(id) as times FROM "a57be577deb434"."tbl_pre_sales" WHERE "is_draft"=FALSE GROUP BY "case_id") "i" ON i.case_id = c.id WHERE ("case_type"=1) AND ("c"."project_id"=3817) GROUP BY "c"."project_id" |
13:25:20.543 | info | yii\db\Command::query | SELECT "project_id", EXTRACT(epoch FROM sum(end_at - start_at)) /3600 AS hours, count(id) as times FROM "a57be577deb434"."tbl_work_logs" WHERE ("is_draft"=FALSE) AND ("scenario_id"=2) AND ("project_id"=3817) GROUP BY "project_id" |
13:25:20.543 | info | yii\db\Command::query | SELECT "project_id", sum(amount) AS sum FROM "a57be577deb434"."tbl_reimbursements" WHERE ("status" IN (3, 2)) AND ("project_id"=3817) GROUP BY "project_id" |
13:25:20.545 | info | yii\db\Command::query | SELECT "id", "from_project", "payment_collection_remind_ahead", "serial_no", "is_settle", "is_deliver", "is_outbound" FROM "a57be577deb434"."tbl_sales_contracts" WHERE "from_project"=3817 |
13:25:20.545 | info | yii\db\Command::query | SELECT "id", "user_id", "user_id" AS "key", "project_id" FROM "a57be577deb434"."tbl_project_remind_receivers" WHERE "project_id"=3817 |
13:25:20.546 | info | yii\db\Command::query | SELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id"=1017 |
13:25:20.546 | info | yii\db\Command::query | SELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1017) |
13:25:20.546 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_project_product_rels" WHERE "project_id"=3817 |
13:25:20.547 | info | yii\db\Command::query | SELECT "object_id", count(*) as comment FROM "a57be577deb434"."tbl_comments" WHERE ("object_type"=1) AND ("object_id"=3817) GROUP BY "object_id" |
13:25:20.565 | info | yii\db\Command::query | SELECT "object_id", count(*) AS unread FROM "a57be577deb434"."tbl_unread_comments" WHERE ("object_type"=1) AND (remind_user_id = 1000 AND is_read = false) AND ("object_id"=3817) GROUP BY "object_id" |
13:25:20.580 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_project_contact_points" WHERE "project_id"=3817 |
13:25:20.581 | info | yii\db\Command::query | SELECT * FROM "a57be577deb434"."tbl_project_used_clients" WHERE "project_id"=3817 |
13:25:20.581 | trace | uranus\rbac\DbManager::checkAccessFromCache | Checking permission: viewProduct |
13:25:20.581 | trace | uranus\rbac\DbManager::checkAccessFromCache | Checking role: Accountant |
13:25:20.581 | trace | uranus\rbac\DbManager::checkAccessFromCache | Checking role: Admin |
13:25:20.582 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: GET |
13:25:20.582 | trace | yii\redis\Connection::executeCommand | Executing Redis Command: MGET |
13:25:20.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") VALUES (200, 'a57be577deb434', 1000, 0, 263, 'v2/project/list', '{"access_token":"oTtlK_p5ZOBpvQJd1tf5AoUbRaTdQ7qH","ProjectSearch":{"projectProductTypes":"","keyword":"\u79bb\u5f00","created_by":"","salesForecast":"","project_status":"1","project_progress":"","engineer_id":""},"device_type":"0","version_code":"263","page":"1","token":"d7f529aeff66de08aef626972dcf81e0","posttime":"1752297922","pagesize":"10"}', '{"code":200,"data":{"list":[{"id":3817,"client_id":2815,"project_status":1,"project_progress":6,"budget":"0","profit_pct":"0","bargain_date":"2025-09-11","description":"","created_by":1004,"created_at":"2025-07-11 10:01:38","updated_at":"2025-07-11 10:24:43","engineer_id":null,"project_title":"\u79bb\u5f00\u5c31\u597d","collected":"0","status_updated_at":"2025-07-11 10:01:38.895923+08","success_rate":null,"comment":"","contract_type":1,"progress_updated_at":"2025-07-11 10:01:38.895923+08","forecast_updated_at":"2025-07-11 10:01:38.895923+08","end_at":"","pinyin_shortcut":"lkjh","creator":1000,"used_client":null,"from_contact":null,"total_contact_point":null,"paid_contact_point":null,"project_product_version_id":null,"is_sales_order_ready":false,"collected_plan":0,"profits":"0.00000000000000000000","remain":"1 day 03:23:41.621732","progress_remain":"1 day 03:23:41.621732","forecast_remain":"1 day 03:23:41.621732","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"duration":"1 day 03:23:41.621732","issued_invoices":null,"client":{"id":2815,"key":2815,"name":"\u4e2d\u56fd\u9ec4\u91d1","logo":null,"client_type":6,"client_class":47,"client_industry":10,"sales_rep":1004,"salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0","sex":"M","avatar":{"id":10,"user_id":1004,"name":"\/files\/cdn\/a57be577deb434\/avatar\/fc8d836d-8085-35fc-8a48-54a276f664a6.png"}},"clientType":{"id":6,"key":6,"name":"\u592e\u4f01"},"clientClass":{"id":47,"key":47,"name":"\u76ee\u6807\u5ba2\u6237","notice_days":30,"color":"#EB13C3"},"clientIndustry":{"id":10,"key":10,"name":"\u91d1\u878d"}},"usedClient":null,"contractType":{"id":1,"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},"projectArchitects":[{"project_id":3817,"value":"0.6","key":5296,"name":"\u8d75\u5b87"},{"project_id":3817,"value":"0.4","key":1023,"name":"\u5468\u5b50\u5065"}],"projectStatus":{"id":1,"key":1,"name":"\u9690\u6027\u9700\u6c42","color":"#ffc000"},"projectProgress":{"id":6,"key":6,"name":"\u63a8\u52a8\u6210\u4ea4","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"},"projectProductTypes":[],"salesForecast":{"id":142,"key":142,"name":"\u6211\u4e0e\u5ba2\u6237\u8054\u624b","description":"\u4e0e\u5ba2\u6237\u8054\u624b\u5411\u5382\u5546\u4e89\u53d6\u6700\u4f18\u60e0\u4ef7\u683c\u3002\u5229\u6da6\u540450%\u3002"},"opportunityFrom":null,"purchaseType":{"id":129,"key":129,"name":"\u7279\u7ea6\u9080\u6807"},"createdBy":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0","sex":"M","department_id":1,"avatar":{"id":10,"user_id":1004,"name":"\/files\/cdn\/a57be577deb434\/avatar\/fc8d836d-8085-35fc-8a48-54a276f664a6.png"},"department":{"id":1,"key":1,"name":"\u9500\u552e\u90e8"}},"projectCreator":{"id":1000,"key":1000,"name":"\u66f9\u6c38\u751f","sex":"M","department_id":10,"avatar":{"id":1,"user_id":1000,"name":"\/files\/cdn\/a57be577deb434\/avatar\/aebf8dd5-5fe2-3ead-a020-c095fe4101e4.png"}},"salesRep":{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0","sex":"M","avatar":{"id":10,"user_id":1004,"name":"\/files\/cdn\/a57be577deb434\/avatar\/fc8d836d-8085-35fc-8a48-54a276f664a6.png"}},"casePoints":null,"workLogCount":null,"caseCount":null,"salesTimeCount":null,"implementTimeCount":null,"presalesTimeCount":null,"engineerTimeCount":null,"reimbursementAmountSum":null,"buildContract":null,"projectRemindReceivers":[{"id":1623,"user_id":1017,"key":1017,"project_id":3817,"user":{"id":1017,"key":1017,"name":"\u8f66\u660e\u98de","sex":"M","avatar":{"id":8,"user_id":1017,"name":"\/files\/cdn\/a57be577deb434\/avatar\/e538f0fe-48a7-33da-a512-b252266c9e91.jpg"}}}],"projectProductRels":[],"commentCount":{"object_id":3817,"comment":1},"unreadComments":null,"fromContact":null,"projectContactPoints":[],"projectUsedClient":null,"remain_display":1,"progress_remain_display":1,"forecast_remain_display":1,"projectProductTotalAmount":0,"projectProductAllAmount":true,"projectProductTotalCost":0,"projectProductAllCost":true,"projectProductTotalNumber":0,"unissued_invoice":0,"is_exceeded":false,"can_update":true,"can_delete":true,"unread":0,"last_arrive_days_display":null,"project_status_display":"\u9690\u6027\u9700\u6c42","is_collected":false,"bgcolor":"#ffc000","can_invoice":false,"can_payment":false,"duration_display":1,"contract_type_display":"\u4ea7\u54c1\u9500\u552e","can_change_status":true,"is_admin":true,"lost_contact_days_display":null,"can_view_product":true,"budget_display":"0","contact_points_status_display":"\u672a\u8bbe\u7f6e"}],"pagenation":{"totalcount":1,"thispage":1,"pagesize":10},"can_create":true},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}]}', FALSE, '2025-07-12 13:25:20') RETURNING "id" |