Log Messages

总计41条数据
TimeLevelCategoryMessage
 
09:29:18.959traceyii\base\Application::bootstrapBootstrap with yii\log\Dispatcher
09:29:18.959traceyii\base\Module::getModuleLoading module: debug
09:29:18.960traceyii\base\Application::bootstrapBootstrap with yii\debug\Module::bootstrap()
09:29:18.960traceyii\redis\Connection::openOpening redis DB connection: redis.server.local:6379, database=1
09:29:18.961traceyii\redis\Connection::executeCommandExecuting Redis Command: SELECT
09:29:18.961traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
09:29:18.962infotime tracing start1783474158962007040
09:29:18.962traceyii\web\UrlManager::parseRequestNo matching URL rules. Using default URL parsing logic.
09:29:18.962traceyii\web\Application::handleRequestRoute requested: 'vue/erp-analysis/list-sales-cost'
09:29:18.962traceyii\base\Module::getModuleLoading module: vue
09:29:18.975infoyii\web\Session::openSession started
09:29:18.977infoyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "id"=1001
09:29:18.977infoyii\db\Connection::openOpening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta
09:29:19.000traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
09:29:19.001traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
09:29:19.002infoyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "id"=1001
09:29:19.003traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
09:29:19.004traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
09:29:19.004infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
09:29:19.005traceyii\base\Controller::runActionRoute to run: vue/erp-analysis/list-sales-cost
09:29:19.006traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
09:29:19.008traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
09:29:19.008traceyii\base\InlineAction::runWithParamsRunning action: app\modules\vue\controllers\ErpAnalysisController::actionListSalesCost()
09:29:19.008traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
09:29:19.009traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
09:29:19.011infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_settles" WHERE ("date"='2025-12-01') AND ("is_settle"=TRUE)
09:29:19.012infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_settles" WHERE ("date"='2026-12-01') AND ("is_settle"=TRUE)
09:29:19.017infoyii\db\Command::querySELECT COUNT(*) FROM (SELECT p.*, CASE WHEN p.erp_sales_amount != 0 THEN erp_j_profit_amount / erp_sales_amount ELSE NULL END as erp_j_profit_pct, CASE WHEN p.erp_sales_amount != 0 THEN erp_profit_amount / erp_sales_amount ELSE NULL END as erp_profit_pct FROM (SELECT p.id, p.project_title, p.client_id, p.budget, p.updated_at, p.created_at, p.bargain_date, p.collected, p.budget - p.collected AS un_collected, p.pinyin_shortcut, p.description, (p.id::varchar || pd.user_id::varchar) as id, p.id as id2, (COALESCE(sum(ecctasc.amount), 0) + COALESCE(sum(ecctcpc.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cash_cost_ticket_amount, COALESCE(sum(ecta.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_ticket_amount, COALESCE(sum(eccrta.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_convert_amount, COALESCE(sum(esgs.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_sales_gift_amount, (CASE WHEN pd.user_id IS NOT NULL THEN pd.user_id ELSE p.created_by END) as created_by, (COALESCE(sum(o2.outbound_cost), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_amount, (COALESCE(sum(o2.outbound_amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_sales_amount, (COALESCE(sum(ecta.amount), 0) + COALESCE(sum(ecctasc.amount), 0) + COALESCE(sum(ecctcpc.amount), 0) + COALESCE(sum(eccrta.amount), 0) + COALESCE(sum(esgs.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_use_amount, (COALESCE(sum(o.outbound_amount - o.outbound_cost), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_profit_amount, (COALESCE(sum(o.outbound_amount - o.outbound_cost), 0) - COALESCE(sum(ecta.amount), 0) - COALESCE(sum(ecctasc.amount), 0) - COALESCE(sum(ecctcpc.amount), 0) - COALESCE(sum(eccrta.amount), 0) - COALESCE(sum(esgs.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_j_profit_amount, COALESCE(sum(ctlc.erp_labor_cost_amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_labor_cost_amount, COALESCE(max(scia.invoiced), 0) as invoiced, COALESCE(max(scia.uninvoiced), 0) as uninvoiced, (COALESCE(sum(o.outbound_amount - o.outbound_cost), 0) - COALESCE(sum(ecta.amount), 0) - COALESCE(sum(ecctasc.amount), 0) - COALESCE(sum(ecctcpc.amount), 0) - COALESCE(sum(eccrta.amount), 0) - COALESCE(sum(esgs.amount), 0) - COALESCE(sum(ctlc.erp_labor_cost_amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_j_profit_deduct_labor_amount FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.from_project = p.id LEFT JOIN (SELECT t.project_id, r.user_id, sum(r.pct) as pct FROM "a57be577deb434"."tbl_erp_profit_distributes" "t" LEFT JOIN "a57be577deb434"."tbl_erp_profit_distribute_pcts" "r" ON t.id = r.erp_profit_distribute_id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id", "r"."user_id") "pd" ON pd.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_users" "u" ON u.id = pd.user_id LEFT JOIN "a57be577deb434"."tbl_users" "u2" ON u2.id = p.created_by LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount), 0) as outbound_cost, COALESCE(sum(eipss.total_amount), 0) as outbound_amount FROM "a57be577deb434"."tbl_erp_sales_outbounds" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_outbound_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "o" ON p.id = o.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount), 0) as outbound_cost, COALESCE(sum(eipss.total_amount), 0) as outbound_amount FROM "a57be577deb434"."tbl_erp_sales_outbounds" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_outbound_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "o2" ON p.id = o2.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(t.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cost_tickets" "t" WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "ecta" ON p.id = ecta.project_id LEFT JOIN (SELECT sc.from_project as project_id, COALESCE(sum(t.amount),0) as amount FROM "a57be577deb434"."tbl_erp_cash_cost_tickets" "t" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.id = t.sales_contract_id LEFT JOIN "a57be577deb434"."tbl_erp_cash_cost_ticket_client_project_costs" "cpc" ON cpc.erp_cash_cost_ticket_id = t.id WHERE ("t"."status"=2) AND (cpc.id IS NULL) AND (sc.from_project IS NOT NULL) GROUP BY "sc"."from_project") "ecctasc" ON p.id = ecctasc.project_id LEFT JOIN (SELECT cpc.project_id, COALESCE(sum(cpc.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cash_cost_ticket_client_project_costs" "cpc" LEFT JOIN "a57be577deb434"."tbl_erp_cash_cost_tickets" "t" ON cpc.erp_cash_cost_ticket_id = t.id WHERE ("t"."status"=2) AND (cpc.project_id IS NOT NULL) GROUP BY "cpc"."project_id") "ecctcpc" ON p.id = ecctcpc.project_id LEFT JOIN (SELECT sc.from_project as project_id, COALESCE(sum(t.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cost_convert_tickets" "t" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.id = t.sales_contract_id WHERE ("t"."status"=2) AND (sc.from_project IS NOT NULL) GROUP BY "sc"."from_project") "eccrta" ON p.id = eccrta.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount - eipss.total_amount), 0) as amount FROM "a57be577deb434"."tbl_erp_sales_gifts" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_gift_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "esgs" ON p.id = esgs.project_id LEFT JOIN (SELECT ct.project_id as project_id, COALESCE(sum(CASE WHEN ct.work_hours > 0 THEN COALESCE(payroll.amount, 0) / GREATEST(( SELECT COUNT(1) FROM generate_series(ct.settle_month::timestamp, (ct.settle_month + interval '1 month - 1 day')::timestamp, interval '1 day') AS work_dates(work_date) LEFT JOIN a57be577deb434.tbl_legal_holidays lh ON lh.edate = work_dates.work_date::date LEFT JOIN a57be577deb434.tbl_punch_strategy_schedules pss ON pss.edate = work_dates.work_date::date AND pss.punch_strategy_id = ps.id WHERE CASE WHEN ps.id IS NULL THEN EXTRACT(ISODOW FROM work_dates.work_date)::integer BETWEEN 1 AND 5 WHEN pss.id IS NOT NULL THEN pss.need_work WHEN ps.legal_holiday AND lh.id IS NOT NULL THEN lh.is_exchange ELSE (ps.week::integer & (1 << (EXTRACT(ISODOW FROM work_dates.work_date)::integer - 1))) <> 0 END ), 1) / GREATEST((CASE WHEN ps.id IS NULL THEN 8 WHEN ps.punch_type = 0 THEN 8 WHEN ps.work_hour IS NOT NULL AND ps.work_hour > 0 THEN ps.work_hour ELSE 8 END), 1) * ct.work_hours ELSE 0 END), 0) as erp_labor_cost_amount FROM ((SELECT p.id as ticket_id, 'preSales' as ticket_type, '售前' as ticket_type_name, p.ticket_no, p.case_id, c.case_no, COALESCE(p.client_id, c.client_id) as client_id, c.project_id, cl.sales_rep as sales_rep_id, p.engineer_id, p.start_at, p.end_at, date_trunc('month', p.start_at)::date as settle_month, EXTRACT(EPOCH FROM (p.end_at - p.start_at)) / 3600 as work_hours FROM "a57be577deb434"."tbl_pre_sales" "p" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON c.id = p.case_id LEFT JOIN "a57be577deb434"."tbl_clients" "cl" ON cl.id = COALESCE(p.client_id, c.client_id) WHERE (p.start_at IS NOT NULL) AND (("p"."is_draft"=FALSE) OR (p.is_draft IS NULL)) AND ("p"."start_at" >= '2026-01-01 00:00:00') AND ("p"."start_at" <= '2026-12-31 23:59:59') AND (p.end_at IS NOT NULL) AND (p.end_at > p.start_at) AND (p.engineer_id IS NOT NULL)) UNION ALL ( SELECT i.id as ticket_id, 'implementRecords' as ticket_type, '实施' as ticket_type_name, i.ticket_no, i.case_id, c.case_no, COALESCE(i.client_id, c.client_id) as client_id, c.project_id, cl.sales_rep as sales_rep_id, c.last_engineer as engineer_id, i.arrived_at as start_at, i.left_at as end_at, date_trunc('month', i.arrived_at)::date as settle_month, EXTRACT(EPOCH FROM (i.left_at - i.arrived_at)) / 3600 as work_hours FROM "a57be577deb434"."tbl_implement_records" "i" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON c.id = i.case_id LEFT JOIN "a57be577deb434"."tbl_clients" "cl" ON cl.id = COALESCE(i.client_id, c.client_id) WHERE (i.arrived_at IS NOT NULL) AND (("i"."is_draft"=FALSE) OR (i.is_draft IS NULL)) AND ("i"."arrived_at" >= '2026-01-01 00:00:00') AND ("i"."arrived_at" <= '2026-12-31 23:59:59') AND (i.left_at IS NOT NULL) AND (i.left_at > i.arrived_at) AND (c.last_engineer IS NOT NULL) )) "ct" LEFT JOIN "a57be577deb434"."tbl_projects" "p" ON p.id = ct.project_id LEFT JOIN (SELECT pay.user_id, pay.settle_month, COALESCE(sum(pay.amount), 0) as amount FROM ((SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_wage_ticket_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_wage_tickets" "t" ON am.erp_wage_ticket_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month") UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_social_insurance_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_social_insurances" "t" ON am.erp_social_insurance_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" ) UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_provident_fund_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_provident_funds" "t" ON am.erp_provident_fund_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" ) UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_personal_tax_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_personal_taxs" "t" ON am.erp_personal_tax_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" )) "pay" GROUP BY "pay"."user_id", "pay"."settle_month") "payroll" ON payroll.user_id = ct.engineer_id AND payroll.settle_month = ct.settle_month LEFT JOIN "a57be577deb434"."tbl_punch_strategy_resource_rels" "psrr" ON psrr.user_id = ct.engineer_id LEFT JOIN "a57be577deb434"."tbl_punch_strategies" "ps" ON ps.id = psrr.punch_strategy_id WHERE ct.project_id IS NOT NULL GROUP BY "ct"."project_id") "ctlc" ON p.id = ctlc.project_id LEFT JOIN (SELECT sc.from_project as project_id, COALESCE(sum(COALESCE(sci.invoiced, 0)), 0) as invoiced, COALESCE(sum(CASE WHEN sc.including_tax = true THEN (CASE WHEN sc.need_analysis = true THEN sc.amount ELSE 0 END) - COALESCE(sci.invoiced, 0) ELSE 0 END), 0) as uninvoiced FROM "a57be577deb434"."tbl_sales_contracts" "sc" LEFT JOIN (SELECT t.contract_id, COALESCE(sum(t.amount), 0) as invoiced FROM "a57be577deb434"."tbl_sales_contract_invoices" "t" GROUP BY "t"."contract_id") "sci" ON sci.contract_id = sc.id WHERE sc.from_project IS NOT NULL GROUP BY "sc"."from_project") "scia" ON p.id = scia.project_id WHERE ("project_status"=3) AND (("p"."created_by"='1001') OR ("pd"."user_id"='1001')) AND ("p"."bargain_date" >= '2026-01-01 00:00:00') AND ("p"."bargain_date" <= '2026-12-31 23:59:59') GROUP BY "p"."id", "pd"."user_id", "pd"."pct") "p" LEFT JOIN "a57be577deb434"."tbl_users" "u2" ON u2.id = p.created_by LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id ORDER BY "p"."bargain_date" DESC, "p"."updated_at" DESC) "c"
09:29:19.039infoyii\db\Command::querySELECT p.*, CASE WHEN p.erp_sales_amount != 0 THEN erp_j_profit_amount / erp_sales_amount ELSE NULL END as erp_j_profit_pct, CASE WHEN p.erp_sales_amount != 0 THEN erp_profit_amount / erp_sales_amount ELSE NULL END as erp_profit_pct FROM (SELECT p.id, p.project_title, p.client_id, p.budget, p.updated_at, p.created_at, p.bargain_date, p.collected, p.budget - p.collected AS un_collected, p.pinyin_shortcut, p.description, (p.id::varchar || pd.user_id::varchar) as id, p.id as id2, (COALESCE(sum(ecctasc.amount), 0) + COALESCE(sum(ecctcpc.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cash_cost_ticket_amount, COALESCE(sum(ecta.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_ticket_amount, COALESCE(sum(eccrta.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_convert_amount, COALESCE(sum(esgs.amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_sales_gift_amount, (CASE WHEN pd.user_id IS NOT NULL THEN pd.user_id ELSE p.created_by END) as created_by, (COALESCE(sum(o2.outbound_cost), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_cost_amount, (COALESCE(sum(o2.outbound_amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_sales_amount, (COALESCE(sum(ecta.amount), 0) + COALESCE(sum(ecctasc.amount), 0) + COALESCE(sum(ecctcpc.amount), 0) + COALESCE(sum(eccrta.amount), 0) + COALESCE(sum(esgs.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_use_amount, (COALESCE(sum(o.outbound_amount - o.outbound_cost), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_profit_amount, (COALESCE(sum(o.outbound_amount - o.outbound_cost), 0) - COALESCE(sum(ecta.amount), 0) - COALESCE(sum(ecctasc.amount), 0) - COALESCE(sum(ecctcpc.amount), 0) - COALESCE(sum(eccrta.amount), 0) - COALESCE(sum(esgs.amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_j_profit_amount, COALESCE(sum(ctlc.erp_labor_cost_amount), 0) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_labor_cost_amount, COALESCE(max(scia.invoiced), 0) as invoiced, COALESCE(max(scia.uninvoiced), 0) as uninvoiced, (COALESCE(sum(o.outbound_amount - o.outbound_cost), 0) - COALESCE(sum(ecta.amount), 0) - COALESCE(sum(ecctasc.amount), 0) - COALESCE(sum(ecctcpc.amount), 0) - COALESCE(sum(eccrta.amount), 0) - COALESCE(sum(esgs.amount), 0) - COALESCE(sum(ctlc.erp_labor_cost_amount), 0)) * (CASE WHEN pd.pct IS NOT NULL THEN pd.pct / 100 ELSE 1 END) as erp_j_profit_deduct_labor_amount FROM "a57be577deb434"."tbl_projects" "p" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.from_project = p.id LEFT JOIN (SELECT t.project_id, r.user_id, sum(r.pct) as pct FROM "a57be577deb434"."tbl_erp_profit_distributes" "t" LEFT JOIN "a57be577deb434"."tbl_erp_profit_distribute_pcts" "r" ON t.id = r.erp_profit_distribute_id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id", "r"."user_id") "pd" ON pd.project_id = p.id LEFT JOIN "a57be577deb434"."tbl_users" "u" ON u.id = pd.user_id LEFT JOIN "a57be577deb434"."tbl_users" "u2" ON u2.id = p.created_by LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount), 0) as outbound_cost, COALESCE(sum(eipss.total_amount), 0) as outbound_amount FROM "a57be577deb434"."tbl_erp_sales_outbounds" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_outbound_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "o" ON p.id = o.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount), 0) as outbound_cost, COALESCE(sum(eipss.total_amount), 0) as outbound_amount FROM "a57be577deb434"."tbl_erp_sales_outbounds" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_outbound_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "o2" ON p.id = o2.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(t.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cost_tickets" "t" WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "ecta" ON p.id = ecta.project_id LEFT JOIN (SELECT sc.from_project as project_id, COALESCE(sum(t.amount),0) as amount FROM "a57be577deb434"."tbl_erp_cash_cost_tickets" "t" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.id = t.sales_contract_id LEFT JOIN "a57be577deb434"."tbl_erp_cash_cost_ticket_client_project_costs" "cpc" ON cpc.erp_cash_cost_ticket_id = t.id WHERE ("t"."status"=2) AND (cpc.id IS NULL) AND (sc.from_project IS NOT NULL) GROUP BY "sc"."from_project") "ecctasc" ON p.id = ecctasc.project_id LEFT JOIN (SELECT cpc.project_id, COALESCE(sum(cpc.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cash_cost_ticket_client_project_costs" "cpc" LEFT JOIN "a57be577deb434"."tbl_erp_cash_cost_tickets" "t" ON cpc.erp_cash_cost_ticket_id = t.id WHERE ("t"."status"=2) AND (cpc.project_id IS NOT NULL) GROUP BY "cpc"."project_id") "ecctcpc" ON p.id = ecctcpc.project_id LEFT JOIN (SELECT sc.from_project as project_id, COALESCE(sum(t.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_cost_convert_tickets" "t" LEFT JOIN "a57be577deb434"."tbl_sales_contracts" "sc" ON sc.id = t.sales_contract_id WHERE ("t"."status"=2) AND (sc.from_project IS NOT NULL) GROUP BY "sc"."from_project") "eccrta" ON p.id = eccrta.project_id LEFT JOIN (SELECT t.project_id, COALESCE(sum(eipss.actual_total_amount - eipss.total_amount), 0) as amount FROM "a57be577deb434"."tbl_erp_sales_gifts" "t" LEFT JOIN "a57be577deb434"."tbl_erp_inventory_product_spents" "eipss" ON eipss.erp_sales_gift_id = t.id WHERE ("t"."status"=2) AND (t.project_id IS NOT NULL) GROUP BY "t"."project_id") "esgs" ON p.id = esgs.project_id LEFT JOIN (SELECT ct.project_id as project_id, COALESCE(sum(CASE WHEN ct.work_hours > 0 THEN COALESCE(payroll.amount, 0) / GREATEST(( SELECT COUNT(1) FROM generate_series(ct.settle_month::timestamp, (ct.settle_month + interval '1 month - 1 day')::timestamp, interval '1 day') AS work_dates(work_date) LEFT JOIN a57be577deb434.tbl_legal_holidays lh ON lh.edate = work_dates.work_date::date LEFT JOIN a57be577deb434.tbl_punch_strategy_schedules pss ON pss.edate = work_dates.work_date::date AND pss.punch_strategy_id = ps.id WHERE CASE WHEN ps.id IS NULL THEN EXTRACT(ISODOW FROM work_dates.work_date)::integer BETWEEN 1 AND 5 WHEN pss.id IS NOT NULL THEN pss.need_work WHEN ps.legal_holiday AND lh.id IS NOT NULL THEN lh.is_exchange ELSE (ps.week::integer & (1 << (EXTRACT(ISODOW FROM work_dates.work_date)::integer - 1))) <> 0 END ), 1) / GREATEST((CASE WHEN ps.id IS NULL THEN 8 WHEN ps.punch_type = 0 THEN 8 WHEN ps.work_hour IS NOT NULL AND ps.work_hour > 0 THEN ps.work_hour ELSE 8 END), 1) * ct.work_hours ELSE 0 END), 0) as erp_labor_cost_amount FROM ((SELECT p.id as ticket_id, 'preSales' as ticket_type, '售前' as ticket_type_name, p.ticket_no, p.case_id, c.case_no, COALESCE(p.client_id, c.client_id) as client_id, c.project_id, cl.sales_rep as sales_rep_id, p.engineer_id, p.start_at, p.end_at, date_trunc('month', p.start_at)::date as settle_month, EXTRACT(EPOCH FROM (p.end_at - p.start_at)) / 3600 as work_hours FROM "a57be577deb434"."tbl_pre_sales" "p" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON c.id = p.case_id LEFT JOIN "a57be577deb434"."tbl_clients" "cl" ON cl.id = COALESCE(p.client_id, c.client_id) WHERE (p.start_at IS NOT NULL) AND (("p"."is_draft"=FALSE) OR (p.is_draft IS NULL)) AND ("p"."start_at" >= '2026-01-01 00:00:00') AND ("p"."start_at" <= '2026-12-31 23:59:59') AND (p.end_at IS NOT NULL) AND (p.end_at > p.start_at) AND (p.engineer_id IS NOT NULL)) UNION ALL ( SELECT i.id as ticket_id, 'implementRecords' as ticket_type, '实施' as ticket_type_name, i.ticket_no, i.case_id, c.case_no, COALESCE(i.client_id, c.client_id) as client_id, c.project_id, cl.sales_rep as sales_rep_id, c.last_engineer as engineer_id, i.arrived_at as start_at, i.left_at as end_at, date_trunc('month', i.arrived_at)::date as settle_month, EXTRACT(EPOCH FROM (i.left_at - i.arrived_at)) / 3600 as work_hours FROM "a57be577deb434"."tbl_implement_records" "i" LEFT JOIN "a57be577deb434"."tbl_cases" "c" ON c.id = i.case_id LEFT JOIN "a57be577deb434"."tbl_clients" "cl" ON cl.id = COALESCE(i.client_id, c.client_id) WHERE (i.arrived_at IS NOT NULL) AND (("i"."is_draft"=FALSE) OR (i.is_draft IS NULL)) AND ("i"."arrived_at" >= '2026-01-01 00:00:00') AND ("i"."arrived_at" <= '2026-12-31 23:59:59') AND (i.left_at IS NOT NULL) AND (i.left_at > i.arrived_at) AND (c.last_engineer IS NOT NULL) )) "ct" LEFT JOIN "a57be577deb434"."tbl_projects" "p" ON p.id = ct.project_id LEFT JOIN (SELECT pay.user_id, pay.settle_month, COALESCE(sum(pay.amount), 0) as amount FROM ((SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_wage_ticket_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_wage_tickets" "t" ON am.erp_wage_ticket_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month") UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_social_insurance_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_social_insurances" "t" ON am.erp_social_insurance_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" ) UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_provident_fund_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_provident_funds" "t" ON am.erp_provident_fund_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" ) UNION ALL ( SELECT am.user_id, t.settle_month::date as settle_month, COALESCE(sum(am.amount), 0) as amount FROM "a57be577deb434"."tbl_erp_personal_tax_amounts" "am" LEFT JOIN "a57be577deb434"."tbl_erp_personal_taxs" "t" ON am.erp_personal_tax_id = t.id WHERE ("t"."status"=2) AND (am.user_id IS NOT NULL) GROUP BY "am"."user_id", "t"."settle_month" )) "pay" GROUP BY "pay"."user_id", "pay"."settle_month") "payroll" ON payroll.user_id = ct.engineer_id AND payroll.settle_month = ct.settle_month LEFT JOIN "a57be577deb434"."tbl_punch_strategy_resource_rels" "psrr" ON psrr.user_id = ct.engineer_id LEFT JOIN "a57be577deb434"."tbl_punch_strategies" "ps" ON ps.id = psrr.punch_strategy_id WHERE ct.project_id IS NOT NULL GROUP BY "ct"."project_id") "ctlc" ON p.id = ctlc.project_id LEFT JOIN (SELECT sc.from_project as project_id, COALESCE(sum(COALESCE(sci.invoiced, 0)), 0) as invoiced, COALESCE(sum(CASE WHEN sc.including_tax = true THEN (CASE WHEN sc.need_analysis = true THEN sc.amount ELSE 0 END) - COALESCE(sci.invoiced, 0) ELSE 0 END), 0) as uninvoiced FROM "a57be577deb434"."tbl_sales_contracts" "sc" LEFT JOIN (SELECT t.contract_id, COALESCE(sum(t.amount), 0) as invoiced FROM "a57be577deb434"."tbl_sales_contract_invoices" "t" GROUP BY "t"."contract_id") "sci" ON sci.contract_id = sc.id WHERE sc.from_project IS NOT NULL GROUP BY "sc"."from_project") "scia" ON p.id = scia.project_id WHERE ("project_status"=3) AND (("p"."created_by"='1001') OR ("pd"."user_id"='1001')) AND ("p"."bargain_date" >= '2026-01-01 00:00:00') AND ("p"."bargain_date" <= '2026-12-31 23:59:59') GROUP BY "p"."id", "pd"."user_id", "pd"."pct") "p" LEFT JOIN "a57be577deb434"."tbl_users" "u2" ON u2.id = p.created_by LEFT JOIN "a57be577deb434"."tbl_clients" "c" ON p.client_id = c.id ORDER BY "p"."bargain_date" DESC, "p"."updated_at" DESC LIMIT 40
09:29:19.086traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
09:29:19.086traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
09:29:19.086infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_clients" WHERE "id" IN (3462, 3389, 3009, 982, 2593, 2150, 3457, 3286, 3451, 3377, 3435, 2553)
09:29:19.088infoyii\db\Command::querySELECT "id", "id" AS "key", "name", "sex", "department_id" FROM "a57be577deb434"."tbl_users" WHERE "id" IN (1001, 5085, 5248, 1023, 1022, 1015)
09:29:19.089infoyii\db\Command::querySELECT "id", "user_id", "meta_value" AS "name" FROM "a57be577deb434"."tbl_user_meta" WHERE ("meta_key"='avatar') AND ("user_id" IN (1023, 5085, 1022, 5248, 1015, 1001))
09:29:19.090infoyii\db\Command::querySELECT "id", "id" AS "key", "name" FROM "a57be577deb434"."tbl_departments" WHERE "id" IN (2, 4)
09:29:19.091infoyii\db\Command::querySELECT "id", "from_project", "is_outbound" FROM "a57be577deb434"."tbl_sales_contracts" WHERE "from_project" IN (4174, 4172, 4170, 4169, 4168, 4167, 4166, 4144, 4161, 4164, 4151, 4157, 4155, 4142, 4127, 4098, 4111, 4096)
09:29:19.093traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
09:29:19.093traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
09:29:19.094infoyii\db\Command::queryINSERT INTO "global"."tbl_api_log" ("code", "schema", "user_id", "device_type", "url", "request", "response", "php_error", "time", "duration") VALUES (200, 'a57be577deb434', 1001, 5, 'vue/erp-analysis/list-sales-cost', '{"created_by":["1001"],"created_at_period":"erpcurrentfascalyear","collected":"","outbound_at_period":"","page":"1","pageSize":"40","listReload":"true","web_access_token":"ukNwOz-BjUcQL9I3n8iWo2JcLwCMuHVk"}', '{"code":2000,"result":{"list":[{"id":4174,"project_title":"\u9500\u552e\u7ebf\u7d22\u751f\u621020260602001","client_id":3462,"budget":"3561000","updated_at":"2026-06-05 17:35:57","created_at":"2026-06-02 16:52:29","bargain_date":"2026-06-02","collected":"0","un_collected":3561000,"pinyin_shortcut":"xsxssc20260602001","description":"","id2":4174,"erp_cash_cost_ticket_amount":"1","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"1","erp_profit_amount":"0","erp_j_profit_amount":"-1","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"3561000","erp_j_profit_deduct_labor_amount":"-1","erp_j_profit_pct":"","erp_profit_pct":"","client":{"id":3462,"key":3462,"name":"\u5927\u59d1\u8bf4\u7684\u98ce\u683c"},"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"}},"buildContract2":{"id":4486,"from_project":4174,"is_outbound":false},"buildContract":{"id":4486,"from_project":4174,"is_outbound":false},"un_invoiced":"3561000"},{"id":4172,"project_title":"\u63a8\u7279\u5982\u56fe","client_id":3389,"budget":"18000","updated_at":"2026-05-25 10:12:46","created_at":"2026-05-25 10:12:46","bargain_date":"2026-05-25","collected":"0","un_collected":18000,"pinyin_shortcut":"ttrt","description":"","id2":4172,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"0","erp_profit_amount":"0","erp_j_profit_amount":"0","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"18000","erp_j_profit_deduct_labor_amount":"0","erp_j_profit_pct":"","erp_profit_pct":"","client":{"id":3389,"key":3389,"name":"\u4e2d\u56fd\u8bc1\u5238\u62a5\u6709\u9650\u8d23\u4efb\u516c\u53f8"},"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"}},"buildContract2":{"id":4480,"from_project":4172,"is_outbound":false},"buildContract":{"id":4480,"from_project":4172,"is_outbound":false},"un_invoiced":"18000"},{"id":4170,"project_title":"\u516c\u53f8\u8463\u4e8b","client_id":3389,"budget":"900","updated_at":"2026-06-02 23:12:40","created_at":"2026-05-22 17:13:42","bargain_date":"2026-05-22","collected":"0","un_collected":900,"pinyin_shortcut":"gsds","description":"","id2":4170,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"0","erp_profit_amount":"0","erp_j_profit_amount":"0","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"900","erp_j_profit_deduct_labor_amount":"0","erp_j_profit_pct":"","erp_profit_pct":"","client":{"id":3389,"key":3389,"name":"\u4e2d\u56fd\u8bc1\u5238\u62a5\u6709\u9650\u8d23\u4efb\u516c\u53f8"},"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"}},"buildContract2":{"id":4479,"from_project":4170,"is_outbound":false},"buildContract":{"id":4479,"from_project":4170,"is_outbound":false},"un_invoiced":"900"},{"id":4169,"project_title":"\u65b9\u5f0f\u5730\u65b9","client_id":3389,"budget":"1800","updated_at":"2026-05-22 17:05:11","created_at":"2026-05-22 17:05:11","bargain_date":"2026-05-22","collected":"0","un_collected":1800,"pinyin_shortcut":"fsdf","description":"","id2":4169,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"0","erp_profit_amount":"0","erp_j_profit_amount":"0","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"1800","erp_j_profit_deduct_labor_amount":"0","erp_j_profit_pct":"","erp_profit_pct":"","client":{"id":3389,"key":3389,"name":"\u4e2d\u56fd\u8bc1\u5238\u62a5\u6709\u9650\u8d23\u4efb\u516c\u53f8"},"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"}},"buildContract2":{"id":4478,"from_project":4169,"is_outbound":false},"buildContract":{"id":4478,"from_project":4169,"is_outbound":false},"un_invoiced":"1800"},{"id":4168,"project_title":"\u7a0e\u8d4b\u5927\u662f\u5927\u975e","client_id":3009,"budget":"900","updated_at":"2026-05-22 16:49:10","created_at":"2026-05-22 16:49:10","bargain_date":"2026-05-22","collected":"0","un_collected":900,"pinyin_shortcut":"sfdsdf","description":"","id2":4168,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"0","erp_profit_amount":"0","erp_j_profit_amount":"0","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"900","erp_j_profit_deduct_labor_amount":"0","erp_j_profit_pct":"","erp_profit_pct":"","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"},"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"}},"buildContract2":{"id":4494,"from_project":4168,"is_outbound":false},"buildContract":{"id":4494,"from_project":4168,"is_outbound":false},"un_invoiced":"900"},{"id":4167,"project_title":"\u65b0\u5efa\u9879\u76ee","client_id":982,"budget":"51486","updated_at":"2026-05-21 18:03:03","created_at":"2026-05-14 10:38:51","bargain_date":"2026-05-14","collected":"100","un_collected":51386,"pinyin_shortcut":"xjxm","description":"","id2":4167,"erp_cash_cost_ticket_amount":"100","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"100","erp_profit_amount":"0","erp_j_profit_amount":"-100","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"51486","erp_j_profit_deduct_labor_amount":"-100","erp_j_profit_pct":"","erp_profit_pct":"","client":{"id":982,"key":982,"name":"\u4e2d\u56fd\u4fe1\u606f\u5b89\u5168\u7814\u7a76\u6240"},"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"}},"buildContract2":{"id":4476,"from_project":4167,"is_outbound":false},"buildContract":{"id":4476,"from_project":4167,"is_outbound":false},"un_invoiced":"51486"},{"id":4166,"project_title":"9999","client_id":982,"budget":"4000","updated_at":"2026-05-20 12:54:15","created_at":"2026-04-23 21:19:12","bargain_date":"2026-05-12","collected":"0","un_collected":4000,"pinyin_shortcut":"9999","description":"","id2":4166,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"0","erp_profit_amount":"0","erp_j_profit_amount":"0","erp_labor_cost_amount":"0","invoiced":"1701","uninvoiced":"10644","erp_j_profit_deduct_labor_amount":"0","erp_j_profit_pct":"","erp_profit_pct":"","client":{"id":982,"key":982,"name":"\u4e2d\u56fd\u4fe1\u606f\u5b89\u5168\u7814\u7a76\u6240"},"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"}},"buildContract2":{"id":4467,"from_project":4166,"is_outbound":false},"buildContract":{"id":4467,"from_project":4166,"is_outbound":false},"un_invoiced":"10644"},{"id":4144,"project_title":"zstack\u7eed\u4fdd","client_id":2593,"budget":"800","updated_at":"2026-05-22 16:48:10","created_at":"2026-03-18 09:49:26","bargain_date":"2026-04-30","collected":"0","un_collected":800,"pinyin_shortcut":"zstackxb","description":"","id2":4144,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"0","erp_profit_amount":"0","erp_j_profit_amount":"0","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"800","erp_j_profit_deduct_labor_amount":"0","erp_j_profit_pct":"","erp_profit_pct":"","client":{"id":2593,"key":2593,"name":"\u56fd\u5bcc\u745e\u6570\u636e\u7cfb\u7edf\u6709\u9650\u516c\u53f8(\u8fc7\u5355)"},"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"}},"buildContract2":{"id":4495,"from_project":4144,"is_outbound":false},"buildContract":{"id":4495,"from_project":4144,"is_outbound":false},"un_invoiced":"800"},{"id":4161,"project_title":"3535","client_id":982,"budget":"12703473","updated_at":"2026-05-21 16:13:22","created_at":"2026-04-01 11:36:21","bargain_date":"2026-04-23","collected":"0","un_collected":12703473,"pinyin_shortcut":"3535","description":"","id2":4161,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"1670.205","erp_sales_amount":"12703073","erp_use_amount":"0","erp_profit_amount":"12701402.795","erp_j_profit_amount":"12701402.795","erp_labor_cost_amount":"0","invoiced":"1009","uninvoiced":"12702464","erp_j_profit_deduct_labor_amount":"12701402.795","erp_j_profit_pct":99.99,"erp_profit_pct":99.99,"client":{"id":982,"key":982,"name":"\u4e2d\u56fd\u4fe1\u606f\u5b89\u5168\u7814\u7a76\u6240"},"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"}},"buildContract2":{"id":4462,"from_project":4161,"is_outbound":false},"buildContract":{"id":4462,"from_project":4161,"is_outbound":false},"un_invoiced":"12702464"},{"id":4164,"project_title":"\u6d4b\u8bd5\u65b0\u5efa\u5546\u673a\/\u7f16\u8f91\/\u751f\u6210\u5408\u540c","client_id":982,"budget":"40878","updated_at":"2026-04-29 17:58:05","created_at":"2026-04-08 11:18:13","bargain_date":"2026-04-08","collected":"3","un_collected":40875,"pinyin_shortcut":"csxjsjbjscht","description":"","id2":4164,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"0","erp_profit_amount":"0","erp_j_profit_amount":"0","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"40878","erp_j_profit_deduct_labor_amount":"0","erp_j_profit_pct":"","erp_profit_pct":"","client":{"id":982,"key":982,"name":"\u4e2d\u56fd\u4fe1\u606f\u5b89\u5168\u7814\u7a76\u6240"},"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"}},"buildContract2":{"id":4457,"from_project":4164,"is_outbound":false},"buildContract":{"id":4457,"from_project":4164,"is_outbound":false},"un_invoiced":"40878"},{"id":4151,"project_title":"PA460 \u8bbe\u5907\u65b0\u8d2d\u9879\u76ee","client_id":2150,"budget":"420000","updated_at":"2026-05-22 17:08:02","created_at":"2026-03-24 17:36:36","bargain_date":"2026-04-07","collected":"0","un_collected":420000,"pinyin_shortcut":"PA460sbxgxm","description":"","id2":4151,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"0","erp_profit_amount":"0","erp_j_profit_amount":"0","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"420000","erp_j_profit_deduct_labor_amount":"0","erp_j_profit_pct":"","erp_profit_pct":"","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)"},"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"}},"buildContract2":{"id":4493,"from_project":4151,"is_outbound":false},"buildContract":{"id":4493,"from_project":4151,"is_outbound":false},"un_invoiced":"420000"},{"id":4157,"project_title":"\u9500\u552e\u7ebf\u7d22\u751f\u621020260401002","client_id":3457,"budget":"33333","updated_at":"2026-04-01 11:28:03","created_at":"2026-04-01 11:21:52","bargain_date":"2026-04-01","collected":"557","un_collected":32776,"pinyin_shortcut":"xsxssc20260401002","description":"","id2":4157,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"0","erp_profit_amount":"0","erp_j_profit_amount":"0","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"33333","erp_j_profit_deduct_labor_amount":"0","erp_j_profit_pct":"","erp_profit_pct":"","client":{"id":3457,"key":3457,"name":"\u65b0\u5bb6\u9500\u552e\u7ebf\u7d22\u6d4b\u8bd5-\u5206\u914d"},"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"}},"buildContract2":{"id":4453,"from_project":4157,"is_outbound":false},"buildContract":{"id":4453,"from_project":4157,"is_outbound":false},"un_invoiced":"33333"},{"id":4155,"project_title":"\u6d4b\u8bd5\u65b0\u5efa\u5546\u673a","client_id":982,"budget":"4555","updated_at":"2026-05-25 11:18:55","created_at":"2026-03-31 13:59:19","bargain_date":"2026-03-31","collected":"0","un_collected":4555,"pinyin_shortcut":"csxjsj","description":"","id2":4155,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"0","erp_profit_amount":"0","erp_j_profit_amount":"0","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"4555","erp_j_profit_deduct_labor_amount":"0","erp_j_profit_pct":"","erp_profit_pct":"","client":{"id":982,"key":982,"name":"\u4e2d\u56fd\u4fe1\u606f\u5b89\u5168\u7814\u7a76\u6240"},"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"}},"buildContract2":{"id":4481,"from_project":4155,"is_outbound":false},"buildContract":{"id":4481,"from_project":4155,"is_outbound":false},"un_invoiced":"4555"},{"id":4142,"project_title":"PA1420 \u4e24\u53f0\u65b0\u8d2d\u9879\u76ee","client_id":3286,"budget":"309425.78","updated_at":"2026-04-08 15:49:36","created_at":"2026-03-17 14:29:58","bargain_date":"2026-03-17","collected":"0","un_collected":309425.78,"pinyin_shortcut":"PA1420ltxgxm","description":"\u6700\u7ec8\u7528\u6237\u4fe1\u606f\uff1a\n\u4ebf\u5ba2\u884c\u54a8\u8be2\u670d\u52a1(\u5317\u4eac)\u6709\u9650\u516c\u53f8\nExpedia Consulting Service (Beijing) Co., Ltd.","id2":4142,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"158798.2","erp_sales_amount":"176442","erp_use_amount":"0","erp_profit_amount":"17643.8","erp_j_profit_amount":"17643.8","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"309425.78","erp_j_profit_deduct_labor_amount":"17643.8","erp_j_profit_pct":10,"erp_profit_pct":10,"client":{"id":3286,"key":3286,"name":"\u826f\u56fe\u79d1\u6280(\u4e0a\u6d77)\u6709\u9650\u516c\u53f8"},"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"}},"buildContract2":{"id":4446,"from_project":4142,"is_outbound":false},"buildContract":{"id":4446,"from_project":4142,"is_outbound":false},"un_invoiced":"309425.78"},{"id":4127,"project_title":"\u91d1\u7545\u900dERP\u8f6f\u4ef6\u4e00\u5957\u91c7\u8d2d\u9879\u76ee","client_id":3451,"budget":"29800","updated_at":"2026-03-04 16:01:44","created_at":"2026-02-28 17:51:43","bargain_date":"2026-02-28","collected":"0","un_collected":29800,"pinyin_shortcut":"jcxERPrjytcgxm","description":"","id2":4127,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"0","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"0","erp_sales_amount":"0","erp_use_amount":"0","erp_profit_amount":"0","erp_j_profit_amount":"0","erp_labor_cost_amount":"0","invoiced":"0","uninvoiced":"29800","erp_j_profit_deduct_labor_amount":"0","erp_j_profit_pct":"","erp_profit_pct":"","client":{"id":3451,"key":3451,"name":"\u5c71\u897f\u534e\u521b\u667a\u884c\u6570\u5b57\u79d1\u6280\u6709\u9650\u516c\u53f8"},"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"}},"buildContract2":{"id":4433,"from_project":4127,"is_outbound":false},"buildContract":{"id":4433,"from_project":4127,"is_outbound":false},"un_invoiced":"29800"},{"id":4098,"project_title":"PA460\u8bbe\u5907\u7b49\u91c7\u8d2d\u9879\u76ee","client_id":3377,"budget":"1630000","updated_at":"2026-04-30 13:49:40","created_at":"2026-01-12 10:33:31","bargain_date":"2026-01-28","collected":"999","un_collected":1629001,"pinyin_shortcut":"PA460sbdcgxm","description":"","id2":4098,"erp_cash_cost_ticket_amount":"999","erp_cost_ticket_amount":"388713","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"1046515","erp_sales_amount":"1630000","erp_use_amount":"389712","erp_profit_amount":"583485","erp_j_profit_amount":"193773","erp_labor_cost_amount":"0","invoiced":"1630000","uninvoiced":"0","erp_j_profit_deduct_labor_amount":"193773","erp_j_profit_pct":11.89,"erp_profit_pct":35.8,"client":{"id":3377,"key":3377,"name":"\u5317\u4eac\u5a01\u53d1\u65b0\u4e16\u7eaa\u4fe1\u606f\u6280\u672f\u6709\u9650\u516c\u53f8(\u8fc7\u5355)"},"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"}},"buildContract2":{"id":4399,"from_project":4098,"is_outbound":true},"buildContract":{"id":4399,"from_project":4098,"is_outbound":true},"un_invoiced":"0"},{"id":4111,"project_title":"\u91d1\u7545\u900dERP\u8f6f\u4ef6\u4e00\u5957\u91c7\u8d2d\u9879\u76ee","client_id":3435,"budget":"29800","updated_at":"2026-04-30 13:48:32","created_at":"2026-01-22 11:53:00","bargain_date":"2026-01-22","collected":"29800","un_collected":0,"pinyin_shortcut":"jcxERPrjytcgxm","description":"","id2":4111,"erp_cash_cost_ticket_amount":"0.00000000000000000000","erp_cost_ticket_amount":"0.00000000000000000000","erp_cost_convert_amount":"0.00000000000000000000","erp_sales_gift_amount":"0.00000000000000000000","created_by":1001,"erp_cost_amount":"0.00000000000000000000","erp_sales_amount":"14900.00000000000000000000","erp_use_amount":"0.00000000000000000000","erp_profit_amount":"14900.00000000000000000000","erp_j_profit_amount":"14900.00000000000000000000","erp_labor_cost_amount":"0","invoiced":"29800","uninvoiced":"0","erp_j_profit_deduct_labor_amount":"14900","erp_j_profit_pct":100,"erp_profit_pct":100,"client":{"id":3435,"key":3435,"name":"\u5317\u4eac\u4e2d\u535a\u6570\u667a\u79d1\u6280\u6709\u9650\u516c\u53f8"},"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"}},"buildContract2":{"id":4388,"from_project":4111,"is_outbound":true},"buildContract":{"id":4388,"from_project":4111,"is_outbound":true},"un_invoiced":"0"},{"id":4111,"project_title":"\u91d1\u7545\u900dERP\u8f6f\u4ef6\u4e00\u5957\u91c7\u8d2d\u9879\u76ee","client_id":3435,"budget":"29800","updated_at":"2026-04-30 13:48:32","created_at":"2026-01-22 11:53:00","bargain_date":"2026-01-22","collected":"29800","un_collected":0,"pinyin_shortcut":"jcxERPrjytcgxm","description":"","id2":4111,"erp_cash_cost_ticket_amount":"0.00000000000000000000","erp_cost_ticket_amount":"0.00000000000000000000","erp_cost_convert_amount":"0.00000000000000000000","erp_sales_gift_amount":"0.00000000000000000000","created_by":5085,"erp_cost_amount":"0.00000000000000000000","erp_sales_amount":"2980.00000000000000000000","erp_use_amount":"0.00000000000000000000","erp_profit_amount":"2980.00000000000000000000","erp_j_profit_amount":"2980.00000000000000000000","erp_labor_cost_amount":"0","invoiced":"29800","uninvoiced":"0","erp_j_profit_deduct_labor_amount":"2980","erp_j_profit_pct":100,"erp_profit_pct":100,"client":{"id":3435,"key":3435,"name":"\u5317\u4eac\u4e2d\u535a\u6570\u667a\u79d1\u6280\u6709\u9650\u516c\u53f8"},"createdBy":{"id":5085,"key":5085,"name":"\u970d\u4e1c\u9633","sex":"M","department_id":2,"avatar":{"id":51,"user_id":5085,"name":"\/files\/cdn\/a57be577deb434\/avatar\/7423f9b0-25ce-3351-871b-15d81c0dcf0f.jpg"},"department":{"id":2,"key":2,"name":"\u6280\u672f\u90e8"}},"buildContract2":{"id":4388,"from_project":4111,"is_outbound":true},"buildContract":{"id":4388,"from_project":4111,"is_outbound":true},"un_invoiced":"0"},{"id":4111,"project_title":"\u91d1\u7545\u900dERP\u8f6f\u4ef6\u4e00\u5957\u91c7\u8d2d\u9879\u76ee","client_id":3435,"budget":"29800","updated_at":"2026-04-30 13:48:32","created_at":"2026-01-22 11:53:00","bargain_date":"2026-01-22","collected":"29800","un_collected":0,"pinyin_shortcut":"jcxERPrjytcgxm","description":"","id2":4111,"erp_cash_cost_ticket_amount":"0.00000000000000000000","erp_cost_ticket_amount":"0.00000000000000000000","erp_cost_convert_amount":"0.00000000000000000000","erp_sales_gift_amount":"0.00000000000000000000","created_by":5248,"erp_cost_amount":"0.00000000000000000000","erp_sales_amount":"2980.00000000000000000000","erp_use_amount":"0.00000000000000000000","erp_profit_amount":"2980.00000000000000000000","erp_j_profit_amount":"2980.00000000000000000000","erp_labor_cost_amount":"0","invoiced":"29800","uninvoiced":"0","erp_j_profit_deduct_labor_amount":"2980","erp_j_profit_pct":100,"erp_profit_pct":100,"client":{"id":3435,"key":3435,"name":"\u5317\u4eac\u4e2d\u535a\u6570\u667a\u79d1\u6280\u6709\u9650\u516c\u53f8"},"createdBy":{"id":5248,"key":5248,"name":"\u6587\u4f73\u9f99","sex":"M","department_id":2,"avatar":{"id":135,"user_id":5248,"name":"\/files\/cdn\/a57be577deb434\/avatar\/b4458545-7f88-3479-97be-6f43b2b50454.png"},"department":{"id":2,"key":2,"name":"\u6280\u672f\u90e8"}},"buildContract2":{"id":4388,"from_project":4111,"is_outbound":true},"buildContract":{"id":4388,"from_project":4111,"is_outbound":true},"un_invoiced":"0"},{"id":4111,"project_title":"\u91d1\u7545\u900dERP\u8f6f\u4ef6\u4e00\u5957\u91c7\u8d2d\u9879\u76ee","client_id":3435,"budget":"29800","updated_at":"2026-04-30 13:48:32","created_at":"2026-01-22 11:53:00","bargain_date":"2026-01-22","collected":"29800","un_collected":0,"pinyin_shortcut":"jcxERPrjytcgxm","description":"","id2":4111,"erp_cash_cost_ticket_amount":"0.00000000000000000000","erp_cost_ticket_amount":"0.00000000000000000000","erp_cost_convert_amount":"0.00000000000000000000","erp_sales_gift_amount":"0.00000000000000000000","created_by":1023,"erp_cost_amount":"0.00000000000000000000","erp_sales_amount":"2980.00000000000000000000","erp_use_amount":"0.00000000000000000000","erp_profit_amount":"2980.00000000000000000000","erp_j_profit_amount":"2980.00000000000000000000","erp_labor_cost_amount":"0","invoiced":"29800","uninvoiced":"0","erp_j_profit_deduct_labor_amount":"2980","erp_j_profit_pct":100,"erp_profit_pct":100,"client":{"id":3435,"key":3435,"name":"\u5317\u4eac\u4e2d\u535a\u6570\u667a\u79d1\u6280\u6709\u9650\u516c\u53f8"},"createdBy":{"id":1023,"key":1023,"name":"\u5468\u5b50\u5065","sex":"M","department_id":2,"avatar":{"id":4,"user_id":1023,"name":"\/files\/cdn\/a57be577deb434\/avatar\/1023.jpg"},"department":{"id":2,"key":2,"name":"\u6280\u672f\u90e8"}},"buildContract2":{"id":4388,"from_project":4111,"is_outbound":true},"buildContract":{"id":4388,"from_project":4111,"is_outbound":true},"un_invoiced":"0"},{"id":4111,"project_title":"\u91d1\u7545\u900dERP\u8f6f\u4ef6\u4e00\u5957\u91c7\u8d2d\u9879\u76ee","client_id":3435,"budget":"29800","updated_at":"2026-04-30 13:48:32","created_at":"2026-01-22 11:53:00","bargain_date":"2026-01-22","collected":"29800","un_collected":0,"pinyin_shortcut":"jcxERPrjytcgxm","description":"","id2":4111,"erp_cash_cost_ticket_amount":"0.00000000000000000000","erp_cost_ticket_amount":"0.00000000000000000000","erp_cost_convert_amount":"0.00000000000000000000","erp_sales_gift_amount":"0.00000000000000000000","created_by":1022,"erp_cost_amount":"0.00000000000000000000","erp_sales_amount":"2980.00000000000000000000","erp_use_amount":"0.00000000000000000000","erp_profit_amount":"2980.00000000000000000000","erp_j_profit_amount":"2980.00000000000000000000","erp_labor_cost_amount":"0","invoiced":"29800","uninvoiced":"0","erp_j_profit_deduct_labor_amount":"2980","erp_j_profit_pct":100,"erp_profit_pct":100,"client":{"id":3435,"key":3435,"name":"\u5317\u4eac\u4e2d\u535a\u6570\u667a\u79d1\u6280\u6709\u9650\u516c\u53f8"},"createdBy":{"id":1022,"key":1022,"name":"\u5f90\u7855","sex":"M","department_id":2,"avatar":{"id":6,"user_id":1022,"name":"\/files\/cdn\/a57be577deb434\/avatar\/2b5ec94d-d83c-38b4-ac3a-38720c369f91.png"},"department":{"id":2,"key":2,"name":"\u6280\u672f\u90e8"}},"buildContract2":{"id":4388,"from_project":4111,"is_outbound":true},"buildContract":{"id":4388,"from_project":4111,"is_outbound":true},"un_invoiced":"0"},{"id":4111,"project_title":"\u91d1\u7545\u900dERP\u8f6f\u4ef6\u4e00\u5957\u91c7\u8d2d\u9879\u76ee","client_id":3435,"budget":"29800","updated_at":"2026-04-30 13:48:32","created_at":"2026-01-22 11:53:00","bargain_date":"2026-01-22","collected":"29800","un_collected":0,"pinyin_shortcut":"jcxERPrjytcgxm","description":"","id2":4111,"erp_cash_cost_ticket_amount":"0.00000000000000000000","erp_cost_ticket_amount":"0.00000000000000000000","erp_cost_convert_amount":"0.00000000000000000000","erp_sales_gift_amount":"0.00000000000000000000","created_by":1015,"erp_cost_amount":"0.00000000000000000000","erp_sales_amount":"2980.00000000000000000000","erp_use_amount":"0.00000000000000000000","erp_profit_amount":"2980.00000000000000000000","erp_j_profit_amount":"2980.00000000000000000000","erp_labor_cost_amount":"0","invoiced":"29800","uninvoiced":"0","erp_j_profit_deduct_labor_amount":"2980","erp_j_profit_pct":100,"erp_profit_pct":100,"client":{"id":3435,"key":3435,"name":"\u5317\u4eac\u4e2d\u535a\u6570\u667a\u79d1\u6280\u6709\u9650\u516c\u53f8"},"createdBy":{"id":1015,"key":1015,"name":"\u5434\u660a","sex":"M","department_id":2,"avatar":{"id":12,"user_id":1015,"name":"\/files\/cdn\/a57be577deb434\/avatar\/d69b398a-5951-36e9-a92e-992fe938db26.jpg"},"department":{"id":2,"key":2,"name":"\u6280\u672f\u90e8"}},"buildContract2":{"id":4388,"from_project":4111,"is_outbound":true},"buildContract":{"id":4388,"from_project":4111,"is_outbound":true},"un_invoiced":"0"},{"id":4096,"project_title":"\u6a21\u5757\u91c7\u8d2d","client_id":2553,"budget":"1400","updated_at":"2026-01-19 14:25:54","created_at":"2026-01-09 09:38:13","bargain_date":"2026-01-12","collected":"0","un_collected":1400,"pinyin_shortcut":"mkcg","description":"","id2":4096,"erp_cash_cost_ticket_amount":"0","erp_cost_ticket_amount":"723","erp_cost_convert_amount":"0","erp_sales_gift_amount":"0","created_by":1001,"erp_cost_amount":"380","erp_sales_amount":"1400","erp_use_amount":"723","erp_profit_amount":"1020","erp_j_profit_amount":"297","erp_labor_cost_amount":"0","invoiced":"1400","uninvoiced":"0","erp_j_profit_deduct_labor_amount":"297","erp_j_profit_pct":21.21,"erp_profit_pct":72.86,"client":{"id":2553,"key":2553,"name":"\u9752\u5c9b\u9890\u6770\u9e3f\u5229\u79d1\u6280\u6709\u9650\u516c\u53f8"},"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"}},"buildContract2":{"id":4373,"from_project":4096,"is_outbound":true},"buildContract":{"id":4373,"from_project":4096,"is_outbound":true},"un_invoiced":"0"}],"pagenation":{"totalcount":23,"thispage":1,"pagesize":40}},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}],"mod":0,"ip":"39.156.194.178","ua":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.15; rv:152.0) Gecko\/20100101 Firefox\/152.0"}', FALSE, '2026-07-08 09:29:19', 131932928) RETURNING "id"
09:29:19.111traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
09:29:19.115traceyii\redis\Connection::executeCommandExecuting Redis Command: SET