zouyu
2026-04-20 1702e168020f36627c7de0b145e7e4f67a0fb2e1
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,