From 94adc6f8c317f26da2f1f3b65224ac262670bdd8 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 31 五月 2024 17:15:52 +0800 Subject: [PATCH] 工时统计的原始工时 --- performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 53 insertions(+), 0 deletions(-) diff --git a/performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml index 04473fe..8ca1bc2 100644 --- a/performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml +++ b/performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml @@ -1,4 +1,57 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.yuanchu.mom.mapper.AuxiliaryOriginalHoursMapper"> + <select id="totalHours" resultType="java.util.Map"> + select E.name, E.month, E.total + from (select C.name, C.month, C.manHours + D.manHours as total + from (select A.name, + A.month, + sum(A.manHour) as manHours + from ( + select user.name, + case + when reviewer_nonproductive_time is null then nonproductive_time + else reviewer_nonproductive_time end as manHour, + date_time as month + from auxiliary_working_hours_day awhd + left join user on user.id = awhd.name_user + left join department_lims dl on depart_lims_id = dl.id + where date_time LIKE CONCAT('%', #{month}, '%') + and awhd.state='宸叉壒鍑�' + <if test="ids !=null and ids != ''"> + and name_user in + <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> + #{val} + </foreach> + </if> + order by month + ) A + group by A.name, A.month) C + LEFT JOIN + (select B.name, + B.month, + B.manHours + from ( + select user.name, + date_time as month, + sum(output_work_time) as manHours + from auxiliary_output_working_hours aowh + left join user on user.id = aowh.`check` + left join department_lims dl on depart_lims_id = dl.id + where date_time LIKE CONCAT('%', #{month}, '%') + <if test="ids !=null and ids != ''"> + and `check` in + <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> + #{val} + </foreach> + </if> + group by user.name, month + order by user.name, month + ) B + group by B.name, B.month) D + on C.month = D.month + where C.name = D.name + ) E + group by E.name, E.month + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3