From 19ff5993c13a86934fe29b3a58a88d29258dfda5 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期一, 13 十二月 2021 10:28:47 +0800 Subject: [PATCH] 货柜预警:判断重复插入 --- src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java | 6 ++++-- src/main/java/com/nanometer/smartlab/dao/SysAlarmDao.java | 12 +++++++++--- src/main/java/com/nanometer/smartlab/dao/SysAlarmDao.xml | 13 +++++++++++-- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/dao/SysAlarmDao.java b/src/main/java/com/nanometer/smartlab/dao/SysAlarmDao.java index 04e8d4e..28c2b0a 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysAlarmDao.java +++ b/src/main/java/com/nanometer/smartlab/dao/SysAlarmDao.java @@ -3,17 +3,23 @@ import com.nanometer.smartlab.entity.SysAlarm; +import java.sql.Timestamp; import java.util.List; import java.util.Map; +import org.apache.ibatis.annotations.Param; import org.springframework.dao.DataAccessException; public interface SysAlarmDao { public void insertSysAlarm(SysAlarm sysAlarm) throws DataAccessException; - + public List<SysAlarm> getSysAlarmList(Map params); - + public int getSysAlarmTotalCount(Map params); - + + int selectOne(@Param("containerCode") String containerCode, + @Param("controllerCode") String controllerCode, + @Param("warningId") String warningId, + @Param("warningTime")Timestamp warningTime); } diff --git a/src/main/java/com/nanometer/smartlab/dao/SysAlarmDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysAlarmDao.xml index 3a06d33..47727b9 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysAlarmDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/SysAlarmDao.xml @@ -28,9 +28,9 @@ 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 + 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 @@ -47,4 +47,13 @@ select count(1) from sys_alarm <include refid="queryWhereSql"/> </select> + <select id="selectOne" resultType="java.lang.Integer"> + select count(0) + from sys_alarm + where container_code = #{containerCode} + and warning_id = #{warningId} + and controller_code =#{controllerCode} + and warning_time = #{warningTime} + + </select> </mapper> diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java index 12cd5b6..faa782d 100644 --- a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java @@ -1353,9 +1353,11 @@ } catch (ParseException e) { throw new ApiException(ApiStatus.PARAM_ERR); } - + //判断是否重复 + if (sysAlarmDao.selectOne(containerCode, controllerCode, sysAlarm.getWarningId(), sysAlarm.getWarningTime()) > 0) { + continue; + } sysAlarmDao.insertSysAlarm(sysAlarm); - try { if (enable && "01".equals(warningId)) { SysLaboratory sysLaboratory = sysLaboratoryService.getSysLaboratory(LaboratoryContainer.getLaboratoryId()); -- Gitblit v1.9.2