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