kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
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
<?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.nanometer.smartlab.dao.SysAlarmDao">
  <resultMap id="SysAlarm" type="com.nanometer.smartlab.entity.SysAlarm">
    <id property="id" column="id"/>
    <result property="containerCode" column="container_code"></result>
    <result property="controllerCode" column="controller_code"></result>
    <result property="typeName" column="typeName"></result>
        <result property="type" column="type"></result>
    <result property="warningId" column="warning_id"></result>
    <result property="warningName" column="warningName"></result>
    <result property="warningTime" column="warning_time"></result>
    <result property="warningLevel" column="warning_level" typeHandler="com.nanometer.smartlab.entity.handler.WarningLevelHandler"></result>
  </resultMap>
 
<sql id="queryWhereSql">
      <if test="containerCode != null and containerCode != ''">
      and sw.container_code like #{containerCode}
    </if>
      <if test="startWarningTime != null">
      and sw.warning_time >= #{startWarningTime}
    </if>
    <if test="endWarningTime != null">
      and #{endWarningTime} >= sw.warning_time
    </if>
  </sql>
  <insert id="insertSysAlarm" parameterType="com.nanometer.smartlab.entity.SysAlarm" useGeneratedKeys = "true" keyProperty = "id">
    insert into sys_alarm(container_code, warning_id, warning_time, warning_level, controller_code)
    values (#{containerCode}, #{warningId}, #{warningTime}, #{warningLevel}, #{controllerCode})
  </insert>
 
  <select id="getSysAlarmList" parameterType="java.util.Map" resultMap="SysAlarm">
    select sw.*,bm2.meta_value as type,sl.name as typeName,bm.meta_value as warningName from sys_alarm as sw
    left join sys_laboratory_container as slc on sw.container_code = slc.container_code
    left join sys_laboratory as sl on slc.laboratory_id = sl.id
    left join base_meta as bm on sw.warning_id = bm.id
    left join base_meta as bm2 on slc.type = bm2.id
    where 1 = 1
    <include refid="queryWhereSql"/>
    order by sw.warning_time desc
    <if test="first != null and pageSize != null">
      limit #{first}, #{pageSize}
    </if>
</select>
 
<select id="getSysAlarmTotalCount" parameterType="java.util.Map" resultType="int">
    select count(1) from sys_alarm as sw where 1=1 
    <include refid="queryWhereSql"/>
  </select>
    <select id="selectOne" resultType="java.lang.Integer">
        select count(0)
        from sys_alarm
        where 1=1 and container_code = #{containerCode}
        and warning_id = #{warningId}
        and controller_code =#{controllerCode}
        and warning_time = #{warningTime}
 
    </select>
</mapper>