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