<?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>
|