All Latest
6a1d0df9cf5f6: POST https://beta.jinchangxiao.com/vue/erp-analysis/list-sales-cost at 2026-06-01 12:43:37 pm by 221.216.117.119

Log Messages

总计33条数据
TimeLevelCategoryMessage
 
12:43:37.849traceyii\base\Application::bootstrapBootstrap with yii\log\Dispatcher
12:43:37.849traceyii\base\Module::getModuleLoading module: debug
12:43:37.849traceyii\base\Application::bootstrapBootstrap with yii\debug\Module::bootstrap()
12:43:37.849traceyii\redis\Connection::openOpening redis DB connection: redis.server.local:6379, database=1
12:43:37.849traceyii\redis\Connection::executeCommandExecuting Redis Command: SELECT
12:43:37.849traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
12:43:37.849infotime tracing start1780289017849906944
12:43:37.850traceyii\web\UrlManager::parseRequestNo matching URL rules. Using default URL parsing logic.
12:43:37.850traceyii\web\Application::handleRequestRoute requested: 'vue/erp-analysis/list-sales-cost'
12:43:37.850traceyii\base\Module::getModuleLoading module: vue
12:43:37.850infoyii\web\Session::openSession started
12:43:37.851infoyii\db\Command::querySELECT * FROM "global"."vw_user_login" WHERE "id"=1001
12:43:37.851infoyii\db\Connection::openOpening DB connection: pgsql:host=postgresql.server.local;port=5432;dbname=beta
12:43:37.852traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
12:43:37.852traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
12:43:37.852traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
12:43:37.853traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
12:43:37.853infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_users" WHERE "id"=1001
12:43:37.853traceyii\base\Controller::runActionRoute to run: vue/erp-analysis/list-sales-cost
12:43:37.854traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
12:43:37.855traceuranus\rbac\DbManager::checkAccessFromCacheChecking role: Admin
12:43:37.855traceyii\base\InlineAction::runWithParamsRunning action: app\modules\vue\controllers\ErpAnalysisController::actionListSalesCost()
12:43:37.855traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
12:43:37.855traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
12:43:37.856infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_settles" WHERE ("date"='2025-12-01') AND ("is_settle"=TRUE)
12:43:37.857infoyii\db\Command::querySELECT * FROM "a57be577deb434"."tbl_erp_settles" WHERE ("date"='2026-12-01') AND ("is_settle"=TRUE)
12:43:37.858infoyii\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(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.end_at IS NOT NULL) AND (p.end_at > p.start_at) AND (p.engineer_id 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')) 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.left_at IS NOT NULL) AND (i.left_at > i.arrived_at) AND (c.last_engineer 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') )) "ct" 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 WHERE ("project_status"=3) 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 WHERE ("c"."name" ILIKE '%北京贝瑞和康生物技术有限公司%') OR ("c"."pinyin_shortcut" ILIKE '%北京贝瑞和康生物技术有限公司%') OR ("p"."pinyin_shortcut" ILIKE '%北京贝瑞和康生物技术有限公司%') OR ("p"."project_title" ILIKE '%北京贝瑞和康生物技术有限公司%') OR ("u2"."name" ILIKE '%北京贝瑞和康生物技术有限公司%') ORDER BY "p"."bargain_date" DESC, "p"."updated_at" DESC) "c"
12:43:37.868infoyii\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(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.end_at IS NOT NULL) AND (p.end_at > p.start_at) AND (p.engineer_id 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')) 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.left_at IS NOT NULL) AND (i.left_at > i.arrived_at) AND (c.last_engineer 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') )) "ct" 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 WHERE ("project_status"=3) 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 WHERE ("c"."name" ILIKE '%北京贝瑞和康生物技术有限公司%') OR ("c"."pinyin_shortcut" ILIKE '%北京贝瑞和康生物技术有限公司%') OR ("p"."pinyin_shortcut" ILIKE '%北京贝瑞和康生物技术有限公司%') OR ("p"."project_title" ILIKE '%北京贝瑞和康生物技术有限公司%') OR ("u2"."name" ILIKE '%北京贝瑞和康生物技术有限公司%') ORDER BY "p"."bargain_date" DESC, "p"."updated_at" DESC LIMIT 40
12:43:37.895traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
12:43:37.895traceyii\redis\Connection::executeCommandExecuting Redis Command: MGET
12:43:37.896infoyii\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_at_period":"erpcurrentfascalyear","created_by":"","collected":"","outbound_at_period":"","keyword":"\u5317\u4eac\u8d1d\u745e\u548c\u5eb7\u751f\u7269\u6280\u672f\u6709\u9650\u516c\u53f8","page":"1","pageSize":"40","listReload":"true","web_access_token":"YNQKwEYJYN8muCSh8ExnNlBf2oepDAlv"}', '{"code":2000,"result":{"list":[],"pagenation":{"totalcount":0,"thispage":1,"pagesize":40}},"status":1,"msg":[{"name":"success","success":"\u6210\u529f\u83b7\u53d6\u6570\u636e","error":""}],"mod":0,"ip":"221.216.117.119","ua":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.15; rv:151.0) Gecko\/20100101 Firefox\/151.0"}', FALSE, '2026-06-01 12:43:37', 46304000) RETURNING "id"
12:43:37.897traceyii\redis\Connection::executeCommandExecuting Redis Command: GET
12:43:37.897traceyii\redis\Connection::executeCommandExecuting Redis Command: SET