Browse Source

1、运维管理:报警规则管理、报警编码管理

dev
mh 4 months ago
parent
commit
4e9322d24f
  1. 88
      mh-admin/src/main/java/com/mh/web/controller/operation/AlarmCodeController.java
  2. 88
      mh-admin/src/main/java/com/mh/web/controller/operation/AlarmRulesController.java
  3. 120
      mh-common/src/main/java/com/mh/common/core/domain/entity/AlarmCode.java
  4. 304
      mh-common/src/main/java/com/mh/common/core/domain/entity/AlarmRules.java
  5. 31
      mh-common/src/main/java/com/mh/common/core/domain/entity/CollectionParamsManage.java
  6. 1
      mh-common/src/main/java/com/mh/common/core/domain/entity/GatewayManage.java
  7. 16
      mh-system/src/main/java/com/mh/system/mapper/operation/AlarmCodeMapper.java
  8. 16
      mh-system/src/main/java/com/mh/system/mapper/operation/AlarmRulesMapper.java
  9. 24
      mh-system/src/main/java/com/mh/system/service/operation/IAlarmCodeService.java
  10. 24
      mh-system/src/main/java/com/mh/system/service/operation/IAlarmRulesService.java
  11. 86
      mh-system/src/main/java/com/mh/system/service/operation/impl/AlarmCodeServiceImpl.java
  12. 82
      mh-system/src/main/java/com/mh/system/service/operation/impl/AlarmRulesServiceImpl.java
  13. 101
      sql/表结构设计.sql

88
mh-admin/src/main/java/com/mh/web/controller/operation/AlarmCodeController.java

