All Latest
6a2fa60ce1a6b: POST https://beta.jinchangxiao.com/vue/project/get-edit at 2026-06-15 03:13:16 pm by 221.216.117.25

Log Messages

总计149条数据
TimeLevelCategoryMessage
 
15:13:16.922traceyii\base\Application::bootstrapBootstrap with yii\log\Dispatcher
15:13:16.922traceyii\base\Module::getModuleLoading module: debug
15:13:16.924traceyii\base\Application::bootstrapBootstrap with yii\debug\Module::bootstrap()
15:13:16.924traceyii\redis\Connection::openOpening redis DB connection: redis.server.local:6379, database=1
15:13:16.924traceyii\redis\Connection::executeCommandExecuting Redis Command: SELECT
15:13:16.925traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:16.925infotime tracing start1781507596925505024
15:13:16.925traceyii\web\UrlManager::parseRequestNo matching URL rules. Using default URL parsing logic.
15:13:16.925traceyii\web\Application::handleRequestRoute requested: 'vue/project/get-edit'
15:13:16.925traceyii\base\Module::getModuleLoading module: vue
15:13:16.926infoyii\web\Session::openSession started
15:13:16.927infoyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "id"=1001
15:13:16.928infoyii\db\Connection::openOpening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta
15:13:16.929traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:16.929traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
15:13:16.930infoyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "id"=1001
15:13:16.931traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:16.932traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
15:13:16.932infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
15:13:16.933traceyii\base\Controller::runActionRoute to run: vue/project/get-edit
15:13:16.933traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:16.936traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
15:13:16.936traceyii\base\InlineAction::runWithParamsRunning action: app\modules\vue\controllers\ProjectController::actionGetEdit()
15:13:16.936infoyii\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"='4161' GROUP BY "p"."id"
15:13:16.940traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:16.941traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
15:13:16.944infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "logo", "client_type", "client_class", "client_industry", "sales_rep" FROM "a57be577deb434"."tbl_clients" WHERE "id"=982
15:13:16.945infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
15:13:16.946infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1001)
15:13:16.947infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_client_types" WHERE "id"=6
15:13:16.948infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "notice_days", "color" FROM "a57be577deb434"."tbl_client_classes" WHERE "id"=1
15:13:16.949infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_client_industries" WHERE "id"=4
15:13:16.950infoyii\db\Command::querySELECT "id", "id" AS "key", "type" AS "name" FROM "a57be577deb434"."tbl_contract_types" WHERE "id"=1
15:13:16.951infoyii\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"=4161 ORDER BY "contribution" DESC, "engineer_id"
15:13:16.952traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:16.953traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
15:13:16.953infoyii\db\Command::querySELECT "id", "id" AS "key", "project_status" AS "name", "color" FROM "a57be577deb434"."tbl_project_statuses" WHERE "id"=3
15:13:16.954infoyii\db\Command::querySELECT "id", "id" AS "key", "project_progress" AS "name", "description" FROM "a57be577deb434"."tbl_project_progresses" WHERE "id"=9
15:13:16.954infoyii\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"=4161
15:13:16.956infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id"=4161
15:13:16.957infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "description" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=13) AND ("id" IN (1, 128, 172, 184, 189, 349)) ORDER BY "sort"
15:13:16.958infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id"=4161
15:13:16.959infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=10) AND ("id" IN (1, 128, 172, 184, 189, 349)) ORDER BY "sort"
15:13:16.959infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id"=4161
15:13:16.960infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=9) AND ("id" IN (1, 128, 172, 184, 189, 349)) ORDER BY "sort"
15:13:16.961infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
15:13:16.962infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1001)
15:13:16.962infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_departments" WHERE "id"=4
15:13:16.963infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
15:13:16.963infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1001)
15:13:16.964infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_clients" WHERE "id"=982
15:13:16.965infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
15:13:16.965infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1001)
15:13:16.966infoyii\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"=4161 GROUP BY "c"."project_id"
15:13:16.978traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:16.978traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
15:13:16.979infoyii\db\Command::querySELECT "project_id", count(id) as count FROM "a57be577deb434"."tbl_work_logs" WHERE ("is_draft"=FALSE) AND ("project_id"=4161) GROUP BY "project_id"
15:13:16.980infoyii\db\Command::querySELECT "project_id", count(id) as count FROM "a57be577deb434"."tbl_cases" WHERE "project_id"=4161 GROUP BY "project_id"
15:13:16.982infoyii\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"=4161) GROUP BY "project_id"
15:13:16.983infoyii\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"=4161) GROUP BY "c"."project_id"
15:13:16.997infoyii\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"=4161) GROUP BY "c"."project_id"
15:13:17.000infoyii\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"=4161) GROUP BY "project_id"
15:13:17.001infoyii\db\Command::querySELECT "project_id", sum(amount) AS sum FROM "a57be577deb434"."tbl_reimbursements" WHERE ("status" IN (2, 3)) AND ("project_id"=4161) GROUP BY "project_id"
15:13:17.005infoyii\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"=4161
15:13:17.008infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_attachement_relationships" WHERE ("object_type"=105) AND ("object_id"=4462)
15:13:17.013infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_attachement_relationships" WHERE ("object_type"=106) AND ("object_id"=4462)
15:13:17.017infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_attachement_relationships" WHERE ("object_type"=107) AND ("object_id"=4462)
15:13:17.022infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_collect_tickets" WHERE ("status"=2) AND ("sales_contract_id"=4462) ORDER BY "id" DESC
15:13:17.024infoyii\db\Command::querySELECT "id", "id" AS "key", "contract_id", "amount" AS "value", "created_by", "collected_date" FROM (SELECT * FROM ((SELECT '1' || r.id::varchar as id, 1 as ticket_type, r.sales_contract_id as contract_id, r.amount as amount, t.wrote_date as collected_date, t.created_at, t.created_by, t.abstract as description FROM "a57be577deb434"."tbl_erp_collect_ticket_settles" "r" LEFT JOIN "a57be577deb434"."tbl_erp_collect_tickets" "t" ON r.erp_collect_ticket_id = t.id WHERE (r.sales_contract_id is not null) AND ("t"."status" IN (2, 5))) UNION ALL ( SELECT '2' || r.id::varchar as id, 2 as ticket_type, r.sales_contract_id as contract_id, r.amount as amount, t.created_at as collected_date, t.created_at, t.created_by, t.abstract as description FROM "a57be577deb434"."tbl_erp_cash_cost_ticket_sales_contract_settles" "r" LEFT JOIN "a57be577deb434"."tbl_erp_cash_cost_tickets" "t" ON r.erp_cash_cost_ticket_id = t.id WHERE (r.sales_contract_id is not null) AND ("t"."is_payment_settle"=TRUE) AND ("t"."status" IN (2, 5)) ) UNION ALL ( SELECT '3' || r.id::varchar as id, 3 as ticket_type, r.sales_contract_id as contract_id, 0 - r.amount as amount, t.created_at as collected_date, t.created_at, t.created_by, t.abstract as description FROM "a57be577deb434"."tbl_erp_payment_ticket_settles" "r" LEFT JOIN "a57be577deb434"."tbl_erp_payment_tickets" "t" ON r.erp_payment_ticket_id = t.id WHERE (r.sales_contract_id is not null) AND ("t"."is_payment_settle"=TRUE) AND ("t"."status" IN (2, 5)) )) "sub") "r" WHERE "contract_id"=4462 ORDER BY "id" DESC
15:13:17.028infoyii\db\Command::querySELECT "id", "id" AS "key", "contract_id", "amount" AS "value", "attachment_id", "from_date" FROM "a57be577deb434"."tbl_sales_contract_invoices" WHERE "contract_id"=4462 ORDER BY "id"
15:13:17.029infoyii\db\Command::querySELECT "id", "id" AS "key", "contract_id", "remind_date" AS "name", "amount" AS "value", "overdue_days", "status", "remind_date" FROM "a57be577deb434"."tbl_sales_contract_payment_collection_remind_dates" WHERE "contract_id"=4462 ORDER BY "remind_date"
15:13:17.030infoyii\db\Command::querySELECT "id", "user_id", "user_id" AS "key", "contract_id" FROM "a57be577deb434"."tbl_sales_contract_payment_collection_remind_receivers" WHERE "contract_id"=4462
15:13:17.031infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
15:13:17.031infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1001)
15:13:17.032infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_sales_supplier_rels" WHERE "contract_id"=4462
15:13:17.033infoyii\db\Command::querySELECT "id", "user_id", "user_id" AS "key", "project_id" FROM "a57be577deb434"."tbl_project_remind_receivers" WHERE "project_id"=4161
15:13:17.034infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
15:13:17.034infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1001)
15:13:17.035infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_product_rels" WHERE "project_id"=4161 ORDER BY "id"
15:13:17.036infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_products" WHERE "id" IN (2261, 2177)
15:13:17.038infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_types" WHERE "id" IN (4, 7)
15:13:17.039infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_components" WHERE "id" IN (52, 139)
15:13:17.039infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_brands" WHERE "id" IN (4, 12)
15:13:17.040infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_series" WHERE "id" IN (1769, 1730)
15:13:17.040infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_units" WHERE "id" IN (3, 2)
15:13:17.041infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_sales_order_products" WHERE "id" IN (2225, 2230, 2234)
15:13:17.042infoyii\db\Command::querySELECT "object_id", count(*) as comment FROM "a57be577deb434"."tbl_comments" WHERE ("object_type"=1) AND ("object_id"=4161) GROUP BY "object_id"
15:13:17.089infoyii\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"=4161) GROUP BY "object_id"
15:13:17.125infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_contact_points" WHERE "project_id"=4161
15:13:17.126infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_sales_orders" WHERE ("status" IN (2, 5)) AND ("project_id"=4161)
15:13:17.127infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_used_clients" WHERE "project_id"=4161
15:13:17.128infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_sales_orders" WHERE ("status"=1) AND ("project_id"=4161)
15:13:17.129infoyii\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" >= '2026-06-01')) AND ((("is_public"=1) AND ("created_by" != 1001)) OR ("created_by"=1001) OR ("ccr"."user_id"=1001)) AND ("s"."project_id"=4161) 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
15:13:17.131traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:17.132traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:17.134infoyii\db\Command::querySELECT EXISTS(SELECT "p".* 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 WHERE ((c.sales_rep IS NULL) OR ("c"."sales_rep" IN (1001, 5049, 5301, 5022, 5209, 5026, 5293, 5309, 5356, 5329, 5299, 5303, 5302, 5332, 5047, 1026, 5096, 5070, 5448, 5420, 1029, 5037, 5087, 1008, 5048, 5043, 5045, 5230, 5031, 5088, 5208, 1003, 5467, 5294, 5357, 5044, 1030, 5076, 5300, 5027, 5089, 5311, 5066, 5069, 5364, 1009, 5295, 1013, 5128, 5203, 1025, 5032, 5075, 5476, 1004, 5072, 5033, 5359, 5412, 5409, 5229, 1005, 5304, 5449, 5358, 1006, 5093)) OR ("prr"."user_id"=1001) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1001))) AND ("p"."id"=4161))
15:13:17.135traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:17.135infoyii\db\Command::querySELECT 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_clients' and d.nspname = 'a57be577deb434' ORDER BY a.attnum;
15:13:17.144infoyii\db\Command::queryselect 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_clients' and ns.nspname='a57be577deb434' order by fns.nspname, fc.relname, a.attnum
15:13:17.177traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
15:13:17.178traceyii\redis\Connection::executeCommandExecuting Redis Command: SET
15:13:17.178infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_clients" WHERE "id"=982
15:13:17.179infoyii\db\Command::querySELECT EXISTS(SELECT * FROM "a57be577deb434"."tbl_user_visit_clients" WHERE ("user_id"=1001) AND ("client_id"=982))
15:13:17.182traceuranus\rbac\DbManager::checkAccessFromCacheChecking permission: viewProduct
15:13:17.182traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: StoreKeeper
15:13:17.182traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
15:13:17.182infoyii\db\Command::querySELECT product_type_id, name, sum(budget) as sum_budget, sum(profit) as sum_profit FROM "a57be577deb434"."tbl_project_product_types" "pt" WHERE "project_id"=4161 GROUP BY "product_type_id", "name"
15:13:17.183infoyii\db\Command::querySELECT product_type_id, name, count(it.id) as value FROM "a57be577deb434"."tbl_implement_product_types" "it" WHERE "implement_id" IN (SELECT "ir"."id" FROM "a57be577deb434"."tbl_implement_records" "ir" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON c.id = ir.case_id WHERE ("ir"."is_draft"=FALSE) AND ("c"."project_id"=4161)) GROUP BY "product_type_id", "name"
15:13:17.191infoyii\db\Command::querySELECT w.scenario_option_id, wso.name, count(w.id) as value FROM "a57be577deb434"."tbl_work_logs" "w" LEFT JOIN "a57be577deb434"."tbl_work_log_scenario_options" "wso" ON w.scenario_option_id = wso.id WHERE ("w"."is_draft"=FALSE) AND ("w"."scenario_id"=1) AND ("w"."project_id"=4161) GROUP BY "w"."scenario_option_id", "wso"."name"
15:13:17.192infoyii\db\Command::querySELECT *, CASE WHEN collected >= total_this THEN 1 ELSE 0 END as status FROM (SELECT scpcrd.* ,( SELECT sum(scpcrdsub.amount) as total_this FROM a57be577deb434.tbl_sales_contract_payment_collection_remind_dates scpcrdsub where scpcrdsub.remind_date <= scpcrd.remind_date and scpcrdsub.contract_id = scpcrd.contract_id ), p.collected, sc.project_id FROM "a57be577deb434"."tbl_sales_contract_payment_collection_remind_dates" "scpcrd" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON scpcrd.contract_id = sc.id LEFT JOIN "a57be577deb434"."tbl_projects" "p" ON sc.from_project = p.id LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON sc.client_id = c.id WHERE (sc.from_project is not null) AND ("p"."id"=4161)) "sub" ORDER BY "remind_date" DESC
15:13:17.194infoyii\db\Command::querySELECT "remind_user" FROM "a57be577deb434"."tbl_contract_default_remind_users" WHERE ("user_id"=1001) AND ("type"=1)
15:13:17.214infoyii\db\Command::querySELECT "esgps".* FROM "a57be577deb434"."tbl_erp_sales_gift_products" "esgps" LEFT JOIN "a57be577deb434"."tbl_erp_sales_gifts" "esgs" ON esgps.erp_sales_gift_id = esgs.id WHERE "esgs"."project_id"=4161
15:13:17.232infoyii\db\Command::querySELECT "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_types" WHERE "is_delete"=FALSE ORDER BY "order", "id"
15:13:17.234infoyii\db\Command::querySELECT "id" AS "key", "name", "description" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=13) AND ("is_delete"=FALSE) ORDER BY "sort", "id"
15:13:17.235infoyii\db\Command::querySELECT "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=9) AND ("is_delete"=FALSE) ORDER BY "sort", "id"
15:13:17.236infoyii\db\Command::querySELECT "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=10) AND ("is_delete"=FALSE) ORDER BY "sort", "id"
15:13:17.236infoyii\db\Command::querySELECT "id" AS "key", "project_progress" AS "name", "description" FROM "a57be577deb434"."tbl_project_progresses" WHERE "is_delete"=FALSE ORDER BY "order"
15:13:17.237traceuranus\rbac\DbManager::checkAccessFromCacheChecking permission: changeProjectStatus3
15:13:17.237traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: AccountManager
15:13:17.237traceuranus\rbac\DbManager::checkAccessFromCacheChecking permission: changeProjectStatus4
15:13:17.237traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
15:13:17.237traceuranus\rbac\DbManager::checkAccessFromCacheChecking permission: changeProjectStatus5
15:13:17.237traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
15:13:17.237infoyii\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"
15:13:17.237infoyii\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, '[)') && '[2026-06-15 15:13:17, 2026-06-15 15:13:17]'::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
15:13:17.240traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:17.240traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
15:13:17.241infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "department_id", "pinyin_shortcut" FROM "a57be577deb434"."tbl_users" WHERE ("user_status"='1') AND ("id" IN (5085, 5248, 1015, 1022, 5064, 1023)) 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
15:13:17.242infoyii\db\Command::querySELECT "id" AS "key", "type" AS "name" FROM "a57be577deb434"."tbl_contract_types" WHERE "is_delete"=FALSE ORDER BY "sort"
15:13:17.242infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_departments" ORDER BY "order"
15:13:17.242infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "department_id", "pinyin_shortcut" FROM "a57be577deb434"."tbl_users" WHERE ("user_status"='1') AND ("department_id" IN (4, 1, 2, 3, 9, 8, 6, 7, 10)) 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
15:13:17.243infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id" IN (1000, 5250, 5016, 1011, 5085, 5332, 5446, 1001, 5087, 5300, 5311, 5252, 5295, 5248, 1013, 1015, 5461, 1022, 5476, 5064, 1004, 5360, 1005, 1023))
15:13:17.244infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_departments" ORDER BY "order"
15:13:17.244infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "department_id", "pinyin_shortcut" FROM "a57be577deb434"."tbl_users" WHERE ("user_status"='1') AND ("department_id" IN (4, 1, 2, 3, 9, 8, 6, 7, 10)) 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
15:13:17.246infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id" IN (1000, 5250, 5016, 1011, 5085, 5332, 5446, 1001, 5087, 5300, 5311, 5252, 5295, 5248, 1013, 1015, 5461, 1022, 5476, 5064, 1004, 5360, 1005, 1023))
15:13:17.248traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:17.248traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
15:13:17.248infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_visit_object_histories" WHERE ("user_id"=1001) AND ("object_type"=1) AND ("object_id"='4161')
15:13:17.249traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:17.249infoyii\db\Command::querySELECT 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_object_histories' and d.nspname = 'a57be577deb434' ORDER BY a.attnum;
15:13:17.252infoyii\db\Command::queryselect 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_object_histories' and ns.nspname='a57be577deb434' order by fns.nspname, fc.relname, a.attnum
15:13:17.268traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
15:13:17.268traceyii\redis\Connection::executeCommandExecuting Redis Command: SET
15:13:17.269infoyii\db\Command::queryINSERT INTO "a57be577deb434"."tbl_visit_object_histories" ("user_id", "object_type", "object_id", "last_visit_at") VALUES (1001, 1, 4161, 'now()') RETURNING "id"
15:13:17.274infoyii\db\Command::querySELECT "id" FROM "a57be577deb434"."tbl_visit_object_histories" WHERE "user_id"=1001 ORDER BY "last_visit_at" DESC LIMIT 10
15:13:17.275infoyii\db\Command::executeDELETE FROM "a57be577deb434"."tbl_visit_object_histories" WHERE ("id" NOT IN (207727, 207720, 207726, 207725, 207724, 207723, 207713, 207719, 207717, 207716)) AND ("user_id"=1001)
15:13:17.277infoyii\db\Command::queryINSERT INTO "global"."tbl_api_log" ("code", "schema", "user_id", "device_type", "url", "request", "response", "php_error", "time", "duration") VALUES (200, 'a57be577deb434', 1001, 5, 'vue/project/get-edit', '{"id":"4161","web_access_token":"s1xKbg9e3rlah-dvFsDEWCxiJPk9VpSm"}', '{"code":2000,"result":{"model":{"id":4161,"client_id":982,"project_status":3,"project_progress":9,"budget":"12703473","profit_pct":"45","bargain_date":"2026-04-23","description":"","created_by":1001,"created_at":"2026-04-01 11:36:21","updated_at":"2026-05-21 16:13:22","engineer_id":"","project_title":"3535","collected":"0","status_updated_at":"2026-04-23 16:49:39.894842+08","success_rate":"","comment":"5345","contract_type":1,"progress_updated_at":"2026-04-01 11:36:21.052758+08","forecast_updated_at":"2026-04-01 11:36:21.052758+08","end_at":"","pinyin_shortcut":"3535","creator":1001,"used_client":"","from_contact":"","total_contact_point":"","paid_contact_point":"","project_product_version_id":1360,"is_sales_order_ready":false,"collected_plan":0,"change_status_to":"","is_verify":false,"remain":"52 days 22:23:37.043557","progress_remain":"75 days 03:36:55.885641","forecast_remain":"75 days 03:36:55.885641","duration":"75 days 03:36:55.885641","lost_contact_days":"","last_contact":"","last_arrive_days":"","last_arrive":"","issued_invoices":"1009","client":{"id":982,"key":982,"name":"\u4e2d\u56fd\u4fe1\u606f\u5b89\u5168\u7814\u7a76\u6240","logo":"","client_type":6,"client_class":1,"client_industry":4,"sales_rep":1001,"salesRep":{"id":1001,"key":1001,"name":"\u5218\u4eba\u8bda","sex":"M","avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}},"clientType":{"id":6,"key":6,"name":"\u836f\u54c1\u6279\u53d1\u4f01\u4e1a\uff08\u666e\u901a\uff09"},"clientClass":{"id":1,"key":1,"name":"\u6838\u5fc3\u5ba2\u6237","notice_days":10,"color":"#E89F0E"},"clientIndustry":{"id":4,"key":4,"name":"\u901a\u4fe1"}},"usedClient":{},"contractType":{"id":1,"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},"projectArchitects":[{"project_id":4161,"value":"1","key":5064,"name":"\u59da\u96ea\u7eaf"}],"projectStatus":{"id":3,"key":3,"name":"\u5546\u673a\u6210\u4ea4","color":"#53cd02"},"projectProgress":{"id":9,"key":9,"name":"\u7b7e\u8ba2\u5408\u540c","description":"\u5b9a\u4e49\uff1a\u786e\u8ba4\u4ea7\u54c1\u914d\u7f6e\uff0c\u4ea7\u54c1\u6570\u91cf\uff0c\u4ea7\u54c1\u4ef7\u683c\uff0c\u4ed8\u6b3e\u65b9\u5f0f\uff0c\u5230\u8d27\u65e5\u671f\uff0c\u8fdd\u7ea6\u6761\u6b3e\uff0c\u9a8c\u6536\u6807\u51c6\u3002 \n\u65b9\u6cd5\uff1a\u6309\u7167\u516c\u53f8\u5408\u540c\u8303\u672c\u6216\u6309\u7167\u5ba2\u6237\u8303\u672c\u7b7e\u8ba2\u5408\u540c\u3002"},"projectProductTypes":[{"id":7,"product_type_id":7,"key":7,"name":"\u8f6f\u4ef6","budget":"1","pct":"45","profit":"0.45","project_id":4161},{"id":4,"product_type_id":4,"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 ","budget":"12703472","pct":"45","profit":"5716562.4","project_id":4161}],"salesForecast":{"id":172,"key":172,"name":"\u6211\u4e0e\u5382\u5546\u8054\u624b","description":"\u4e0e\u5382\u5546\u8054\u624b\u5171\u540c\u641e\u5b9a\u5ba2\u6237\uff0c\u5229\u6da6\u5404\u536050%"},"opportunityFrom":{},"purchaseType":{"id":128,"key":128,"name":"\u516c\u5f00\u62db\u6807"},"createdBy":{"id":1001,"key":1001,"name":"\u5218\u4eba\u8bda","sex":"M","department_id":4,"avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"},"department":{"id":4,"key":4,"name":"\u603b\u7ecf\u7406"}},"projectCreator":{"id":1001,"key":1001,"name":"\u5218\u4eba\u8bda","sex":"M","department_id":4,"avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}},"salesRep":{"id":1001,"key":1001,"name":"\u5218\u4eba\u8bda","sex":"M","avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}},"casePoints":{"project_id":4161,"points":"0"},"workLogCount":"","caseCount":{"project_id":4161,"count":1},"salesTimeCount":{},"implementTimeCount":{"project_id":4161,"sum":"2","times":"1"},"presalesTimeCount":{},"engineerTimeCount":{},"reimbursementAmountSum":{},"buildContract":{"id":4462,"from_project":4161,"payment_collection_remind_ahead":"1 day","serial_no":"2026-04-23-001","is_settle":false,"is_deliver":false,"is_outbound":false,"erp_settle_amount":"0","erp_un_settle_amount":"12703473","including_tax":true,"amount":"12703473","contractScans":[],"receiptScans":[],"verifyScans":[],"erpCollectTickets":[],"salesContractPayments":[],"salesContractInvoices":[{"id":2320,"key":2320,"contract_id":4462,"value":"1009","attachment_id":"","from_date":"2026-05-09","attachment":{}}],"salesContractPaymentCollectionRemindDates":[],"salesContractPaymentCollectionRemindReceivers":[{"id":10135,"user_id":1001,"key":1001,"contract_id":4462,"user":{"id":1001,"key":1001,"name":"\u5218\u4eba\u8bda","sex":"M","avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}}}],"salesSupplierRels":[],"payment_collection_remind_ahead_display":"\u63d0\u524d1\u5929","invoiced":1009},"projectRemindReceivers":[{"id":2180,"user_id":1001,"key":1001,"project_id":4161,"user":{"id":1001,"key":1001,"name":"\u5218\u4eba\u8bda","sex":"M","avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}}}],"projectProductRels":[{"id":12092,"project_id":4161,"product_id":2261,"amount":"4234324","number":3,"cost":"245.74","description":"","supplier_id":"","hardware_from":"","software_from":"","maintenance_from":"","hardware_to":"","software_to":"","maintenance_to":"","total_amount":"12702972","total_cost":"737.21","erp_sales_order_product_id":2225,"supplier":"","product":{"id":2261,"name":"MK-MC300","product_type":4,"product_component":52,"product_brand":4,"product_serie":1769,"product_misc":"","product_qa":"","pn":"","description":"MK-MC300\u62fe\u97f3\u9ea6\u514b\u98ce\uff0c\u542b5\u7c73\u7ebf","created_by":1013,"created_at":"2026-03-16 10:07:43","updated_at":"2026-05-21 18:10:51","pinyin_shortcut":"MKMC300","product_unit":3,"is_renew":false,"in_out_at":"2026-05-21 18:10:51.145864+08","productType":{"id":4,"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 "},"productComponent":{"id":52,"key":52,"name":"\u534f\u4f5c"},"productBrand":{"id":4,"key":4,"name":"\u8054\u60f3"},"productSerie":{"id":1769,"key":1769,"name":"\u5168\u5411\u9ea6\u514b\u98ce"},"productUnit":{"id":3,"key":3,"name":"\u4e2a"}},"erpSalesOrderProduct":{"id":2225,"erp_sales_order_id":1699,"erp_store_id":"","product_id":2261,"description":"","number":"3","outbound":"3","amount":"4234324","total_amount":"12702972","last_number":"3","last_amount":"4234324","last_total_amount":"12702972","cost":"245.74","total_cost":"737.21","supplier_id":"","hardware_from":"","software_from":"","maintenance_from":"","hardware_to":"","software_to":"","maintenance_to":""}},{"id":12093,"project_id":4161,"product_id":2261,"amount":"100","number":5,"cost":"","description":"","supplier_id":"","hardware_from":"","software_from":"","maintenance_from":"","hardware_to":"","software_to":"","maintenance_to":"","total_amount":"500","total_cost":"","erp_sales_order_product_id":2230,"supplier":"","product":{"id":2261,"name":"MK-MC300","product_type":4,"product_component":52,"product_brand":4,"product_serie":1769,"product_misc":"","product_qa":"","pn":"","description":"MK-MC300\u62fe\u97f3\u9ea6\u514b\u98ce\uff0c\u542b5\u7c73\u7ebf","created_by":1013,"created_at":"2026-03-16 10:07:43","updated_at":"2026-05-21 18:10:51","pinyin_shortcut":"MKMC300","product_unit":3,"is_renew":false,"in_out_at":"2026-05-21 18:10:51.145864+08","productType":{"id":4,"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 "},"productComponent":{"id":52,"key":52,"name":"\u534f\u4f5c"},"productBrand":{"id":4,"key":4,"name":"\u8054\u60f3"},"productSerie":{"id":1769,"key":1769,"name":"\u5168\u5411\u9ea6\u514b\u98ce"},"productUnit":{"id":3,"key":3,"name":"\u4e2a"}},"erpSalesOrderProduct":{"id":2230,"erp_sales_order_id":1699,"erp_store_id":"","product_id":2261,"description":"","number":"5","outbound":"1","amount":"100","total_amount":"500","last_number":"5","last_amount":"100","last_total_amount":"500","cost":"","total_cost":"","supplier_id":"","hardware_from":"","software_from":"","maintenance_from":"","hardware_to":"","software_to":"","maintenance_to":""}},{"id":12094,"project_id":4161,"product_id":2177,"amount":"1","number":1,"cost":"888","description":"","supplier_id":"","hardware_from":"","software_from":"","maintenance_from":"","hardware_to":"","software_to":"","maintenance_to":"","total_amount":"1","total_cost":"888","erp_sales_order_product_id":2234,"supplier":"","product":{"id":2177,"name":"\u6df1\u4fe1\u670dSDDC\u57fa\u7840\u8fd0\u7ef4\u8f6f\u4ef6V1.0","product_type":7,"product_component":139,"product_brand":12,"product_serie":1730,"product_misc":"","product_qa":"","pn":"","description":"\u6df1\u4fe1\u670dSDDC\u57fa\u7840\u8fd0\u7ef4\u8f6f\u4ef6V1.0\uff08\u7eaf\u8f6f\u7248\uff09\n\u4e91\u7aef\u667a\u80fd\u5927\u8111\u8f6f\u4ef6\uff0c\u5305\u542b\u4ee5\u4e0b\u80fd\u529b\uff1a\n1. 7*24H\u5168\u6808\u5728\u7ebf\u76d1\u6d4b\uff0c\u5305\u62ec\u670d\u52a1\u5668\u786c\u4ef6\u3001\u4e91\u5e73\u53f0\u3001\u4e91\u4e3b\u673aOS\u7b49\uff1b\n2. \u98ce\u9669\u4e3b\u52a8\u9884\u6d4b\uff0c\u5305\u62ec\u786c\u76d8\u5361\u6162\/\u574f\u9053\u3001SDD\u5bff\u547d\u3001\u5185\u5b58ECC\u9519\u8bef\u3001\u5e73\u53f0HA\u5931\u6548\u7b49\u98ce\u9669\u63d0\u524d\u9884\u8b66\uff1b\n3. \u98ce\u9669\/\u6545\u969c\u53ca\u65f6\u544a\u8b66\uff0c\u652f\u6301\u5c0f\u7a0b\u5e8f\u3001\u77ed\u4fe1\u3001\u90ae\u4ef6\u3001\u8bed\u97f3\u3001\u4f01\u4e1a\u5fae\u4fe1\/\u9489\u9489\/\u98de\u4e66\u673a\u5668\u4eba\u7b49\u591a\u901a\u8def\u901a\u77e5\uff1b\n4. \u4e91\u7aef\u667a\u80fd\u8fd0\u7ef4\uff0c\u652f\u6301\u544a\u8b66\u964d\u566a\u3001\u6839\u56e0\u5206\u6790\u548c\u5f71\u54cd\u9762\u8bc4\u4f30\uff0c\u63d0\u5347\u95ee\u9898\u5b9a\u4f4d\u6392\u969c\u6548\u7387\uff1b\n5. \u8fd0\u7ef4\u62a5\u544a\u8ba2\u9605\uff0c\u5e73\u53f0\u652f\u6301\u751f\u6210\u8fd0\u7ef4\u62a5\u544a\uff0c\u5305\u62ec\u5e73\u53f0\u670d\u52a1\u5668\u5065\u5eb7\u98ce\u9669\u9884\u6d4b\u548c\u8bc4\u4f30\uff08\u5982\uff1aCPU\/\u5185\u5b58\/\u786c\u76d8\/Raid\u5361\/\u7f51\u5361\u7b49\uff09\u3001\u4e91\u4e3b\u673a\u8fd0\u884c\u72b6\u6001\uff08\u5982\uff1aCPU\/\u5185\u5b58\/\u7f51\u7edc\u7b49\uff09\u98ce\u9669\u8bc4\u4f30\u7b49\uff1b\n\u914d\u5957\u670d\u52a1\u5982\u4e0b\uff1a\n\u8f6f\u4ef6\u5347\u7ea7\uff0c\u5305\u62ec\uff1a\u4e3b\u7ebf\u7248\u672c\/R\u7248\u672c\/SP\u7248\u672c\u7b49\u5728\u7ebf\u5347\u7ea7\u548c\u5b9a\u671f\u8865\u4e01\u66f4\u65b0\uff1b","created_by":1013,"created_at":"2025-11-28 11:49:14","updated_at":"2026-06-08 17:53:31","pinyin_shortcut":"sxfSDDCjcywrjV10","product_unit":2,"is_renew":false,"in_out_at":"2026-06-08 17:53:31.738476+08","productType":{"id":7,"key":7,"name":"\u8f6f\u4ef6"},"productComponent":{"id":139,"key":139,"name":"\u8d85\u878d\u5408\u8f6f\u4ef6"},"productBrand":{"id":12,"key":12,"name":"\u6df1\u4fe1\u670d"},"productSerie":{"id":1730,"key":1730,"name":"\u6df1\u4fe1\u670dSDDC\u57fa\u7840\u8fd0\u7ef4\u8f6f\u4ef6V1.0"},"productUnit":{"id":2,"key":2,"name":"\u5957"}},"erpSalesOrderProduct":{"id":2234,"erp_sales_order_id":1699,"erp_store_id":"","product_id":2177,"description":"","number":"1","outbound":"1","amount":"1","total_amount":"1","last_number":"","last_amount":"","last_total_amount":"","cost":"888","total_cost":"888","supplier_id":"","hardware_from":"","software_from":"","maintenance_from":"","hardware_to":"","software_to":"","maintenance_to":""}}],"commentCount":{"object_id":4161,"comment":2},"unreadComments":{},"fromContact":"","projectContactPoints":[],"erpSalesOrder":{"id":1699,"serial_no":"XSDD-20260423-00001","from_date":"","wrote_date":"2026-04-01","handler":1001,"client_id":982,"purchase_contract_id":"","project_id":4161,"sales_contract_id":4462,"erp_store_id":"","status":2,"erp_send_type_id":"","abstract":"","description":"","verify_type":2,"next_verify_user":"","next_stop_verify_user":"","next_cancel_verify_user":"","verify_at":"2026-04-23 16:50:05","stop_at":"2026-05-21 16:09:36.384209+08","cancel_at":"","refuse_description":"","is_resubmitted":false,"is_done":false,"number":"9","amount":"12703473","created_by":1001,"stop_description":"","extra":"{\"payment_collection_remind_ahead\":\"1 day\",\"salesContractPaymentCollectionRemindReceivers\":[\"1001\"],\"salesContractPaymentCollectionRemindDates\":null}","outbound_status":false,"is_used":true,"is_cancel":false,"is_settle":false,"is_old":false,"created_at":"2026-04-23 16:49:39","updated_at":"2026-05-21 16:09:36","print_times":""},"projectUsedClient":{},"erpSalesOrderVerify":{},"schedules":[],"remain_display":52,"progress_remain_display":75,"forecast_remain_display":75,"projectProductTotalAmount":12703473,"projectProductAllAmount":true,"projectProductTotalCost":1625.21,"projectProductAllCost":false,"projectProductTotalNumber":9,"unissued_invoice":12702464,"is_exceeded":false,"can_update":true,"can_delete":true,"unread":0,"last_arrive_days_display":"","project_status_display":"\u5546\u673a\u6210\u4ea4","is_collected":false,"bgcolor":"#53cd02","can_invoice":true,"can_payment":true,"duration_display":75,"contract_type_display":"\u4ea7\u54c1\u9500\u552e","can_change_status":true,"is_admin":true,"lost_contact_days_display":"","can_view_product":true,"budget_display":"1270.35\u4e07","contact_points_status_display":"\u672a\u8bbe\u7f6e","total_contact_paid_point":0,"total_contact_un_paid_point":0,"verify_display":0,"un_collected":"12703473","un_invoiced":12702464,"object_type":1,"can_view_product_cost":true,"is_only_cp":false,"profit":5716562.85,"bargain_date_display":"2026\u5e7404\u670823\u65e5","over_due_display":"","over_due_uncollected":0,"defaultSalesContractPaymentCollectionRemindReceivers":[1001],"erpSalesGiftProducts":[],"p_total_amount":12703473,"p_total_cost":1625.21,"p_un_budget":0,"p_m_total_amount":12701847.79,"p_m_total_amount_pct":99.99,"p_j_total_amount_pct":99.99,"p_j_total_amount":12701847.79,"budgetCounts":[{"product_type_id":4,"name":"\u7f51\u7edc\u8bbe\u5907 ","sum_budget":"12703472","sum_profit":"5716562.4","y":100},{"product_type_id":7,"name":"\u8f6f\u4ef6","sum_budget":"1","sum_profit":"0.45","y":0}],"implementTimes":[{"product_type_id":7,"name":"\u8f6f\u4ef6","value":1,"y":50},{"product_type_id":10,"name":"\u56fe\u5f62\u5de5\u4f5c\u7ad9","value":1,"y":50}],"salesTimes":[],"can_view_implement":true,"can_view_work_log":true,"can_create_task_group":true},"paymentRemindDateList":[],"projectUsedClientPaymentRemindDateList":[],"options":{"Projects[projectProductTypes]":{"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":106,"name":"\u516c\u6709\u4e91"}]},"Projects[salesForecast]":{"key":"Projects[salesForecast]","name":"\u9500\u552e\u9884\u6d4b","value":[{"key":181,"name":"\u6211\u81ea\u5df1\u505a\u5e84","description":"\u5382\u5546\u542c\u6211\u652f\u914d\uff0c\u7ed9\u6211\u597d\u4ef7\u683c\u3002\n\u5ba2\u6237\u542c\u6211\u652f\u914d\uff0c\u6309\u7167\u6211\u7684\u65b9\u5f0f\u91c7\u8d2d\u3002"},{"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"},{"key":172,"name":"\u6211\u4e0e\u5382\u5546\u8054\u624b","description":"\u4e0e\u5382\u5546\u8054\u624b\u5171\u540c\u641e\u5b9a\u5ba2\u6237\uff0c\u5229\u6da6\u5404\u536050%"},{"key":232,"name":"\u5382\u5546\u8fc7\u5355","description":"\u4fdd\u63015%\u57fa\u672c\u5229\u6da6\u7387\uff0c\u5e2e\u52a9\u5382\u5546\u4ea4\u4ed8\u9879\u76ee\u3002"}]},"Projects[purchaseType]":{"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"}]},"Projects[opportunityFrom]":{"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"}]},"Projects[project_progress]":{"key":"Projects[project_progress]","name":"\u9500\u552e\u9636\u6bb5","value":[{"key":2,"name":"\u786e\u8ba4\u95ee\u9898","description":"\u5b9a\u4e49\uff1a\u786e\u8ba4\u5ba2\u6237\u5f53\u524d\u9047\u5230\u7684\u5b9e\u9645\u95ee\u9898\uff0c \u6216\u8005\u5f85\u529e\u4efb\u52a1\uff0c\u6216\u8005\u9762\u4e34\u54ea\u4e9b\u6311\u6218\uff1f\n \u65b9\u6cd5\uff1a\u7b2c\u4e00\u6b65\uff1a5why\u6cd5\u8be2\u95ee\u771f\u95ee\u9898 \u7b2c\u4e8c\u6b65\uff1a\u53cd\u95ee\u5982\u679c\u4e0d\u89e3\u51b3\u4f1a\u600e\u6837\uff1f"},{"key":3,"name":"\u65b9\u6848\u8bbe\u8ba1","description":"\u5b9a\u4e49\uff1a\u6839\u636e\u5ba2\u6237\u9762\u4e34\u7684\u95ee\u9898\u53ca\u6311\u6218\uff0c \u63d0\u51fa\u6211\u65b9\u7684\u4ea7\u54c1\u65b9\u6848\u3002\u5177\u4f53\u7684\u54c1\u724c\uff0c \u578b\u53f7\uff0c\u914d\u7f6e\uff0c\u4fdd\u4fee\u3002 \n\u65b9\u6cd5\uff1a\u5c06\u5ba2\u6237\u7684\u95ee\u9898\u53ca\u9700\u6c42\u7528\u6587\u5b57\u63cf\u8ff0\u51fa\u6765\uff0c\u4ea4\u7ed9\u552e\u524d\u6216\u5382\u5546\u3002"},{"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"},{"key":5,"name":"\u5546\u52a1\u62a5\u4ef7","description":"\u5b9a\u4e49\uff1a1.\u62a5\u4ef7\u6709\u6548\u671f 2.\u6838\u7b97\u5229\u6da6\u7387 3. \u4ea4\u8d27\u65b9\u5f0f\u53ca\u65f6\u95f4 4.\u9a8c\u6536\u65b9\u5f0f 5.\u6536\u6b3e\u65b9\u5f0f 6.\u8fdd\u7ea6\u6761\u6b3e \n\u65b9\u6cd5\uff1a\u7528\u516c\u53f8\u6807\u51c6\u7684\u62a5\u4ef7\u5355\u6837\u5f0f\u5411\u5ba2\u6237\u63d0\u4f9b\u62a5\u4ef7\u3002"},{"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"},{"key":9,"name":"\u7b7e\u8ba2\u5408\u540c","description":"\u5b9a\u4e49\uff1a\u786e\u8ba4\u4ea7\u54c1\u914d\u7f6e\uff0c\u4ea7\u54c1\u6570\u91cf\uff0c\u4ea7\u54c1\u4ef7\u683c\uff0c\u4ed8\u6b3e\u65b9\u5f0f\uff0c\u5230\u8d27\u65e5\u671f\uff0c\u8fdd\u7ea6\u6761\u6b3e\uff0c\u9a8c\u6536\u6807\u51c6\u3002 \n\u65b9\u6cd5\uff1a\u6309\u7167\u516c\u53f8\u5408\u540c\u8303\u672c\u6216\u6309\u7167\u5ba2\u6237\u8303\u672c\u7b7e\u8ba2\u5408\u540c\u3002"},{"key":10,"name":"\u4ea4\u8d27\u4e2d","description":"\u5b9a\u4e49\uff1a\u5ba2\u6237\u7b7e\u7f72\u7b7e\u6536\u5355\uff0c\u7b7e\u7f72\u9a8c\u6536\u5355 \n\u65b9\u6cd5\uff1a\u8d27\u5230\u5ba2\u6237\u6307\u5b9a\u5730\u70b9\u7b7e\u7f72\u7b7e\u6536\u5355\uff0c \u5b89\u88c5\u90e8\u7f72\u5b8c\u6210\u7b7e\u7f72\u9a8c\u6536\u5355\u3002"},{"key":49,"name":"\u6536\u6b3e\u4e2d","description":"\u5b9a\u4e49\uff1a\u5f00\u53d1\u7968\uff0c\u5b8c\u6210\u6536\u6b3e \u3002\n\u65b9\u6cd5\uff1a\u5411\u8d22\u52a1\u7533\u8bf7\u5f00\u53d1\u7968\u3002"}]},"Projects[project_status]":{"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"}]},"ProjectArchitects[engineer_id]":{"key":"ProjectArchitects[engineer_id]","name":"\u552e\u524d\u652f\u6301","value":[{"id":5085,"key":5085,"name":"\u970d\u4e1c\u9633","department_id":2,"pinyin_shortcut":"hdy"},{"id":5248,"key":5248,"name":"\u6587\u4f73\u9f99","department_id":2,"pinyin_shortcut":"wjl"},{"id":1015,"key":1015,"name":"\u5434\u660a","department_id":2,"pinyin_shortcut":"wh"},{"id":1022,"key":1022,"name":"\u5f90\u7855","department_id":2,"pinyin_shortcut":"xs"},{"id":5064,"key":5064,"name":"\u59da\u96ea\u7eaf","department_id":10,"pinyin_shortcut":"yxc"},{"id":1023,"key":1023,"name":"\u5468\u5b50\u5065","department_id":2,"pinyin_shortcut":"zzj"}]},"Projects[contract_type]":{"key":"Projects[contract_type]","name":"\u5408\u540c\u7c7b\u578b","value":[{"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},{"key":2,"name":"\u8fd0\u7ef4\u670d\u52a1"}]},"Projects[payment_collection_remind_ahead]":{"key":"Projects[payment_collection_remind_ahead]","name":"\u6536\u6b3e\u63d0\u9192\u65f6\u95f4","value":[{"key":"","name":"\u4e0d\u63d0\u9192"},{"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"}]},"Projects[projectUsedClient][remind_ahead]":{"key":"Projects[projectUsedClient][remind_ahead]","name":"\u7528\u6237\u6536\u6b3e\u63d0\u9192\u65f6\u95f4","value":[{"key":"","name":"\u4e0d\u63d0\u9192"},{"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"}]},"Projects[projectRemindReceivers]":{"key":"Projects[projectRemindReceivers]","name":" \u6284\u9001\u4eba","value":[{"id":4,"key":4,"name":"\u603b\u7ecf\u7406","child":[{"id":1001,"key":1001,"name":"\u5218\u4eba\u8bda","department_id":4,"pinyin_shortcut":"lrc","avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}}]},{"id":1,"key":1,"name":"\u9500\u552e\u90e8","child":[{"id":5332,"key":5332,"name":"\u970d\u536b\u8d85","department_id":1,"pinyin_shortcut":"hwc","avatar":{"id":148,"user_id":5332,"name":"\/files\/cdn\/a57be577deb434\/avatar\/3a3eda91-ddc9-3633-8071-70a4c3d7180c.png"}},{"id":5087,"key":5087,"name":"\u5218\u5fae","department_id":1,"pinyin_shortcut":"lw","avatar":{"id":62,"user_id":5087,"name":"\/files\/cdn\/a57be577deb434\/avatar\/06f75b3a-7b6c-37a8-81c0-b2934104daa7.png"}},{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91","department_id":1,"pinyin_shortcut":"sqy","avatar":{"id":141,"user_id":5300,"name":"\/files\/cdn\/a57be577deb434\/avatar\/14dfd1a0-6df5-354a-8afd-f0a76fa8e852.png"}},{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587","department_id":1,"pinyin_shortcut":"wzw","avatar":{"id":137,"user_id":5295,"name":"\/files\/cdn\/a57be577deb434\/avatar\/85c67d90-6989-3d4e-bbf8-31d69b6e8ffe.jpg"}},{"id":5476,"key":5476,"name":"\u6768\u5dcd","department_id":1,"pinyin_shortcut":"yw","avatar":{}},{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0","department_id":1,"pinyin_shortcut":"yjc","avatar":{"id":10,"user_id":1004,"name":"\/files\/cdn\/a57be577deb434\/avatar\/1004.jpg"}},{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","department_id":1,"pinyin_shortcut":"zmxsry","avatar":{"id":16,"user_id":1005,"name":"\/files\/cdn\/a57be577deb434\/avatar\/56876dde-37eb-39fc-853a-47eaef6510e5.png"}}]},{"id":2,"key":2,"name":"\u6280\u672f\u90e8","child":[{"id":5085,"key":5085,"name":"\u970d\u4e1c\u9633","department_id":2,"pinyin_shortcut":"hdy","avatar":{"id":51,"user_id":5085,"name":"\/files\/cdn\/a57be577deb434\/avatar\/7423f9b0-25ce-3351-871b-15d81c0dcf0f.jpg"}},{"id":5248,"key":5248,"name":"\u6587\u4f73\u9f99","department_id":2,"pinyin_shortcut":"wjl","avatar":{"id":135,"user_id":5248,"name":"\/files\/cdn\/a57be577deb434\/avatar\/b4458545-7f88-3479-97be-6f43b2b50454.png"}},{"id":1015,"key":1015,"name":"\u5434\u660a","department_id":2,"pinyin_shortcut":"wh","avatar":{"id":12,"user_id":1015,"name":"\/files\/cdn\/a57be577deb434\/avatar\/d69b398a-5951-36e9-a92e-992fe938db26.jpg"}},{"id":1022,"key":1022,"name":"\u5f90\u7855","department_id":2,"pinyin_shortcut":"xs","avatar":{"id":6,"user_id":1022,"name":"\/files\/cdn\/a57be577deb434\/avatar\/2b5ec94d-d83c-38b4-ac3a-38720c369f91.png"}},{"id":1023,"key":1023,"name":"\u5468\u5b50\u5065","department_id":2,"pinyin_shortcut":"zzj","avatar":{"id":4,"user_id":1023,"name":"\/files\/cdn\/a57be577deb434\/avatar\/1023.jpg"}}]},{"id":3,"key":3,"name":"\u5546\u52a1\u90e8","child":[{"id":1011,"key":1011,"name":"\u97e9\u96c5\u82b3","department_id":3,"pinyin_shortcut":"hyf","avatar":{"id":17,"user_id":1011,"name":"\/files\/cdn\/a57be577deb434\/avatar\/b54747f4-248d-380e-93bc-0f62f769e70d.png"}},{"id":5360,"key":5360,"name":"\u5f20\u7ea2\u82b3","department_id":3,"pinyin_shortcut":"zhf","avatar":{"id":153,"user_id":5360,"name":"\/files\/cdn\/a57be577deb434\/avatar\/612c2410-e800-3507-aa05-3f1fbeb408a7.png"}}]},{"id":9,"key":9,"name":"\u9879\u76ee\u90e8","child":[{"id":5311,"key":5311,"name":"\u62d3\u5b9e\u79d1\u6280","department_id":9,"pinyin_shortcut":"tskj","avatar":{"id":149,"user_id":5311,"name":"\/files\/cdn\/a57be577deb434\/avatar\/1a32eee2-9465-3c88-9077-5c6d1cc5e8b3.jpg"}}]},{"id":8,"key":8,"name":"\u4eba\u529b\u8d44\u6e90","child":[{"id":5446,"key":5446,"name":"\u5218\u5a1f","department_id":8,"pinyin_shortcut":"lj","avatar":{"id":164,"user_id":5446,"name":"\/files\/cdn\/a57be577deb434\/avatar\/5631bbfb-fa6e-308e-b87c-b159e8042209.jpg"}}]},{"id":6,"key":6,"name":"\u8d22\u52a1\u90e8","child":[{"id":5252,"key":5252,"name":"\u738b\u7b11\u7b11","department_id":6,"pinyin_shortcut":"wxx","avatar":{"id":101,"user_id":5252,"name":"\/files\/cdn\/a57be577deb434\/avatar\/f5529321-408e-3d11-aa95-9b0a384f2d9c.png"}}]},{"id":7,"key":7,"name":"\u5e93\u623f\u90e8","child":[{"id":1013,"key":1013,"name":"\u7fc1\u5bb6\u6210","department_id":7,"pinyin_shortcut":"wjc","avatar":{"id":34,"user_id":1013,"name":"\/files\/cdn\/a57be577deb434\/avatar\/25ef1fe7-8dda-3daa-b8ea-9fabd0a47439.png"}}]},{"id":10,"key":10,"name":"\u8f6f\u4ef6\u5f00\u53d1","child":[{"id":1000,"key":1000,"name":"\u66f9\u6c38\u751f","department_id":10,"pinyin_shortcut":"cys","avatar":{"id":1,"user_id":1000,"name":"\/files\/cdn\/\/avatar\/618545c1-a2ce-3918-9d51-25924baf6d6f.jpg"}},{"id":5250,"key":5250,"name":"\u8463\u8363","department_id":10,"pinyin_shortcut":"dr","avatar":{"id":157,"user_id":5250,"name":"\/files\/cdn\/a57be577deb434\/avatar\/10f9a0d9-7ea7-3910-9465-6ece76a0dae4.png"}},{"id":5016,"key":5016,"name":"\u9ad8\u90e1\u9633","department_id":10,"pinyin_shortcut":"gjy","avatar":{"id":35,"user_id":5016,"name":"\/files\/cdn\/a57be577deb434\/avatar\/404e0bcf-6382-3f63-b93b-4d936f35a4b2.png"}},{"id":5461,"key":5461,"name":"\u8096\u5e05","department_id":10,"pinyin_shortcut":"xs","avatar":{"id":165,"user_id":5461,"name":"\/files\/cdn\/\/avatar\/5f0c67fa-c4d4-3b8c-abca-523e5598dc8c.png"}},{"id":5064,"key":5064,"name":"\u59da\u96ea\u7eaf","department_id":10,"pinyin_shortcut":"yxc","avatar":{"id":38,"user_id":5064,"name":"\/files\/cdn\/a57be577deb434\/avatar\/5bec09dc-1f7a-3542-89a2-cedfefb3fded.png"}}]}]},"Projects[salesContractPaymentCollectionRemindReceivers]":{"key":"Projects[salesContractPaymentCollectionRemindReceivers]","name":"\u6536\u6b3e\u63d0\u9192\u4eba","value":[{"id":4,"key":4,"name":"\u603b\u7ecf\u7406","child":[{"id":1001,"key":1001,"name":"\u5218\u4eba\u8bda","department_id":4,"pinyin_shortcut":"lrc","avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}}]},{"id":1,"key":1,"name":"\u9500\u552e\u90e8","child":[{"id":5332,"key":5332,"name":"\u970d\u536b\u8d85","department_id":1,"pinyin_shortcut":"hwc","avatar":{"id":148,"user_id":5332,"name":"\/files\/cdn\/a57be577deb434\/avatar\/3a3eda91-ddc9-3633-8071-70a4c3d7180c.png"}},{"id":5087,"key":5087,"name":"\u5218\u5fae","department_id":1,"pinyin_shortcut":"lw","avatar":{"id":62,"user_id":5087,"name":"\/files\/cdn\/a57be577deb434\/avatar\/06f75b3a-7b6c-37a8-81c0-b2934104daa7.png"}},{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91","department_id":1,"pinyin_shortcut":"sqy","avatar":{"id":141,"user_id":5300,"name":"\/files\/cdn\/a57be577deb434\/avatar\/14dfd1a0-6df5-354a-8afd-f0a76fa8e852.png"}},{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587","department_id":1,"pinyin_shortcut":"wzw","avatar":{"id":137,"user_id":5295,"name":"\/files\/cdn\/a57be577deb434\/avatar\/85c67d90-6989-3d4e-bbf8-31d69b6e8ffe.jpg"}},{"id":5476,"key":5476,"name":"\u6768\u5dcd","department_id":1,"pinyin_shortcut":"yw","avatar":{}},{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0","department_id":1,"pinyin_shortcut":"yjc","avatar":{"id":10,"user_id":1004,"name":"\/files\/cdn\/a57be577deb434\/avatar\/1004.jpg"}},{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","department_id":1,"pinyin_shortcut":"zmxsry","avatar":{"id":16,"user_id":1005,"name":"\/files\/cdn\/a57be577deb434\/avatar\/56876dde-37eb-39fc-853a-47eaef6510e5.png"}}]},{"id":2,"key":2,"name":"\u6280\u672f\u90e8","child":[{"id":5085,"key":5085,"name":"\u970d\u4e1c\u9633","department_id":2,"pinyin_shortcut":"hdy","avatar":{"id":51,"user_id":5085,"name":"\/files\/cdn\/a57be577deb434\/avatar\/7423f9b0-25ce-3351-871b-15d81c0dcf0f.jpg"}},{"id":5248,"key":5248,"name":"\u6587\u4f73\u9f99","department_id":2,"pinyin_shortcut":"wjl","avatar":{"id":135,"user_id":5248,"name":"\/files\/cdn\/a57be577deb434\/avatar\/b4458545-7f88-3479-97be-6f43b2b50454.png"}},{"id":1015,"key":1015,"name":"\u5434\u660a","department_id":2,"pinyin_shortcut":"wh","avatar":{"id":12,"user_id":1015,"name":"\/files\/cdn\/a57be577deb434\/avatar\/d69b398a-5951-36e9-a92e-992fe938db26.jpg"}},{"id":1022,"key":1022,"name":"\u5f90\u7855","department_id":2,"pinyin_shortcut":"xs","avatar":{"id":6,"user_id":1022,"name":"\/files\/cdn\/a57be577deb434\/avatar\/2b5ec94d-d83c-38b4-ac3a-38720c369f91.png"}},{"id":1023,"key":1023,"name":"\u5468\u5b50\u5065","department_id":2,"pinyin_shortcut":"zzj","avatar":{"id":4,"user_id":1023,"name":"\/files\/cdn\/a57be577deb434\/avatar\/1023.jpg"}}]},{"id":3,"key":3,"name":"\u5546\u52a1\u90e8","child":[{"id":1011,"key":1011,"name":"\u97e9\u96c5\u82b3","department_id":3,"pinyin_shortcut":"hyf","avatar":{"id":17,"user_id":1011,"name":"\/files\/cdn\/a57be577deb434\/avatar\/b54747f4-248d-380e-93bc-0f62f769e70d.png"}},{"id":5360,"key":5360,"name":"\u5f20\u7ea2\u82b3","department_id":3,"pinyin_shortcut":"zhf","avatar":{"id":153,"user_id":5360,"name":"\/files\/cdn\/a57be577deb434\/avatar\/612c2410-e800-3507-aa05-3f1fbeb408a7.png"}}]},{"id":9,"key":9,"name":"\u9879\u76ee\u90e8","child":[{"id":5311,"key":5311,"name":"\u62d3\u5b9e\u79d1\u6280","department_id":9,"pinyin_shortcut":"tskj","avatar":{"id":149,"user_id":5311,"name":"\/files\/cdn\/a57be577deb434\/avatar\/1a32eee2-9465-3c88-9077-5c6d1cc5e8b3.jpg"}}]},{"id":8,"key":8,"name":"\u4eba\u529b\u8d44\u6e90","child":[{"id":5446,"key":5446,"name":"\u5218\u5a1f","department_id":8,"pinyin_shortcut":"lj","avatar":{"id":164,"user_id":5446,"name":"\/files\/cdn\/a57be577deb434\/avatar\/5631bbfb-fa6e-308e-b87c-b159e8042209.jpg"}}]},{"id":6,"key":6,"name":"\u8d22\u52a1\u90e8","child":[{"id":5252,"key":5252,"name":"\u738b\u7b11\u7b11","department_id":6,"pinyin_shortcut":"wxx","avatar":{"id":101,"user_id":5252,"name":"\/files\/cdn\/a57be577deb434\/avatar\/f5529321-408e-3d11-aa95-9b0a384f2d9c.png"}}]},{"id":7,"key":7,"name":"\u5e93\u623f\u90e8","child":[{"id":1013,"key":1013,"name":"\u7fc1\u5bb6\u6210","department_id":7,"pinyin_shortcut":"wjc","avatar":{"id":34,"user_id":1013,"name":"\/files\/cdn\/a57be577deb434\/avatar\/25ef1fe7-8dda-3daa-b8ea-9fabd0a47439.png"}}]},{"id":10,"key":10,"name":"\u8f6f\u4ef6\u5f00\u53d1","child":[{"id":1000,"key":1000,"name":"\u66f9\u6c38\u751f","department_id":10,"pinyin_shortcut":"cys","avatar":{"id":1,"user_id":1000,"name":"\/files\/cdn\/\/avatar\/618545c1-a2ce-3918-9d51-25924baf6d6f.jpg"}},{"id":5250,"key":5250,"name":"\u8463\u8363","department_id":10,"pinyin_shortcut":"dr","avatar":{"id":157,"user_id":5250,"name":"\/files\/cdn\/a57be577deb434\/avatar\/10f9a0d9-7ea7-3910-9465-6ece76a0dae4.png"}},{"id":5016,"key":5016,"name":"\u9ad8\u90e1\u9633","department_id":10,"pinyin_shortcut":"gjy","avatar":{"id":35,"user_id":5016,"name":"\/files\/cdn\/a57be577deb434\/avatar\/404e0bcf-6382-3f63-b93b-4d936f35a4b2.png"}},{"id":5461,"key":5461,"name":"\u8096\u5e05","department_id":10,"pinyin_shortcut":"xs","avatar":{"id":165,"user_id":5461,"name":"\/files\/cdn\/\/avatar\/5f0c67fa-c4d4-3b8c-abca-523e5598dc8c.png"}},{"id":5064,"key":5064,"name":"\u59da\u96ea\u7eaf","department_id":10,"pinyin_shortcut":"yxc","avatar":{"id":38,"user_id":5064,"name":"\/files\/cdn\/a57be577deb434\/avatar\/5bec09dc-1f7a-3542-89a2-cedfefb3fded.png"}}]}]},"Projects[projectUsedClient][projectUsedClientPaymentCollectionRemindReceivers]":{"key":"Projects[projectUsedClient][projectUsedClientPaymentCollectionRemindReceivers]","name":"\u7528\u6237\u6536\u6b3e\u63d0\u9192\u4eba","value":[{"id":4,"key":4,"name":"\u603b\u7ecf\u7406","child":[{"id":1001,"key":1001,"name":"\u5218\u4eba\u8bda","department_id":4,"pinyin_shortcut":"lrc","avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}}]},{"id":1,"key":1,"name":"\u9500\u552e\u90e8","child":[{"id":5332,"key":5332,"name":"\u970d\u536b\u8d85","department_id":1,"pinyin_shortcut":"hwc","avatar":{"id":148,"user_id":5332,"name":"\/files\/cdn\/a57be577deb434\/avatar\/3a3eda91-ddc9-3633-8071-70a4c3d7180c.png"}},{"id":5087,"key":5087,"name":"\u5218\u5fae","department_id":1,"pinyin_shortcut":"lw","avatar":{"id":62,"user_id":5087,"name":"\/files\/cdn\/a57be577deb434\/avatar\/06f75b3a-7b6c-37a8-81c0-b2934104daa7.png"}},{"id":5300,"key":5300,"name":"\u82cf\u6e05\u4e91","department_id":1,"pinyin_shortcut":"sqy","avatar":{"id":141,"user_id":5300,"name":"\/files\/cdn\/a57be577deb434\/avatar\/14dfd1a0-6df5-354a-8afd-f0a76fa8e852.png"}},{"id":5295,"key":5295,"name":"\u9b4f\u6cfd\u6587","department_id":1,"pinyin_shortcut":"wzw","avatar":{"id":137,"user_id":5295,"name":"\/files\/cdn\/a57be577deb434\/avatar\/85c67d90-6989-3d4e-bbf8-31d69b6e8ffe.jpg"}},{"id":5476,"key":5476,"name":"\u6768\u5dcd","department_id":1,"pinyin_shortcut":"yw","avatar":{}},{"id":1004,"key":1004,"name":"\u4f0a\u5cfb\u8fb0","department_id":1,"pinyin_shortcut":"yjc","avatar":{"id":10,"user_id":1004,"name":"\/files\/cdn\/a57be577deb434\/avatar\/1004.jpg"}},{"id":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","department_id":1,"pinyin_shortcut":"zmxsry","avatar":{"id":16,"user_id":1005,"name":"\/files\/cdn\/a57be577deb434\/avatar\/56876dde-37eb-39fc-853a-47eaef6510e5.png"}}]},{"id":2,"key":2,"name":"\u6280\u672f\u90e8","child":[{"id":5085,"key":5085,"name":"\u970d\u4e1c\u9633","department_id":2,"pinyin_shortcut":"hdy","avatar":{"id":51,"user_id":5085,"name":"\/files\/cdn\/a57be577deb434\/avatar\/7423f9b0-25ce-3351-871b-15d81c0dcf0f.jpg"}},{"id":5248,"key":5248,"name":"\u6587\u4f73\u9f99","department_id":2,"pinyin_shortcut":"wjl","avatar":{"id":135,"user_id":5248,"name":"\/files\/cdn\/a57be577deb434\/avatar\/b4458545-7f88-3479-97be-6f43b2b50454.png"}},{"id":1015,"key":1015,"name":"\u5434\u660a","department_id":2,"pinyin_shortcut":"wh","avatar":{"id":12,"user_id":1015,"name":"\/files\/cdn\/a57be577deb434\/avatar\/d69b398a-5951-36e9-a92e-992fe938db26.jpg"}},{"id":1022,"key":1022,"name":"\u5f90\u7855","department_id":2,"pinyin_shortcut":"xs","avatar":{"id":6,"user_id":1022,"name":"\/files\/cdn\/a57be577deb434\/avatar\/2b5ec94d-d83c-38b4-ac3a-38720c369f91.png"}},{"id":1023,"key":1023,"name":"\u5468\u5b50\u5065","department_id":2,"pinyin_shortcut":"zzj","avatar":{"id":4,"user_id":1023,"name":"\/files\/cdn\/a57be577deb434\/avatar\/1023.jpg"}}]},{"id":3,"key":3,"name":"\u5546\u52a1\u90e8","child":[{"id":1011,"key":1011,"name":"\u97e9\u96c5\u82b3","department_id":3,"pinyin_shortcut":"hyf","avatar":{"id":17,"user_id":1011,"name":"\/files\/cdn\/a57be577deb434\/avatar\/b54747f4-248d-380e-93bc-0f62f769e70d.png"}},{"id":5360,"key":5360,"name":"\u5f20\u7ea2\u82b3","department_id":3,"pinyin_shortcut":"zhf","avatar":{"id":153,"user_id":5360,"name":"\/files\/cdn\/a57be577deb434\/avatar\/612c2410-e800-3507-aa05-3f1fbeb408a7.png"}}]},{"id":9,"key":9,"name":"\u9879\u76ee\u90e8","child":[{"id":5311,"key":5311,"name":"\u62d3\u5b9e\u79d1\u6280","department_id":9,"pinyin_shortcut":"tskj","avatar":{"id":149,"user_id":5311,"name":"\/files\/cdn\/a57be577deb434\/avatar\/1a32eee2-9465-3c88-9077-5c6d1cc5e8b3.jpg"}}]},{"id":8,"key":8,"name":"\u4eba\u529b\u8d44\u6e90","child":[{"id":5446,"key":5446,"name":"\u5218\u5a1f","department_id":8,"pinyin_shortcut":"lj","avatar":{"id":164,"user_id":5446,"name":"\/files\/cdn\/a57be577deb434\/avatar\/5631bbfb-fa6e-308e-b87c-b159e8042209.jpg"}}]},{"id":6,"key":6,"name":"\u8d22\u52a1\u90e8","child":[{"id":5252,"key":5252,"name":"\u738b\u7b11\u7b11","department_id":6,"pinyin_shortcut":"wxx","avatar":{"id":101,"user_id":5252,"name":"\/files\/cdn\/a57be577deb434\/avatar\/f5529321-408e-3d11-aa95-9b0a384f2d9c.png"}}]},{"id":7,"key":7,"name":"\u5e93\u623f\u90e8","child":[{"id":1013,"key":1013,"name":"\u7fc1\u5bb6\u6210","department_id":7,"pinyin_shortcut":"wjc","avatar":{"id":34,"user_id":1013,"name":"\/files\/cdn\/a57be577deb434\/avatar\/25ef1fe7-8dda-3daa-b8ea-9fabd0a47439.png"}}]},{"id":10,"key":10,"name":"\u8f6f\u4ef6\u5f00\u53d1","child":[{"id":1000,"key":1000,"name":"\u66f9\u6c38\u751f","department_id":10,"pinyin_shortcut":"cys","avatar":{"id":1,"user_id":1000,"name":"\/files\/cdn\/\/avatar\/618545c1-a2ce-3918-9d51-25924baf6d6f.jpg"}},{"id":5250,"key":5250,"name":"\u8463\u8363","department_id":10,"pinyin_shortcut":"dr","avatar":{"id":157,"user_id":5250,"name":"\/files\/cdn\/a57be577deb434\/avatar\/10f9a0d9-7ea7-3910-9465-6ece76a0dae4.png"}},{"id":5016,"key":5016,"name":"\u9ad8\u90e1\u9633","department_id":10,"pinyin_shortcut":"gjy","avatar":{"id":35,"user_id":5016,"name":"\/files\/cdn\/a57be577deb434\/avatar\/404e0bcf-6382-3f63-b93b-4d936f35a4b2.png"}},{"id":5461,"key":5461,"name":"\u8096\u5e05","department_id":10,"pinyin_shortcut":"xs","avatar":{"id":165,"user_id":5461,"name":"\/files\/cdn\/\/avatar\/5f0c67fa-c4d4-3b8c-abca-523e5598dc8c.png"}},{"id":5064,"key":5064,"name":"\u59da\u96ea\u7eaf","department_id":10,"pinyin_shortcut":"yxc","avatar":{"id":38,"user_id":5064,"name":"\/files\/cdn\/a57be577deb434\/avatar\/5bec09dc-1f7a-3542-89a2-cedfefb3fded.png"}}]}]}}},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}],"mod":0,"ip":"221.216.117.25","ua":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.15; rv:151.0) Gecko\/20100101 Firefox\/151.0"}', FALSE, '2026-06-15 15:13:17', 351922944) RETURNING "id"
15:13:17.282traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
15:13:17.283traceyii\redis\Connection::executeCommandExecuting Redis Command: SET