diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevCurrentDataController.java b/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevCurrentDataController.java
index 84bddd206..71c180504 100644
--- a/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevCurrentDataController.java
+++ b/src/main/java/com/zhgd/xmgl/modules/frontier/controller/FrontierProtectionDevCurrentDataController.java
@@ -12,6 +12,7 @@ import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevCurrentData;
import com.zhgd.xmgl.modules.frontier.entity.MockFrontierProtectionDevCurrentDataConfig;
import com.zhgd.xmgl.modules.frontier.entity.qo.FrontierProtectionDevCurrentDataQO;
import com.zhgd.xmgl.modules.frontier.service.FrontierProtectionDevCurrentDataService;
+import com.zhgd.xmgl.modules.frontier.service.IFrontierProtectionDevAlarmService;
import com.zhgd.xmgl.modules.frontier.service.IMockFrontierProtectionDevCurrentDataConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -50,6 +51,9 @@ public class FrontierProtectionDevCurrentDataController {
@Lazy
@Autowired
private IMockFrontierProtectionDevCurrentDataConfigService mockFrontierProtectionDevCurrentDataConfigService;
+ @Lazy
+ @Autowired
+ private IFrontierProtectionDevAlarmService frontierProtectionDevAlarmService;
/**
* 分页查询临边防护-设备实时数据
@@ -211,11 +215,11 @@ public class FrontierProtectionDevCurrentDataController {
}
if (CollUtil.isNotEmpty(datas)) {
frontierProtectionDevCurrentDataService.saveBatch(datas);
+ frontierProtectionDevAlarmService.addAlarm(datas);
}
return Result.ok();
}
-
@ApiOperation(value = "批量删除临边防护-设备实时数据", notes = "批量删除临边防护-设备实时数据", httpMethod = "POST")
@ApiImplicitParam(name = "ids", value = "临边防护-设备实时数据ID字符串(多个以,分割)", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/deleteBatch")
diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevAlarmMapper.xml b/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevAlarmMapper.xml
index 81a7da76a..abc0e3ad1 100644
--- a/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevAlarmMapper.xml
+++ b/src/main/java/com/zhgd/xmgl/modules/frontier/mapper/xml/FrontierProtectionDevAlarmMapper.xml
@@ -55,6 +55,9 @@
and dev_sn = #{devSn}
+
+ and alarm_type = #{alarmType}
+
group by x
diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/service/IFrontierProtectionDevAlarmService.java b/src/main/java/com/zhgd/xmgl/modules/frontier/service/IFrontierProtectionDevAlarmService.java
index 224db4d65..85565badb 100644
--- a/src/main/java/com/zhgd/xmgl/modules/frontier/service/IFrontierProtectionDevAlarmService.java
+++ b/src/main/java/com/zhgd/xmgl/modules/frontier/service/IFrontierProtectionDevAlarmService.java
@@ -1,10 +1,11 @@
package com.zhgd.xmgl.modules.frontier.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevAlarm;
-import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevCurrentData;
import com.zhgd.xmgl.modules.frontier.entity.vo.CountFrontierProtectionDevAlarmVo;
import javax.servlet.http.HttpServletRequest;
@@ -27,4 +28,11 @@ public interface IFrontierProtectionDevAlarmService extends IService countFrontierProtectionDevAlarmTrend(HashMap paramMap);
ArrayList countAlarmType(HashMap paramMap);
+
+ /**
+ * 添加报警数据
+ *
+ * @param entities
+ */
+ void addAlarm(List entities);
}
diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/service/impl/FrontierProtectionDevAlarmServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/frontier/service/impl/FrontierProtectionDevAlarmServiceImpl.java
index 8b8d61610..e184e2e19 100644
--- a/src/main/java/com/zhgd/xmgl/modules/frontier/service/impl/FrontierProtectionDevAlarmServiceImpl.java
+++ b/src/main/java/com/zhgd/xmgl/modules/frontier/service/impl/FrontierProtectionDevAlarmServiceImpl.java
@@ -9,10 +9,13 @@ import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevAlarm;
+import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevCurrentData;
import com.zhgd.xmgl.modules.frontier.entity.vo.CountFrontierProtectionDevAlarmVo;
+import com.zhgd.xmgl.modules.frontier.enums.AlarmEnum;
import com.zhgd.xmgl.modules.frontier.mapper.FrontierProtectionDevAlarmMapper;
import com.zhgd.xmgl.modules.frontier.service.IFrontierProtectionDevAlarmService;
import com.zhgd.xmgl.util.DateUtils;
+import com.zhgd.xmgl.util.NumberUtils;
import com.zhgd.xmgl.util.RefUtil;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
@@ -73,4 +76,53 @@ public class FrontierProtectionDevAlarmServiceImpl extends ServiceImpl countAlarmType(HashMap paramMap) {
return baseMapper.countAlarmType(paramMap);
}
+
+ @Override
+ public void addAlarm(List entities) {
+ for (FrontierProtectionDevCurrentData entity : entities) {
+ FrontierProtectionDevAlarm alarm = new FrontierProtectionDevAlarm();
+ alarm.setDevSn(entity.getDevSn());
+ alarm.setAlarmTime(entity.getReceiveTime());
+ alarm.setProjectSn(entity.getProjectSn());
+ if (AlarmEnum.PROXIMITY.getLrkAlarmType().equals(entity.getProximity())) {
+ insertAlarm(AlarmEnum.PROXIMITY, alarm);
+ }
+ if (AlarmEnum.PORT_STATUS1.getLrkAlarmType().equals(entity.getPortStatus1())) {
+ insertAlarm(AlarmEnum.PORT_STATUS1, alarm);
+ }
+ if (AlarmEnum.PORT_STATUS2.getLrkAlarmType().equals(entity.getPortStatus2())) {
+ insertAlarm(AlarmEnum.PORT_STATUS2, alarm);
+ }
+ if (AlarmEnum.MAG_STATUS1_ALARM.getLrkAlarmType().equals(entity.getMagStatus1())) {
+ insertAlarm(AlarmEnum.MAG_STATUS1_ALARM, alarm);
+ }
+ if (AlarmEnum.MAG_STATUS1_DISABLED.getLrkAlarmType().equals(entity.getMagStatus1())) {
+ insertAlarm(AlarmEnum.MAG_STATUS1_DISABLED, alarm);
+ }
+ if (AlarmEnum.MAG_STATUS2_ALARM.getLrkAlarmType().equals(entity.getMagStatus2())) {
+ insertAlarm(AlarmEnum.MAG_STATUS2_ALARM, alarm);
+ }
+ if (AlarmEnum.MAG_STATUS2_DISABLED.getLrkAlarmType().equals(entity.getMagStatus2())) {
+ insertAlarm(AlarmEnum.MAG_STATUS2_DISABLED, alarm);
+ }
+ if (AlarmEnum.ANTI_CROSS_ALARM.getLrkAlarmType().equals(entity.getAntiCross())) {
+ insertAlarm(AlarmEnum.ANTI_CROSS_ALARM, alarm);
+ }
+ if (AlarmEnum.ANTI_CROSS_DISABLED.getLrkAlarmType().equals(entity.getAntiCross())) {
+ insertAlarm(AlarmEnum.ANTI_CROSS_DISABLED, alarm);
+ }
+ //电量不足报警
+ if (entity.getBattery() != null && NumberUtils.le(entity.getBattery().doubleValue(), 30D)) {
+ insertAlarm(AlarmEnum.LOW_POWER, alarm);
+ }
+ }
+ }
+
+ private void insertAlarm(AlarmEnum proximity, FrontierProtectionDevAlarm alarm) {
+ alarm.setId(null);
+ alarm.setMonitorObject(proximity.getName());
+ alarm.setAlarmDetail(proximity.getName() + proximity.getAlarmName());
+ alarm.setAlarmType(proximity.getAlarmType());
+ frontierProtectionDevAlarmMapper.insert(alarm);
+ }
}
diff --git a/src/main/java/com/zhgd/xmgl/modules/frontier/service/impl/FrontierProtectionDevCurrentDataServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/frontier/service/impl/FrontierProtectionDevCurrentDataServiceImpl.java
index 520126d92..91052c49e 100644
--- a/src/main/java/com/zhgd/xmgl/modules/frontier/service/impl/FrontierProtectionDevCurrentDataServiceImpl.java
+++ b/src/main/java/com/zhgd/xmgl/modules/frontier/service/impl/FrontierProtectionDevCurrentDataServiceImpl.java
@@ -13,24 +13,21 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDev;
-import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevAlarm;
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevCurrentData;
import com.zhgd.xmgl.modules.frontier.entity.qo.FrontierProtectionDevCurrentDataQO;
-import com.zhgd.xmgl.modules.frontier.enums.AlarmEnum;
import com.zhgd.xmgl.modules.frontier.mapper.FrontierProtectionDevAlarmMapper;
import com.zhgd.xmgl.modules.frontier.mapper.FrontierProtectionDevCurrentDataMapper;
import com.zhgd.xmgl.modules.frontier.mapper.FrontierProtectionDevMapper;
import com.zhgd.xmgl.modules.frontier.service.FrontierProtectionDevCurrentDataService;
-import com.zhgd.xmgl.modules.location.entity.LocationData;
-import com.zhgd.xmgl.util.NumberUtils;
+import com.zhgd.xmgl.modules.frontier.service.IFrontierProtectionDevAlarmService;
import com.zhgd.xmgl.util.RefUtil;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.servlet.ModelAndView;
@@ -57,6 +54,9 @@ public class FrontierProtectionDevCurrentDataServiceImpl extends ServiceImpl selectPageInfo(Page page, FrontierProtectionDevCurrentDataQO frontierProtectionDevCurrentDataQo) {
@@ -120,58 +120,10 @@ public class FrontierProtectionDevCurrentDataServiceImpl extends ServiceImpl entities = buildDevCurrentDataByLrkArray(devDataArray);
frontierProtectionDevCurrentDataMapper.insertOrUpdateBatch(entities);
//添加报警
- addAlarm(entities);
+ frontierProtectionDevAlarmService.addAlarm(entities);
}
}
- private void addAlarm(List entities) {
- for (FrontierProtectionDevCurrentData entity : entities) {
- FrontierProtectionDevAlarm alarm = new FrontierProtectionDevAlarm();
- alarm.setDevSn(entity.getDevSn());
- alarm.setAlarmTime(entity.getReceiveTime());
- alarm.setProjectSn(entity.getProjectSn());
- if (AlarmEnum.PROXIMITY.getLrkAlarmType().equals(entity.getProximity())) {
- insertAlarm(AlarmEnum.PROXIMITY, alarm);
- }
- if (AlarmEnum.PORT_STATUS1.getLrkAlarmType().equals(entity.getPortStatus1())) {
- insertAlarm(AlarmEnum.PORT_STATUS1, alarm);
- }
- if (AlarmEnum.PORT_STATUS2.getLrkAlarmType().equals(entity.getPortStatus2())) {
- insertAlarm(AlarmEnum.PORT_STATUS2, alarm);
- }
- if (AlarmEnum.MAG_STATUS1_ALARM.getLrkAlarmType().equals(entity.getMagStatus1())) {
- insertAlarm(AlarmEnum.MAG_STATUS1_ALARM, alarm);
- }
- if (AlarmEnum.MAG_STATUS1_DISABLED.getLrkAlarmType().equals(entity.getMagStatus1())) {
- insertAlarm(AlarmEnum.MAG_STATUS1_DISABLED, alarm);
- }
- if (AlarmEnum.MAG_STATUS2_ALARM.getLrkAlarmType().equals(entity.getMagStatus2())) {
- insertAlarm(AlarmEnum.MAG_STATUS2_ALARM, alarm);
- }
- if (AlarmEnum.MAG_STATUS2_DISABLED.getLrkAlarmType().equals(entity.getMagStatus2())) {
- insertAlarm(AlarmEnum.MAG_STATUS2_DISABLED, alarm);
- }
- if (AlarmEnum.ANTI_CROSS_ALARM.getLrkAlarmType().equals(entity.getAntiCross())) {
- insertAlarm(AlarmEnum.ANTI_CROSS_ALARM, alarm);
- }
- if (AlarmEnum.ANTI_CROSS_DISABLED.getLrkAlarmType().equals(entity.getAntiCross())) {
- insertAlarm(AlarmEnum.ANTI_CROSS_DISABLED, alarm);
- }
- //电量不足报警
- if (entity.getBattery() != null && NumberUtils.le(entity.getBattery().doubleValue(), 30D)) {
- insertAlarm(AlarmEnum.LOW_POWER, alarm);
- }
- }
- }
-
- private void insertAlarm(AlarmEnum proximity, FrontierProtectionDevAlarm alarm) {
- alarm.setId(null);
- alarm.setMonitorObject(proximity.getName());
- alarm.setAlarmDetail(proximity.getName() + proximity.getAlarmName());
- alarm.setAlarmType(proximity.getAlarmType());
- frontierProtectionDevAlarmMapper.insert(alarm);
- }
-
private void checkParam(JSONArray devDataArray) {
for (int ddIndex = 0; ddIndex < devDataArray.size(); ddIndex++) {
// 设备对应数据信息