Log Messages

总计105条数据
TimeLevelCategoryMessage
 
16:26:15.753traceyii\base\Application::bootstrapBootstrap with yii\log\Dispatcher
16:26:15.753traceyii\base\Module::getModuleLoading module: debug
16:26:15.753traceyii\base\Application::bootstrapBootstrap with yii\debug\Module::bootstrap()
16:26:15.753traceyii\redis\Connection::openOpening redis DB connection: redis.server.local:6379, database=1
16:26:15.753traceyii\redis\Connection::executeCommandExecuting Redis Command: SELECT
16:26:15.754traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:26:15.754traceyii\base\Module::getModuleLoading module: gii
16:26:15.754traceyii\base\Application::bootstrapBootstrap with yii\gii\Module::bootstrap()
16:26:15.754traceyii\web\UrlManager::parseRequestNo matching URL rules. Using default URL parsing logic.
16:26:15.754traceyii\web\Application::handleRequestRoute requested: 'v2/project/get-edit'
16:26:15.754traceyii\base\Module::getModuleLoading module: v2
16:26:15.754infoyii\web\Session::openSession started
16:26:15.755infoyii\db\Connection::openOpening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta
16:26:15.757infoyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "access_token"='aHkemdL-FzzGDDN3FUg-tUfVIXoO8gyc'
16:26:15.759traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:26:15.760traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:26:15.760traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:26:15.760traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:26:15.760infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
16:26:15.762traceyii\base\Controller::runActionRoute to run: v2/project/get-edit
16:26:15.762traceyii\base\InlineAction::runWithParamsRunning action: app\modules\v2\controllers\ProjectController::actionGetEdit()
16:26:15.762infoyii\db\Command::querySELECT p.*, now() - status_updated_at AS remain, now() - progress_updated_at AS progress_remain, now() - forecast_updated_at AS forecast_remain, CASE WHEN p.end_at IS NOT NULL THEN p.end_at - p.created_at ELSE now() - p.created_at END AS duration, 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, (SELECT sum(amount) FROM a57be577deb434.tbl_invoices AS i WHERE i.project_id = p.id) AS issued_invoices FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id 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 WHERE "p"."id"='3946' GROUP BY "p"."id"
16:26:15.765traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:26:15.765traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:26:15.766infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "logo", "client_type", "client_class", "client_industry", "sales_rep" FROM "a57be577deb434"."tbl_clients" WHERE "id"=2146
16:26:15.767infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id"=5300
16:26:15.767infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=5300)
16:26:15.767infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_client_types" WHERE "id"=5
16:26:15.768infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "notice_days", "color" FROM "a57be577deb434"."tbl_client_classes" WHERE "id"=80
16:26:15.768infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_client_industries" WHERE "id"=4
16:26:15.769infoyii\db\Command::querySELECT "id", "id" AS "key", "type" AS "name" FROM "a57be577deb434"."tbl_contract_types" WHERE "id"=1
16:26:15.769infoyii\db\Command::querySELECT "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"=3946 ORDER BY "contribution" DESC, "engineer_id"
16:26:15.770infoyii\db\Command::querySELECT "id", "id" AS "key", "project_status" AS "name", "color" FROM "a57be577deb434"."tbl_project_statuses" WHERE "id"=2
16:26:15.770infoyii\db\Command::querySELECT "id", "id" AS "key", "project_progress" AS "name", "description" FROM "a57be577deb434"."tbl_project_progresses" WHERE "id"=4
16:26:15.771infoyii\db\Command::querySELECT 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"=3946
16:26:15.771infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id"=3946
16:26:15.772infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "description" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=13) AND ("id" IN (215, 164, 142, 184, 189, 349, 369)) ORDER BY "sort"
16:26:15.772infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id"=3946
16:26:15.773infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=10) AND ("id" IN (215, 164, 142, 184, 189, 349, 369)) ORDER BY "sort"
16:26:15.773infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id"=3946
16:26:15.773infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=9) AND ("id" IN (215, 164, 142, 184, 189, 349, 369)) ORDER BY "sort"
16:26:15.773infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "a57be577deb434"."tbl_users" WHERE "id"=5300
16:26:15.774infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=5300)
16:26:15.774infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_departments" WHERE "id"=1
16:26:15.775infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "a57be577deb434"."tbl_users" WHERE "id"=5300
16:26:15.775infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=5300)
16:26:15.775infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_clients" WHERE "id"=2146
16:26:15.776infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id"=5300
16:26:15.776infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=5300)
16:26:15.776infoyii\db\Command::querySELECT "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"=3946 GROUP BY "c"."project_id"
16:26:15.778infoyii\db\Command::querySELECT "project_id", count(id) as count FROM "a57be577deb434"."tbl_work_logs" WHERE ("is_draft"=FALSE) AND ("project_id"=3946) GROUP BY "project_id"
16:26:15.778infoyii\db\Command::querySELECT "project_id", count(id) as count FROM "a57be577deb434"."tbl_cases" WHERE "project_id"=3946 GROUP BY "project_id"
16:26:15.779infoyii\db\Command::querySELECT "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"=3946) GROUP BY "project_id"
16:26:15.780infoyii\db\Command::querySELECT "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"=3946) GROUP BY "c"."project_id"
16:26:15.781infoyii\db\Command::querySELECT "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"=3946) GROUP BY "c"."project_id"
16:26:15.782infoyii\db\Command::querySELECT "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"=3946) GROUP BY "project_id"
16:26:15.783infoyii\db\Command::querySELECT "project_id", sum(amount) AS sum FROM "a57be577deb434"."tbl_reimbursements" WHERE ("status" IN (2, 3)) AND ("project_id"=3946) GROUP BY "project_id"
16:26:15.784infoyii\db\Command::querySELECT "id", "from_project", "payment_collection_remind_ahead", "serial_no", "is_settle", "is_deliver", "is_outbound", "erp_settle_amount", "erp_un_settle_amount", "including_tax", "amount" FROM "a57be577deb434"."tbl_sales_contracts" WHERE "from_project"=3946
16:26:15.785infoyii\db\Command::querySELECT "id", "user_id", "user_id" AS "key", "project_id" FROM "a57be577deb434"."tbl_project_remind_receivers" WHERE "project_id"=3946
16:26:15.785infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id" IN (1001, 1005)
16:26:15.786infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id" IN (1001, 1005))
16:26:15.786infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_product_rels" WHERE "project_id"=3946
16:26:15.787infoyii\db\Command::querySELECT "object_id", count(*) as comment FROM "a57be577deb434"."tbl_comments" WHERE ("object_type"=1) AND ("object_id"=3946) GROUP BY "object_id"
16:26:15.806infoyii\db\Command::querySELECT "object_id", count(*) AS unread FROM "a57be577deb434"."tbl_unread_comments" WHERE ("object_type"=1) AND (remind_user_id = 1001 AND is_read = false) AND ("object_id"=3946) GROUP BY "object_id"
16:26:15.823infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_contact_points" WHERE "project_id"=3946
16:26:15.824infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_sales_orders" WHERE ("status" IN (2, 5)) AND ("project_id"=3946)
16:26:15.825infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_used_clients" WHERE "project_id"=3946
16:26:15.825infoyii\db\Command::querySELECT s.id, project_id, client_id, schedule_title, complete_at, start_at, end_at, created_by, is_complete, is_closed, complete_description, set_top_at, CASE WHEN is_complete = true THEN 3 WHEN is_complete = false AND end_at <= NOW() THEN 2 ELSE 1 END AS sort FROM "a57be577deb434"."tbl_schedules" "s" LEFT JOIN "a57be577deb434"."tbl_schedule_carbon_copy_rels" "ccr" ON ccr.schedule_id = s.id WHERE (("is_complete"=FALSE) OR ("complete_at" >= '2025-08-29')) AND ((("is_public"=1) AND ("created_by" != 1001)) OR ("created_by"=1001) OR ("ccr"."user_id"=1001)) AND ("s"."project_id"=3946) ORDER BY set_top_at DESC nulls last, sort ASC, CASE WHEN is_complete = true THEN complete_at END DESC, CASE WHEN is_complete = false THEN end_at END ASC, end_at DESC
16:26:15.828traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:26:15.828traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:26:15.829infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "a57be577deb434"."tbl_users" WHERE "id"=5300
16:26:15.829infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=5300)
16:26:15.830infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_schedule_descriptions" WHERE "schedule_id"=17924 ORDER BY "created_at" DESC
16:26:15.837traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:26:15.837traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:26:15.837infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_clients" WHERE "id"=2146
16:26:15.838infoyii\db\Command::querySELECT EXISTS(SELECT * FROM "a57be577deb434"."tbl_user_visit_clients" WHERE ("user_id"=1001) AND ("client_id"=2146))
16:26:15.838traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:26:15.839traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:26:15.840traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:26:15.841traceuranus\rbac\DbManager::checkAccessFromCacheChecking permission: viewProduct
16:26:15.841traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: StoreKeeper
16:26:15.841traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
16:26:15.841infoyii\db\Command::querySELECT "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_types" WHERE "is_delete"=FALSE ORDER BY "order", "id"
16:26:15.842infoyii\db\Command::querySELECT "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=13) AND ("is_delete"=FALSE) ORDER BY "sort", "id"
16:26:15.842infoyii\db\Command::querySELECT "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=9) AND ("is_delete"=FALSE) ORDER BY "sort", "id"
16:26:15.843infoyii\db\Command::querySELECT "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=10) AND ("is_delete"=FALSE) ORDER BY "sort", "id"
16:26:15.843infoyii\db\Command::querySELECT "id" AS "key", "project_progress" AS "name" FROM "a57be577deb434"."tbl_project_progresses" WHERE "is_delete"=FALSE ORDER BY "order"
16:26:15.843traceuranus\rbac\DbManager::checkAccessFromCacheChecking permission: changeProjectStatus3
16:26:15.843traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: SalesManager
16:26:15.843traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
16:26:15.843traceuranus\rbac\DbManager::checkAccessFromCacheChecking permission: changeProjectStatus4
16:26:15.843traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: SalesManager
16:26:15.843traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
16:26:15.843traceuranus\rbac\DbManager::checkAccessFromCacheChecking permission: changeProjectStatus5
16:26:15.843traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: SalesManager
16:26:15.843traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
16:26:15.843infoyii\db\Command::querySELECT "id" AS "key", "project_status" AS "name", "color" FROM "a57be577deb434"."tbl_project_statuses" WHERE "id" IN (1, 2, 3, 4, 5) ORDER BY "order"
16:26:15.844infoyii\db\Command::querySELECT "id" AS "key", "type" AS "name" FROM "a57be577deb434"."tbl_contract_types" WHERE "is_delete"=FALSE ORDER BY "sort"
16:26:15.844infoyii\db\Command::querySELECT "user_id" FROM "a57be577deb434"."tbl_user_role_change_logs" "urcl" LEFT JOIN "a57be577deb434"."tbl_users" "u" ON urcl.user_id = u.id WHERE ("role_name"='Engineer') AND (((start_from < end_at) or end_at is null)) AND (tsrange(start_from::TIMESTAMP, end_at::TIMESTAMP, '[)') && '[2025-09-12 16:26:15, 2025-09-12 16:26:15]'::tsrange) GROUP BY "user_id", "pinyin1", "namecut1", "pinyin2", "namecut2", "pinyin3", "namecut3", "pinyin4", "namecut4" ORDER BY pinyin1 nulls first, namecut1 nulls first, pinyin2 nulls first, namecut2 nulls first, pinyin3 nulls first, namecut3 nulls first, pinyin4 nulls first, namecut4 nulls first
16:26:15.845traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:26:15.845traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:26:15.845traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:26:15.846traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:26:15.846infoyii\db\Command::queryINSERT INTO "global"."tbl_api_log" ("code", "schema", "user_id", "device_type", "version_code", "url", "request", "response", "php_error", "time") VALUES (200, 'a57be577deb434', 1001, 0, 266, 'v2/project/get-edit', '{"access_token":"aHkemdL-FzzGDDN3FUg-tUfVIXoO8gyc","device_type":"0","version_code":"266","id":"3946","token":"242a36ef29a200f65727a4f831027403","posttime":"1757665576"}', '{"code":200,"data":{"model":{"id":3946,"client_id":2146,"project_status":2,"project_progress":4,"budget":"170000","profit_pct":"10","bargain_date":"2025-11-30","description":null,"created_by":5300,"created_at":"2025-08-13 16:17:13","updated_at":"2025-09-01 10:00:16","engineer_id":null,"project_title":"\u601d\u79d1\u786c\u4ef6\u7ef4\u4fdd-k-2025","collected":"0","status_updated_at":"2025-08-13 16:17:13.645693+08","success_rate":null,"comment":"","contract_type":1,"progress_updated_at":"2025-08-13 16:17:13.645693+08","forecast_updated_at":"2025-08-13 16:17:13.645693+08","end_at":"","pinyin_shortcut":"skyjwbk2025","creator":5300,"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,"change_status_to":null,"is_verify":false,"remain":"30 days 00:09:02.11812","progress_remain":"30 days 00:09:02.11812","forecast_remain":"30 days 00:09:02.11812","duration":"30 days 00:09:02.11812","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"issued_invoices":null,"client":{"id":2146,"key":2146,"name":"\u8054\u60f3\u51cc\u62d3\u79d1\u6280\u6709\u9650\u516c\u53f8","logo":null,"client_type":5,"client_class":80,"client_industry":4,"sales_rep":5300,"salesRep":{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91","sex":"F","avatar":{"id":141,"user_id":5300,"name":"\/files\/cdn\/a57be577deb434\/avatar\/14dfd1a0-6df5-354a-8afd-f0a76fa8e852.png"}},"clientType":{"id":5,"key":5,"name":"\u5546\u4e1a"},"clientClass":{"id":80,"key":80,"name":"\u7a33\u5b9a\u5ba2\u6237","notice_days":30,"color":"#0EE315"},"clientIndustry":{"id":4,"key":4,"name":"\u901a\u4fe1"}},"usedClient":null,"contractType":{"id":1,"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},"projectArchitects":[],"projectStatus":{"id":2,"key":2,"name":"\u660e\u786e\u9700\u6c42","color":"#0064ec"},"projectProgress":{"id":4,"key":4,"name":"\u786e\u8ba4\u65b9\u6848","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"},"projectProductTypes":[{"id":4,"product_type_id":4,"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 ","budget":"170000","pct":"10","profit":"17000","project_id":3946}],"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":164,"key":164,"name":"\u591a\u5bb6\u6bd4\u4ef7"},"createdBy":{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91","sex":"F","department_id":1,"avatar":{"id":141,"user_id":5300,"name":"\/files\/cdn\/a57be577deb434\/avatar\/14dfd1a0-6df5-354a-8afd-f0a76fa8e852.png"},"department":{"id":1,"key":1,"name":"\u9500\u552e\u90e8"}},"projectCreator":{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91","sex":"F","department_id":1,"avatar":{"id":141,"user_id":5300,"name":"\/files\/cdn\/a57be577deb434\/avatar\/14dfd1a0-6df5-354a-8afd-f0a76fa8e852.png"}},"salesRep":{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91","sex":"F","avatar":{"id":141,"user_id":5300,"name":"\/files\/cdn\/a57be577deb434\/avatar\/14dfd1a0-6df5-354a-8afd-f0a76fa8e852.png"}},"casePoints":null,"workLogCount":null,"caseCount":null,"salesTimeCount":null,"implementTimeCount":null,"presalesTimeCount":null,"engineerTimeCount":null,"reimbursementAmountSum":null,"buildContract":null,"projectRemindReceivers":[{"id":1729,"user_id":1001,"key":1001,"project_id":3946,"user":{"id":1001,"key":1001,"name":"\u5218\u4eba\u8bda","sex":"M","avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/a57be577deb434\/avatar\/9f73cfbd-bae6-3b50-b7ac-61b936c40727.png"}}},{"id":1730,"user_id":1005,"key":1005,"project_id":3946,"user":{"id":1005,"key":1005,"name":"\u8d75\u6657\u7131","sex":"F","avatar":{"id":16,"user_id":1005,"name":"\/files\/cdn\/a57be577deb434\/avatar\/56876dde-37eb-39fc-853a-47eaef6510e5.png"}}}],"projectProductRels":[],"commentCount":{"object_id":3946,"comment":1},"unreadComments":null,"fromContact":null,"projectContactPoints":[],"erpSalesOrder":null,"projectUsedClient":null,"schedules":[{"id":17924,"project_id":3946,"client_id":2146,"schedule_title":"\u9500\u552e\u9636\u6bb5\uff1a\u786e\u8ba4\u65b9\u6848\n\u76ee\u6807\uff1a\u786e\u8ba4\u7ef4\u4fdd\u5185\u5bb9\uff0c\u7ef4\u4fdd\u65f6\u95f4\u3001\u65b0\u589e\u8bbe\u5907\u8be6\u60c5\uff0c\u8bc4\u4f30\u6210\u672c\uff1b\u8054\u7cfb\u601d\u79d1\uff0c\u6c9f\u901a\u53ef\u5426\u5728\u4ef7\u683c\u4e0a\u7ed9\u6211\u4eec\u652f\u6301","complete_at":"","start_at":"","end_at":"","created_by":5300,"is_complete":false,"is_closed":false,"complete_description":null,"set_top_at":null,"sort":1,"createdBy":{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91","sex":"F","department_id":1,"avatar":{"id":141,"user_id":5300,"name":"\/files\/cdn\/a57be577deb434\/avatar\/14dfd1a0-6df5-354a-8afd-f0a76fa8e852.png"}},"scheduleDescriptions":[{"id":16179,"schedule_id":17924,"description":"\u4e0a\u5468\u603b\u7ed3\uff1a\u65e0\uff0c\u672c\u5468\u8ba1\u5212\uff1a\u8054\u7cfb\u5382\u5546\uff0c\u6c9f\u878d\u5bf9\u6211\u4eec\u7684\u4ef7\u683c\u652f\u6301\uff0c\u548c\u5ba2\u6237\u6c9f\u901a\u6bd4\u4ef7\u5b89\u6392","created_at":"2025-09-01 10:00:16"},{"id":16024,"schedule_id":17924,"description":"\u4e0a\u5468\u603b\u7ed3\uff1a\u627e\u5230\u5382\u5546\u9500\u552e\uff0c\u4e89\u53d6\u652f\u6301\uff0c\u5382\u5546\u5728\u56fd\u5916\u4f11\u5047\uff0c\u672c\u5468\u8ba1\u5212\uff1a\u786e\u8ba4\u5382\u5546\u56de\u4eac\u65f6\u95f4\uff0c\u6c9f\u901a\u652f\u6301","created_at":"2025-08-25 10:30:43"},{"id":15855,"schedule_id":17924,"description":"\u4e0a\u5468\u603b\u7ed3\uff1a\u8ddf\u5ba2\u6237\u4e86\u89e3\u5546\u673a\u542f\u52a8\u89c4\u5212\uff0c\u5176\u4e2d\u5361\u70b9\uff0c\u5cb1\u51ef\u4f1a\u53c2\u4e0e\uff0c\u53ef\u80fd\u4f1a\u62a5\u4ef7\u4f4e\uff0c\u5f71\u54cd\u6210\u4ea4\u989d\u548c\u5ba2\u6237\u6536\u76ca\uff0c\u672c\u5468\u8ba1\u5212\uff1a\u8054\u7cfb\u5382\u5546\uff0c\u83b7\u53d6\u5382\u5546\u652f\u6301","created_at":"2025-08-18 10:24:51"}]}],"remain_display":30,"progress_remain_display":30,"forecast_remain_display":30,"projectProductTotalAmount":0,"projectProductAllAmount":true,"projectProductTotalCost":0,"projectProductAllCost":true,"projectProductTotalNumber":0,"unissued_invoice":170000,"is_exceeded":false,"can_update":true,"can_delete":true,"unread":0,"last_arrive_days_display":null,"project_status_display":"\u660e\u786e\u9700\u6c42","is_collected":false,"bgcolor":"#0064ec","can_invoice":false,"can_payment":false,"duration_display":30,"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":"17\u4e07","contact_points_status_display":"\u672a\u8bbe\u7f6e","verify_display":0,"un_collected":0,"un_invoiced":0,"is_only_cp":false},"options":[{"key":"Projects[projectProductTypes]","name":"\u5546\u673a\u7c7b\u578b","value":[{"key":2,"name":"\u670d\u52a1\u5668"},{"key":3,"name":"\u5b58\u50a8\u8bbe\u5907"},{"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 "},{"key":5,"name":"\u5b89\u5168\u8bbe\u5907"},{"key":88,"name":"\u79c1\u6709\u4e91"},{"key":8,"name":"\u4e91\u684c\u9762"},{"key":7,"name":"\u8f6f\u4ef6"},{"key":10,"name":"\u56fe\u5f62\u5de5\u4f5c\u7ad9"},{"key":69,"name":"\u5907\u4efd"},{"key":11,"name":"\u4e2a\u4eba\u8ba1\u7b97\u673a"},{"key":12,"name":"\u7b14\u8bb0\u672c"},{"key":13,"name":"\u6253\u5370\u673a"},{"key":14,"name":"UPS"},{"key":16,"name":"\u8fd0\u7ef4\u670d\u52a1"},{"key":17,"name":"\u5de5\u63a7\u673a"},{"key":18,"name":"\u673a\u623f\u8bbe\u5907"},{"key":19,"name":"\u6280\u672f\u670d\u52a1"},{"key":20,"name":"\u529e\u516c\u8bbe\u5907"},{"key":21,"name":"\u6570\u7801\u8bbe\u5907"},{"key":22,"name":"\u670d\u52a1"},{"key":23,"name":"\u793c\u54c1"},{"key":75,"name":"\u8f6f\u4ef6\u5f00\u53d1"}]},{"key":"Projects[salesForecast]","name":"\u9500\u552e\u9884\u6d4b","value":[{"key":181,"name":"\u6211\u81ea\u5df1\u505a\u5e84"},{"key":142,"name":"\u6211\u4e0e\u5ba2\u6237\u8054\u624b"},{"key":172,"name":"\u6211\u4e0e\u5382\u5546\u8054\u624b"},{"key":232,"name":"\u5382\u5546\u8fc7\u5355"}]},{"key":"Projects[purchaseType]","name":"\u91c7\u8d2d\u65b9\u5f0f","value":[{"key":128,"name":"\u516c\u5f00\u62db\u6807"},{"key":129,"name":"\u7279\u7ea6\u9080\u6807"},{"key":130,"name":"\u7ade\u4e89\u8c08\u5224"},{"key":164,"name":"\u591a\u5bb6\u6bd4\u4ef7"},{"key":165,"name":"\u534f\u8bae\u4f9b\u8d27"},{"key":182,"name":"\u56f4\u6807"}]},{"key":"Projects[opportunityFrom]","name":"\u5546\u673a\u6765\u6e90","value":[{"key":131,"name":"\u5e7f\u544a\u63a8\u5e7f"},{"key":132,"name":"\u5ba2\u6237\u4ecb\u7ecd"},{"key":167,"name":"\u5382\u5546\u4ecb\u7ecd"},{"key":168,"name":"\u670b\u53cb\u4ecb\u7ecd"},{"key":169,"name":"\u540c\u5b66\u4ecb\u7ecd"},{"key":170,"name":"\u601d\u79d1MSO"},{"key":171,"name":"cold call"},{"key":179,"name":"\u8001\u5ba2\u6237"},{"key":180,"name":"\u5382\u5546\u7529\u5355"}]},{"key":"Projects[project_progress]","name":"\u9500\u552e\u9636\u6bb5","value":[{"key":2,"name":"\u786e\u8ba4\u95ee\u9898"},{"key":3,"name":"\u65b9\u6848\u8bbe\u8ba1"},{"key":4,"name":"\u786e\u8ba4\u65b9\u6848"},{"key":5,"name":"\u5546\u52a1\u62a5\u4ef7"},{"key":6,"name":"\u63a8\u52a8\u6210\u4ea4"},{"key":9,"name":"\u7b7e\u8ba2\u5408\u540c"},{"key":10,"name":"\u4ea4\u8d27\u4e2d"},{"key":49,"name":"\u6536\u6b3e\u4e2d"}]},{"key":"Projects[project_status]","name":"\u5546\u673a\u72b6\u6001","value":[{"key":1,"name":"\u9690\u6027\u9700\u6c42","color":"#ffc000"},{"key":2,"name":"\u660e\u786e\u9700\u6c42","color":"#0064ec"},{"key":3,"name":"\u5546\u673a\u6210\u4ea4","color":"#53cd02"},{"key":4,"name":"\u5546\u673a\u5931\u8d25","color":"#e5000a"},{"key":5,"name":"\u5546\u673a\u6401\u7f6e","color":"#222222"}]},{"key":"Projects[contract_type]","name":"\u5408\u540c\u7c7b\u578b","value":[{"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},{"key":2,"name":"\u8fd0\u7ef4\u670d\u52a1"}]},{"key":"ProjectArchitects[engineer_id]","name":"\u552e\u524d\u652f\u6301","value":[{"key":5085,"name":"\u970d\u4e1c\u9633"},{"key":5248,"name":"\u6587\u4f73\u9f99"},{"key":1015,"name":"\u5434\u660a"},{"key":1022,"name":"\u5f90\u7855"},{"key":1023,"name":"\u5468\u5b50\u5065"}]},{"key":"Projects[payment_collection_remind_ahead]","name":"\u6536\u6b3e\u63d0\u9192\u65f6\u95f4","value":[{"key":"","name":"\u65e0"},{"key":"1 day","name":"\u63d0\u524d1\u5929"},{"key":"2 days","name":"\u63d0\u524d2\u5929"},{"key":"7 days","name":"\u63d0\u524d7\u5929"},{"key":"15 days","name":"\u63d0\u524d15\u5929"},{"key":"30 days","name":"\u63d0\u524d30\u5929"}]}]},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}]}', FALSE, '2025-09-12 16:26:15') RETURNING "id"