告警参数和辅控逻辑优化
This commit is contained in:
parent
68b03ba53f
commit
b1ec3216a3
@ -2,6 +2,7 @@ package com.yfd.platform.modules.auxcontrol.controller;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.yfd.platform.annotation.Log;
|
||||
import com.yfd.platform.config.ResponseResult;
|
||||
import com.yfd.platform.modules.auxcontrol.domain.DeviceAlarmParameter;
|
||||
@ -30,6 +31,29 @@ public class DeviceAlarmParameterController {
|
||||
@Resource
|
||||
private IDeviceAlarmParameterService deviceAlarmParameterService;
|
||||
|
||||
|
||||
/**********************************
|
||||
* 用途说明: 分页查询变电站辅控设备告警参数设置
|
||||
* 参数说明
|
||||
* alarmType 告警类型
|
||||
* alarmLevel 告警等级
|
||||
* deviceId 设备ID
|
||||
* signalId 信号id
|
||||
* pageNum 当前页
|
||||
* 返回值说明: com.yfd.platform.config.ResponseResult 返回分页查询结果
|
||||
***********************************/
|
||||
@GetMapping("/page")
|
||||
@ApiOperation("分页查询变电站辅控设备告警参数设置")
|
||||
public ResponseResult getDeviceAlarmParameterPage(String meterDeviceId, String signalId, String alarmType, String alarmLevel, Page<DeviceAlarmParameter> page) {
|
||||
//参数校验 设备id 信号id不能为空
|
||||
if (StrUtil.isBlank(meterDeviceId) || StrUtil.isBlank(signalId)) {
|
||||
return ResponseResult.error("参数为空");
|
||||
}
|
||||
//分页查询
|
||||
Page<DeviceAlarmParameter> deviceAlarmParameterPage = deviceAlarmParameterService.getDeviceAlarmParameterPage(meterDeviceId, signalId, alarmType, alarmLevel, page);
|
||||
return ResponseResult.successData(deviceAlarmParameterPage);
|
||||
}
|
||||
|
||||
/***********************************
|
||||
* 用途说明:新增变电站辅控设备信息
|
||||
* 参数说明
|
||||
|
@ -49,12 +49,12 @@ public class DeviceSignalController {
|
||||
***********************************/
|
||||
@GetMapping("/page")
|
||||
@ApiOperation("分页查询变电站辅控设备信号")
|
||||
public ResponseResult getDeviceSignalPage(String mainDeviceId, String componentId, String signalName, Page<DeviceSignal> page) {
|
||||
public ResponseResult getDeviceSignalPage(String mainDeviceId, String mainComponentId, String signalName, Page<DeviceSignal> page) {
|
||||
//参数校验 辅控设备ID不能为空
|
||||
if (StrUtil.isBlank(componentId)) {
|
||||
if (StrUtil.isBlank(mainComponentId)) {
|
||||
return ResponseResult.error("参数为空");
|
||||
}
|
||||
Page<DeviceSignal> deviceSignalPage = deviceSignalService.getDeviceSignalPage(mainDeviceId,componentId, signalName, page);
|
||||
Page<DeviceSignal> deviceSignalPage = deviceSignalService.getDeviceSignalPage(mainDeviceId,mainComponentId, signalName, page);
|
||||
return ResponseResult.successData(deviceSignalPage);
|
||||
}
|
||||
|
||||
|
@ -35,6 +35,11 @@ public class DeviceSignal implements Serializable {
|
||||
@TableId(type = IdType.ASSIGN_UUID)
|
||||
private String signalId;
|
||||
|
||||
/**
|
||||
* 所属系统:01-在线监测 02-消防系统 03-安防系统 04-动环系统 05-锁控系统 06-辅控系统 07-照明系统
|
||||
*/
|
||||
private String systemcode;
|
||||
|
||||
/**
|
||||
* 辅控设备ID--fk_meter_device
|
||||
*/
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.yfd.platform.modules.auxcontrol.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.yfd.platform.modules.auxcontrol.domain.DeviceAlarmParameter;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
@ -13,4 +14,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
*/
|
||||
public interface DeviceAlarmParameterMapper extends BaseMapper<DeviceAlarmParameter> {
|
||||
|
||||
Page<DeviceAlarmParameter> getDeviceAlarmParameterPage(String meterDeviceId, String signalId, String alarmType, String alarmLevel, Page<DeviceAlarmParameter> page);
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.yfd.platform.modules.auxcontrol.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.yfd.platform.modules.auxcontrol.domain.DeviceAlarmParameter;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
@ -27,4 +28,6 @@ public interface IDeviceAlarmParameterService extends IService<DeviceAlarmParame
|
||||
***********************************/
|
||||
boolean updateDeviceAlarmParameter(DeviceAlarmParameter deviceAlarmParameter);
|
||||
|
||||
Page<DeviceAlarmParameter> getDeviceAlarmParameterPage(String meterDeviceId, String signalId, String alarmType, String alarmLevel, Page<DeviceAlarmParameter> page);
|
||||
|
||||
}
|
||||
|
@ -1,11 +1,14 @@
|
||||
package com.yfd.platform.modules.auxcontrol.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.yfd.platform.modules.auxcontrol.domain.DeviceAlarmParameter;
|
||||
import com.yfd.platform.modules.auxcontrol.mapper.DeviceAlarmParameterMapper;
|
||||
import com.yfd.platform.modules.auxcontrol.service.IDeviceAlarmParameterService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 变电站-辅控设备-告警参数设置 服务实现类
|
||||
@ -17,6 +20,9 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class DeviceAlarmParameterServiceImpl extends ServiceImpl<DeviceAlarmParameterMapper, DeviceAlarmParameter> implements IDeviceAlarmParameterService {
|
||||
|
||||
@Resource
|
||||
private DeviceAlarmParameterMapper deviceAlarmParameterMapper;
|
||||
|
||||
/**********************************
|
||||
* 用途说明: 新增辅控设备告警参数
|
||||
* 参数说明 deviceAlarmParameter 告警参数对象
|
||||
@ -36,4 +42,13 @@ public class DeviceAlarmParameterServiceImpl extends ServiceImpl<DeviceAlarmPara
|
||||
public boolean updateDeviceAlarmParameter(DeviceAlarmParameter deviceAlarmParameter) {
|
||||
return this.saveOrUpdate(deviceAlarmParameter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<DeviceAlarmParameter> getDeviceAlarmParameterPage(String meterDeviceId, String signalId,
|
||||
String alarmType, String alarmLevel,
|
||||
Page<DeviceAlarmParameter> page) {
|
||||
Page<DeviceAlarmParameter> deviceAlarmParameterPage = deviceAlarmParameterMapper.getDeviceAlarmParameterPage(meterDeviceId, signalId, alarmType, alarmLevel
|
||||
, page);
|
||||
return deviceAlarmParameterPage;
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.yfd.platform.modules.auxcontrol.domain.DeviceSignal;
|
||||
import com.yfd.platform.modules.auxcontrol.mapper.DeviceSignalMapper;
|
||||
@ -89,16 +90,34 @@ public class DeviceSignalServiceImpl extends ServiceImpl<DeviceSignalMapper, Dev
|
||||
***********************************/
|
||||
@Override
|
||||
public boolean addDeviceSignal(DeviceSignal deviceSignal) {
|
||||
String componentId = deviceSignal.getMainComponentId();
|
||||
if (StrUtil.isBlank(componentId)) {
|
||||
throw new RuntimeException("部件信息不能为空");
|
||||
}
|
||||
SubstationComponent substationComponent = substationComponentMapper.selectById(componentId);
|
||||
if (substationComponent == null) {
|
||||
throw new RuntimeException("当前部件不存在");
|
||||
}
|
||||
deviceSignal.setMainDeviceId(substationComponent.getMainDeviceId());
|
||||
LambdaQueryWrapper<DeviceSignal> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(DeviceSignal::getMainComponentId, deviceSignal.getMainComponentId());
|
||||
int count = deviceSignalMapper.selectCount(queryWrapper);
|
||||
//序号加1
|
||||
int orderNo = count + 1;
|
||||
deviceSignal.setOrderno(orderNo);
|
||||
|
||||
String signalCode = deviceSignal.getSignalCode();
|
||||
if (StrUtil.isBlank(signalCode)) {
|
||||
throw new RuntimeException("信号编号不能为空");
|
||||
}
|
||||
LambdaQueryWrapper<DeviceSignal> signalCodeWrapper = new LambdaQueryWrapper<>();
|
||||
signalCodeWrapper.eq(DeviceSignal::getSignalCode, signalCode);
|
||||
int signalCount = deviceSignalMapper.selectCount(signalCodeWrapper);
|
||||
if (signalCount > 0) {
|
||||
throw new RuntimeException("当前信号编号已存在");
|
||||
}
|
||||
deviceSignal.setLastmodifier(SecurityUtils.getCurrentUsername());
|
||||
deviceSignal.setLastmodifydate(new Timestamp(System.currentTimeMillis()));
|
||||
String compnentId = deviceSignal.getMainComponentId();
|
||||
if (StrUtil.isNotBlank(compnentId)) {
|
||||
SubstationComponent substationComponent = substationComponentMapper.selectById(compnentId);
|
||||
if (substationComponent == null) {
|
||||
throw new RuntimeException("当前部件不存在");
|
||||
}
|
||||
deviceSignal.setMainDeviceId(substationComponent.getMainDeviceId());
|
||||
}
|
||||
return this.saveOrUpdate(deviceSignal);
|
||||
}
|
||||
|
||||
@ -109,8 +128,7 @@ public class DeviceSignalServiceImpl extends ServiceImpl<DeviceSignalMapper, Dev
|
||||
***********************************/
|
||||
@Override
|
||||
public boolean updateDeviceSignal(DeviceSignal deviceSignal) {
|
||||
deviceSignal.setLastmodifier(SecurityUtils.getCurrentUsername());
|
||||
deviceSignal.setLastmodifydate(new Timestamp(System.currentTimeMillis()));
|
||||
|
||||
String componentId = deviceSignal.getMainComponentId();
|
||||
if (StrUtil.isNotBlank(componentId)) {
|
||||
SubstationComponent substationComponent = substationComponentMapper.selectById(componentId);
|
||||
@ -119,6 +137,17 @@ public class DeviceSignalServiceImpl extends ServiceImpl<DeviceSignalMapper, Dev
|
||||
}
|
||||
deviceSignal.setMainDeviceId(substationComponent.getMainDeviceId());
|
||||
}
|
||||
String signalCode = deviceSignal.getSignalCode();
|
||||
if (StrUtil.isNotBlank(signalCode)) {
|
||||
LambdaQueryWrapper<DeviceSignal> signalCodeWrapper = new LambdaQueryWrapper<>();
|
||||
signalCodeWrapper.ne(DeviceSignal::getSignalId, deviceSignal.getSignalId()).eq(DeviceSignal::getSignalCode, signalCode);
|
||||
int signalCount = deviceSignalMapper.selectCount(signalCodeWrapper);
|
||||
if (signalCount > 0) {
|
||||
throw new RuntimeException("当前信号编号已存在");
|
||||
}
|
||||
}
|
||||
deviceSignal.setLastmodifier(SecurityUtils.getCurrentUsername());
|
||||
deviceSignal.setLastmodifydate(new Timestamp(System.currentTimeMillis()));
|
||||
return this.saveOrUpdate(deviceSignal);
|
||||
}
|
||||
|
||||
|
@ -138,7 +138,6 @@ public class GatewayDeviceServiceImpl extends ServiceImpl<GatewayDeviceMapper, G
|
||||
throw new RuntimeException("当前ip已经有网关机绑定");
|
||||
}
|
||||
}
|
||||
|
||||
if (StrUtil.isNotBlank(gatewayDevice.getIpAddr()) && !Validator.isIpv4(gatewayDevice.getIpAddr())) {
|
||||
throw new RuntimeException("当前ip地址不规范");
|
||||
}
|
||||
|
@ -2,4 +2,43 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yfd.platform.modules.auxcontrol.mapper.DeviceAlarmParameterMapper">
|
||||
|
||||
<select id="getDeviceAlarmParameterPage"
|
||||
resultType="com.yfd.platform.modules.auxcontrol.domain.DeviceAlarmParameter">
|
||||
|
||||
SELECT
|
||||
dap.*,
|
||||
sdi1.dictname AS alarmTypeName,
|
||||
sdi2.dictname AS alarmLevelName,
|
||||
COALESCE (
|
||||
(
|
||||
SELECT
|
||||
GROUP_CONCAT( dictname ORDER BY itemcode SEPARATOR ',' )
|
||||
FROM
|
||||
sys_dictionary_items
|
||||
WHERE
|
||||
dictid = 'd3a5c69ef214012abcdb31495ef4e772'
|
||||
AND FIND_IN_SET( itemcode, dap.notice_type ) > 0
|
||||
),
|
||||
''
|
||||
) AS noticeTypeName
|
||||
FROM
|
||||
fk_device_alarm_parameter dap
|
||||
LEFT JOIN sys_dictionary_items sdi1 ON sdi1.dictid = 'aad92e9fd54d05e090b074f3e0666c8c'
|
||||
AND sdi1.itemcode = dap.alarm_type
|
||||
LEFT JOIN sys_dictionary_items sdi2 ON sdi2.dictid = '138d15a0ce89e5abd516389a1176db6e'
|
||||
AND sdi2.itemcode = dap.alarm_level
|
||||
WHERE 1 =1
|
||||
<if test="signalId != null and signalId != ''">
|
||||
and dap.signal_id= #{signalId}
|
||||
</if>
|
||||
<if test="meterDeviceId != null and meterDeviceId != ''">
|
||||
and dap.device_id= #{meterDeviceId}
|
||||
</if>
|
||||
<if test="alarmType != null and alarmType != ''">
|
||||
and dap.alarm_type= #{alarmType}
|
||||
</if>
|
||||
<if test="alarmLevel != null and alarmLevel != ''">
|
||||
and dap.alarm_level= #{alarmLevel}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
Loading…
Reference in New Issue
Block a user