Log Messages

总计124条数据
TimeLevelCategoryMessage
 
16:36:50.027traceyii\base\Application::bootstrapBootstrap with yii\log\Dispatcher
16:36:50.027traceyii\base\Module::getModuleLoading module: debug
16:36:50.028traceyii\base\Application::bootstrapBootstrap with yii\debug\Module::bootstrap()
16:36:50.028traceyii\redis\Connection::openOpening redis DB connection: redis.server.local:6379, database=1
16:36:50.028traceyii\redis\Connection::executeCommandExecuting Redis Command: SELECT
16:36:50.028traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:36:50.028infotime tracing start1780130210028713984
16:36:50.028traceyii\web\UrlManager::parseRequestNo matching URL rules. Using default URL parsing logic.
16:36:50.028traceyii\web\Application::handleRequestRoute requested: 'v2/project/list'
16:36:50.028traceyii\base\Module::getModuleLoading module: v2
16:36:50.029infoyii\web\Session::openSession started
16:36:50.029infoyii\db\Connection::openOpening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta
16:36:50.030infoyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "access_token"='ONv_OQ6eSOxFL2I62K1e82WGipv8fS1S'
16:36:50.030traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:36:50.031traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:36:50.031traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:36:50.031traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:36:50.031infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1000
16:36:50.032traceyii\base\Controller::runActionRoute to run: v2/project/list
16:36:50.032traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:36:50.033traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
16:36:50.033traceyii\base\InlineAction::runWithParamsRunning action: app\modules\v2\controllers\ProjectController::actionList()
16:36:50.036traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:36:50.036infoyii\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_projects' and d.nspname = 'a57be577deb434' ORDER BY a.attnum;
16:36:50.041infoyii\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_projects' and ns.nspname='a57be577deb434' order by fns.nspname, fc.relname, a.attnum
16:36:50.059traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:36:50.059traceyii\redis\Connection::executeCommandExecuting Redis Command: SET
16:36:50.062traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:36:50.063traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:36:50.064infoyii\db\Command::querySELECT COUNT(*) FROM (SELECT p.*, (p.budget / 100 * p.profit_pct) as profits, now() - status_updated_at as remain, now() - progress_updated_at as progress_remain, now() - forecast_updated_at as forecast_remain, extract(epoch from (now() - max(sl.end_at))) / 86400 AS lost_contact_days, max(sl.end_at) as last_contact, extract(epoch from (now() - max(arrive.end_at))) / 86400 AS last_arrive_days, max(arrive.end_at) as last_arrive, case when p.end_at IS NOT NULL THEN p.end_at - p.created_at ELSE now() - p.created_at END as duration, (SELECT sum(amount) FROM a57be577deb434.tbl_invoices i WHERE i.project_id = p.id) as issued_invoices FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_project_remind_receivers" "prr" ON prr.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_clients" "usedclient" ON p.used_client = usedclient.id LEFT JOIN "a57be577deb434"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "a57be577deb434"."tbl_work_logs" "arrive" ON (arrive.project_id = p.id) AND ("arrive"."scenario_id"=1) AND ("arrive"."is_draft"=FALSE) AND ("arrive"."location_in_id" IS NOT NULL) AND ("arrive"."location_out_id" IS NOT NULL) AND ("arrive"."client_id" IS NOT NULL) LEFT JOIN "a57be577deb434"."tbl_work_logs" "sl" ON sl.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = p.id AND ttr.term_id = 10 LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr2" ON ttr2.object_id = p.id AND ttr2.term_id = 13 LEFT JOIN "a57be577deb434"."tbl_project_architects" "pa" ON "pa"."project_id" = "p"."id" LEFT JOIN "a57be577deb434"."tbl_engineer_group_relationships" "egr" ON egr.engineer_id = pa.engineer_id WHERE ("c"."deleted"=FALSE) AND (c.id is not null) AND ((c.sales_rep IS NULL) OR ("c"."sales_rep" IN (5049, 5301, 5022, 5209, 5026, 5293, 5309, 5356, 5329, 5299, 5303, 5302, 5332, 5047, 1026, 5096, 5070, 5448, 5420, 1029, 1001, 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, 5409, 5412, 5229, 1005, 5304, 5449, 5358, 1006, 5093)) OR ("prr"."user_id"=1000) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1000))) GROUP BY "p"."id" ORDER BY "p"."updated_at" DESC) "c"
16:36:50.100infoyii\db\Command::querySELECT p.*, (p.budget / 100 * p.profit_pct) as profits, now() - status_updated_at as remain, now() - progress_updated_at as progress_remain, now() - forecast_updated_at as forecast_remain, extract(epoch from (now() - max(sl.end_at))) / 86400 AS lost_contact_days, max(sl.end_at) as last_contact, extract(epoch from (now() - max(arrive.end_at))) / 86400 AS last_arrive_days, max(arrive.end_at) as last_arrive, case when p.end_at IS NOT NULL THEN p.end_at - p.created_at ELSE now() - p.created_at END as duration, (SELECT sum(amount) FROM a57be577deb434.tbl_invoices i WHERE i.project_id = p.id) as issued_invoices FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_project_remind_receivers" "prr" ON prr.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN "a57be577deb434"."tbl_clients" "usedclient" ON p.used_client = usedclient.id LEFT JOIN "a57be577deb434"."tbl_sales_group_relationships" "sgr" ON sgr.sales_id = c.sales_rep LEFT JOIN "a57be577deb434"."tbl_work_logs" "arrive" ON (arrive.project_id = p.id) AND ("arrive"."scenario_id"=1) AND ("arrive"."is_draft"=FALSE) AND ("arrive"."location_in_id" IS NOT NULL) AND ("arrive"."location_out_id" IS NOT NULL) AND ("arrive"."client_id" IS NOT NULL) LEFT JOIN "a57be577deb434"."tbl_work_logs" "sl" ON sl.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr" ON ttr.object_id = p.id AND ttr.term_id = 10 LEFT JOIN "a57be577deb434"."tbl_term_taxonomy_relationships" "ttr2" ON ttr2.object_id = p.id AND ttr2.term_id = 13 LEFT JOIN "a57be577deb434"."tbl_project_architects" "pa" ON "pa"."project_id" = "p"."id" LEFT JOIN "a57be577deb434"."tbl_engineer_group_relationships" "egr" ON egr.engineer_id = pa.engineer_id WHERE ("c"."deleted"=FALSE) AND (c.id is not null) AND ((c.sales_rep IS NULL) OR ("c"."sales_rep" IN (5049, 5301, 5022, 5209, 5026, 5293, 5309, 5356, 5329, 5299, 5303, 5302, 5332, 5047, 1026, 5096, 5070, 5448, 5420, 1029, 1001, 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, 5409, 5412, 5229, 1005, 5304, 5449, 5358, 1006, 5093)) OR ("prr"."user_id"=1000) OR ("c"."id" IN (SELECT "client_id" FROM "a57be577deb434"."tbl_user_visit_clients" WHERE "user_id"=1000))) GROUP BY "p"."id" ORDER BY "p"."updated_at" DESC LIMIT 10
16:36:50.159infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "logo", "client_type", "client_class", "client_industry", "sales_rep" FROM "a57be577deb434"."tbl_clients" WHERE "id" IN (982, 3389, 3304, 2150, 3009, 2593, 2128)
16:36:50.159infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id" IN (1001, 5087)
16:36:50.160infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id" IN (1001, 5087))
16:36:50.160infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_client_types" WHERE "id" IN (5, 6, 3)
16:36:50.160infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "notice_days", "color" FROM "a57be577deb434"."tbl_client_classes" WHERE "id" IN (43, 1, 47)
16:36:50.161infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_client_industries" WHERE "id" IN (18, 4, 57, 20, 10, 13)
16:36:50.161infoyii\db\Command::querySELECT "id", "id" AS "key", "type" AS "name" FROM "a57be577deb434"."tbl_contract_types" WHERE "id"=1
16:36:50.163infoyii\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" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854) ORDER BY "contribution" DESC, "engineer_id"
16:36:50.163traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:36:50.163infoyii\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_project_architects' and d.nspname = 'a57be577deb434' ORDER BY a.attnum;
16:36:50.166infoyii\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_project_architects' and ns.nspname='a57be577deb434' order by fns.nspname, fc.relname, a.attnum
16:36:50.180traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:36:50.180traceyii\redis\Connection::executeCommandExecuting Redis Command: SET
16:36:50.180infoyii\db\Command::querySELECT "id", "id" AS "key", "project_status" AS "name", "color" FROM "a57be577deb434"."tbl_project_statuses" WHERE "id" IN (3, 2, 5)
16:36:50.180infoyii\db\Command::querySELECT "id", "id" AS "key", "project_progress" AS "name", "description" FROM "a57be577deb434"."tbl_project_progresses" WHERE "id" IN (9, 2, 6, 5, 3)
16:36:50.182infoyii\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" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)
16:36:50.184infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)
16:36:50.185infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "description" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=13) AND ("id" IN (1, 226, 5, 215, 2, 135, 136, 197, 199, 307, 203, 205, 204, 196, 184, 189, 340, 349, 356, 359, 377, 437, 165, 142, 128, 181, 164, 172, 130)) ORDER BY "sort"
16:36:50.186infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)
16:36:50.186infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=10) AND ("id" IN (1, 226, 5, 215, 2, 135, 136, 197, 199, 307, 203, 205, 204, 196, 184, 189, 340, 349, 356, 359, 377, 437, 165, 142, 128, 181, 164, 172, 130)) ORDER BY "sort"
16:36:50.187infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_term_taxonomy_relationships" WHERE "object_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)
16:36:50.187infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_term_taxonomies" WHERE ("term_id"=9) AND ("id" IN (1, 226, 5, 215, 2, 135, 136, 197, 199, 307, 203, 205, 204, 196, 184, 189, 340, 349, 356, 359, 377, 437, 165, 142, 128, 181, 164, 172, 130)) ORDER BY "sort"
16:36:50.188infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "a57be577deb434"."tbl_users" WHERE "id" IN (1001, 5087)
16:36:50.188infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id" IN (1001, 5087))
16:36:50.188infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_departments" WHERE "id" IN (4, 1)
16:36:50.188infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "a57be577deb434"."tbl_users" WHERE "id" IN (1001, 1011, 1005, 5064, 5087)
16:36:50.189infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id" IN (1001, 5064, 1011, 5087, 1005))
16:36:50.189infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_clients" WHERE "id" IN (982, 3389, 3304, 2150, 3009, 2593, 2128)
16:36:50.190infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id" IN (1001, 5087)
16:36:50.190infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id" IN (1001, 5087))
16:36:50.190infoyii\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" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854) GROUP BY "c"."project_id"
16:36:50.196traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:36:50.196traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:36:50.196infoyii\db\Command::querySELECT "project_id", count(id) as count FROM "a57be577deb434"."tbl_work_logs" WHERE ("is_draft"=FALSE) AND ("project_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)) GROUP BY "project_id"
16:36:50.196infoyii\db\Command::querySELECT "project_id", count(id) as count FROM "a57be577deb434"."tbl_cases" WHERE "project_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854) GROUP BY "project_id"
16:36:50.198infoyii\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" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)) GROUP BY "project_id"
16:36:50.198infoyii\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" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)) GROUP BY "c"."project_id"
16:36:50.204infoyii\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" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)) GROUP BY "c"."project_id"
16:36:50.206infoyii\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" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)) GROUP BY "project_id"
16:36:50.207infoyii\db\Command::querySELECT "project_id", sum(amount) AS sum FROM "a57be577deb434"."tbl_reimbursements" WHERE ("status" IN (2, 3)) AND ("project_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)) GROUP BY "project_id"
16:36:50.208infoyii\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" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)
16:36:50.219infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_attachement_relationships" WHERE ("object_type"=105) AND ("object_id" IN (4476, 4478, 4479, 4480, 4481))
16:36:50.222infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_attachement_relationships" WHERE ("object_type"=106) AND ("object_id" IN (4476, 4478, 4479, 4480, 4481))
16:36:50.224infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_attachement_relationships" WHERE ("object_type"=107) AND ("object_id" IN (4476, 4478, 4479, 4480, 4481))
16:36:50.226infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_collect_tickets" WHERE ("status"=2) AND ("sales_contract_id" IN (4476, 4478, 4479, 4480, 4481)) ORDER BY "id" DESC
16:36:50.228infoyii\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" IN (4476, 4478, 4479, 4480, 4481) ORDER BY "id" DESC
16:36:50.236infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
16:36:50.236infoyii\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" IN (4476, 4478, 4479, 4480, 4481) ORDER BY "id"
16:36:50.238infoyii\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" IN (4476, 4478, 4479, 4480, 4481) ORDER BY "remind_date"
16:36:50.241infoyii\db\Command::querySELECT "id", "user_id", "user_id" AS "key", "contract_id" FROM "a57be577deb434"."tbl_sales_contract_payment_collection_remind_receivers" WHERE "contract_id" IN (4476, 4478, 4479, 4480, 4481)
16:36:50.243infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
16:36:50.244infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1001)
16:36:50.244infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_sales_supplier_rels" WHERE "contract_id" IN (4476, 4478, 4479, 4480, 4481)
16:36:50.255infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_suppliers" WHERE "id"=431
16:36:50.258infoyii\db\Command::querySELECT "id", "id" AS "key", "serial_no" FROM "a57be577deb434"."tbl_purchase_contracts" WHERE "id"=4475
16:36:50.260infoyii\db\Command::querySELECT "id", "user_id", "user_id" AS "key", "project_id" FROM "a57be577deb434"."tbl_project_remind_receivers" WHERE "project_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)
16:36:50.261infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex" FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
16:36:50.261infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1001)
16:36:50.261infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_product_rels" WHERE "project_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854) ORDER BY "id"
16:36:50.266infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_products" WHERE "id" IN (2268, 1528, 2261, 1372, 2265, 2263, 2266, 2177, 1562, 2171)
16:36:50.268infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_types" WHERE "id" IN (7, 21, 4, 23, 3, 5)
16:36:50.269infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_components" WHERE "id" IN (159, 229, 29, 52, 195, 221, 14, 36, 43, 139)
16:36:50.269infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_brands" WHERE "id" IN (270, 285, 12, 4, 284, 286, 27, 8, 134)
16:36:50.269infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_series" WHERE "id" IN (1724, 1782, 525, 1769, 1775, 1783, 1785, 1244, 1047, 1730)
16:36:50.273infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_product_units" WHERE "id" IN (2, 3, 9, 1, 6)
16:36:50.274infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_sales_order_products" WHERE "id" IN (2246, 2242, 2239, 2240, 2236, 2237, 2233, 2238, 2235, 2241, 2243, 2245)
16:36:50.276infoyii\db\Command::querySELECT "object_id", count(*) as comment FROM "a57be577deb434"."tbl_comments" WHERE ("object_type"=1) AND ("object_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)) GROUP BY "object_id"
16:36:50.299infoyii\db\Command::querySELECT "object_id", count(*) AS unread FROM "a57be577deb434"."tbl_unread_comments" WHERE ("object_type"=1) AND (remind_user_id = 1000 AND is_read = false) AND ("object_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)) GROUP BY "object_id"
16:36:50.317infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "client_id", "supplier_id" FROM "a57be577deb434"."tbl_contacts" WHERE "id"=5957
16:36:50.317infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_contact_mobiles" WHERE "contact_id"=5957
16:36:50.318infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_suppliers" WHERE "id"=100
16:36:50.319infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_contact_points" WHERE "project_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)
16:36:50.320infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_sales_orders" WHERE ("status" IN (2, 5)) AND ("project_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854))
16:36:50.321infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_used_clients" WHERE "project_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854)
16:36:50.326infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_used_client_payment_collection_remind_receivers" WHERE "project_used_client_id"=310
16:36:50.327infoyii\db\Command::querySELECT "id", "id" AS "key", "project_used_client_id", "remind_date", "amount", "remind_date" AS "name", "amount" AS "value", "overdue_days" FROM "a57be577deb434"."tbl_project_used_client_payment_collection_remind_dates" WHERE "project_used_client_id"=310
16:36:50.329infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_used_client_payments" WHERE "project_used_client_id"=310
16:36:50.330infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_project_used_client_invoices" WHERE "project_used_client_id"=310
16:36:50.331infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_sales_orders" WHERE ("status"=1) AND ("project_id" IN (4155, 4172, 4171, 4170, 4151, 4169, 4168, 4144, 4167, 3854))
16:36:50.332traceuranus\rbac\DbManager::checkAccessFromCacheChecking permission: viewProduct
16:36:50.332traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: StoreKeeper
16:36:50.332traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
16:36:50.332infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"='1001'
16:36:50.332infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1001)
16:36:50.333infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"='1001'
16:36:50.333infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1001)
16:36:50.334infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id" IN ('1001', '5087')
16:36:50.334infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id" IN (1001, 5087))
16:36:50.334infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"='1001'
16:36:50.335infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id"=1001)
16:36:50.338traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
16:36:50.338traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
16:36:50.338infoyii\db\Command::queryINSERT INTO "global"."tbl_api_log" ("code", "schema", "user_id", "device_type", "version_code", "url", "request", "response", "php_error", "time", "duration") VALUES (200, 'a57be577deb434', 1000, 6, 176, 'v2/project/list', '{"ProjectSearch":{"keyword":"","projectProductTypes":"","project_progress":"","project_status":"","engineer_id":"","created_by":"","salesForecast":"","period":"","from":"","to":""},"page":"1","pagesize":"10","posttime":"1780130209","access_token":"ONv_OQ6eSOxFL2I62K1e82WGipv8fS1S","device_type":"6","version_code":"176","token":"eb6dfcd36e08e4e748fe5c6e4f5233df"}', '{"code":200,"data":{"list":[{"id":4155,"client_id":982,"project_status":3,"project_progress":9,"budget":"4555","profit_pct":"67","bargain_date":"2026-03-31","description":null,"created_by":1001,"created_at":"2026-03-31 13:59:19","updated_at":"2026-05-25 11:18:55","engineer_id":null,"project_title":"\u6d4b\u8bd5\u65b0\u5efa\u5546\u673a","collected":"0","status_updated_at":"2026-05-25 11:18:55.248857+08","success_rate":null,"comment":"","contract_type":1,"progress_updated_at":"2026-03-31 13:59:19.921319+08","forecast_updated_at":"2026-03-31 13:59:19.921319+08","end_at":"","pinyin_shortcut":"csxjsj","creator":1001,"used_client":null,"from_contact":null,"total_contact_point":null,"paid_contact_point":null,"project_product_version_id":1341,"is_sales_order_ready":false,"collected_plan":0,"change_status_to":null,"is_verify":false,"profits":"3051.8500000000000000","remain":"5 days 05:17:54.852709","progress_remain":"60 days 02:37:30.180247","forecast_remain":"60 days 02:37:30.180247","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"duration":"60 days 02:37:30.180247","issued_invoices":null,"client":{"id":982,"key":982,"name":"\u4e2d\u56fd\u4fe1\u606f\u5b89\u5168\u7814\u7a76\u6240","logo":null,"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":null,"contractType":{"id":1,"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},"projectArchitects":[],"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":3,"product_type_id":3,"key":3,"name":"\u5b58\u50a8\u8bbe\u5907","budget":"4555","pct":"67","profit":"3051.85","project_id":4155}],"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":null,"purchaseType":{"id":165,"key":165,"name":"\u534f\u8bae\u4f9b\u8d27"},"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":null,"workLogCount":null,"caseCount":null,"salesTimeCount":null,"implementTimeCount":null,"presalesTimeCount":null,"engineerTimeCount":null,"reimbursementAmountSum":null,"buildContract":{"id":4481,"from_project":4155,"payment_collection_remind_ahead":"1 day","serial_no":"2026-05-25-003","is_settle":false,"is_deliver":false,"is_outbound":false,"erp_settle_amount":"0","erp_un_settle_amount":"4555","including_tax":true,"amount":"4555","contractScans":[],"receiptScans":[],"verifyScans":[],"erpCollectTickets":[],"salesContractPayments":[],"salesContractInvoices":[],"salesContractPaymentCollectionRemindDates":[],"salesContractPaymentCollectionRemindReceivers":[{"id":10144,"user_id":1001,"key":1001,"contract_id":4481,"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":0},"projectRemindReceivers":[{"id":2189,"user_id":1001,"key":1001,"project_id":4155,"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":12035,"project_id":4155,"product_id":2268,"amount":"4555","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"4555","total_cost":null,"erp_sales_order_product_id":2246,"supplier":null,"product":{"id":2268,"name":"DS1825+","product_type":3,"product_component":14,"product_brand":27,"product_serie":1785,"product_misc":null,"product_qa":null,"pn":"","description":"\u63cf\u8ff0\uff1aDS1825+\u662f\u2f00\u6b3e\u591a\u529f\u80fd\u76848\u6258\u67b6\u5b58\u50a8\uff0cCPU\uff1aAMD Ryzen V1500B 4\u6838\u5fc3 64\u4f4d \u4e3b\u98912.2GHz\uff0c\u5185\u5b58\uff1a8 GB DDR4 ECC SODIMM\uff0c\u6700\u5927\u5185\u5b58\u5bb9\u91cf\uff1a32 GB\uff0816 GB x 2\uff09\uff0c8\u4e2a\u786c\u76d8\u69fd\u4f4d\uff0c2\u4e2aM.2 NVME\u786c\u76d8\u69fd\u4f4d\uff0c\u652f\u6301\u70ed\u63d2\u62d4\u786c\u76d8\uff0c2\u4e2aRJ-45 2.5GbE \u2f79\u2f1d\uff0c3\u4e2aUSB 3.2 Gen 1 \u7aef\u2f1d\uff0c3\u5e74\u786c\u4ef6\u4fdd\u4fee","created_by":1013,"created_at":"2026-03-23 09:31:52","updated_at":"2026-03-31 14:11:48","pinyin_shortcut":"DS1825","product_unit":1,"is_renew":false,"in_out_at":"2026-03-31 14:11:48.533243+08","productType":{"id":3,"key":3,"name":"\u5b58\u50a8\u8bbe\u5907"},"productComponent":{"id":14,"key":14,"name":"\u5b58\u50a8\u4e3b\u673a"},"productBrand":{"id":27,"key":27,"name":"\u7fa4\u6656"},"productSerie":{"id":1785,"key":1785,"name":"DS1825+ NAS\u5b58\u50a8"},"productUnit":{"id":1,"key":1,"name":"\u53f0"}},"erpSalesOrderProduct":{"id":2246,"erp_sales_order_id":1709,"erp_store_id":null,"product_id":2268,"description":"","number":"1","outbound":"0","amount":"4555","total_amount":"4555","last_number":null,"last_amount":null,"last_total_amount":null,"cost":null,"total_cost":null,"supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}}],"commentCount":{"object_id":4155,"comment":2},"unreadComments":null,"fromContact":null,"projectContactPoints":[],"erpSalesOrder":{"id":1709,"serial_no":"XSDD-20260525-00003","from_date":null,"wrote_date":"2026-03-31","handler":1001,"client_id":982,"purchase_contract_id":null,"project_id":4155,"sales_contract_id":4481,"erp_store_id":null,"status":2,"erp_send_type_id":null,"abstract":null,"description":null,"verify_type":2,"next_verify_user":null,"next_stop_verify_user":null,"next_cancel_verify_user":null,"verify_at":"2026-05-25 11:18:55","stop_at":null,"cancel_at":null,"refuse_description":null,"is_resubmitted":false,"is_done":false,"number":"1","amount":"4555","created_by":1001,"stop_description":null,"extra":"{\"payment_collection_remind_ahead\":\"1 day\",\"salesContractPaymentCollectionRemindReceivers\":[\"1001\"],\"salesContractPaymentCollectionRemindDates\":null}","outbound_status":false,"is_used":false,"is_cancel":false,"is_settle":false,"is_old":false,"created_at":"2026-05-25 11:18:55","updated_at":"2026-05-25 11:18:55","print_times":null},"projectUsedClient":null,"erpSalesOrderVerify":null,"remain_display":5,"progress_remain_display":60,"forecast_remain_display":60,"projectProductTotalAmount":4555,"projectProductAllAmount":true,"projectProductTotalCost":0,"projectProductAllCost":false,"projectProductTotalNumber":1,"unissued_invoice":4555,"is_exceeded":false,"can_update":true,"can_delete":true,"unread":0,"last_arrive_days_display":null,"project_status_display":"\u5546\u673a\u6210\u4ea4","is_collected":false,"bgcolor":"#53cd02","can_invoice":true,"can_payment":true,"duration_display":60,"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":"4555","contact_points_status_display":"\u672a\u8bbe\u7f6e","total_contact_paid_point":0,"total_contact_un_paid_point":0,"verify_display":0,"un_collected":"4555","un_invoiced":4555,"object_type":1},{"id":4172,"client_id":3389,"project_status":3,"project_progress":2,"budget":"18000","profit_pct":"80","bargain_date":"2026-05-25","description":"","created_by":1001,"created_at":"2026-05-25 10:12:46","updated_at":"2026-05-25 10:12:46","engineer_id":null,"project_title":"\u63a8\u7279\u5982\u56fe","collected":"0","status_updated_at":"2026-05-25 10:12:46.312323+08","success_rate":null,"comment":"","contract_type":1,"progress_updated_at":"2026-05-25 10:12:46.312323+08","forecast_updated_at":"2026-05-25 10:12:46.312323+08","end_at":"","pinyin_shortcut":"ttrt","creator":1001,"used_client":null,"from_contact":null,"total_contact_point":null,"paid_contact_point":null,"project_product_version_id":1374,"is_sales_order_ready":false,"collected_plan":0,"change_status_to":null,"is_verify":false,"profits":"14400.0000000000000000","remain":"5 days 06:24:03.789243","progress_remain":"5 days 06:24:03.789243","forecast_remain":"5 days 06:24:03.789243","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"duration":"5 days 06:24:03.789243","issued_invoices":null,"client":{"id":3389,"key":3389,"name":"\u4e2d\u56fd\u8bc1\u5238\u62a5\u6709\u9650\u8d23\u4efb\u516c\u53f8","logo":null,"client_type":5,"client_class":43,"client_industry":18,"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":5,"key":5,"name":"\u836f\u54c1\u96f6\u552e\u4f01\u4e1a\uff08\u5355\u4f53\uff09"},"clientClass":{"id":43,"key":43,"name":"\u6f5c\u529b\u5ba2\u6237","notice_days":60,"color":"#1EE6DC"},"clientIndustry":{"id":18,"key":18,"name":"\u5a92\u4f53"}},"usedClient":null,"contractType":{"id":1,"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},"projectArchitects":[],"projectStatus":{"id":3,"key":3,"name":"\u5546\u673a\u6210\u4ea4","color":"#53cd02"},"projectProgress":{"id":2,"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"},"projectProductTypes":[{"id":7,"product_type_id":7,"key":7,"name":"\u8f6f\u4ef6","budget":"18000","pct":"80","profit":"14400","project_id":4172}],"salesForecast":{"id":181,"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"},"opportunityFrom":null,"purchaseType":{"id":165,"key":165,"name":"\u534f\u8bae\u4f9b\u8d27"},"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":null,"workLogCount":null,"caseCount":null,"salesTimeCount":null,"implementTimeCount":null,"presalesTimeCount":null,"engineerTimeCount":null,"reimbursementAmountSum":null,"buildContract":{"id":4480,"from_project":4172,"payment_collection_remind_ahead":"1 day","serial_no":"2026-05-25-002","is_settle":false,"is_deliver":false,"is_outbound":true,"erp_settle_amount":"0","erp_un_settle_amount":"18000","including_tax":true,"amount":"18000","contractScans":[],"receiptScans":[],"verifyScans":[],"erpCollectTickets":[],"salesContractPayments":[],"salesContractInvoices":[],"salesContractPaymentCollectionRemindDates":[],"salesContractPaymentCollectionRemindReceivers":[{"id":10143,"user_id":1001,"key":1001,"contract_id":4480,"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":0},"projectRemindReceivers":[],"projectProductRels":[{"id":12130,"project_id":4172,"product_id":2171,"amount":"18000","number":1,"cost":"1","description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"18000","total_cost":"1","erp_sales_order_product_id":2245,"supplier":null,"product":{"id":2171,"name":"\u91d1\u7545\u900dCRM\u8f6f\u4ef6\u670d\u52a1","product_type":7,"product_component":159,"product_brand":270,"product_serie":1724,"product_misc":null,"product_qa":null,"pn":"","description":"","created_by":1013,"created_at":"2025-11-24 16:16:45","updated_at":"2026-05-25 11:18:07","pinyin_shortcut":"jcxCRMrjfw","product_unit":2,"is_renew":false,"in_out_at":"2026-05-25 11:18:07.594762+08","productType":{"id":7,"key":7,"name":"\u8f6f\u4ef6"},"productComponent":{"id":159,"key":159,"name":"\u529e\u516c\u8f6f\u4ef6"},"productBrand":{"id":270,"key":270,"name":"\u91d1\u7545\u900d"},"productSerie":{"id":1724,"key":1724,"name":"\u91d1\u7545\u900dCRM\u8f6f\u4ef6"},"productUnit":{"id":2,"key":2,"name":"\u5957"}},"erpSalesOrderProduct":{"id":2245,"erp_sales_order_id":1708,"erp_store_id":null,"product_id":2171,"description":"","number":"1","outbound":"1","amount":"18000","total_amount":"18000","last_number":null,"last_amount":null,"last_total_amount":null,"cost":"1","total_cost":"1","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}}],"commentCount":{"object_id":4172,"comment":2},"unreadComments":null,"fromContact":null,"projectContactPoints":[],"erpSalesOrder":{"id":1708,"serial_no":"XSDD-20260525-00002","from_date":null,"wrote_date":"2026-05-25","handler":1001,"client_id":3389,"purchase_contract_id":null,"project_id":4172,"sales_contract_id":4480,"erp_store_id":null,"status":2,"erp_send_type_id":null,"abstract":null,"description":"","verify_type":2,"next_verify_user":null,"next_stop_verify_user":null,"next_cancel_verify_user":null,"verify_at":"2026-05-25 10:12:46","stop_at":"2026-05-25 10:13:55.315773+08","cancel_at":null,"refuse_description":null,"is_resubmitted":false,"is_done":false,"number":"1","amount":"18000","created_by":1001,"stop_description":null,"extra":"{\"payment_collection_remind_ahead\":\"1 day\",\"salesContractPaymentCollectionRemindReceivers\":[\"1001\"],\"salesContractPaymentCollectionRemindDates\":null}","outbound_status":true,"is_used":true,"is_cancel":false,"is_settle":false,"is_old":false,"created_at":"2026-05-25 10:12:46","updated_at":"2026-05-25 10:13:55","print_times":null},"projectUsedClient":null,"erpSalesOrderVerify":null,"remain_display":5,"progress_remain_display":5,"forecast_remain_display":5,"projectProductTotalAmount":18000,"projectProductAllAmount":true,"projectProductTotalCost":1,"projectProductAllCost":true,"projectProductTotalNumber":1,"unissued_invoice":18000,"is_exceeded":false,"can_update":true,"can_delete":true,"unread":0,"last_arrive_days_display":null,"project_status_display":"\u5546\u673a\u6210\u4ea4","is_collected":false,"bgcolor":"#53cd02","can_invoice":true,"can_payment":true,"duration_display":5,"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":"1.8\u4e07","contact_points_status_display":"\u672a\u8bbe\u7f6e","total_contact_paid_point":0,"total_contact_un_paid_point":0,"verify_display":0,"un_collected":"18000","un_invoiced":18000,"object_type":1},{"id":4171,"client_id":3304,"project_status":2,"project_progress":2,"budget":"100","profit_pct":"10","bargain_date":"2026-05-25","description":null,"created_by":1001,"created_at":"2026-05-25 10:11:37","updated_at":"2026-05-25 10:11:37","engineer_id":null,"project_title":"\u6d4b\u8bd5","collected":"0","status_updated_at":"2026-05-25 10:11:37.318464+08","success_rate":null,"comment":"","contract_type":1,"progress_updated_at":"2026-05-25 10:11:37.318464+08","forecast_updated_at":"2026-05-25 10:11:37.318464+08","end_at":"","pinyin_shortcut":"cs","creator":1001,"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":3,"is_verify":true,"profits":"10.00000000000000000000","remain":"5 days 06:25:12.783102","progress_remain":"5 days 06:25:12.783102","forecast_remain":"5 days 06:25:12.783102","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"duration":"5 days 06:25:12.783102","issued_invoices":null,"client":{"id":3304,"key":3304,"name":"\u5317\u4eac\u6708\u521d\u79d1\u6280\u6709\u9650\u516c\u53f8(\u8fc7\u5355)","logo":null,"client_type":5,"client_class":43,"client_industry":13,"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":5,"key":5,"name":"\u836f\u54c1\u96f6\u552e\u4f01\u4e1a\uff08\u5355\u4f53\uff09"},"clientClass":{"id":43,"key":43,"name":"\u6f5c\u529b\u5ba2\u6237","notice_days":60,"color":"#1EE6DC"},"clientIndustry":{"id":13,"key":13,"name":"SI\/ISV"}},"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":2,"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"},"projectProductTypes":[{"id":2,"product_type_id":2,"key":2,"name":"\u670d\u52a1\u5668","budget":"100","pct":"10","profit":"10","project_id":4171}],"salesForecast":{"id":181,"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"},"opportunityFrom":null,"purchaseType":{"id":165,"key":165,"name":"\u534f\u8bae\u4f9b\u8d27"},"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":null,"workLogCount":null,"caseCount":null,"salesTimeCount":null,"implementTimeCount":null,"presalesTimeCount":null,"engineerTimeCount":null,"reimbursementAmountSum":null,"buildContract":null,"projectRemindReceivers":[],"projectProductRels":[],"commentCount":{"object_id":4171,"comment":1},"unreadComments":null,"fromContact":null,"projectContactPoints":[],"erpSalesOrder":null,"projectUsedClient":null,"erpSalesOrderVerify":{"id":1707,"serial_no":"XSDD-20260525-00001","from_date":null,"wrote_date":"2026-05-25","handler":1001,"client_id":3304,"purchase_contract_id":null,"project_id":4171,"sales_contract_id":null,"erp_store_id":null,"status":1,"erp_send_type_id":null,"abstract":null,"description":null,"verify_type":2,"next_verify_user":5064,"next_stop_verify_user":null,"next_cancel_verify_user":null,"verify_at":"","stop_at":null,"cancel_at":null,"refuse_description":null,"is_resubmitted":false,"is_done":false,"number":"0","amount":"100","created_by":1001,"stop_description":null,"extra":"{\"payment_collection_remind_ahead\":\"1 day\",\"salesContractPaymentCollectionRemindReceivers\":[\"1001\"],\"salesContractPaymentCollectionRemindDates\":null}","outbound_status":true,"is_used":false,"is_cancel":false,"is_settle":false,"is_old":false,"created_at":"2026-05-25 10:11:37","updated_at":"2026-05-25 10:11:37","print_times":null,"payment_collection_remind_ahead":"1 day","payment_collection_remind_ahead_display":"\u63d0\u524d1\u5929","salesContractPaymentCollectionRemindReceivers":[{"user_id":1001,"user":{"id":1001,"email":"lrc@toast.com.cn","name":"\u5218\u4eba\u8bda","user_status":"1","pinyin_shortcut":"lrc","sex":"M","birth_date":"1977-04-06","entry_date":"2005-06-06","department_id":4,"department_position_id":7,"mobile":"13501128560","telephone":"88864628","created_at":"2017-02-06 13:05:08","updated_at":"2026-04-24 14:52:43","id_number":"220523197704064411","native_place":"\u5409\u6797","graduate_school":"\u5409\u6797\u5de5\u4e1a\u5927\u5b66","specialty":"\u8ba1\u7b97\u673a\u5e94\u7528","education":"\u672c\u79d1","telephone_area_code":"010","telephone_extension_number":"821","leave_date":null,"pinyin1":"liu","pinyin2":"ren","pinyin3":"cheng","pinyin4":null,"namecut1":"\u5218","namecut2":"\u4eba","namecut3":"\u8bda","namecut4":null,"budget_count":"2000425.78","profit_count":"88226.214434000000000000","bargain_count":"5","opportunity_budget_count":"697106.06","opportunity_count":"4","work_log_score":"0","e_implement_count":"0","e_budget_count":"0","e_profit_count":"0","e_client_count":"0","e_project_count":"0","e_point_count":"0","visit_resource_sync":false,"client_lock":true,"view_public":false,"client_remind_alarm_before":null,"work_on_remind":false,"work_off_remind":false,"check_client_same":true,"calendar_view_type":7,"search_all_client":true,"view_product_cost":true,"avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}}}]},"remain_display":5,"progress_remain_display":5,"forecast_remain_display":5,"projectProductTotalAmount":0,"projectProductAllAmount":true,"projectProductTotalCost":0,"projectProductAllCost":true,"projectProductTotalNumber":0,"unissued_invoice":100,"is_exceeded":true,"can_update":false,"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":5,"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":"100","contact_points_status_display":"\u672a\u8bbe\u7f6e","total_contact_paid_point":0,"total_contact_un_paid_point":0,"verify_display":1,"un_collected":0,"un_invoiced":0,"object_type":1},{"id":4170,"client_id":3389,"project_status":3,"project_progress":2,"budget":"900","profit_pct":"10","bargain_date":"2026-05-22","description":null,"created_by":1001,"created_at":"2026-05-22 17:13:42","updated_at":"2026-05-22 17:13:42","engineer_id":null,"project_title":"\u516c\u53f8\u8463\u4e8b","collected":"0","status_updated_at":"2026-05-22 17:13:42.872811+08","success_rate":null,"comment":"","contract_type":1,"progress_updated_at":"2026-05-22 17:13:42.872811+08","forecast_updated_at":"2026-05-22 17:13:42.872811+08","end_at":"","pinyin_shortcut":"gsds","creator":1001,"used_client":null,"from_contact":null,"total_contact_point":null,"paid_contact_point":null,"project_product_version_id":1372,"is_sales_order_ready":false,"collected_plan":0,"change_status_to":null,"is_verify":false,"profits":"90.0000000000000000","remain":"7 days 23:23:07.228755","progress_remain":"7 days 23:23:07.228755","forecast_remain":"7 days 23:23:07.228755","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"duration":"7 days 23:23:07.228755","issued_invoices":null,"client":{"id":3389,"key":3389,"name":"\u4e2d\u56fd\u8bc1\u5238\u62a5\u6709\u9650\u8d23\u4efb\u516c\u53f8","logo":null,"client_type":5,"client_class":43,"client_industry":18,"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":5,"key":5,"name":"\u836f\u54c1\u96f6\u552e\u4f01\u4e1a\uff08\u5355\u4f53\uff09"},"clientClass":{"id":43,"key":43,"name":"\u6f5c\u529b\u5ba2\u6237","notice_days":60,"color":"#1EE6DC"},"clientIndustry":{"id":18,"key":18,"name":"\u5a92\u4f53"}},"usedClient":null,"contractType":{"id":1,"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},"projectArchitects":[],"projectStatus":{"id":3,"key":3,"name":"\u5546\u673a\u6210\u4ea4","color":"#53cd02"},"projectProgress":{"id":2,"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"},"projectProductTypes":[{"id":4,"product_type_id":4,"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 ","budget":"900","pct":"10","profit":"90","project_id":4170}],"salesForecast":{"id":181,"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"},"opportunityFrom":null,"purchaseType":{"id":165,"key":165,"name":"\u534f\u8bae\u4f9b\u8d27"},"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":null,"workLogCount":null,"caseCount":null,"salesTimeCount":null,"implementTimeCount":null,"presalesTimeCount":null,"engineerTimeCount":null,"reimbursementAmountSum":null,"buildContract":{"id":4479,"from_project":4170,"payment_collection_remind_ahead":"1 day","serial_no":"2026-05-25-001","is_settle":false,"is_deliver":false,"is_outbound":false,"erp_settle_amount":"0","erp_un_settle_amount":"900","including_tax":true,"amount":"900","contractScans":[],"receiptScans":[],"verifyScans":[],"erpCollectTickets":[],"salesContractPayments":[],"salesContractInvoices":[],"salesContractPaymentCollectionRemindDates":[],"salesContractPaymentCollectionRemindReceivers":[{"id":10140,"user_id":1001,"key":1001,"contract_id":4479,"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":0},"projectRemindReceivers":[],"projectProductRels":[{"id":12126,"project_id":4170,"product_id":2261,"amount":"900","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"900","total_cost":null,"erp_sales_order_product_id":2243,"supplier":null,"product":{"id":2261,"name":"MK-MC300","product_type":4,"product_component":52,"product_brand":4,"product_serie":1769,"product_misc":null,"product_qa":null,"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":2243,"erp_sales_order_id":1706,"erp_store_id":null,"product_id":2261,"description":"","number":"1","outbound":"0","amount":"900","total_amount":"900","last_number":null,"last_amount":null,"last_total_amount":null,"cost":null,"total_cost":null,"supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}}],"commentCount":{"object_id":4170,"comment":2},"unreadComments":null,"fromContact":null,"projectContactPoints":[],"erpSalesOrder":{"id":1706,"serial_no":"XSDD-20260522-00005","from_date":null,"wrote_date":"2026-05-22","handler":1001,"client_id":3389,"purchase_contract_id":null,"project_id":4170,"sales_contract_id":4479,"erp_store_id":null,"status":2,"erp_send_type_id":null,"abstract":null,"description":null,"verify_type":2,"next_verify_user":null,"next_stop_verify_user":null,"next_cancel_verify_user":null,"verify_at":"2026-05-25 10:11:48","stop_at":null,"cancel_at":null,"refuse_description":null,"is_resubmitted":false,"is_done":false,"number":"1","amount":"900","created_by":1001,"stop_description":null,"extra":"{\"payment_collection_remind_ahead\":\"1 day\",\"salesContractPaymentCollectionRemindReceivers\":[\"1001\"],\"salesContractPaymentCollectionRemindDates\":null}","outbound_status":false,"is_used":false,"is_cancel":false,"is_settle":false,"is_old":false,"created_at":"2026-05-22 17:13:42","updated_at":"2026-05-25 10:11:48","print_times":null},"projectUsedClient":null,"erpSalesOrderVerify":null,"remain_display":7,"progress_remain_display":7,"forecast_remain_display":7,"projectProductTotalAmount":900,"projectProductAllAmount":true,"projectProductTotalCost":0,"projectProductAllCost":false,"projectProductTotalNumber":1,"unissued_invoice":900,"is_exceeded":false,"can_update":true,"can_delete":true,"unread":0,"last_arrive_days_display":null,"project_status_display":"\u5546\u673a\u6210\u4ea4","is_collected":false,"bgcolor":"#53cd02","can_invoice":true,"can_payment":true,"duration_display":7,"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":"900","contact_points_status_display":"\u672a\u8bbe\u7f6e","total_contact_paid_point":0,"total_contact_un_paid_point":0,"verify_display":0,"un_collected":"900","un_invoiced":900,"object_type":1},{"id":4151,"client_id":2150,"project_status":5,"project_progress":6,"budget":"420000","profit_pct":"0.03","bargain_date":"2026-04-07","description":null,"created_by":1001,"created_at":"2026-03-24 17:36:36","updated_at":"2026-05-22 17:08:02","engineer_id":null,"project_title":"PA460 \u8bbe\u5907\u65b0\u8d2d\u9879\u76ee","collected":"0","status_updated_at":"2026-05-22 17:08:02.666464+08","success_rate":null,"comment":"","contract_type":1,"progress_updated_at":"2026-03-24 17:36:36.646304+08","forecast_updated_at":"2026-03-24 17:36:36.646304+08","end_at":"2026-05-22 17:08:02","pinyin_shortcut":"PA460sbxgxm","creator":1011,"used_client":null,"from_contact":5957,"total_contact_point":null,"paid_contact_point":null,"project_product_version_id":1370,"is_sales_order_ready":false,"collected_plan":0,"change_status_to":3,"is_verify":true,"profits":"126.000000000000000000","remain":"7 days 23:28:47.435102","progress_remain":"66 days 23:00:13.455262","forecast_remain":"66 days 23:00:13.455262","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"duration":"58 days 23:31:26.02016","issued_invoices":null,"client":{"id":2150,"key":2150,"name":"\u5317\u4eac\u5730\u5e73\u7ebf\u4fe1\u606f\u6280\u672f\u6709\u9650\u516c\u53f8\/\u4e0a\u6d77\u5b89\u4ead\u5730\u5e73\u7ebf\u667a\u80fd\u4ea4\u901a\u6280\u672f\u6709\u9650\u516c\u53f8\/\u4e0a\u6d77\u7ea2\u897f\u74dc\u534a\u5bfc\u4f53\u6709\u9650\u516c\u53f8\/\u5b81\u6ce2\u5730\u5e73\u7ebf\u98d2\u817e\u79d1\u6280\u6709\u9650\u516c\u53f8(EDA)","logo":null,"client_type":3,"client_class":43,"client_industry":57,"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":3,"key":3,"name":"\u4e2a\u4eba\u6d88\u8d39\u8005"},"clientClass":{"id":43,"key":43,"name":"\u6f5c\u529b\u5ba2\u6237","notice_days":60,"color":"#1EE6DC"},"clientIndustry":{"id":57,"key":57,"name":"EDA\/CAE"}},"usedClient":null,"contractType":{"id":1,"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},"projectArchitects":[],"projectStatus":{"id":5,"key":5,"name":"\u5546\u673a\u6401\u7f6e","color":"#222222"},"projectProgress":{"id":6,"key":6,"name":"\u63a8\u52a8\u6210\u4ea4","description":"\u5b9a\u4e49\uff1a\u5ba2\u6237\u786e\u8ba4\u4e86\u65b9\u6848\uff0c\u4e86\u89e3\u4e86\u6210\u4ea4\u4ef7\u683c\u3002 \n\u65b9\u6cd5\uff1a\u901a\u8fc7\u5229\u76ca\u5206\u4eab\uff0c\u5b9e\u529b\u8bc1\u660e\uff0c\u9ad8\u5c42\u62dc\u8bbf\uff0c\u5382\u5546\u62dc\u8bbf\uff0c\u6848\u4f8b\u53c2\u89c2\uff0c\u7a81\u51fa\u6211\u65b9\u4f18\u52bf\uff0c\u6253\u51fb\u5bf9\u624b\u52a3\u52bf\u3002"},"projectProductTypes":[{"id":7,"product_type_id":7,"key":7,"name":"\u8f6f\u4ef6","budget":"420000","pct":"0.03","profit":"126","project_id":4151}],"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":null,"purchaseType":{"id":130,"key":130,"name":"\u7ade\u4e89\u8c08\u5224"},"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":1011,"key":1011,"name":"\u97e9\u96c5\u82b3","sex":"F","department_id":3,"avatar":{"id":17,"user_id":1011,"name":"\/files\/cdn\/a57be577deb434\/avatar\/b54747f4-248d-380e-93bc-0f62f769e70d.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":null,"workLogCount":null,"caseCount":null,"salesTimeCount":null,"implementTimeCount":null,"presalesTimeCount":null,"engineerTimeCount":null,"reimbursementAmountSum":null,"buildContract":null,"projectRemindReceivers":[],"projectProductRels":[{"id":12041,"project_id":4151,"product_id":1528,"amount":"210000","number":2,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"420000","total_cost":null,"erp_sales_order_product_id":2242,"supplier":null,"product":{"id":1528,"name":"\u6df1\u4fe1\u670d\u8ba1\u7b97\u670d\u52a1\u5668\u865a\u62df\u5316\u8f6f\u4ef6V6.0","product_type":7,"product_component":29,"product_brand":12,"product_serie":525,"product_misc":null,"product_qa":null,"pn":"","description":"","created_by":1013,"created_at":"2024-03-26 15:30:32","updated_at":"2026-03-31 17:17:16","pinyin_shortcut":"sxfjsfwqxnhrjV60","product_unit":2,"is_renew":false,"in_out_at":"2026-03-31 17:17:16.259159+08","productType":{"id":7,"key":7,"name":"\u8f6f\u4ef6"},"productComponent":{"id":29,"key":29,"name":"\u865a\u62df\u5316\u8f6f\u4ef6"},"productBrand":{"id":12,"key":12,"name":"\u6df1\u4fe1\u670d"},"productSerie":{"id":525,"key":525,"name":"\u6df1\u4fe1\u670d\u865a\u62df\u5316\u8f6f\u4ef6"},"productUnit":{"id":2,"key":2,"name":"\u5957"}},"erpSalesOrderProduct":{"id":2242,"erp_sales_order_id":1705,"erp_store_id":null,"product_id":1528,"description":"","number":"2","outbound":"0","amount":"210000","total_amount":"420000","last_number":null,"last_amount":null,"last_total_amount":null,"cost":null,"total_cost":null,"supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}}],"commentCount":{"object_id":4151,"comment":3},"unreadComments":null,"fromContact":{"id":5957,"key":5957,"name":"\u674e\u777f\uff08Rick Li\uff09","client_id":null,"supplier_id":100,"mobiles":[{"id":6746,"contact_id":5957,"mobile":"13910153435","mp_open_id":null}],"client":null,"supplier":{"id":100,"key":100,"name":"\u6d3e\u62d3\u7f51\u7edc(\u4e0a\u6d77)\u6709\u9650\u8d23\u4efb\u516c\u53f8\u5317\u4eac\u5206\u516c\u53f8"}},"projectContactPoints":[],"erpSalesOrder":null,"projectUsedClient":null,"erpSalesOrderVerify":{"id":1705,"serial_no":"XSDD-20260522-00004","from_date":null,"wrote_date":"2026-04-07","handler":1001,"client_id":2150,"purchase_contract_id":null,"project_id":4151,"sales_contract_id":null,"erp_store_id":null,"status":1,"erp_send_type_id":null,"abstract":null,"description":null,"verify_type":2,"next_verify_user":1001,"next_stop_verify_user":null,"next_cancel_verify_user":null,"verify_at":"","stop_at":null,"cancel_at":null,"refuse_description":null,"is_resubmitted":false,"is_done":false,"number":"2","amount":"420000","created_by":1001,"stop_description":null,"extra":"{\"payment_collection_remind_ahead\":\"1 day\",\"salesContractPaymentCollectionRemindReceivers\":[\"1001\"],\"salesContractPaymentCollectionRemindDates\":null}","outbound_status":false,"is_used":false,"is_cancel":false,"is_settle":false,"is_old":false,"created_at":"2026-05-22 17:08:02","updated_at":"2026-05-22 17:08:42","print_times":null,"payment_collection_remind_ahead":"1 day","payment_collection_remind_ahead_display":"\u63d0\u524d1\u5929","salesContractPaymentCollectionRemindReceivers":[{"user_id":1001,"user":{"id":1001,"email":"lrc@toast.com.cn","name":"\u5218\u4eba\u8bda","user_status":"1","pinyin_shortcut":"lrc","sex":"M","birth_date":"1977-04-06","entry_date":"2005-06-06","department_id":4,"department_position_id":7,"mobile":"13501128560","telephone":"88864628","created_at":"2017-02-06 13:05:08","updated_at":"2026-04-24 14:52:43","id_number":"220523197704064411","native_place":"\u5409\u6797","graduate_school":"\u5409\u6797\u5de5\u4e1a\u5927\u5b66","specialty":"\u8ba1\u7b97\u673a\u5e94\u7528","education":"\u672c\u79d1","telephone_area_code":"010","telephone_extension_number":"821","leave_date":null,"pinyin1":"liu","pinyin2":"ren","pinyin3":"cheng","pinyin4":null,"namecut1":"\u5218","namecut2":"\u4eba","namecut3":"\u8bda","namecut4":null,"budget_count":"2000425.78","profit_count":"88226.214434000000000000","bargain_count":"5","opportunity_budget_count":"697106.06","opportunity_count":"4","work_log_score":"0","e_implement_count":"0","e_budget_count":"0","e_profit_count":"0","e_client_count":"0","e_project_count":"0","e_point_count":"0","visit_resource_sync":false,"client_lock":true,"view_public":false,"client_remind_alarm_before":null,"work_on_remind":false,"work_off_remind":false,"check_client_same":true,"calendar_view_type":7,"search_all_client":true,"view_product_cost":true,"avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}}}]},"remain_display":7,"progress_remain_display":66,"forecast_remain_display":66,"projectProductTotalAmount":420000,"projectProductAllAmount":true,"projectProductTotalCost":0,"projectProductAllCost":false,"projectProductTotalNumber":2,"unissued_invoice":420000,"is_exceeded":false,"can_update":false,"can_delete":true,"unread":0,"last_arrive_days_display":null,"project_status_display":"\u5546\u673a\u6401\u7f6e","is_collected":false,"bgcolor":"#222222","can_invoice":false,"can_payment":false,"duration_display":58,"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":"42\u4e07","contact_points_status_display":"\u672a\u8bbe\u7f6e","total_contact_paid_point":0,"total_contact_un_paid_point":0,"verify_display":1,"un_collected":0,"un_invoiced":0,"object_type":1},{"id":4169,"client_id":3389,"project_status":3,"project_progress":2,"budget":"1800","profit_pct":"10","bargain_date":"2026-05-22","description":"","created_by":1001,"created_at":"2026-05-22 17:05:11","updated_at":"2026-05-22 17:05:11","engineer_id":null,"project_title":"\u65b9\u5f0f\u5730\u65b9","collected":"0","status_updated_at":"2026-05-22 17:05:11.576531+08","success_rate":null,"comment":"","contract_type":1,"progress_updated_at":"2026-05-22 17:05:11.576531+08","forecast_updated_at":"2026-05-22 17:05:11.576531+08","end_at":"","pinyin_shortcut":"fsdf","creator":1001,"used_client":null,"from_contact":null,"total_contact_point":null,"paid_contact_point":null,"project_product_version_id":1371,"is_sales_order_ready":false,"collected_plan":0,"change_status_to":null,"is_verify":false,"profits":"180.0000000000000000","remain":"7 days 23:31:38.525035","progress_remain":"7 days 23:31:38.525035","forecast_remain":"7 days 23:31:38.525035","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"duration":"7 days 23:31:38.525035","issued_invoices":null,"client":{"id":3389,"key":3389,"name":"\u4e2d\u56fd\u8bc1\u5238\u62a5\u6709\u9650\u8d23\u4efb\u516c\u53f8","logo":null,"client_type":5,"client_class":43,"client_industry":18,"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":5,"key":5,"name":"\u836f\u54c1\u96f6\u552e\u4f01\u4e1a\uff08\u5355\u4f53\uff09"},"clientClass":{"id":43,"key":43,"name":"\u6f5c\u529b\u5ba2\u6237","notice_days":60,"color":"#1EE6DC"},"clientIndustry":{"id":18,"key":18,"name":"\u5a92\u4f53"}},"usedClient":null,"contractType":{"id":1,"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},"projectArchitects":[],"projectStatus":{"id":3,"key":3,"name":"\u5546\u673a\u6210\u4ea4","color":"#53cd02"},"projectProgress":{"id":2,"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"},"projectProductTypes":[{"id":4,"product_type_id":4,"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 ","budget":"1800","pct":"10","profit":"180","project_id":4169}],"salesForecast":{"id":181,"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"},"opportunityFrom":null,"purchaseType":{"id":165,"key":165,"name":"\u534f\u8bae\u4f9b\u8d27"},"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":null,"workLogCount":null,"caseCount":null,"salesTimeCount":null,"implementTimeCount":null,"presalesTimeCount":null,"engineerTimeCount":null,"reimbursementAmountSum":null,"buildContract":{"id":4478,"from_project":4169,"payment_collection_remind_ahead":"1 day","serial_no":"2026-05-22-001","is_settle":false,"is_deliver":false,"is_outbound":false,"erp_settle_amount":"0","erp_un_settle_amount":"1800","including_tax":true,"amount":"1800","contractScans":[],"receiptScans":[],"verifyScans":[],"erpCollectTickets":[],"salesContractPayments":[],"salesContractInvoices":[],"salesContractPaymentCollectionRemindDates":[],"salesContractPaymentCollectionRemindReceivers":[{"id":10139,"user_id":1001,"key":1001,"contract_id":4478,"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":0},"projectRemindReceivers":[],"projectProductRels":[{"id":12125,"project_id":4169,"product_id":2261,"amount":"900","number":2,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"1800","total_cost":null,"erp_sales_order_product_id":2241,"supplier":null,"product":{"id":2261,"name":"MK-MC300","product_type":4,"product_component":52,"product_brand":4,"product_serie":1769,"product_misc":null,"product_qa":null,"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":2241,"erp_sales_order_id":1704,"erp_store_id":null,"product_id":2261,"description":"","number":"1","outbound":"0","amount":"900","total_amount":"900","last_number":null,"last_amount":null,"last_total_amount":null,"cost":null,"total_cost":null,"supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}}],"commentCount":{"object_id":4169,"comment":2},"unreadComments":null,"fromContact":null,"projectContactPoints":[],"erpSalesOrder":{"id":1704,"serial_no":"XSDD-20260522-00003","from_date":null,"wrote_date":"2026-05-22","handler":1001,"client_id":3389,"purchase_contract_id":null,"project_id":4169,"sales_contract_id":4478,"erp_store_id":null,"status":5,"erp_send_type_id":null,"abstract":null,"description":"","verify_type":2,"next_verify_user":null,"next_stop_verify_user":1001,"next_cancel_verify_user":null,"verify_at":"2026-05-22 17:07:20","stop_at":"2026-05-22 17:10:46.357162+08","cancel_at":null,"refuse_description":null,"is_resubmitted":false,"is_done":false,"number":"2","amount":"1800","created_by":1001,"stop_description":null,"extra":"{\"payment_collection_remind_ahead\":\"1 day\",\"salesContractPaymentCollectionRemindReceivers\":[\"1001\"],\"salesContractPaymentCollectionRemindDates\":null}","outbound_status":false,"is_used":false,"is_cancel":false,"is_settle":false,"is_old":false,"created_at":"2026-05-22 17:05:11","updated_at":"2026-05-22 17:10:46","print_times":null},"projectUsedClient":null,"erpSalesOrderVerify":null,"remain_display":7,"progress_remain_display":7,"forecast_remain_display":7,"projectProductTotalAmount":1800,"projectProductAllAmount":true,"projectProductTotalCost":0,"projectProductAllCost":false,"projectProductTotalNumber":2,"unissued_invoice":1800,"is_exceeded":false,"can_update":true,"can_delete":true,"unread":0,"last_arrive_days_display":null,"project_status_display":"\u5546\u673a\u6210\u4ea4","is_collected":false,"bgcolor":"#53cd02","can_invoice":true,"can_payment":true,"duration_display":7,"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":"1800","contact_points_status_display":"\u672a\u8bbe\u7f6e","total_contact_paid_point":0,"total_contact_un_paid_point":0,"verify_display":0,"un_collected":"1800","un_invoiced":1800,"object_type":1},{"id":4168,"client_id":3009,"project_status":2,"project_progress":2,"budget":"900","profit_pct":"10","bargain_date":"2026-05-22","description":null,"created_by":1001,"created_at":"2026-05-22 16:49:10","updated_at":"2026-05-22 16:49:10","engineer_id":null,"project_title":"\u7a0e\u8d4b\u5927\u662f\u5927\u975e","collected":"0","status_updated_at":"2026-05-22 16:49:10.557499+08","success_rate":null,"comment":"","contract_type":1,"progress_updated_at":"2026-05-22 16:49:10.557499+08","forecast_updated_at":"2026-05-22 16:49:10.557499+08","end_at":"","pinyin_shortcut":"sfdsdf","creator":1001,"used_client":null,"from_contact":null,"total_contact_point":null,"paid_contact_point":null,"project_product_version_id":1366,"is_sales_order_ready":false,"collected_plan":0,"change_status_to":3,"is_verify":true,"profits":"90.0000000000000000","remain":"7 days 23:47:39.544067","progress_remain":"7 days 23:47:39.544067","forecast_remain":"7 days 23:47:39.544067","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"duration":"7 days 23:47:39.544067","issued_invoices":null,"client":{"id":3009,"key":3009,"name":"\u540c\u65b9\u77e5\u7f51(\u5317\u4eac)\u6280\u672f\u6709\u9650\u516c\u53f8\/\u540c\u65b9\u77e5\u7f51\u6570\u5b57\u51fa\u7248\u6280\u672f\u80a1\u4efd\u6709\u9650\u516c\u53f8\/\u300a\u4e2d\u56fd\u5b66\u672f\u671f\u520a(\u5149\u76d8\u7248)\u300b\u7535\u5b50\u6742\u5fd7\u793e\u6709\u9650\u516c\u53f8","logo":null,"client_type":6,"client_class":43,"client_industry":18,"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":43,"key":43,"name":"\u6f5c\u529b\u5ba2\u6237","notice_days":60,"color":"#1EE6DC"},"clientIndustry":{"id":18,"key":18,"name":"\u5a92\u4f53"}},"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":2,"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"},"projectProductTypes":[{"id":4,"product_type_id":4,"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 ","budget":"900","pct":"10","profit":"90","project_id":4168}],"salesForecast":{"id":181,"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"},"opportunityFrom":null,"purchaseType":{"id":165,"key":165,"name":"\u534f\u8bae\u4f9b\u8d27"},"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":null,"workLogCount":null,"caseCount":null,"salesTimeCount":null,"implementTimeCount":null,"presalesTimeCount":null,"engineerTimeCount":null,"reimbursementAmountSum":null,"buildContract":null,"projectRemindReceivers":[],"projectProductRels":[{"id":12114,"project_id":4168,"product_id":2261,"amount":"900","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"900","total_cost":null,"erp_sales_order_product_id":2240,"supplier":null,"product":{"id":2261,"name":"MK-MC300","product_type":4,"product_component":52,"product_brand":4,"product_serie":1769,"product_misc":null,"product_qa":null,"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":2240,"erp_sales_order_id":1703,"erp_store_id":null,"product_id":2261,"description":"","number":"1","outbound":"0","amount":"900","total_amount":"900","last_number":null,"last_amount":null,"last_total_amount":null,"cost":null,"total_cost":null,"supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}}],"commentCount":{"object_id":4168,"comment":1},"unreadComments":null,"fromContact":null,"projectContactPoints":[],"erpSalesOrder":null,"projectUsedClient":null,"erpSalesOrderVerify":{"id":1703,"serial_no":"XSDD-20260522-00002","from_date":null,"wrote_date":"2026-05-22","handler":1001,"client_id":3009,"purchase_contract_id":null,"project_id":4168,"sales_contract_id":null,"erp_store_id":null,"status":1,"erp_send_type_id":null,"abstract":null,"description":null,"verify_type":2,"next_verify_user":1001,"next_stop_verify_user":null,"next_cancel_verify_user":null,"verify_at":"","stop_at":null,"cancel_at":null,"refuse_description":null,"is_resubmitted":false,"is_done":false,"number":"1","amount":"900","created_by":1001,"stop_description":null,"extra":"{\"payment_collection_remind_ahead\":\"1 day\",\"salesContractPaymentCollectionRemindReceivers\":[\"1001\",\"5087\"],\"salesContractPaymentCollectionRemindDates\":null}","outbound_status":false,"is_used":false,"is_cancel":false,"is_settle":false,"is_old":false,"created_at":"2026-05-22 16:49:10","updated_at":"2026-05-22 16:49:10","print_times":null,"payment_collection_remind_ahead":"1 day","payment_collection_remind_ahead_display":"\u63d0\u524d1\u5929","salesContractPaymentCollectionRemindReceivers":[{"user_id":1001,"user":{"id":1001,"email":"lrc@toast.com.cn","name":"\u5218\u4eba\u8bda","user_status":"1","pinyin_shortcut":"lrc","sex":"M","birth_date":"1977-04-06","entry_date":"2005-06-06","department_id":4,"department_position_id":7,"mobile":"13501128560","telephone":"88864628","created_at":"2017-02-06 13:05:08","updated_at":"2026-04-24 14:52:43","id_number":"220523197704064411","native_place":"\u5409\u6797","graduate_school":"\u5409\u6797\u5de5\u4e1a\u5927\u5b66","specialty":"\u8ba1\u7b97\u673a\u5e94\u7528","education":"\u672c\u79d1","telephone_area_code":"010","telephone_extension_number":"821","leave_date":null,"pinyin1":"liu","pinyin2":"ren","pinyin3":"cheng","pinyin4":null,"namecut1":"\u5218","namecut2":"\u4eba","namecut3":"\u8bda","namecut4":null,"budget_count":"2000425.78","profit_count":"88226.214434000000000000","bargain_count":"5","opportunity_budget_count":"697106.06","opportunity_count":"4","work_log_score":"0","e_implement_count":"0","e_budget_count":"0","e_profit_count":"0","e_client_count":"0","e_project_count":"0","e_point_count":"0","visit_resource_sync":false,"client_lock":true,"view_public":false,"client_remind_alarm_before":null,"work_on_remind":false,"work_off_remind":false,"check_client_same":true,"calendar_view_type":7,"search_all_client":true,"view_product_cost":true,"avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}}},{"user_id":5087,"user":{"id":5087,"email":"liuwei@toast.com.cn","name":"\u5218\u5fae","user_status":"1","pinyin_shortcut":"lw","sex":"F","birth_date":"1977-07-07","entry_date":"2005-05-01","department_id":1,"department_position_id":2,"mobile":"13910698067","telephone":"","created_at":"2019-01-16 14:27:07","updated_at":"2021-12-13 11:21:52","id_number":"","native_place":"\u5409\u6797","graduate_school":"\u5317\u4eac\u5efa\u8bbe\u5927\u5b66","specialty":"\u8ba1\u7b97\u673a\u5e94\u7528","education":"\u672c\u79d1","telephone_area_code":"","telephone_extension_number":"","leave_date":"2020-06-12","pinyin1":"liu","pinyin2":"wei","pinyin3":null,"pinyin4":null,"namecut1":"\u5218","namecut2":"\u5fae","namecut3":null,"namecut4":null,"budget_count":"420440","profit_count":"176762.528000000000000000","bargain_count":"4","opportunity_budget_count":"20149680","opportunity_count":"12","work_log_score":"5","e_implement_count":"0","e_budget_count":"0","e_profit_count":"0","e_client_count":"0","e_project_count":"0","e_point_count":"0","visit_resource_sync":false,"client_lock":false,"view_public":true,"client_remind_alarm_before":null,"work_on_remind":true,"work_off_remind":true,"check_client_same":true,"calendar_view_type":7,"search_all_client":true,"view_product_cost":true,"avatar":{"id":62,"user_id":5087,"name":"\/files\/cdn\/a57be577deb434\/avatar\/06f75b3a-7b6c-37a8-81c0-b2934104daa7.png"}}}]},"remain_display":7,"progress_remain_display":7,"forecast_remain_display":7,"projectProductTotalAmount":900,"projectProductAllAmount":true,"projectProductTotalCost":0,"projectProductAllCost":false,"projectProductTotalNumber":1,"unissued_invoice":900,"is_exceeded":true,"can_update":false,"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":7,"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":"900","contact_points_status_display":"\u672a\u8bbe\u7f6e","total_contact_paid_point":0,"total_contact_un_paid_point":0,"verify_display":1,"un_collected":0,"un_invoiced":0,"object_type":1},{"id":4144,"client_id":2593,"project_status":5,"project_progress":5,"budget":"800","profit_pct":"10","bargain_date":"2026-04-30","description":null,"created_by":1001,"created_at":"2026-03-18 09:49:26","updated_at":"2026-05-22 16:48:10","engineer_id":null,"project_title":"zstack\u7eed\u4fdd","collected":"0","status_updated_at":"2026-05-22 16:48:10.549461+08","success_rate":null,"comment":"","contract_type":1,"progress_updated_at":"2026-03-18 09:49:26.039194+08","forecast_updated_at":"2026-03-18 09:49:26.039194+08","end_at":"2026-05-22 16:48:10","pinyin_shortcut":"zstackxb","creator":1005,"used_client":null,"from_contact":null,"total_contact_point":null,"paid_contact_point":null,"project_product_version_id":1365,"is_sales_order_ready":false,"collected_plan":0,"change_status_to":3,"is_verify":true,"profits":"80.0000000000000000","remain":"7 days 23:48:39.552105","progress_remain":"73 days 06:47:24.062372","forecast_remain":"73 days 06:47:24.062372","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"duration":"65 days 06:58:44.510267","issued_invoices":null,"client":{"id":2593,"key":2593,"name":"\u56fd\u5bcc\u745e\u6570\u636e\u7cfb\u7edf\u6709\u9650\u516c\u53f8(\u8fc7\u5355)","logo":null,"client_type":6,"client_class":43,"client_industry":10,"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":43,"key":43,"name":"\u6f5c\u529b\u5ba2\u6237","notice_days":60,"color":"#1EE6DC"},"clientIndustry":{"id":10,"key":10,"name":"\u91d1\u878d"}},"usedClient":null,"contractType":{"id":1,"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},"projectArchitects":[],"projectStatus":{"id":5,"key":5,"name":"\u5546\u673a\u6401\u7f6e","color":"#222222"},"projectProgress":{"id":5,"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"},"projectProductTypes":[{"id":4,"product_type_id":4,"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 ","budget":"800","pct":"10","profit":"80","project_id":4144}],"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":null,"purchaseType":{"id":164,"key":164,"name":"\u591a\u5bb6\u6bd4\u4ef7"},"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":1005,"key":1005,"name":"\u8d75\u660e\uff08\u9500\u552e\u4eba\u5458\uff09","sex":"F","department_id":1,"avatar":{"id":16,"user_id":1005,"name":"\/files\/cdn\/a57be577deb434\/avatar\/56876dde-37eb-39fc-853a-47eaef6510e5.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":null,"workLogCount":null,"caseCount":null,"salesTimeCount":null,"implementTimeCount":null,"presalesTimeCount":null,"engineerTimeCount":null,"reimbursementAmountSum":null,"buildContract":null,"projectRemindReceivers":[],"projectProductRels":[{"id":12113,"project_id":4144,"product_id":2261,"amount":"800","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"800","total_cost":null,"erp_sales_order_product_id":2239,"supplier":null,"product":{"id":2261,"name":"MK-MC300","product_type":4,"product_component":52,"product_brand":4,"product_serie":1769,"product_misc":null,"product_qa":null,"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":2239,"erp_sales_order_id":1702,"erp_store_id":null,"product_id":2261,"description":"","number":"1","outbound":"0","amount":"800","total_amount":"800","last_number":null,"last_amount":null,"last_total_amount":null,"cost":null,"total_cost":null,"supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}}],"commentCount":{"object_id":4144,"comment":1},"unreadComments":null,"fromContact":null,"projectContactPoints":[],"erpSalesOrder":null,"projectUsedClient":null,"erpSalesOrderVerify":{"id":1702,"serial_no":"XSDD-20260522-00001","from_date":null,"wrote_date":"2026-04-30","handler":1001,"client_id":2593,"purchase_contract_id":null,"project_id":4144,"sales_contract_id":null,"erp_store_id":null,"status":1,"erp_send_type_id":null,"abstract":null,"description":null,"verify_type":2,"next_verify_user":1001,"next_stop_verify_user":null,"next_cancel_verify_user":null,"verify_at":"","stop_at":null,"cancel_at":null,"refuse_description":null,"is_resubmitted":false,"is_done":false,"number":"1","amount":"800","created_by":1001,"stop_description":null,"extra":"{\"payment_collection_remind_ahead\":\"1 day\",\"salesContractPaymentCollectionRemindReceivers\":[\"1001\"],\"salesContractPaymentCollectionRemindDates\":null}","outbound_status":false,"is_used":false,"is_cancel":false,"is_settle":false,"is_old":false,"created_at":"2026-05-22 16:48:10","updated_at":"2026-05-22 16:48:10","print_times":null,"payment_collection_remind_ahead":"1 day","payment_collection_remind_ahead_display":"\u63d0\u524d1\u5929","salesContractPaymentCollectionRemindReceivers":[{"user_id":1001,"user":{"id":1001,"email":"lrc@toast.com.cn","name":"\u5218\u4eba\u8bda","user_status":"1","pinyin_shortcut":"lrc","sex":"M","birth_date":"1977-04-06","entry_date":"2005-06-06","department_id":4,"department_position_id":7,"mobile":"13501128560","telephone":"88864628","created_at":"2017-02-06 13:05:08","updated_at":"2026-04-24 14:52:43","id_number":"220523197704064411","native_place":"\u5409\u6797","graduate_school":"\u5409\u6797\u5de5\u4e1a\u5927\u5b66","specialty":"\u8ba1\u7b97\u673a\u5e94\u7528","education":"\u672c\u79d1","telephone_area_code":"010","telephone_extension_number":"821","leave_date":null,"pinyin1":"liu","pinyin2":"ren","pinyin3":"cheng","pinyin4":null,"namecut1":"\u5218","namecut2":"\u4eba","namecut3":"\u8bda","namecut4":null,"budget_count":"2000425.78","profit_count":"88226.214434000000000000","bargain_count":"5","opportunity_budget_count":"697106.06","opportunity_count":"4","work_log_score":"0","e_implement_count":"0","e_budget_count":"0","e_profit_count":"0","e_client_count":"0","e_project_count":"0","e_point_count":"0","visit_resource_sync":false,"client_lock":true,"view_public":false,"client_remind_alarm_before":null,"work_on_remind":false,"work_off_remind":false,"check_client_same":true,"calendar_view_type":7,"search_all_client":true,"view_product_cost":true,"avatar":{"id":2,"user_id":1001,"name":"\/files\/cdn\/\/avatar\/e868e40f-1256-329e-9b1c-74e095049622.png"}}}]},"remain_display":7,"progress_remain_display":73,"forecast_remain_display":73,"projectProductTotalAmount":800,"projectProductAllAmount":true,"projectProductTotalCost":0,"projectProductAllCost":false,"projectProductTotalNumber":1,"unissued_invoice":800,"is_exceeded":false,"can_update":false,"can_delete":true,"unread":0,"last_arrive_days_display":null,"project_status_display":"\u5546\u673a\u6401\u7f6e","is_collected":false,"bgcolor":"#222222","can_invoice":false,"can_payment":false,"duration_display":65,"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":"800","contact_points_status_display":"\u672a\u8bbe\u7f6e","total_contact_paid_point":0,"total_contact_un_paid_point":0,"verify_display":1,"un_collected":0,"un_invoiced":0,"object_type":1},{"id":4167,"client_id":982,"project_status":3,"project_progress":3,"budget":"51486","profit_pct":"10","bargain_date":"2026-05-14","description":"","created_by":1001,"created_at":"2026-05-14 10:38:51","updated_at":"2026-05-21 18:03:03","engineer_id":null,"project_title":"\u65b0\u5efa\u9879\u76ee","collected":"100","status_updated_at":"2026-05-20 17:28:38.222483+08","success_rate":null,"comment":"","contract_type":1,"progress_updated_at":"2026-05-14 10:38:51.428023+08","forecast_updated_at":"2026-05-14 10:38:51.428023+08","end_at":"","pinyin_shortcut":"xjxm","creator":5064,"used_client":null,"from_contact":null,"total_contact_point":null,"paid_contact_point":null,"project_product_version_id":1368,"is_sales_order_ready":false,"collected_plan":0,"change_status_to":null,"is_verify":false,"profits":"5148.6000000000000000","remain":"9 days 23:08:11.879083","progress_remain":"16 days 05:57:58.673543","forecast_remain":"16 days 05:57:58.673543","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"duration":"16 days 05:57:58.673543","issued_invoices":null,"client":{"id":982,"key":982,"name":"\u4e2d\u56fd\u4fe1\u606f\u5b89\u5168\u7814\u7a76\u6240","logo":null,"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":null,"contractType":{"id":1,"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},"projectArchitects":[],"projectStatus":{"id":3,"key":3,"name":"\u5546\u673a\u6210\u4ea4","color":"#53cd02"},"projectProgress":{"id":3,"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"},"projectProductTypes":[{"id":7,"product_type_id":7,"key":7,"name":"\u8f6f\u4ef6","budget":"48363","pct":"10","profit":"4836.3","project_id":4167},{"id":5,"product_type_id":5,"key":5,"name":"\u5b89\u5168\u8bbe\u5907","budget":"2323","pct":"10","profit":"232.3","project_id":4167},{"id":4,"product_type_id":4,"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 ","budget":"800","pct":"10","profit":"80","project_id":4167}],"salesForecast":{"id":181,"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"},"opportunityFrom":null,"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":5064,"key":5064,"name":"\u59da\u96ea\u7eaf","sex":"F","department_id":10,"avatar":{"id":38,"user_id":5064,"name":"\/files\/cdn\/a57be577deb434\/avatar\/5bec09dc-1f7a-3542-89a2-cedfefb3fded.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":null,"workLogCount":null,"caseCount":null,"salesTimeCount":null,"implementTimeCount":null,"presalesTimeCount":null,"engineerTimeCount":null,"reimbursementAmountSum":null,"buildContract":{"id":4476,"from_project":4167,"payment_collection_remind_ahead":"1 day","serial_no":"2026-05-20-001","is_settle":false,"is_deliver":false,"is_outbound":false,"erp_settle_amount":"100","erp_un_settle_amount":"51386","including_tax":true,"amount":"51486","contractScans":[],"receiptScans":[],"verifyScans":[],"erpCollectTickets":[],"salesContractPayments":[{"id":"12208","key":"12208","contract_id":4476,"value":"100","created_by":1001,"collected_date":"2026-05-22 00:00:00","createdBy":{"id":1001,"key":1001,"name":"\u5218\u4eba\u8bda","sex":"M","department_id":4},"pct":0.19}],"salesContractInvoices":[],"salesContractPaymentCollectionRemindDates":[],"salesContractPaymentCollectionRemindReceivers":[{"id":10137,"user_id":1001,"key":1001,"contract_id":4476,"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":[{"id":4214,"contract_id":4476,"supplier_id":431,"purchase_id":4475,"supplier":{"id":431,"key":431,"name":"\u5317\u4eac\u60e0\u8054\u8baf\u901a\u4fe1\u606f\u6280\u672f\u670d\u52a1\u6709\u9650\u516c\u53f8"},"purchase":{"id":4475,"key":4475,"serial_no":"\u7ecf\u624b\u4eba\u5173\u8054\u5ba2\u6237\u5546\u673a"}}],"payment_collection_remind_ahead_display":"\u63d0\u524d1\u5929","invoiced":0},"projectRemindReceivers":[],"projectProductRels":[{"id":12120,"project_id":4167,"product_id":2177,"amount":"4234","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"4234","total_cost":null,"erp_sales_order_product_id":2236,"supplier":null,"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":null,"product_qa":null,"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-05-21 16:54:51","pinyin_shortcut":"sxfSDDCjcywrjV10","product_unit":2,"is_renew":false,"in_out_at":"2026-05-21 16:54:51.442868+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":2236,"erp_sales_order_id":1701,"erp_store_id":null,"product_id":2177,"description":"","number":"1","outbound":"0","amount":"4234","total_amount":"4234","last_number":"1","last_amount":"4234","last_total_amount":"4234","cost":null,"total_cost":null,"supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}},{"id":12121,"project_id":4167,"product_id":1562,"amount":"2323","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"2323","total_cost":null,"erp_sales_order_product_id":2237,"supplier":null,"product":{"id":1562,"name":"PAN-PWR-450W-AC","product_type":5,"product_component":36,"product_brand":8,"product_serie":1244,"product_misc":null,"product_qa":null,"pn":"","description":"PA-3400,PA-1400, ION 5200 and ION 9200 450W spare power supply","created_by":1013,"created_at":"2024-04-15 15:40:42","updated_at":"2026-04-30 14:34:15","pinyin_shortcut":"PANPWR450WAC","product_unit":2,"is_renew":false,"in_out_at":"2026-04-30 14:34:15.937971+08","productType":{"id":5,"key":5,"name":"\u5b89\u5168\u8bbe\u5907"},"productComponent":{"id":36,"key":36,"name":"PA\u8bb8\u53ef\u8bc1"},"productBrand":{"id":8,"key":8,"name":"PaloAlto"},"productSerie":{"id":1244,"key":1244,"name":"PA1420\u8f6f\u4ef6\u6388\u6743"},"productUnit":{"id":2,"key":2,"name":"\u5957"}},"erpSalesOrderProduct":{"id":2237,"erp_sales_order_id":1701,"erp_store_id":null,"product_id":1562,"description":"","number":"1","outbound":"0","amount":"2323","total_amount":"2323","last_number":"1","last_amount":"2323","last_total_amount":"2323","cost":null,"total_cost":null,"supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}},{"id":12122,"project_id":4167,"product_id":2261,"amount":"400","number":2,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"800","total_cost":null,"erp_sales_order_product_id":2233,"supplier":null,"product":{"id":2261,"name":"MK-MC300","product_type":4,"product_component":52,"product_brand":4,"product_serie":1769,"product_misc":null,"product_qa":null,"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":2233,"erp_sales_order_id":1701,"erp_store_id":null,"product_id":2261,"description":"","number":"2","outbound":"1","amount":"400","total_amount":"800","last_number":"2","last_amount":"400","last_total_amount":"800","cost":"33","total_cost":"33","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}},{"id":12123,"project_id":4167,"product_id":2171,"amount":"5345","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"5345","total_cost":null,"erp_sales_order_product_id":2238,"supplier":null,"product":{"id":2171,"name":"\u91d1\u7545\u900dCRM\u8f6f\u4ef6\u670d\u52a1","product_type":7,"product_component":159,"product_brand":270,"product_serie":1724,"product_misc":null,"product_qa":null,"pn":"","description":"","created_by":1013,"created_at":"2025-11-24 16:16:45","updated_at":"2026-05-25 11:18:07","pinyin_shortcut":"jcxCRMrjfw","product_unit":2,"is_renew":false,"in_out_at":"2026-05-25 11:18:07.594762+08","productType":{"id":7,"key":7,"name":"\u8f6f\u4ef6"},"productComponent":{"id":159,"key":159,"name":"\u529e\u516c\u8f6f\u4ef6"},"productBrand":{"id":270,"key":270,"name":"\u91d1\u7545\u900d"},"productSerie":{"id":1724,"key":1724,"name":"\u91d1\u7545\u900dCRM\u8f6f\u4ef6"},"productUnit":{"id":2,"key":2,"name":"\u5957"}},"erpSalesOrderProduct":{"id":2238,"erp_sales_order_id":1701,"erp_store_id":null,"product_id":2171,"description":"","number":"1","outbound":"0","amount":"5345","total_amount":"5345","last_number":"1","last_amount":"5345","last_total_amount":"5345","cost":null,"total_cost":null,"supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}},{"id":12124,"project_id":4167,"product_id":2177,"amount":"3232","number":12,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"38784","total_cost":null,"erp_sales_order_product_id":2235,"supplier":null,"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":null,"product_qa":null,"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-05-21 16:54:51","pinyin_shortcut":"sxfSDDCjcywrjV10","product_unit":2,"is_renew":false,"in_out_at":"2026-05-21 16:54:51.442868+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":2235,"erp_sales_order_id":1701,"erp_store_id":null,"product_id":2177,"description":"","number":"12","outbound":"0","amount":"3232","total_amount":"38784","last_number":"12","last_amount":"3232","last_total_amount":"38784","cost":null,"total_cost":null,"supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null}}],"commentCount":{"object_id":4167,"comment":2},"unreadComments":null,"fromContact":null,"projectContactPoints":[],"erpSalesOrder":{"id":1701,"serial_no":"XSDD-20260520-00001","from_date":null,"wrote_date":"2026-05-14","handler":1001,"client_id":982,"purchase_contract_id":null,"project_id":4167,"sales_contract_id":4476,"erp_store_id":null,"status":2,"erp_send_type_id":null,"abstract":null,"description":"","verify_type":2,"next_verify_user":null,"next_stop_verify_user":null,"next_cancel_verify_user":null,"verify_at":"2026-05-20 17:33:05","stop_at":"2026-05-22 17:01:19.712392+08","cancel_at":null,"refuse_description":null,"is_resubmitted":false,"is_done":false,"number":"17","amount":"51486","created_by":1001,"stop_description":null,"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-05-20 17:28:38","updated_at":"2026-05-22 17:01:42","print_times":null},"projectUsedClient":null,"erpSalesOrderVerify":null,"remain_display":9,"progress_remain_display":16,"forecast_remain_display":16,"projectProductTotalAmount":51486,"projectProductAllAmount":true,"projectProductTotalCost":0,"projectProductAllCost":false,"projectProductTotalNumber":17,"unissued_invoice":51486,"is_exceeded":false,"can_update":true,"can_delete":true,"unread":0,"last_arrive_days_display":null,"project_status_display":"\u5546\u673a\u6210\u4ea4","is_collected":false,"bgcolor":"#53cd02","can_invoice":true,"can_payment":true,"duration_display":16,"contract_type_display":"\u4ea7\u54c1\u9500\u552e","can_change_status":false,"is_admin":true,"lost_contact_days_display":null,"can_view_product":true,"budget_display":"5.15\u4e07","contact_points_status_display":"\u672a\u8bbe\u7f6e","total_contact_paid_point":0,"total_contact_un_paid_point":0,"verify_display":0,"un_collected":"51386","un_invoiced":51486,"object_type":1},{"id":3854,"client_id":2128,"project_status":2,"project_progress":5,"budget":"44540520","profit_pct":"25","bargain_date":"2026-12-31","description":null,"created_by":5087,"created_at":"2025-05-13 09:35:09","updated_at":"2026-05-21 17:47:35","engineer_id":null,"project_title":"\u5907\u4efd\u9879\u76ee\u4e8c\u671f","collected":"0","status_updated_at":"2025-05-25 16:44:14.571721+08","success_rate":null,"comment":"\u4e8c\u671f\u6269\u5bb9","contract_type":1,"progress_updated_at":"2025-05-25 16:44:14.571721+08","forecast_updated_at":"2025-05-25 16:44:14.571721+08","end_at":"","pinyin_shortcut":"bfxmeq","creator":5087,"used_client":null,"from_contact":null,"total_contact_point":null,"paid_contact_point":null,"project_product_version_id":1349,"is_sales_order_ready":false,"collected_plan":0,"change_status_to":null,"is_verify":false,"profits":"11135130.000000000000","remain":"369 days 23:52:35.529845","progress_remain":"369 days 23:52:35.529845","forecast_remain":"369 days 23:52:35.529845","lost_contact_days":null,"last_contact":"","last_arrive_days":null,"last_arrive":null,"duration":"382 days 07:01:40.571642","issued_invoices":null,"client":{"id":2128,"key":2128,"name":"\u5317\u4eac\u79d1\u6280\u6709\u9650\u516c\u53f8","logo":null,"client_type":6,"client_class":47,"client_industry":20,"sales_rep":5087,"salesRep":{"id":5087,"key":5087,"name":"\u5218\u5fae","sex":"F","avatar":{"id":62,"user_id":5087,"name":"\/files\/cdn\/a57be577deb434\/avatar\/06f75b3a-7b6c-37a8-81c0-b2934104daa7.png"}},"clientType":{"id":6,"key":6,"name":"\u836f\u54c1\u6279\u53d1\u4f01\u4e1a\uff08\u666e\u901a\uff09"},"clientClass":{"id":47,"key":47,"name":"\u76ee\u6807\u5ba2\u6237","notice_days":30,"color":"#EB13C3"},"clientIndustry":{"id":20,"key":20,"name":"\u5176\u4ed6"}},"usedClient":null,"contractType":{"id":1,"key":1,"name":"\u4ea7\u54c1\u9500\u552e"},"projectArchitects":[{"project_id":3854,"value":"1","key":1015,"name":"\u5434\u660a"}],"projectStatus":{"id":2,"key":2,"name":"\u660e\u786e\u9700\u6c42","color":"#0064ec"},"projectProgress":{"id":5,"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"},"projectProductTypes":[{"id":23,"product_type_id":23,"key":23,"name":"\u793c\u54c1","budget":"53588","pct":"25","profit":"13397","project_id":3854},{"id":21,"product_type_id":21,"key":21,"name":"\u6570\u7801\u8bbe\u5907","budget":"44","pct":"25","profit":"11","project_id":3854},{"id":4,"product_type_id":4,"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 ","budget":"44486888","pct":"25","profit":"11121722","project_id":3854}],"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":165,"key":165,"name":"\u534f\u8bae\u4f9b\u8d27"},"createdBy":{"id":5087,"key":5087,"name":"\u5218\u5fae","sex":"F","department_id":1,"avatar":{"id":62,"user_id":5087,"name":"\/files\/cdn\/a57be577deb434\/avatar\/06f75b3a-7b6c-37a8-81c0-b2934104daa7.png"},"department":{"id":1,"key":1,"name":"\u9500\u552e\u90e8"}},"projectCreator":{"id":5087,"key":5087,"name":"\u5218\u5fae","sex":"F","department_id":1,"avatar":{"id":62,"user_id":5087,"name":"\/files\/cdn\/a57be577deb434\/avatar\/06f75b3a-7b6c-37a8-81c0-b2934104daa7.png"}},"salesRep":{"id":5087,"key":5087,"name":"\u5218\u5fae","sex":"F","avatar":{"id":62,"user_id":5087,"name":"\/files\/cdn\/a57be577deb434\/avatar\/06f75b3a-7b6c-37a8-81c0-b2934104daa7.png"}},"casePoints":{"project_id":3854,"points":"113"},"workLogCount":null,"caseCount":{"project_id":3854,"count":3},"salesTimeCount":null,"implementTimeCount":{"project_id":3854,"sum":"8.1","times":"1"},"presalesTimeCount":{"project_id":3854,"sum":"0.05","times":"1"},"engineerTimeCount":null,"reimbursementAmountSum":{"project_id":3854,"sum":"194.66"},"buildContract":null,"projectRemindReceivers":[],"projectProductRels":[{"id":12044,"project_id":3854,"product_id":2261,"amount":"44433443","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"44433443","total_cost":null,"erp_sales_order_product_id":null,"supplier":null,"product":{"id":2261,"name":"MK-MC300","product_type":4,"product_component":52,"product_brand":4,"product_serie":1769,"product_misc":null,"product_qa":null,"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":null},{"id":12045,"project_id":3854,"product_id":1372,"amount":"53445","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"53445","total_cost":null,"erp_sales_order_product_id":null,"supplier":null,"product":{"id":1372,"name":"LC-LC \u5149\u7ea4\u7ebf 5\u7c73","product_type":4,"product_component":43,"product_brand":134,"product_serie":1047,"product_misc":null,"product_qa":null,"pn":"","description":"","created_by":1013,"created_at":"2024-01-26 16:48:55","updated_at":"2026-04-23 16:19:02","pinyin_shortcut":"LCLCgxx5m","product_unit":6,"is_renew":false,"in_out_at":"2026-04-23 16:19:02.133182+08","productType":{"id":4,"key":4,"name":"\u7f51\u7edc\u8bbe\u5907 "},"productComponent":{"id":43,"key":43,"name":"\u7f51\u7edc\u8bbe\u5907\u914d\u4ef6"},"productBrand":{"id":134,"key":134,"name":"\u7b2c\u4e09\u65b9"},"productSerie":{"id":1047,"key":1047,"name":"LC-LC \u5149\u7ea4\u7ebf 5\u7c73"},"productUnit":{"id":6,"key":6,"name":"\u6761"}},"erpSalesOrderProduct":null},{"id":12046,"project_id":3854,"product_id":2265,"amount":"53534","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"53534","total_cost":null,"erp_sales_order_product_id":null,"supplier":null,"product":{"id":2265,"name":"\u6b27\u4e3d\u8587\u5170Olivoila \u6a44\u6984\u6cb9500MLx2 \u7cbe\u9009\u793c\u76d2","product_type":23,"product_component":195,"product_brand":284,"product_serie":1775,"product_misc":null,"product_qa":null,"pn":"","description":"","created_by":1013,"created_at":"2026-03-20 14:34:40","updated_at":"2026-03-25 09:28:29","pinyin_shortcut":"olwlOlivoilagly500MLx2jxlh","product_unit":9,"is_renew":false,"in_out_at":"2026-03-25 09:28:29.365794+08","productType":{"id":23,"key":23,"name":"\u793c\u54c1"},"productComponent":{"id":195,"key":195,"name":"\u8425\u517b\u98df\u54c1\u6ecb\u8865"},"productBrand":{"id":284,"key":284,"name":"\u6b27\u4e3d\u8587\u5170"},"productSerie":{"id":1775,"key":1775,"name":"\u98df\u7528\u6cb9"},"productUnit":{"id":9,"key":9,"name":"\u76d2"}},"erpSalesOrderProduct":null},{"id":12047,"project_id":3854,"product_id":2263,"amount":"44","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"44","total_cost":null,"erp_sales_order_product_id":null,"supplier":null,"product":{"id":2263,"name":"\u867e\u76ae\u6295\u5f71\u5e55\u5e03100\u5bf8","product_type":21,"product_component":229,"product_brand":285,"product_serie":1782,"product_misc":null,"product_qa":null,"pn":"","description":"","created_by":1013,"created_at":"2026-03-20 14:32:00","updated_at":"2026-03-20 15:16:21","pinyin_shortcut":"xptymb100c","product_unit":3,"is_renew":false,"in_out_at":"2026-03-20 15:16:21.988041+08","productType":{"id":21,"key":21,"name":"\u6570\u7801\u8bbe\u5907"},"productComponent":{"id":229,"key":229,"name":"\u6570\u7801\u8bbe\u5907\u914d\u4ef6"},"productBrand":{"id":285,"key":285,"name":"\u867e\u76ae"},"productSerie":{"id":1782,"key":1782,"name":"\u6295\u5f71\u5e55\u5e03"},"productUnit":{"id":3,"key":3,"name":"\u4e2a"}},"erpSalesOrderProduct":null},{"id":12048,"project_id":3854,"product_id":2266,"amount":"54","number":1,"cost":null,"description":"","supplier_id":null,"hardware_from":null,"software_from":null,"maintenance_from":null,"hardware_to":null,"software_to":null,"maintenance_to":null,"total_amount":"54","total_cost":null,"erp_sales_order_product_id":null,"supplier":null,"product":{"id":2266,"name":"\u677e\u4e0b\u7535\u52a8\u5243\u987b\u5200\u5c0f\u65b9\u76d2mini\u4fbf\u643a\u6b3eCM20","product_type":23,"product_component":221,"product_brand":286,"product_serie":1783,"product_misc":null,"product_qa":null,"pn":"","description":"","created_by":1013,"created_at":"2026-03-20 14:38:56","updated_at":"2026-03-25 09:28:29","pinyin_shortcut":"sxddtxdxfhminibxkCM20","product_unit":3,"is_renew":false,"in_out_at":"2026-03-25 09:28:29.365794+08","productType":{"id":23,"key":23,"name":"\u793c\u54c1"},"productComponent":{"id":221,"key":221,"name":"\u7535\u5b50\u4ea7\u54c1"},"productBrand":{"id":286,"key":286,"name":"\u677e\u4e0b"},"productSerie":{"id":1783,"key":1783,"name":"\u7535\u52a8\u5243\u987b\u5200"},"productUnit":{"id":3,"key":3,"name":"\u4e2a"}},"erpSalesOrderProduct":null}],"commentCount":{"object_id":3854,"comment":7},"unreadComments":null,"fromContact":null,"projectContactPoints":[],"erpSalesOrder":null,"projectUsedClient":{"id":310,"project_id":3854,"used_client":null,"budget":null,"profit":null,"profit_pct":null,"collected_plan":null,"remind_ahead":null,"usedClient":null,"projectUsedClientPaymentCollectionRemindReceivers":[],"projectUsedClientPaymentCollectionRemindDates":[],"projectUsedClientPayments":[],"projectUsedClientInvoices":[],"invoiced":0,"collected":0,"un_invoiced":0,"un_collected":0,"remind_ahead_display":"\u4e0d\u63d0\u9192","project_used_client_collected_plan":0,"project_used_client_collected_plan_pct":""},"erpSalesOrderVerify":null,"remain_display":369,"progress_remain_display":369,"forecast_remain_display":369,"projectProductTotalAmount":44540520,"projectProductAllAmount":true,"projectProductTotalCost":0,"projectProductAllCost":false,"projectProductTotalNumber":5,"unissued_invoice":44540520,"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":382,"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":"4454.05\u4e07","contact_points_status_display":"\u672a\u8bbe\u7f6e","total_contact_paid_point":0,"total_contact_un_paid_point":0,"verify_display":0,"un_collected":0,"un_invoiced":0,"object_type":1}],"pagenation":{"totalcount":3147,"thispage":1,"pagesize":10},"can_create":true},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}],"ip":"139.159.170.86","ua":"jinchangxiao\/1.0.40 (HUAWEI Mate 80 Pro SGT-AL50; HarmonyOS 6.1.0)"}', FALSE, '2026-05-30 16:36:50', 309961984) RETURNING "id"