lius
2023-06-08 534aec7a687ceca8120ba798ad20d80d7058ffe6
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?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.MdcEquipmentMapper">
 
    <!--查询设备的所属部门名称信息-->
    <select id="getDepNamesByEquipmentIds" resultType="org.jeecg.modules.mdc.vo.MdcEquipmentDepVo">
        SELECT d.depart_name, ed.equipment_id FROM mdc_equipment_depart ed, sys_depart d WHERE d.id = ed.dep_id AND ed.equipment_id IN
        <foreach collection="equipmentIds" index="index" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </select>
 
    <!--查询设备的所属产线名称信息-->
    <select id="getProNamesByEquipmentIds" resultType="org.jeecg.modules.mdc.vo.MdcEquipmentProVo">
        SELECT p.production_name, pe.equipment_id FROM mdc_production_equipment pe, mdc_production p WHERE p.id = pe.production_id AND pe.equipment_id IN
        <foreach collection="equipmentIds" index="index" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </select>
 
    <!--根据部门id查询设备列表-->
    <select id="pageListByDepId" resultType="org.jeecg.modules.mdc.entity.MdcEquipment">
        SELECT
            me.*
        FROM
            mdc_equipment_depart med,
            mdc_equipment me
        WHERE
            med.equipment_id = me.id
            AND med.dep_id = #{ departId }
        <if test="equipmentId != null and equipmentId != '' ">
            AND me.equipment_id = #{equipmentId}
        </if>
    </select>
 
    <!--根据产线id查询设备列表-->
    <select id="pageListByProId" resultType="org.jeecg.modules.mdc.entity.MdcEquipment">
        SELECT
            me.*
        FROM
            mdc_production_equipment mpe,
            mdc_equipment me
        WHERE
            mpe.equipment_id = me.id
            AND mpe.production_id = #{ productionId }
        <if test="equipmentId != null and equipmentId != '' ">
            AND me.equipment_id = #{equipmentId}
        </if>
    </select>
 
    <!--根据部门id查询设备-->
    <select id="queryByDepartId" resultType="org.jeecg.modules.mdc.entity.MdcEquipment">
        SELECT
            me.*
        FROM
            mdc_equipment_depart med,
            mdc_equipment me
        WHERE
            med.equipment_id = me.id
            AND med.dep_id = #{ departId }
    </select>
 
    <!--根据产线id查询设备-->
    <select id="queryByProductionId" resultType="org.jeecg.modules.mdc.entity.MdcEquipment">
        SELECT
            me.*
        FROM
            mdc_production_equipment mpe,
            mdc_equipment me
        WHERE
            mpe.equipment_id = me.id
            AND mpe.production_id = #{ productionId }
    </select>
 
    <!--根据产线id查询设备id集合-->
    <select id="queryIdsByProductions" resultType="java.lang.String">
        SELECT
            me.equipment_id
        FROM
            mdc_equipment me
            LEFT JOIN mdc_production_equipment mpe ON me.id = mpe.equipment_id
        WHERE
            mpe.production_id IN
        <foreach collection="allProductionIds" index="index" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </select>
 
    <!--查询设备监控信息-->
    <select id="checkStatusFromEquipmentIds" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentMonitor">
        SELECT
            k.EquipmentID,
            k.CollectTime,
            k.equipmentName,
            MAX ( l.Oporation ) Oporation,
            k.id,
            k.equipment_type equipmentType,
            k.equipment_type_pictures
        FROM
            (
            SELECT
                t.EquipmentID,
                MAX ( t.equipmentName ) equipmentName,
                MAX ( m.CollectTime ) CollectTime,
                id,
                equipment_type,
                equipment_type_pictures
            FROM
                ( SELECT equipment_id EquipmentID, equipment_Name equipmentName, id, equipment_type FROM mdc_equipment WHERE equipment_id IN
        <foreach collection="equipmentIds" index="index" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
                 ) t
                LEFT JOIN ( SELECT equipment_type_name, equipment_type_pictures FROM mdc_equipment_type) met ON t.equipment_type = met.equipment_type_name
                LEFT JOIN ( SELECT EquipmentID, CollectTime, Oporation FROM EquipmentLog WHERE Oporation <![CDATA[ <> ]]> 23 ) m ON t.EquipmentID= m.EquipmentID
            GROUP BY
                t.EquipmentID,
                id,
                equipment_type,
                equipment_type_pictures
            ) k
            LEFT JOIN ( SELECT EquipmentID, CollectTime, Oporation FROM EquipmentLog WHERE Oporation <![CDATA[ <> ]]> 23 ) l ON k.CollectTime= l.CollectTime
            AND k.EquipmentID = l.EquipmentID
        GROUP BY
            k.EquipmentID,
            k.CollectTime,
            k.equipmentName,
            k.id,
            k.equipment_type,
            k.equipment_type_pictures
        ORDER BY
            equipmentName
    </select>
 
    <!--根据部门id查询设备id集合-->
    <select id="queryIdsByDeparts" resultType="java.lang.String">
        SELECT
            me.equipment_id
        FROM
            mdc_equipment me
            LEFT JOIN mdc_equipment_depart med ON me.id = med.equipment_id
        WHERE
        med.dep_id IN
        <foreach collection="allDepartIds" index="index" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </select>
 
 
</mapper>