From 1fb4735cf75f6b98b8d81611a95ccea395cba323 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 20 四月 2026 16:35:04 +0800
Subject: [PATCH] 绩效模块调整
---
performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml | 41 ++++++++++++++++++++++++-----------------
1 files changed, 24 insertions(+), 17 deletions(-)
diff --git a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
index a82faab..9e0a0e1 100644
--- a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
+++ b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
@@ -140,29 +140,36 @@
</if>
</select>
<select id="selectAuxiliaryAllByMonth" resultType="com.ruoyi.performance.dto.AuxiliaryAllDto">
- select sum(aowh.work_time) yieldHour,
- u.name userName,
- aowh.`check` userId,
- #{dto.month} month
- from (SELECT ao.*, ip.cable_tag
- FROM auxiliary_output_working_hours ao
- left join ins_product ip on ip.id = ao.ins_product_id
- GROUP BY CASE
- WHEN ao.man_hour_group IS NOT NULL AND ao.man_hour_group != '' THEN ao.man_hour_group
- ELSE ao.id END,
- CASE WHEN ao.man_hour_group IS NOT NULL AND ao.man_hour_group != '' THEN ao.sample_id ELSE ao.id END,
- CASE WHEN ao.man_hour_group IS NOT NULL AND ao.man_hour_group != '' THEN ip.radius ELSE ao.id END,
- CASE WHEN ao.man_hour_group IS NOT NULL AND ao.man_hour_group != '' THEN ip.cable_tag ELSE ao.id END,
- CASE WHEN ao.man_hour_group IS NOT NULL AND ao.man_hour_group != '' THEN ao.order_id ELSE ao.id END) aowh
- left join user u on u.id = aowh.`check`
- where aowh.date_time between #{dto.beginDate} and #{dto.endDate}
+ SELECT
+ IFNULL(SUM(aowh.work_time), 0) AS yieldHour,
+ u.name AS userName,
+ u.id AS userId,
+ #{dto.month} AS month
+ FROM `user` u
+ LEFT JOIN (
+ SELECT
+ ao.*,
+ ip.cable_tag
+ FROM auxiliary_output_working_hours ao
+ LEFT JOIN ins_product ip ON ip.id = ao.ins_product_id
+ GROUP BY
+ CASE WHEN ao.man_hour_group IS NOT NULL AND ao.man_hour_group != '' THEN ao.man_hour_group ELSE ao.id END,
+ CASE WHEN ao.man_hour_group IS NOT NULL AND ao.man_hour_group != '' THEN ao.sample_id ELSE ao.id END,
+ CASE WHEN ao.man_hour_group IS NOT NULL AND ao.man_hour_group != '' THEN ip.radius ELSE ao.id END,
+ CASE WHEN ao.man_hour_group IS NOT NULL AND ao.man_hour_group != '' THEN ip.cable_tag ELSE ao.id END,
+ CASE WHEN ao.man_hour_group IS NOT NULL AND ao.man_hour_group != '' THEN ao.order_id ELSE ao.id END
+ ) aowh ON u.id = aowh.`check`
+ AND aowh.date_time BETWEEN #{dto.beginDate} and #{dto.endDate}
+ inner join sys_user_role sur on sur.user_id = u.id AND sur.role_id=4
+ WHERE u.status='0' AND u.del_flag='0' AND u.dept_id=124
<if test="userIds !=null and userIds.size() > 0">
and aowh.`check` in
<foreach collection="userIds" index="index" open="(" separator="," close=")" item="val">
#{val}
</foreach>
</if>
- group by aowh.`check`
+ GROUP BY u.id, u.name
+ ORDER BY u.sort
</select>
<select id="selectSubsidiaryAllByMonth" resultType="com.ruoyi.performance.dto.AuxiliaryAllDto">
select sum(awhd.reviewer_nonproductive_time) subsidiaryHour,
--
Gitblit v1.9.3