盈亏排序
This commit is contained in:
@@ -813,5 +813,41 @@
|
||||
ORDER BY
|
||||
TIMESTAMPDIFF(DAY, NOW(), p.finish_time) ASC
|
||||
</select>
|
||||
<select id="selectProfitLossPage" resultType="com.ruoyi.oa.domain.vo.ProjectProfitLossVO">
|
||||
SELECT
|
||||
p.project_id,
|
||||
p.project_name,
|
||||
p.project_num,
|
||||
p.begin_time,
|
||||
p.project_status,
|
||||
p.funds AS contract_amount,
|
||||
COALESCE(wd.total_warehouse_cost, 0) AS warehouse_cost,
|
||||
COALESCE(hr.total_hr_cost, 0) AS hr_cost,
|
||||
(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
|
||||
FROM sys_oa_warehouse_detail
|
||||
WHERE del_flag = 0
|
||||
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
|
||||
END
|
||||
) AS total_hr_cost
|
||||
FROM sys_oa_attendance a
|
||||
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
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user