盈亏排序

This commit is contained in:
2025-06-20 15:45:53 +08:00
parent f5875180a4
commit 7a1128f316
4 changed files with 62 additions and 13 deletions

View File

@@ -826,6 +826,7 @@
(p.funds - COALESCE(wd.total_warehouse_cost, 0) - COALESCE(hr.total_hr_cost, 0)) AS profit_loss
FROM sys_oa_project p
LEFT JOIN (
-- 物料成本子查询
SELECT
project_id,
SUM(amount * sign_price) AS total_warehouse_cost
@@ -834,16 +835,19 @@
GROUP BY project_id
) wd ON p.project_id = wd.project_id
LEFT JOIN (
-- 人力成本子查询(日薪转小时计算)
SELECT
a.project_id,
SUM(
CASE
WHEN a.hour > 0 THEN a.hour * u.labor_cost
ELSE a.day_length * 8 * u.labor_cost
-- 当小时数存在时,使用日薪/8计算小时薪资
WHEN a.hour > 0 THEN a.hour * (COALESCE(u.labor_cost, 0) DIV 8)
-- 当日数存在时,使用日薪×天数
ELSE a.day_length * COALESCE(u.labor_cost, 0)
END
) AS total_hr_cost
FROM sys_oa_attendance a
JOIN sys_user u ON a.user_id = u.user_id
LEFT JOIN sys_user u ON a.user_id = u.user_id
WHERE a.del_flag = 0
GROUP BY a.project_id
) hr ON p.project_id = hr.project_id