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