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
<?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.MdcEquipmentStatisticalInfoMapper">
 
 
    <!--获取设备最新日期的运行数据-->
    <select id="getMaxStaticsData" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
        SELECT TOP 1 * FROM mdc_equipment_statistical_info WHERE equipment_id = #{equipmentId} ORDER BY the_date DESC
    </select>
 
    <!--查询设备运行时间-->
    <select id="selectProcessLong" resultType="java.lang.Integer">
        SELECT TOP 1 process_long FROM mdc_equipment_statistical_info WHERE equipment_id = #{equipmentId} AND the_date = #{validDate}
    </select>
 
    <select id="findByEquipmentAndMonth" resultType="org.jeecg.modules.mdc.dto.MdcEquipmentStatisticalDto">
        SELECT
            SUM ( t1.open_long ) openLong,
            SUM ( t1.close_long ) closeLong,
            SUM ( t1.wait_long ) waitLong,
            SUM ( t1.process_long ) processLong,
            SUM ( t1.error_long ) errorLong,
            SUM ( t2.fault_long ) faultLong,
            AVG ( t2.fault_rate ) faultRate,
            SUM ( t2.remove_fault_run_long ) removeFaultRunLong,
            AVG ( t2.remove_fault_rate ) removeFaultRate,
            COUNT(*) dayNum
        FROM
            mdc_equipment_statistical_info t1 LEFT JOIN mdc_equipment_fault_info t2 ON t1.equipment_id = t2.equipment_id AND t1.the_date = t2.the_date
        WHERE
            t1.equipment_id = #{equipmentId} AND t1.the_date LIKE CONCAT(#{date}, '%')
    </select>
 
    <select id="findByEquIdsAndMonth" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
        SELECT
        AVG(open_long) openLong,
        AVG(close_long) closeLong,
        AVG(wait_long) waitLong,
        AVG(process_long) processLong,
        AVG(error_long) errorLong
        FROM
        mdc_equipment_statistical_info
        WHERE
        equipment_id IN
        <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
            #{ id }
        </foreach>
        AND the_date LIKE CONCAT(#{month}, '%')
    </select>
 
    <select id="findByEquipmentAndDate" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
        SELECT
        *
        FROM
        mdc_equipment_statistical_info
        WHERE
        equipment_id IN
        <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
            #{ id }
        </foreach>
        AND the_date = #{date}
    </select>
</mapper>