@ -0,0 +1,88 @@
package com.mh.web.controller.operation;
import com.mh.common.annotation.Log;
import com.mh.common.core.controller.BaseController;
import com.mh.common.core.domain.AjaxResult;
import com.mh.common.core.domain.entity.AlarmCode;
import com.mh.common.core.page.TableDataInfo;
import com.mh.common.enums.BusinessType;
import com.mh.system.service.operation.IAlarmCodeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author LJF
* @version 1.0
* @project EEMCS
* @description 仪表编码页面请求
* @date 2025-01-14 16:40:58
*/
@RestController
@RequestMapping("/operation/ac")
public class AlarmCodeController extends BaseController {
@Autowired
private IAlarmCodeService alarmCodeService;
/**
* 获取报警编码记录列表内容数据
*/
@PreAuthorize("@ss.hasPermi('system:ac:list')")
@GetMapping("/list")
public TableDataInfo list(AlarmCode alarmCode)
{
startPage();
List<AlarmCode> list = alarmCodeService.selectAlarmCodeList(alarmCode);
return getDataTable(list);
}
/**
* 根据报警编码记录id获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:ac:query')")
@GetMapping(value = "/{acId}")
public AjaxResult getInfo(@PathVariable String acId)
{
return success(alarmCodeService.selectAlarmCodeById(acId));
}
/**
* 新增报警编码记录
*/
@PreAuthorize("@ss.hasPermi('system:ac:add')")
@Log(title = "报警编码记录管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody AlarmCode alarmCode)
{
alarmCode.setCreateBy(getUsername());
return toAjax(alarmCodeService.insertAlarmCode(alarmCode));
}
/**
* 修改报警编码记录信息
*/
@PreAuthorize("@ss.hasPermi('system:ac:edit')")
@Log(title = "报警编码记录管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody AlarmCode alarmCode)
{
alarmCode.setUpdateBy(getUsername());
return toAjax(alarmCodeService.updateAlarmCode(alarmCode));
}
/**
* 删除报警编码记录管理
*/
@PreAuthorize("@ss.hasPermi('system:ac:remove')")
@Log(title = "报警编码记录管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{acIds}")
public AjaxResult remove(@PathVariable String[] acIds)
{
return toAjax(alarmCodeService.deleteAlarmCodeByIds(acIds));
}
}

88
mh-admin/src/main/java/com/mh/web/controller/operation/AlarmRulesController.java

@ -0,0 +1,88 @@
package com.mh.web.controller.operation;
import com.mh.common.annotation.Log;
import com.mh.common.core.controller.BaseController;
import com.mh.common.core.domain.AjaxResult;
import com.mh.common.core.domain.entity.AlarmRules;
import com.mh.common.core.page.TableDataInfo;
import com.mh.common.enums.BusinessType;
import com.mh.system.service.operation.IAlarmRulesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author LJF
* @version 1.0
* @project EEMCS
* @description 仪表报警规则
* @date 2025-01-14 17:32:55
*/
@RestController
@RequestMapping("/operation/ar")
public class AlarmRulesController extends BaseController {
@Autowired
private IAlarmRulesService alarmRulesService;
/**
* 获取报警规则记录列表内容数据
*/
@PreAuthorize("@ss.hasPermi('system:ar:list')")
@GetMapping("/list")
public TableDataInfo list(AlarmRules alarmRules)
{
startPage();
List<AlarmRules> list = alarmRulesService.selectAlarmRulesList(alarmRules);
return getDataTable(list);
}
/**
* 根据报警规则记录id获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:ar:query')")
@GetMapping(value = "/{acId}")
public AjaxResult getInfo(@PathVariable String acId)
{
return success(alarmRulesService.selectAlarmRulesById(acId));
}
/**
* 新增报警规则记录
*/
@PreAuthorize("@ss.hasPermi('system:ar:add')")
@Log(title = "报警规则记录管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody AlarmRules alarmRules)
{
alarmRules.setCreateBy(getUsername());
return toAjax(alarmRulesService.insertAlarmRules(alarmRules));
}
/**
* 修改报警规则记录信息
*/
@PreAuthorize("@ss.hasPermi('system:ar:edit')")
@Log(title = "报警规则记录管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody AlarmRules alarmRules)
{
alarmRules.setUpdateBy(getUsername());
return toAjax(alarmRulesService.updateAlarmRules(alarmRules));
}
/**
* 删除报警规则记录管理
*/
@PreAuthorize("@ss.hasPermi('system:ar:remove')")
@Log(title = "报警规则记录管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{acIds}")
public AjaxResult remove(@PathVariable String[] acIds)
{
return toAjax(alarmRulesService.deleteAlarmRulesByIds(acIds));
}
}

120
mh-common/src/main/java/com/mh/common/core/domain/entity/AlarmCode.java

@ -0,0 +1,120 @@
package com.mh.common.core.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mh.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* @author LJF
* @version 1.0
* @project EEMCS
* @description 报警编码管理(类似模板消息)
* @date 2025-01-14 15:46:02
*/
@TableName("alarm_code")
public class AlarmCode extends BaseEntity {
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
/**
* 消息编码
*/
private String msgCode;
/**
* 采集类别
*/
private String collectionType;
/**
* 事件类型
*/
private String eventType;
/**
* 报警等级
*/
private String alarmLevel;
/**
* 消息标题
*/
private String msgTitle;
/**
* 消息内容
*/
private String msgContent;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getMsgCode() {
return msgCode;
}
public void setMsgCode(String msgCode) {
this.msgCode = msgCode;
}
public String getCollectionType() {
return collectionType;
}
public void setCollectionType(String collectionType) {
this.collectionType = collectionType;
}
public String getEventType() {
return eventType;
}
public void setEventType(String eventType) {
this.eventType = eventType;
}
public String getAlarmLevel() {
return alarmLevel;
}
public void setAlarmLevel(String alarmLevel) {
this.alarmLevel = alarmLevel;
}
public String getMsgTitle() {
return msgTitle;
}
public void setMsgTitle(String msgTitle) {
this.msgTitle = msgTitle;
}
public String getMsgContent() {
return msgContent;
}
public void setMsgContent(String msgContent) {
this.msgContent = msgContent;
}
@Override
public String toString() {
return new ToStringBuilder(this)
.append("id", id)
.append("msgCode", msgCode)
.append("collectionType", collectionType)
.append("eventType", eventType)
.append("alarmLevel", alarmLevel)
.append("msgTitle", msgTitle)
.append("msgContent", msgContent)
.toString();
}
}

304
mh-common/src/main/java/com/mh/common/core/domain/entity/AlarmRules.java

@ -0,0 +1,304 @@
package com.mh.common.core.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mh.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import java.util.Date;
/**
* @author LJF
* @version 1.0
* @project EEMCS
* @description 仪表报警规则
* @date 2025-01-14 15:46:02
*/
@TableName("alarm_rules")
public class AlarmRules extends BaseEntity {
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
/**
* 事件类型
*/
private String eventType;
/**
* 报警等级
*/
private String alarmLevel;
/**
* 报警类型
*/
private String alarmType;
/**
* 设备台账id
*/
private String ledgerId;
/**
* 设备名称
*/
private String deviceName;
/**
* 采集仪表参数id
*/
private String cpmId;
/**
* 采集仪表参数名称
*/
private String cpmName;
/**
* 参数编号仪表编号
*/
private String cpmMtNum;
/**
* 报警延时时间
*/
private Integer delayTimes;
/**
* 报警时段设置标志0全时段1自定义时段
*/
private Integer timePeriodSet;
/**
* 自定义时段开始时间
*/
private Date beginTime;
/**
* 自定义时段结束时间
*/
private Date endTime;
/**
* 选择遥信事件显示触发事件01
*/
private Integer triggerEvent;
/**
* 条件1
*/
private String condition1;
/**
* 阈值1
*/
private String threshold1;
/**
* 条件2
*/
private String condition2;
/**
* 阈值2
*/
private String threshold2;
/**
* 能源节点
*/
private String energyNode;
/**
* 能源类型
*/
private String energyType;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getEventType() {
return eventType;
}
public void setEventType(String eventType) {
this.eventType = eventType;
}
public String getAlarmLevel() {
return alarmLevel;
}
public void setAlarmLevel(String alarmLevel) {
this.alarmLevel = alarmLevel;
}
public String getAlarmType() {
return alarmType;
}
public void setAlarmType(String alarmType) {
this.alarmType = alarmType;
}
public String getLedgerId() {
return ledgerId;
}
public void setLedgerId(String ledgerId) {
this.ledgerId = ledgerId;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public String getCpmId() {
return cpmId;
}
public void setCpmId(String cpmId) {
this.cpmId = cpmId;
}
public String getCpmName() {
return cpmName;
}
public void setCpmName(String cpmName) {
this.cpmName = cpmName;
}
public String getCpmMtNum() {
return cpmMtNum;
}
public void setCpmMtNum(String cpmMtNum) {
this.cpmMtNum = cpmMtNum;
}
public Integer getDelayTimes() {
return delayTimes;
}
public void setDelayTimes(Integer delayTimes) {
this.delayTimes = delayTimes;
}
public Integer getTimePeriodSet() {
return timePeriodSet;
}
public void setTimePeriodSet(Integer timePeriodSet) {
this.timePeriodSet = timePeriodSet;
}
public Date getBeginTime() {
return beginTime;
}
public void setBeginTime(Date beginTime) {
this.beginTime = beginTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public Integer getTriggerEvent() {
return triggerEvent;
}
public void setTriggerEvent(Integer triggerEvent) {
this.triggerEvent = triggerEvent;
}
public String getCondition1() {
return condition1;
}
public void setCondition1(String condition1) {
this.condition1 = condition1;
}
public String getThreshold1() {
return threshold1;
}
public void setThreshold1(String threshold1) {
this.threshold1 = threshold1;
}
public String getCondition2() {
return condition2;
}
public void setCondition2(String condition2) {
this.condition2 = condition2;
}
public String getThreshold2() {
return threshold2;
}
public void setThreshold2(String threshold2) {
this.threshold2 = threshold2;
}
public String getEnergyNode() {
return energyNode;
}
public void setEnergyNode(String energyNode) {
this.energyNode = energyNode;
}
public String getEnergyType() {
return energyType;
}
public void setEnergyType(String energyType) {
this.energyType = energyType;
}
@Override
public String toString() {
return new ToStringBuilder(this)
.append("id", id)
.append("eventType", eventType)
.append("alarmLevel", alarmLevel)
.append("alarmType", alarmType)
.append("ledgerId", ledgerId)
.append("deviceName", deviceName)
.append("cpmId", cpmId)
.append("cpmName", cpmName)
.append("cpmMtNum", cpmMtNum)
.append("delayTimes", delayTimes)
.append("timePeriodSet", timePeriodSet)
.append("beginTime", beginTime)
.append("endTime", endTime)
.append("triggerEvent", triggerEvent)
.append("condition1", condition1)
.append("threshold1", threshold1)
.append("condition2", condition2)
.append("threshold2", threshold2)
.append("energyNode", energyNode)
.append("energyType", energyType)
.toString();
}
}

31
mh-common/src/main/java/com/mh/common/core/domain/entity/CollectionParamsManage.java

@ -132,11 +132,6 @@ public class CollectionParamsManage extends BaseEntity {
*/
private String communicationType;
/**
* 备注
*/
private String remark;
/**
* 读取响应的寄存器大小创建指令的时候需要
*/
@ -147,6 +142,20 @@ public class CollectionParamsManage extends BaseEntity {
*/
private Integer isUse;
/**
* 别名
* @return
*/
private String otherName;
public String getOtherName() {
return otherName;
}
public void setOtherName(String otherName) {
this.otherName = otherName;
}
public String getId() {
return id;
}
@ -331,16 +340,6 @@ public class CollectionParamsManage extends BaseEntity {
this.communicationType = communicationType;
}
@Override
public String getRemark() {
return remark;
}
@Override
public void setRemark(String remark) {
this.remark = remark;
}
public Integer getRegisterSize() {
return registerSize;
}
@ -383,9 +382,9 @@ public class CollectionParamsManage extends BaseEntity {
.append("paramId", paramId)
.append("protocolType", protocolType)
.append("communicationType", communicationType)
.append("remark", remark)
.append("registerSize", registerSize)
.append("isUse", isUse)
.append("otherName", otherName)
.toString();
}
}

1
mh-common/src/main/java/com/mh/common/core/domain/entity/GatewayManage.java

@ -152,7 +152,6 @@ public class GatewayManage extends BaseEntity {
.append("internetCard", internetCard)
.append("operatorType", operatorType)
.append("communicationType", communicationType)
.append("remark", remark)
.append("grade", grade)
.append("status", status)
.toString();

16
mh-system/src/main/java/com/mh/system/mapper/operation/AlarmCodeMapper.java

@ -0,0 +1,16 @@
package com.mh.system.mapper.operation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mh.common.core.domain.entity.AlarmCode;
import org.apache.ibatis.annotations.Mapper;
/**
* @author LJF
* @version 1.0
* @project EEMCS
* @description 报警编码mapper
* @date 2025-01-14 17:23:32
*/
@Mapper
public interface AlarmCodeMapper extends BaseMapper<AlarmCode> {
}

16
mh-system/src/main/java/com/mh/system/mapper/operation/AlarmRulesMapper.java

@ -0,0 +1,16 @@
package com.mh.system.mapper.operation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mh.common.core.domain.entity.AlarmRules;
import org.apache.ibatis.annotations.Mapper;
/**
* @author LJF
* @version 1.0
* @project EEMCS
* @description 报警编码mapper
* @date 2025-01-14 17:23:32
*/
@Mapper
public interface AlarmRulesMapper extends BaseMapper<AlarmRules> {
}

24
mh-system/src/main/java/com/mh/system/service/operation/IAlarmCodeService.java

@ -0,0 +1,24 @@
package com.mh.system.service.operation;
import com.mh.common.core.domain.entity.AlarmCode;
import java.util.List;
/**
* @author LJF
* @version 1.0
* @project EEMCS
* @description 报警编码页面请求
* @date 2025-01-14 16:52:23
*/
public interface IAlarmCodeService {
List<AlarmCode> selectAlarmCodeList(AlarmCode alarmCode);
AlarmCode selectAlarmCodeById(String acId);
int insertAlarmCode(AlarmCode alarmCode);
int updateAlarmCode(AlarmCode alarmCode);
int deleteAlarmCodeByIds(String[] acIds);
}

24
mh-system/src/main/java/com/mh/system/service/operation/IAlarmRulesService.java

@ -0,0 +1,24 @@
package com.mh.system.service.operation;
import com.mh.common.core.domain.entity.AlarmRules;
import java.util.List;
/**
* @author LJF
* @version 1.0
* @project EEMCS
* @description 报警规则处理接口
* @date 2025-01-14 16:52:23
*/
public interface IAlarmRulesService {
List<AlarmRules> selectAlarmRulesList(AlarmRules alarmCode);
AlarmRules selectAlarmRulesById(String acId);
int insertAlarmRules(AlarmRules alarmCode);
int updateAlarmRules(AlarmRules alarmCode);
int deleteAlarmRulesByIds(String[] acIds);
}

86
mh-system/src/main/java/com/mh/system/service/operation/impl/AlarmCodeServiceImpl.java

@ -0,0 +1,86 @@
package com.mh.system.service.operation.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mh.common.core.domain.entity.AlarmCode;
import com.mh.common.utils.StringUtils;
import com.mh.system.mapper.operation.AlarmCodeMapper;
import com.mh.system.service.operation.IAlarmCodeService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author LJF
* @version 1.0
* @project EEMCS
* @description 报警编码页面请求实现类
* @date 2025-01-14 16:53:08
*/
@Service
public class AlarmCodeServiceImpl implements IAlarmCodeService {
@Resource
private AlarmCodeMapper alarmCodeMapper;
@Override
public List<AlarmCode> selectAlarmCodeList(AlarmCode alarmCode) {
if (alarmCode == null) {
return List.of();
}
QueryWrapper<AlarmCode> queryWrapper = new QueryWrapper<>();
// 消息编码
if (!StringUtils.isEmpty(alarmCode.getMsgCode())) {
queryWrapper.like("msg_code", alarmCode.getMsgCode());
}
// 采集类别
if (!StringUtils.isEmpty(alarmCode.getCollectionType())) {
queryWrapper.eq("collection_type", alarmCode.getCollectionType());
}
// 事件类型
if (!StringUtils.isEmpty(alarmCode.getEventType())) {
queryWrapper.eq("event_type", alarmCode.getEventType());
}
// 报警等级
if (!StringUtils.isEmpty(alarmCode.getAlarmLevel())) {
queryWrapper.eq("alarm_level", alarmCode.getAlarmLevel());
}
queryWrapper.orderByDesc("create_time");
return alarmCodeMapper.selectList(queryWrapper);
}
@Override
public AlarmCode selectAlarmCodeById(String acId) {
if (StringUtils.isEmpty(acId)) {
return null;
}
return alarmCodeMapper.selectById(acId);
}
@Override
public int insertAlarmCode(AlarmCode alarmCode) {
if (alarmCode != null) {
return alarmCodeMapper.insert(alarmCode);
}
return 0;
}
@Override
public int updateAlarmCode(AlarmCode alarmCode) {
if (alarmCode != null) {
return alarmCodeMapper.updateById(alarmCode);
}
return 0;
}
@Override
public int deleteAlarmCodeByIds(String[] acIds) {
if (acIds != null && acIds.length > 0) {
for (String acId : acIds) {
alarmCodeMapper.deleteById(acId);
}
return acIds.length;
}
return 0;
}
}

82
mh-system/src/main/java/com/mh/system/service/operation/impl/AlarmRulesServiceImpl.java

@ -0,0 +1,82 @@
package com.mh.system.service.operation.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mh.common.core.domain.entity.AlarmRules;
import com.mh.common.utils.StringUtils;
import com.mh.system.mapper.operation.AlarmRulesMapper;
import com.mh.system.service.operation.IAlarmRulesService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author LJF
* @version 1.0
* @project EEMCS
* @description 报警编码页面请求实现类
* @date 2025-01-14 16:53:08
*/
@Service
public class AlarmRulesServiceImpl implements IAlarmRulesService {
@Resource
private AlarmRulesMapper alarmRulesMapper;
@Override
public List<AlarmRules> selectAlarmRulesList(AlarmRules alarmRules) {
if (alarmRules == null) {
return List.of();
}
QueryWrapper<AlarmRules> queryWrapper = new QueryWrapper<>();
// 报警类型
if (!StringUtils.isEmpty(alarmRules.getAlarmType())) {
queryWrapper.eq("alarm_type", alarmRules.getAlarmType());
}
// 事件类型
if (!StringUtils.isEmpty(alarmRules.getEventType())) {
queryWrapper.eq("event_type", alarmRules.getEventType());
}
// 报警等级
if (!StringUtils.isEmpty(alarmRules.getAlarmLevel())) {
queryWrapper.eq("alarm_level", alarmRules.getAlarmLevel());
}
queryWrapper.orderByDesc("create_time");
return alarmRulesMapper.selectList(queryWrapper);
}
@Override
public AlarmRules selectAlarmRulesById(String acId) {
if (StringUtils.isEmpty(acId)) {
return null;
}
return alarmRulesMapper.selectById(acId);
}
@Override
public int insertAlarmRules(AlarmRules alarmRules) {
if (alarmRules != null) {
return alarmRulesMapper.insert(alarmRules);
}
return 0;
}
@Override
public int updateAlarmRules(AlarmRules alarmRules) {
if (alarmRules != null) {
return alarmRulesMapper.updateById(alarmRules);
}
return 0;
}
@Override
public int deleteAlarmRulesByIds(String[] acIds) {
if (acIds != null && acIds.length > 0) {
for (String acId : acIds) {
alarmRulesMapper.deleteById(acId);
}
return acIds.length;
}
return 0;
}
}

101
sql/表结构设计.sql

@ -95,6 +95,7 @@ CREATE TABLE collection_params_manage (
device_ledger_id varchar(36) NULL, -- 设备台账id
mt_type varchar(10), -- 设备类型(字典)
mt_num VARCHAR(20) NULL, -- 设备地址
other_name VARCHAR(100) NULL, -- 别称
mt_code VARCHAR(20) NULL, -- 设备采集地址
register_addr VARCHAR(20) NULL, -- 寄存器地址
func_code VARCHAR(20) NULL, -- 功能码
@ -129,7 +130,6 @@ COMMENT ON TABLE collection_params_manage IS '仪表管理表,用于记录各
-- 为各列添加备注
COMMENT ON COLUMN collection_params_manage.id IS '自增主键';
COMMENT ON COLUMN collection_params_manage.mt_type IS '仪表类型ID';
COMMENT ON COLUMN collection_params_manage.mt_name IS '仪表名称';
COMMENT ON COLUMN collection_params_manage.other_name IS '其他名称';
COMMENT ON COLUMN collection_params_manage.mt_brand IS '仪表品牌';
COMMENT ON COLUMN collection_params_manage.mt_num IS '仪表编号';
@ -213,7 +213,7 @@ CREATE TABLE device_in_out_manage (
spare_name VARCHAR(100) NULL, -- 备件名称
opera_type VARCHAR(10) NULL, -- 出入库操作类型(0:入库,1:出库)
int_out_num INT NULL, -- 出入库数量
inventory_levels INT NULL, -- 当前库存量
inventory_levels INT NULL, -- 当前库c存量
create_time TIMESTAMP NULL, -- 记录创建的时间戳
update_time TIMESTAMP NULL, -- 记录最后一次更新的时间戳
create_by VARCHAR(100) NULL, -- 创建该记录的用户
@ -374,3 +374,100 @@ COMMENT
ON COLUMN maintain_info.exec_time IS '执行维修时间';
COMMENT
ON COLUMN maintain_info.spend_times IS '维修花费时间';
-- 报警编码管理(类似模板消息)
CREATE TABLE alarm_code (
id VARCHAR(36) NOT NULL, -- id
msg_code VARCHAR(36) NULL, -- 消息编码
collection_type varchar(10) NULL, -- 采集类别:0:遥测(连续变化参数),1:遥信(离散开关状态)
event_type VARCHAR(10) NULL, -- 事件类型
alarm_level VARCHAR(10) NULL, -- 报警等级
msg_title varchar(100) NULL, -- 消息标题
msg_content varchar(500) null, -- 消息内容
create_time TIMESTAMP NULL, -- 记录创建的时间戳
update_time TIMESTAMP NULL, -- 记录最后一次更新的时间戳
create_by VARCHAR(100) NULL, -- 创建该记录的用户
update_by VARCHAR(100) NULL, -- 更新该记录的用户
PRIMARY KEY (id)
);
COMMENT ON COLUMN alarm_code.id IS '唯一标识符';
COMMENT ON COLUMN alarm_code.msg_code IS '消息编码';
COMMENT ON COLUMN alarm_code.collection_type IS '采集类别:0:遥测(连续变化参数),1:遥信(离散开关状态)';
COMMENT ON COLUMN alarm_code.event_type IS '事件类型(字典)';
COMMENT ON COLUMN alarm_code.alarm_level IS '报警等级(字典)';
COMMENT ON COLUMN alarm_code.msg_title IS '消息标题';
COMMENT ON COLUMN alarm_code.msg_content IS '消息内容';
COMMENT ON COLUMN alarm_code.create_time IS '记录创建的时间戳';
COMMENT ON COLUMN alarm_code.update_time IS '记录最后一次更新的时间戳';
COMMENT ON COLUMN alarm_code.create_by IS '创建该记录的用户';
COMMENT ON COLUMN alarm_code.update_by IS '更新该记录的用户';
-- 添加索引
CREATE INDEX idx_alarm_code_msg_code ON alarm_code (msg_code);
CREATE INDEX idx_alarm_code_collection_type ON alarm_code (collection_type);
CREATE INDEX idx_alarm_code_event_type ON alarm_code (event_type);
CREATE INDEX idx_alarm_code_alarm_level ON alarm_code (alarm_level);
CREATE INDEX idx_alarm_code_msg_title ON alarm_code (msg_title);
CREATE INDEX idx_alarm_code_create_time_desc ON alarm_code (create_time DESC);
-- 仪表报警规则
CREATE TABLE alarm_rules (
id VARCHAR(36) NOT NULL, -- id
alarm_type varchar(10) null, -- 报警类型
event_type VARCHAR(10) NULL, -- 事件类型
alarm_level VARCHAR(10) NULL, -- 报警等级
ledger_id varchar(36) null, -- 设备台账id
device_name VARCHAR(50) NULL, -- 设备名称
cpm_id varchar(36) NULL, -- 仪表参数id
cpm_name varchar(100) null, -- 参数名称
cpm_mt_num varchar(100) null, -- 参数编号(仪表编号)
delay_times int NULL, -- 报警延时时间
time_period_set int null, -- 时段设置(0:全时段,1:自定义时段)
begin_time timestamp null, -- 自定义开始时段
end_time timestamp null, -- 自定义结束时段
trigger_event int null, -- 选择遥信事件显示:触发事件(0:开,1:关)
condition1 varchar(10) null, -- 选择越限事件显示:条件1:>\<\!=\=\>=\<=
threshold1 varchar(10) null, -- 选择越限事件显示:阈值1
condition2 varchar(10) null, -- 选择越限事件显示:条件2:>\<\!=\=\>=\<=
threshold2 varchar(10) null, -- 选择越限事件显示:阈值2
energy_node varchar(36) null, -- 能源节点(预留是能耗方面的)
energy_type varchar(20) null, -- 能源类型(预留是能耗方面的)
remark INT NULL, -- 消息说明
create_time TIMESTAMP NULL, -- 记录创建的时间戳
update_time TIMESTAMP NULL, -- 记录最后一次更新的时间戳
create_by VARCHAR(100) NULL, -- 创建该记录的用户
update_by VARCHAR(100) NULL, -- 更新该记录的用户
PRIMARY KEY (id)
);
COMMENT ON COLUMN alarm_rules.id IS '唯一标识符';
COMMENT ON COLUMN alarm_rules.event_type IS '事件类型(字典)';
COMMENT ON COLUMN alarm_rules.alarm_type IS '报警类型(字典)';
COMMENT ON COLUMN alarm_rules.alarm_level IS '报警等级(字典)';
COMMENT ON COLUMN alarm_rules.ledger_id IS '设备台账ID';
COMMENT ON COLUMN alarm_rules.device_name IS '设备名称';
COMMENT ON COLUMN alarm_rules.cpm_id IS '仪表参数ID';
COMMENT ON COLUMN alarm_rules.cpm_name IS '参数名称';
COMMENT ON COLUMN alarm_rules.cpm_mt_num IS '参数编号(仪表编号)';
COMMENT ON COLUMN alarm_rules.delay_times IS '报警延时时间';
COMMENT ON COLUMN alarm_rules.time_period_set IS '时段设置(0:全时段,1:自定义时段)';
COMMENT ON COLUMN alarm_rules.begin_time IS '自定义开始时段';
COMMENT ON COLUMN alarm_rules.end_time IS '自定义结束时段';
COMMENT ON COLUMN alarm_rules.trigger_event IS '选择遥信事件显示:触发事件(0:开,1:关)';
COMMENT ON COLUMN alarm_rules.condition1 IS '选择越限事件显示:条件1:>\<\!=\=\>=\<=' ;
COMMENT ON COLUMN alarm_rules.threshold1 IS '选择越限事件显示:阈值1';
COMMENT ON COLUMN alarm_rules.condition2 IS '选择越限事件显示:条件2:>\<\!=\=\>=\<=';
COMMENT ON COLUMN alarm_rules.threshold2 IS '选择越限事件显示:阈值2';
COMMENT ON COLUMN alarm_rules.energy_node IS '能源节点(预留用于能耗方面)';
COMMENT ON COLUMN alarm_rules.energy_type IS '能源类型(预留用于能耗方面)';
COMMENT ON COLUMN alarm_rules.remark IS '消息说明';
COMMENT ON COLUMN alarm_rules.create_time IS '记录创建的时间戳';
COMMENT ON COLUMN alarm_rules.update_time IS '记录最后一次更新的时间戳';
COMMENT ON COLUMN alarm_rules.create_by IS '创建该记录的用户';
COMMENT ON COLUMN alarm_rules.update_by IS '更新该记录的用户';
-- 添加索引
CREATE INDEX idx_alarm_rules_event_type ON alarm_rules (event_type);
CREATE INDEX idx_alarm_rules_alarm_level ON alarm_rules (alarm_level);
CREATE INDEX idx_alarm_rules_alarm_type ON alarm_rules (alarm_type);
CREATE INDEX idx_alarm_rules_create_time_desc ON alarm_rules (create_time DESC);
Loading…
Cancel
Save