hyingbo
6 天以前 e935889261ef38c8eaef31e54cbfc466d63d2ef4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?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="org.jeecg.modules.mdc.mapper.MdcEquipmentPunchMapper">
 
    <select id="list" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentPunch">
        SELECT
        p.id,
        p.equipment_id,
        p.punch_user,
        p.check_in_time,
        p.check_out_time,
        p.record_date,
        p.is_absent,
        p.is_late,
        p.is_early,
        p.create_by,
        p.create_time,
        p.update_by,
        p.update_time,
        p.shift_schedule,
        u.realname punchUserRealName,
        u.username punchUserUserName,
        d1.item_text shiftScheduleName
        FROM
        mdc_equipment_punch p
        INNER JOIN sys_user u ON u.id = p.punch_user
        INNER JOIN (SELECT i1.item_text, i1.item_value
        FROM sys_dict_item i1
        LEFT JOIN sys_dict i2 ON i2.id = i1.dict_id
        WHERE i2.dict_code = 'shift_schedule') d1
        ON d1.item_value = CAST (p.shift_schedule AS nvarchar)
        where 1=1
        AND p.equipment_id IN
        <foreach collection="equipmentIds" item="equipmentId" open="(" close=")" separator=",">
            #{equipmentId}
        </foreach>
        <if test="date != null and date != ''">
            AND p.record_date = #{date}
        </if>
        order by p.equipment_id desc, p.shift_schedule asc
    </select>
 
    <!--查询所有设备数量-->
    <select id="getTotalDeviceCount" resultType="int">
        SELECT COUNT(*)
        FROM mdc_equipment
    </select>
 
    <!-- 早班 上班打卡 -->
    <select id="countMorningShiftIn" resultType="int">
        SELECT COUNT(DISTINCT equipment_id)
        FROM mdc_equipment_punch
        WHERE record_date = #{date, jdbcType=VARCHAR}
          AND shift_schedule = '1'
          AND check_in_time IS NOT NULL
    </select>
 
    <!-- 晚班 上班打卡 -->
    <select id="countEveningShiftIn" resultType="int">
        SELECT COUNT(DISTINCT equipment_id)
        FROM mdc_equipment_punch
        WHERE record_date = #{date, jdbcType=VARCHAR}
          AND shift_schedule = '2'
          AND check_in_time IS NOT NULL
    </select>
 
    <!-- 早班 下班打卡 -->
    <select id="countMorningShiftOut" resultType="int">
        SELECT COUNT(DISTINCT equipment_id)
        FROM mdc_equipment_punch
        WHERE record_date = #{date, jdbcType=VARCHAR}
          AND shift_schedule = '1'
          AND check_out_time IS NOT NULL
    </select>
 
    <!-- 晚班 下班打卡 -->
    <select id="countEveningShiftOut" resultType="int">
        SELECT COUNT(DISTINCT equipment_id)
        FROM mdc_equipment_punch
        WHERE record_date = #{date, jdbcType=VARCHAR}
          AND shift_schedule = '2'
          AND check_out_time IS NOT NULL
    </select>
 
</mapper>