Lius
2025-03-04 61bd1f27cb0f83890bfcd9aec6257eda13c0fc4d
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
<?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="findMdcEquipmentStatisticalInfo" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
        SELECT TOP 1 * FROM mdc_equipment_statistical_info WHERE equipment_id = #{equipmentId} AND the_date = #{data}
    </select>
 
    <select id="computeUtilizationMonth" resultType="java.math.BigDecimal">
        SELECT
            AVG(t1.process_long) AS processLong
        FROM
            mdc_equipment_statistical_info t1
                INNER JOIN mdc_equipment t2
                           ON t1.equipment_id = t2.equipment_id
                INNER JOIN mdc_production_equipment t3
                           ON t2.id = t3.equipment_id
                               AND t3.production_id = #{productionId}
        WHERE
            t1.the_date BETWEEN #{startDate} AND #{endDate}
    </select>
 
    <select id="computeUtilizationMonthTotal" resultType="java.math.BigDecimal">
        SELECT AVG
               ( t1.process_long ) AS processLong
        FROM
            mdc_equipment_statistical_info t1
                INNER JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
                INNER JOIN mdc_production_equipment t3 ON t2.id = t3.equipment_id
                INNER JOIN mdc_production t4 ON t3.production_id = t4.id
        WHERE
            t4.parent_id = #{productionId}
          AND t1.the_date BETWEEN #{startDate} AND #{endDate}
    </select>
 
    <select id="computeUtilizationWeek" resultType="java.math.BigDecimal">
        SELECT AVG
               ( t1.process_long ) AS processLong
        FROM
            mdc_equipment_statistical_info t1
                INNER JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
                INNER JOIN mdc_production_equipment t3 ON t2.id = t3.equipment_id
                AND t3.production_id = #{productionId}
        WHERE
            t1.the_date = #{date}
    </select>
 
    <select id="computeUtilizationWeekTotal" resultType="java.math.BigDecimal">
        SELECT AVG
               ( t1.process_long ) AS processLong
        FROM
            mdc_equipment_statistical_info t1
                INNER JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
                INNER JOIN mdc_production_equipment t3 ON t2.id = t3.equipment_id
                INNER JOIN mdc_production t4 ON t3.production_id = t4.id
        WHERE
            t4.parent_id = #{productionId}
          AND t1.the_date = #{date}
    </select>
</mapper>