diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
index dc054fa..adab538 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
@@ -64,6 +64,11 @@
@TableField(exist = false)
private String position;
+
+ @ApiModelProperty("报警类型id")
+ @TableField("ALARM_TYPE_ID")
+ private Long alarmTypeId;
+
@ApiModelProperty("报警规则(列表展示用)")
@TableField(exist = false)
private String alarmRuleName;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
index dc054fa..adab538 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
@@ -64,6 +64,11 @@
@TableField(exist = false)
private String position;
+
+ @ApiModelProperty("报警类型id")
+ @TableField("ALARM_TYPE_ID")
+ private Long alarmTypeId;
+
@ApiModelProperty("报警规则(列表展示用)")
@TableField(exist = false)
private String alarmRuleName;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
index dd3280e..e72da4c 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
@@ -47,5 +47,12 @@
List allList(AlarmRecordDTO request, DataScope dataScope);
+ void cancelDeviceAlarm(String devCode);
+
+ void cancelDataAlarm(String devCode);
+
+ boolean isDataAlarmByCode(String devCode,Float alarmThreshold);
+
+ boolean saveAlarms(String devCode,String gas,String upTime, List busWellDTOList,AlarmRuleResponseDTO alarmRuleResponseDTO);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
index dc054fa..adab538 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
@@ -64,6 +64,11 @@
@TableField(exist = false)
private String position;
+
+ @ApiModelProperty("报警类型id")
+ @TableField("ALARM_TYPE_ID")
+ private Long alarmTypeId;
+
@ApiModelProperty("报警规则(列表展示用)")
@TableField(exist = false)
private String alarmRuleName;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
index dd3280e..e72da4c 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
@@ -47,5 +47,12 @@
List allList(AlarmRecordDTO request, DataScope dataScope);
+ void cancelDeviceAlarm(String devCode);
+
+ void cancelDataAlarm(String devCode);
+
+ boolean isDataAlarmByCode(String devCode,Float alarmThreshold);
+
+ boolean saveAlarms(String devCode,String gas,String upTime, List busWellDTOList,AlarmRuleResponseDTO alarmRuleResponseDTO);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
index 8405969..4010f80 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
@@ -6,6 +6,8 @@
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
+import java.util.List;
+
/**
*
* 报警规则(单个设备设置) 服务类
@@ -19,4 +21,6 @@
Page listPage(Page page, AlarmRuleDeviceDTO request);
+ List listByCode(String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
index dc054fa..adab538 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
@@ -64,6 +64,11 @@
@TableField(exist = false)
private String position;
+
+ @ApiModelProperty("报警类型id")
+ @TableField("ALARM_TYPE_ID")
+ private Long alarmTypeId;
+
@ApiModelProperty("报警规则(列表展示用)")
@TableField(exist = false)
private String alarmRuleName;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
index dd3280e..e72da4c 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
@@ -47,5 +47,12 @@
List allList(AlarmRecordDTO request, DataScope dataScope);
+ void cancelDeviceAlarm(String devCode);
+
+ void cancelDataAlarm(String devCode);
+
+ boolean isDataAlarmByCode(String devCode,Float alarmThreshold);
+
+ boolean saveAlarms(String devCode,String gas,String upTime, List busWellDTOList,AlarmRuleResponseDTO alarmRuleResponseDTO);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
index 8405969..4010f80 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
@@ -6,6 +6,8 @@
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
+import java.util.List;
+
/**
*
* 报警规则(单个设备设置) 服务类
@@ -19,4 +21,6 @@
Page listPage(Page page, AlarmRuleDeviceDTO request);
+ List listByCode(String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
index c15a4e3..d3b2d44 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.alarm.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import java.util.List;
@@ -19,4 +20,6 @@
boolean batchDelete(List ids);
boolean edit(AlarmRule alarmRule);
+
+ List getByDevCode(String devCode);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
index dc054fa..adab538 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
@@ -64,6 +64,11 @@
@TableField(exist = false)
private String position;
+
+ @ApiModelProperty("报警类型id")
+ @TableField("ALARM_TYPE_ID")
+ private Long alarmTypeId;
+
@ApiModelProperty("报警规则(列表展示用)")
@TableField(exist = false)
private String alarmRuleName;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
index dd3280e..e72da4c 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
@@ -47,5 +47,12 @@
List allList(AlarmRecordDTO request, DataScope dataScope);
+ void cancelDeviceAlarm(String devCode);
+
+ void cancelDataAlarm(String devCode);
+
+ boolean isDataAlarmByCode(String devCode,Float alarmThreshold);
+
+ boolean saveAlarms(String devCode,String gas,String upTime, List busWellDTOList,AlarmRuleResponseDTO alarmRuleResponseDTO);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
index 8405969..4010f80 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
@@ -6,6 +6,8 @@
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
+import java.util.List;
+
/**
*
* 报警规则(单个设备设置) 服务类
@@ -19,4 +21,6 @@
Page listPage(Page page, AlarmRuleDeviceDTO request);
+ List listByCode(String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
index c15a4e3..d3b2d44 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.alarm.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import java.util.List;
@@ -19,4 +20,6 @@
boolean batchDelete(List ids);
boolean edit(AlarmRule alarmRule);
+
+ List getByDevCode(String devCode);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
index 29ebc6f..1141659 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
@@ -4,6 +4,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
@@ -25,10 +26,12 @@
import com.casic.missiles.modular.alarm.entity.SuspendLog;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.Dept;
+import com.casic.missiles.util.CommonUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -99,7 +102,7 @@
alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是");
alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration()));
alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid()));
- alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory()));
+ alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecords.getAlarmCategory()));
});
return alarmRecordsPage;
}
@@ -263,7 +266,7 @@
List deptIds = abstractDeptService.getParentListById(deptId);
deptIds.add(deptId);
QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.in("id",deptIds);
+ queryWrapper.in("id", deptIds);
List deptList = abstractDeptService.list(queryWrapper);
List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList());
return String.join("/", nameList);
@@ -283,16 +286,77 @@
@Override
public List allList(AlarmRecordDTO request, DataScope dataScope) {
- List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId()));
+ List alarmRecordExportDTOList = this.baseMapper.allList(request, dataScope, getDeptIds(request.getDeptId()));
alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> {
alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus()));
alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()));
- alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory()));
+ alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory()));
});
return alarmRecordExportDTOList;
}
+ @Override
+ public void cancelDeviceAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "1");
+ //只有挂起和已处置的才消
+ updateWrapper.ge("PROCESS_STATUS", "3");
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
+
+ @Override
+ public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("DEVCODE", devCode);
+ queryWrapper.eq("EXCEPTION_TYPE", "0");
+ queryWrapper.eq("STATUS", "1");
+ List alarmRecordsList = this.list(queryWrapper);
+ if (alarmRecordsList != null && alarmRecordsList.size() > 0) {
+ for (AlarmRecords alarmRecords : alarmRecordsList) {
+ //toDo:若新来报警升级,则挂起状态的 改为 未读
+ if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) {
+
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean saveAlarms(String devCode, String gas, String upTime, List busWellDTOList, AlarmRuleResponseDTO alarmRuleResponseDTO) {
+
+ for (BusAlarmLedgerDTO busLedgerDTO : busWellDTOList) {
+ try {
+ AlarmRecords alarmRecords = new AlarmRecords(devCode, busLedgerDTO.getLedgerCode(),
+ busLedgerDTO.getTagNumber(), alarmRuleResponseDTO.getAlarmTypeId(),
+ alarmRuleResponseDTO.getAlarmTypeName(), gas,
+ alarmRuleResponseDTO.getAlarmLevelId(), CommonUtil.sdf4.parse(CommonUtil.DateFormat(upTime)),
+ alarmRuleResponseDTO.getAlarmTypeName(), busLedgerDTO.getPlace(), "0");
+ this.save(alarmRecords);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public void cancelDataAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "0");
+ //只有未读、已读、已确认、已处置、挂起的才消
+ updateWrapper.in("PROCESS_STATUS", Arrays.asList("1","2","3","5","7"));
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
index dc054fa..adab538 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
@@ -64,6 +64,11 @@
@TableField(exist = false)
private String position;
+
+ @ApiModelProperty("报警类型id")
+ @TableField("ALARM_TYPE_ID")
+ private Long alarmTypeId;
+
@ApiModelProperty("报警规则(列表展示用)")
@TableField(exist = false)
private String alarmRuleName;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
index dd3280e..e72da4c 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
@@ -47,5 +47,12 @@
List allList(AlarmRecordDTO request, DataScope dataScope);
+ void cancelDeviceAlarm(String devCode);
+
+ void cancelDataAlarm(String devCode);
+
+ boolean isDataAlarmByCode(String devCode,Float alarmThreshold);
+
+ boolean saveAlarms(String devCode,String gas,String upTime, List busWellDTOList,AlarmRuleResponseDTO alarmRuleResponseDTO);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
index 8405969..4010f80 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
@@ -6,6 +6,8 @@
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
+import java.util.List;
+
/**
*
* 报警规则(单个设备设置) 服务类
@@ -19,4 +21,6 @@
Page listPage(Page page, AlarmRuleDeviceDTO request);
+ List listByCode(String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
index c15a4e3..d3b2d44 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.alarm.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import java.util.List;
@@ -19,4 +20,6 @@
boolean batchDelete(List ids);
boolean edit(AlarmRule alarmRule);
+
+ List getByDevCode(String devCode);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
index 29ebc6f..1141659 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
@@ -4,6 +4,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
@@ -25,10 +26,12 @@
import com.casic.missiles.modular.alarm.entity.SuspendLog;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.Dept;
+import com.casic.missiles.util.CommonUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -99,7 +102,7 @@
alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是");
alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration()));
alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid()));
- alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory()));
+ alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecords.getAlarmCategory()));
});
return alarmRecordsPage;
}
@@ -263,7 +266,7 @@
List deptIds = abstractDeptService.getParentListById(deptId);
deptIds.add(deptId);
QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.in("id",deptIds);
+ queryWrapper.in("id", deptIds);
List deptList = abstractDeptService.list(queryWrapper);
List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList());
return String.join("/", nameList);
@@ -283,16 +286,77 @@
@Override
public List allList(AlarmRecordDTO request, DataScope dataScope) {
- List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId()));
+ List alarmRecordExportDTOList = this.baseMapper.allList(request, dataScope, getDeptIds(request.getDeptId()));
alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> {
alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus()));
alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()));
- alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory()));
+ alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory()));
});
return alarmRecordExportDTOList;
}
+ @Override
+ public void cancelDeviceAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "1");
+ //只有挂起和已处置的才消
+ updateWrapper.ge("PROCESS_STATUS", "3");
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
+
+ @Override
+ public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("DEVCODE", devCode);
+ queryWrapper.eq("EXCEPTION_TYPE", "0");
+ queryWrapper.eq("STATUS", "1");
+ List alarmRecordsList = this.list(queryWrapper);
+ if (alarmRecordsList != null && alarmRecordsList.size() > 0) {
+ for (AlarmRecords alarmRecords : alarmRecordsList) {
+ //toDo:若新来报警升级,则挂起状态的 改为 未读
+ if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) {
+
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean saveAlarms(String devCode, String gas, String upTime, List busWellDTOList, AlarmRuleResponseDTO alarmRuleResponseDTO) {
+
+ for (BusAlarmLedgerDTO busLedgerDTO : busWellDTOList) {
+ try {
+ AlarmRecords alarmRecords = new AlarmRecords(devCode, busLedgerDTO.getLedgerCode(),
+ busLedgerDTO.getTagNumber(), alarmRuleResponseDTO.getAlarmTypeId(),
+ alarmRuleResponseDTO.getAlarmTypeName(), gas,
+ alarmRuleResponseDTO.getAlarmLevelId(), CommonUtil.sdf4.parse(CommonUtil.DateFormat(upTime)),
+ alarmRuleResponseDTO.getAlarmTypeName(), busLedgerDTO.getPlace(), "0");
+ this.save(alarmRecords);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public void cancelDataAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "0");
+ //只有未读、已读、已确认、已处置、挂起的才消
+ updateWrapper.in("PROCESS_STATUS", Arrays.asList("1","2","3","5","7"));
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
index 4a021bf..8aa5eeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.alarm.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper;
@@ -27,15 +28,25 @@
private final IAlarmLevelControlService iAlarmLevelControlService;
+
@Override
public Page listPage(Page page, AlarmRuleDeviceDTO request) {
- Page alarmRuleDevicePage = this.baseMapper.listPage(page,request);
+ Page alarmRuleDevicePage = this.baseMapper.listPage(page, request);
List alarmRuleDeviceList = alarmRuleDevicePage.getRecords();
alarmRuleDeviceList.forEach(alarmRuleDevice -> {
- AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId());
- alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl!=null?alarmLevelControl.getAlarmLevel():
+ AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId());
+ alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() :
"").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()));
});
return alarmRuleDevicePage;
}
+
+ @Override
+ public List listByCode(String devCode) {
+
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("DEVCODE", devCode);
+ queryWrapper.orderByDesc( "ALARM_THRESHOLD");
+ return this.list(queryWrapper);
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
index dc054fa..adab538 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
@@ -64,6 +64,11 @@
@TableField(exist = false)
private String position;
+
+ @ApiModelProperty("报警类型id")
+ @TableField("ALARM_TYPE_ID")
+ private Long alarmTypeId;
+
@ApiModelProperty("报警规则(列表展示用)")
@TableField(exist = false)
private String alarmRuleName;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
index dd3280e..e72da4c 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
@@ -47,5 +47,12 @@
List allList(AlarmRecordDTO request, DataScope dataScope);
+ void cancelDeviceAlarm(String devCode);
+
+ void cancelDataAlarm(String devCode);
+
+ boolean isDataAlarmByCode(String devCode,Float alarmThreshold);
+
+ boolean saveAlarms(String devCode,String gas,String upTime, List busWellDTOList,AlarmRuleResponseDTO alarmRuleResponseDTO);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
index 8405969..4010f80 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
@@ -6,6 +6,8 @@
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
+import java.util.List;
+
/**
*
* 报警规则(单个设备设置) 服务类
@@ -19,4 +21,6 @@
Page listPage(Page page, AlarmRuleDeviceDTO request);
+ List listByCode(String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
index c15a4e3..d3b2d44 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.alarm.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import java.util.List;
@@ -19,4 +20,6 @@
boolean batchDelete(List ids);
boolean edit(AlarmRule alarmRule);
+
+ List getByDevCode(String devCode);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
index 29ebc6f..1141659 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
@@ -4,6 +4,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
@@ -25,10 +26,12 @@
import com.casic.missiles.modular.alarm.entity.SuspendLog;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.Dept;
+import com.casic.missiles.util.CommonUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -99,7 +102,7 @@
alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是");
alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration()));
alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid()));
- alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory()));
+ alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecords.getAlarmCategory()));
});
return alarmRecordsPage;
}
@@ -263,7 +266,7 @@
List deptIds = abstractDeptService.getParentListById(deptId);
deptIds.add(deptId);
QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.in("id",deptIds);
+ queryWrapper.in("id", deptIds);
List deptList = abstractDeptService.list(queryWrapper);
List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList());
return String.join("/", nameList);
@@ -283,16 +286,77 @@
@Override
public List allList(AlarmRecordDTO request, DataScope dataScope) {
- List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId()));
+ List alarmRecordExportDTOList = this.baseMapper.allList(request, dataScope, getDeptIds(request.getDeptId()));
alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> {
alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus()));
alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()));
- alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory()));
+ alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory()));
});
return alarmRecordExportDTOList;
}
+ @Override
+ public void cancelDeviceAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "1");
+ //只有挂起和已处置的才消
+ updateWrapper.ge("PROCESS_STATUS", "3");
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
+
+ @Override
+ public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("DEVCODE", devCode);
+ queryWrapper.eq("EXCEPTION_TYPE", "0");
+ queryWrapper.eq("STATUS", "1");
+ List alarmRecordsList = this.list(queryWrapper);
+ if (alarmRecordsList != null && alarmRecordsList.size() > 0) {
+ for (AlarmRecords alarmRecords : alarmRecordsList) {
+ //toDo:若新来报警升级,则挂起状态的 改为 未读
+ if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) {
+
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean saveAlarms(String devCode, String gas, String upTime, List busWellDTOList, AlarmRuleResponseDTO alarmRuleResponseDTO) {
+
+ for (BusAlarmLedgerDTO busLedgerDTO : busWellDTOList) {
+ try {
+ AlarmRecords alarmRecords = new AlarmRecords(devCode, busLedgerDTO.getLedgerCode(),
+ busLedgerDTO.getTagNumber(), alarmRuleResponseDTO.getAlarmTypeId(),
+ alarmRuleResponseDTO.getAlarmTypeName(), gas,
+ alarmRuleResponseDTO.getAlarmLevelId(), CommonUtil.sdf4.parse(CommonUtil.DateFormat(upTime)),
+ alarmRuleResponseDTO.getAlarmTypeName(), busLedgerDTO.getPlace(), "0");
+ this.save(alarmRecords);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public void cancelDataAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "0");
+ //只有未读、已读、已确认、已处置、挂起的才消
+ updateWrapper.in("PROCESS_STATUS", Arrays.asList("1","2","3","5","7"));
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
index 4a021bf..8aa5eeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.alarm.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper;
@@ -27,15 +28,25 @@
private final IAlarmLevelControlService iAlarmLevelControlService;
+
@Override
public Page listPage(Page page, AlarmRuleDeviceDTO request) {
- Page alarmRuleDevicePage = this.baseMapper.listPage(page,request);
+ Page alarmRuleDevicePage = this.baseMapper.listPage(page, request);
List alarmRuleDeviceList = alarmRuleDevicePage.getRecords();
alarmRuleDeviceList.forEach(alarmRuleDevice -> {
- AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId());
- alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl!=null?alarmLevelControl.getAlarmLevel():
+ AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId());
+ alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() :
"").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()));
});
return alarmRuleDevicePage;
}
+
+ @Override
+ public List listByCode(String devCode) {
+
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("DEVCODE", devCode);
+ queryWrapper.orderByDesc( "ALARM_THRESHOLD");
+ return this.list(queryWrapper);
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
index 4947e66..a7b5d5e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
@@ -2,15 +2,19 @@
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.dao.AlarmRuleMapper;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDetail;
+import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
import com.casic.missiles.modular.alarm.service.IAlarmRuleDetailService;
+import com.casic.missiles.modular.alarm.service.IAlarmRuleDeviceService;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -28,7 +32,7 @@
@Service
public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService {
- private final IAlarmRuleDetailService iAlarmRuleDetailService;
+ private final IAlarmRuleDeviceService iAlarmRuleDeviceService;
@Transactional
@Override
@@ -66,4 +70,26 @@
// }
return true;
}
+
+
+ @Override
+ public List getByDevCode(String devCode) {
+ //toDo:缓存取
+ List alarmRuleResponseDTOS = new ArrayList<>();
+ List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode);
+ //若不存在单个设备规则,则按照产品统一获取报警规则
+ if (null == alarmRuleDeviceList || alarmRuleDeviceList.size() < 1) {
+ alarmRuleResponseDTOS = this.baseMapper.getRuleListByCode(devCode);
+ } else {
+ for (AlarmRuleDevice alarmRuleDevice : alarmRuleDeviceList) {
+ AlarmRuleResponseDTO alarmRuleResponseDTO = new AlarmRuleResponseDTO();
+ alarmRuleResponseDTO.setAlarmThreshold(alarmRuleDevice.getAlarmThreshold());
+ alarmRuleResponseDTO.setAlarmLevelId(alarmRuleDevice.getAlarmLevelId());
+ alarmRuleResponseDTO.setAlarmTypeId(alarmRuleDevice.getAlarmTypeId());
+ alarmRuleResponseDTO.setAlarmTypeName(alarmRuleDevice.getAlarmRule());
+ alarmRuleResponseDTOS.add(alarmRuleResponseDTO);
+ }
+ }
+ return alarmRuleResponseDTOS;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
index dc054fa..adab538 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
@@ -64,6 +64,11 @@
@TableField(exist = false)
private String position;
+
+ @ApiModelProperty("报警类型id")
+ @TableField("ALARM_TYPE_ID")
+ private Long alarmTypeId;
+
@ApiModelProperty("报警规则(列表展示用)")
@TableField(exist = false)
private String alarmRuleName;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
index dd3280e..e72da4c 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
@@ -47,5 +47,12 @@
List allList(AlarmRecordDTO request, DataScope dataScope);
+ void cancelDeviceAlarm(String devCode);
+
+ void cancelDataAlarm(String devCode);
+
+ boolean isDataAlarmByCode(String devCode,Float alarmThreshold);
+
+ boolean saveAlarms(String devCode,String gas,String upTime, List busWellDTOList,AlarmRuleResponseDTO alarmRuleResponseDTO);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
index 8405969..4010f80 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
@@ -6,6 +6,8 @@
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
+import java.util.List;
+
/**
*
* 报警规则(单个设备设置) 服务类
@@ -19,4 +21,6 @@
Page listPage(Page page, AlarmRuleDeviceDTO request);
+ List listByCode(String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
index c15a4e3..d3b2d44 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.alarm.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import java.util.List;
@@ -19,4 +20,6 @@
boolean batchDelete(List ids);
boolean edit(AlarmRule alarmRule);
+
+ List getByDevCode(String devCode);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
index 29ebc6f..1141659 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
@@ -4,6 +4,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
@@ -25,10 +26,12 @@
import com.casic.missiles.modular.alarm.entity.SuspendLog;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.Dept;
+import com.casic.missiles.util.CommonUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -99,7 +102,7 @@
alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是");
alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration()));
alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid()));
- alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory()));
+ alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecords.getAlarmCategory()));
});
return alarmRecordsPage;
}
@@ -263,7 +266,7 @@
List deptIds = abstractDeptService.getParentListById(deptId);
deptIds.add(deptId);
QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.in("id",deptIds);
+ queryWrapper.in("id", deptIds);
List deptList = abstractDeptService.list(queryWrapper);
List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList());
return String.join("/", nameList);
@@ -283,16 +286,77 @@
@Override
public List allList(AlarmRecordDTO request, DataScope dataScope) {
- List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId()));
+ List alarmRecordExportDTOList = this.baseMapper.allList(request, dataScope, getDeptIds(request.getDeptId()));
alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> {
alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus()));
alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()));
- alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory()));
+ alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory()));
});
return alarmRecordExportDTOList;
}
+ @Override
+ public void cancelDeviceAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "1");
+ //只有挂起和已处置的才消
+ updateWrapper.ge("PROCESS_STATUS", "3");
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
+
+ @Override
+ public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("DEVCODE", devCode);
+ queryWrapper.eq("EXCEPTION_TYPE", "0");
+ queryWrapper.eq("STATUS", "1");
+ List alarmRecordsList = this.list(queryWrapper);
+ if (alarmRecordsList != null && alarmRecordsList.size() > 0) {
+ for (AlarmRecords alarmRecords : alarmRecordsList) {
+ //toDo:若新来报警升级,则挂起状态的 改为 未读
+ if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) {
+
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean saveAlarms(String devCode, String gas, String upTime, List busWellDTOList, AlarmRuleResponseDTO alarmRuleResponseDTO) {
+
+ for (BusAlarmLedgerDTO busLedgerDTO : busWellDTOList) {
+ try {
+ AlarmRecords alarmRecords = new AlarmRecords(devCode, busLedgerDTO.getLedgerCode(),
+ busLedgerDTO.getTagNumber(), alarmRuleResponseDTO.getAlarmTypeId(),
+ alarmRuleResponseDTO.getAlarmTypeName(), gas,
+ alarmRuleResponseDTO.getAlarmLevelId(), CommonUtil.sdf4.parse(CommonUtil.DateFormat(upTime)),
+ alarmRuleResponseDTO.getAlarmTypeName(), busLedgerDTO.getPlace(), "0");
+ this.save(alarmRecords);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public void cancelDataAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "0");
+ //只有未读、已读、已确认、已处置、挂起的才消
+ updateWrapper.in("PROCESS_STATUS", Arrays.asList("1","2","3","5","7"));
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
index 4a021bf..8aa5eeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.alarm.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper;
@@ -27,15 +28,25 @@
private final IAlarmLevelControlService iAlarmLevelControlService;
+
@Override
public Page listPage(Page page, AlarmRuleDeviceDTO request) {
- Page alarmRuleDevicePage = this.baseMapper.listPage(page,request);
+ Page alarmRuleDevicePage = this.baseMapper.listPage(page, request);
List alarmRuleDeviceList = alarmRuleDevicePage.getRecords();
alarmRuleDeviceList.forEach(alarmRuleDevice -> {
- AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId());
- alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl!=null?alarmLevelControl.getAlarmLevel():
+ AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId());
+ alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() :
"").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()));
});
return alarmRuleDevicePage;
}
+
+ @Override
+ public List listByCode(String devCode) {
+
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("DEVCODE", devCode);
+ queryWrapper.orderByDesc( "ALARM_THRESHOLD");
+ return this.list(queryWrapper);
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
index 4947e66..a7b5d5e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
@@ -2,15 +2,19 @@
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.dao.AlarmRuleMapper;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDetail;
+import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
import com.casic.missiles.modular.alarm.service.IAlarmRuleDetailService;
+import com.casic.missiles.modular.alarm.service.IAlarmRuleDeviceService;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -28,7 +32,7 @@
@Service
public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService {
- private final IAlarmRuleDetailService iAlarmRuleDetailService;
+ private final IAlarmRuleDeviceService iAlarmRuleDeviceService;
@Transactional
@Override
@@ -66,4 +70,26 @@
// }
return true;
}
+
+
+ @Override
+ public List getByDevCode(String devCode) {
+ //toDo:缓存取
+ List alarmRuleResponseDTOS = new ArrayList<>();
+ List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode);
+ //若不存在单个设备规则,则按照产品统一获取报警规则
+ if (null == alarmRuleDeviceList || alarmRuleDeviceList.size() < 1) {
+ alarmRuleResponseDTOS = this.baseMapper.getRuleListByCode(devCode);
+ } else {
+ for (AlarmRuleDevice alarmRuleDevice : alarmRuleDeviceList) {
+ AlarmRuleResponseDTO alarmRuleResponseDTO = new AlarmRuleResponseDTO();
+ alarmRuleResponseDTO.setAlarmThreshold(alarmRuleDevice.getAlarmThreshold());
+ alarmRuleResponseDTO.setAlarmLevelId(alarmRuleDevice.getAlarmLevelId());
+ alarmRuleResponseDTO.setAlarmTypeId(alarmRuleDevice.getAlarmTypeId());
+ alarmRuleResponseDTO.setAlarmTypeName(alarmRuleDevice.getAlarmRule());
+ alarmRuleResponseDTOS.add(alarmRuleResponseDTO);
+ }
+ }
+ return alarmRuleResponseDTOS;
+ }
}
diff --git a/casic-data/pom.xml b/casic-data/pom.xml
index 8495936..4d001d0 100644
--- a/casic-data/pom.xml
+++ b/casic-data/pom.xml
@@ -59,6 +59,16 @@
junit
test
+
+ com.casic
+ casic-public
+ 2.0.0
+
+
+ com.casic
+ casic-alarm
+ 2.0.0
+
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
index dc054fa..adab538 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
@@ -64,6 +64,11 @@
@TableField(exist = false)
private String position;
+
+ @ApiModelProperty("报警类型id")
+ @TableField("ALARM_TYPE_ID")
+ private Long alarmTypeId;
+
@ApiModelProperty("报警规则(列表展示用)")
@TableField(exist = false)
private String alarmRuleName;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
index dd3280e..e72da4c 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
@@ -47,5 +47,12 @@
List allList(AlarmRecordDTO request, DataScope dataScope);
+ void cancelDeviceAlarm(String devCode);
+
+ void cancelDataAlarm(String devCode);
+
+ boolean isDataAlarmByCode(String devCode,Float alarmThreshold);
+
+ boolean saveAlarms(String devCode,String gas,String upTime, List busWellDTOList,AlarmRuleResponseDTO alarmRuleResponseDTO);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
index 8405969..4010f80 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
@@ -6,6 +6,8 @@
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
+import java.util.List;
+
/**
*
* 报警规则(单个设备设置) 服务类
@@ -19,4 +21,6 @@
Page listPage(Page page, AlarmRuleDeviceDTO request);
+ List listByCode(String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
index c15a4e3..d3b2d44 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.alarm.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import java.util.List;
@@ -19,4 +20,6 @@
boolean batchDelete(List ids);
boolean edit(AlarmRule alarmRule);
+
+ List getByDevCode(String devCode);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
index 29ebc6f..1141659 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
@@ -4,6 +4,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
@@ -25,10 +26,12 @@
import com.casic.missiles.modular.alarm.entity.SuspendLog;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.Dept;
+import com.casic.missiles.util.CommonUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -99,7 +102,7 @@
alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是");
alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration()));
alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid()));
- alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory()));
+ alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecords.getAlarmCategory()));
});
return alarmRecordsPage;
}
@@ -263,7 +266,7 @@
List deptIds = abstractDeptService.getParentListById(deptId);
deptIds.add(deptId);
QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.in("id",deptIds);
+ queryWrapper.in("id", deptIds);
List deptList = abstractDeptService.list(queryWrapper);
List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList());
return String.join("/", nameList);
@@ -283,16 +286,77 @@
@Override
public List allList(AlarmRecordDTO request, DataScope dataScope) {
- List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId()));
+ List alarmRecordExportDTOList = this.baseMapper.allList(request, dataScope, getDeptIds(request.getDeptId()));
alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> {
alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus()));
alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()));
- alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory()));
+ alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory()));
});
return alarmRecordExportDTOList;
}
+ @Override
+ public void cancelDeviceAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "1");
+ //只有挂起和已处置的才消
+ updateWrapper.ge("PROCESS_STATUS", "3");
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
+
+ @Override
+ public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("DEVCODE", devCode);
+ queryWrapper.eq("EXCEPTION_TYPE", "0");
+ queryWrapper.eq("STATUS", "1");
+ List alarmRecordsList = this.list(queryWrapper);
+ if (alarmRecordsList != null && alarmRecordsList.size() > 0) {
+ for (AlarmRecords alarmRecords : alarmRecordsList) {
+ //toDo:若新来报警升级,则挂起状态的 改为 未读
+ if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) {
+
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean saveAlarms(String devCode, String gas, String upTime, List busWellDTOList, AlarmRuleResponseDTO alarmRuleResponseDTO) {
+
+ for (BusAlarmLedgerDTO busLedgerDTO : busWellDTOList) {
+ try {
+ AlarmRecords alarmRecords = new AlarmRecords(devCode, busLedgerDTO.getLedgerCode(),
+ busLedgerDTO.getTagNumber(), alarmRuleResponseDTO.getAlarmTypeId(),
+ alarmRuleResponseDTO.getAlarmTypeName(), gas,
+ alarmRuleResponseDTO.getAlarmLevelId(), CommonUtil.sdf4.parse(CommonUtil.DateFormat(upTime)),
+ alarmRuleResponseDTO.getAlarmTypeName(), busLedgerDTO.getPlace(), "0");
+ this.save(alarmRecords);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public void cancelDataAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "0");
+ //只有未读、已读、已确认、已处置、挂起的才消
+ updateWrapper.in("PROCESS_STATUS", Arrays.asList("1","2","3","5","7"));
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
index 4a021bf..8aa5eeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.alarm.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper;
@@ -27,15 +28,25 @@
private final IAlarmLevelControlService iAlarmLevelControlService;
+
@Override
public Page listPage(Page page, AlarmRuleDeviceDTO request) {
- Page alarmRuleDevicePage = this.baseMapper.listPage(page,request);
+ Page alarmRuleDevicePage = this.baseMapper.listPage(page, request);
List alarmRuleDeviceList = alarmRuleDevicePage.getRecords();
alarmRuleDeviceList.forEach(alarmRuleDevice -> {
- AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId());
- alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl!=null?alarmLevelControl.getAlarmLevel():
+ AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId());
+ alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() :
"").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()));
});
return alarmRuleDevicePage;
}
+
+ @Override
+ public List listByCode(String devCode) {
+
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("DEVCODE", devCode);
+ queryWrapper.orderByDesc( "ALARM_THRESHOLD");
+ return this.list(queryWrapper);
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
index 4947e66..a7b5d5e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
@@ -2,15 +2,19 @@
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.dao.AlarmRuleMapper;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDetail;
+import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
import com.casic.missiles.modular.alarm.service.IAlarmRuleDetailService;
+import com.casic.missiles.modular.alarm.service.IAlarmRuleDeviceService;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -28,7 +32,7 @@
@Service
public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService {
- private final IAlarmRuleDetailService iAlarmRuleDetailService;
+ private final IAlarmRuleDeviceService iAlarmRuleDeviceService;
@Transactional
@Override
@@ -66,4 +70,26 @@
// }
return true;
}
+
+
+ @Override
+ public List getByDevCode(String devCode) {
+ //toDo:缓存取
+ List alarmRuleResponseDTOS = new ArrayList<>();
+ List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode);
+ //若不存在单个设备规则,则按照产品统一获取报警规则
+ if (null == alarmRuleDeviceList || alarmRuleDeviceList.size() < 1) {
+ alarmRuleResponseDTOS = this.baseMapper.getRuleListByCode(devCode);
+ } else {
+ for (AlarmRuleDevice alarmRuleDevice : alarmRuleDeviceList) {
+ AlarmRuleResponseDTO alarmRuleResponseDTO = new AlarmRuleResponseDTO();
+ alarmRuleResponseDTO.setAlarmThreshold(alarmRuleDevice.getAlarmThreshold());
+ alarmRuleResponseDTO.setAlarmLevelId(alarmRuleDevice.getAlarmLevelId());
+ alarmRuleResponseDTO.setAlarmTypeId(alarmRuleDevice.getAlarmTypeId());
+ alarmRuleResponseDTO.setAlarmTypeName(alarmRuleDevice.getAlarmRule());
+ alarmRuleResponseDTOS.add(alarmRuleResponseDTO);
+ }
+ }
+ return alarmRuleResponseDTOS;
+ }
}
diff --git a/casic-data/pom.xml b/casic-data/pom.xml
index 8495936..4d001d0 100644
--- a/casic-data/pom.xml
+++ b/casic-data/pom.xml
@@ -59,6 +59,16 @@
junit
test
+
+ com.casic
+ casic-public
+ 2.0.0
+
+
+ com.casic
+ casic-alarm
+ 2.0.0
+
diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/BusWellMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/BusWellMapper.java
new file mode 100644
index 0000000..b36562c
--- /dev/null
+++ b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/BusWellMapper.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.modular.data.dao;
+
+import com.casic.missiles.modular.data.dto.BusWellDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ *
+ * 智能燃气监测终端上传数据表 Mapper 接口
+ *
+ *
+ * @author zt
+ * @since 2024-07-16
+ */
+@Mapper
+public interface BusWellMapper {
+
+ @Select("WITH device_temp as ( " +
+ "SELECT bl.LEDGER_ID,bl.TYPE from bus_device_ledger bl where bl.DEVICE_ID in ( " +
+ "SELECT bd.id FROM `bus_device` bd where bd.DEVCODE=${devCode} and bd.VALID>0) and bl.VALID=1)" +
+ "SELECT bv.tagNumber,bv.ledgerCode,bv.place from device_temp dt " +
+ "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE and bv.VALID=1")
+ List getListByDevCode(@Param("devCode") String devCode);
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
index dc054fa..adab538 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
@@ -64,6 +64,11 @@
@TableField(exist = false)
private String position;
+
+ @ApiModelProperty("报警类型id")
+ @TableField("ALARM_TYPE_ID")
+ private Long alarmTypeId;
+
@ApiModelProperty("报警规则(列表展示用)")
@TableField(exist = false)
private String alarmRuleName;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
index dd3280e..e72da4c 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
@@ -47,5 +47,12 @@
List allList(AlarmRecordDTO request, DataScope dataScope);
+ void cancelDeviceAlarm(String devCode);
+
+ void cancelDataAlarm(String devCode);
+
+ boolean isDataAlarmByCode(String devCode,Float alarmThreshold);
+
+ boolean saveAlarms(String devCode,String gas,String upTime, List busWellDTOList,AlarmRuleResponseDTO alarmRuleResponseDTO);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
index 8405969..4010f80 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
@@ -6,6 +6,8 @@
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
+import java.util.List;
+
/**
*
* 报警规则(单个设备设置) 服务类
@@ -19,4 +21,6 @@
Page listPage(Page page, AlarmRuleDeviceDTO request);
+ List listByCode(String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
index c15a4e3..d3b2d44 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.alarm.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import java.util.List;
@@ -19,4 +20,6 @@
boolean batchDelete(List ids);
boolean edit(AlarmRule alarmRule);
+
+ List getByDevCode(String devCode);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
index 29ebc6f..1141659 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
@@ -4,6 +4,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
@@ -25,10 +26,12 @@
import com.casic.missiles.modular.alarm.entity.SuspendLog;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.Dept;
+import com.casic.missiles.util.CommonUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -99,7 +102,7 @@
alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是");
alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration()));
alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid()));
- alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory()));
+ alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecords.getAlarmCategory()));
});
return alarmRecordsPage;
}
@@ -263,7 +266,7 @@
List deptIds = abstractDeptService.getParentListById(deptId);
deptIds.add(deptId);
QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.in("id",deptIds);
+ queryWrapper.in("id", deptIds);
List deptList = abstractDeptService.list(queryWrapper);
List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList());
return String.join("/", nameList);
@@ -283,16 +286,77 @@
@Override
public List allList(AlarmRecordDTO request, DataScope dataScope) {
- List alarmRecordExportDTOList = this.baseMapper.allList(request,dataScope,getDeptIds(request.getDeptId()));
+ List alarmRecordExportDTOList = this.baseMapper.allList(request, dataScope, getDeptIds(request.getDeptId()));
alarmRecordExportDTOList.forEach(alarmRecordExportDTO -> {
alarmRecordExportDTO.setProcessStatus(ApprovalStatusEnum.getValue(alarmRecordExportDTO.getProcessStatus()));
alarmRecordExportDTO.setDeptName(getDeptNamesByDeptId(alarmRecordExportDTO.getDeptid()));
- alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecordExportDTO.getAlarmCategory()));
+ alarmRecordExportDTO.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecordExportDTO.getAlarmCategory()));
});
return alarmRecordExportDTOList;
}
+ @Override
+ public void cancelDeviceAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "1");
+ //只有挂起和已处置的才消
+ updateWrapper.ge("PROCESS_STATUS", "3");
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
+
+ @Override
+ public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("DEVCODE", devCode);
+ queryWrapper.eq("EXCEPTION_TYPE", "0");
+ queryWrapper.eq("STATUS", "1");
+ List alarmRecordsList = this.list(queryWrapper);
+ if (alarmRecordsList != null && alarmRecordsList.size() > 0) {
+ for (AlarmRecords alarmRecords : alarmRecordsList) {
+ //toDo:若新来报警升级,则挂起状态的 改为 未读
+ if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) {
+
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean saveAlarms(String devCode, String gas, String upTime, List busWellDTOList, AlarmRuleResponseDTO alarmRuleResponseDTO) {
+
+ for (BusAlarmLedgerDTO busLedgerDTO : busWellDTOList) {
+ try {
+ AlarmRecords alarmRecords = new AlarmRecords(devCode, busLedgerDTO.getLedgerCode(),
+ busLedgerDTO.getTagNumber(), alarmRuleResponseDTO.getAlarmTypeId(),
+ alarmRuleResponseDTO.getAlarmTypeName(), gas,
+ alarmRuleResponseDTO.getAlarmLevelId(), CommonUtil.sdf4.parse(CommonUtil.DateFormat(upTime)),
+ alarmRuleResponseDTO.getAlarmTypeName(), busLedgerDTO.getPlace(), "0");
+ this.save(alarmRecords);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public void cancelDataAlarm(String devCode) {
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("DEVCODE", devCode);
+ updateWrapper.eq("EXCEPTION_TYPE", "0");
+ //只有未读、已读、已确认、已处置、挂起的才消
+ updateWrapper.in("PROCESS_STATUS", Arrays.asList("1","2","3","5","7"));
+ updateWrapper.eq("STATUS", "1");
+ updateWrapper.set("STATUS", "0");
+ this.update(updateWrapper);
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
index 4a021bf..8aa5eeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleDeviceServiceImpl.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.alarm.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.modular.alarm.dao.AlarmRuleDeviceMapper;
@@ -27,15 +28,25 @@
private final IAlarmLevelControlService iAlarmLevelControlService;
+
@Override
public Page listPage(Page page, AlarmRuleDeviceDTO request) {
- Page alarmRuleDevicePage = this.baseMapper.listPage(page,request);
+ Page alarmRuleDevicePage = this.baseMapper.listPage(page, request);
List alarmRuleDeviceList = alarmRuleDevicePage.getRecords();
alarmRuleDeviceList.forEach(alarmRuleDevice -> {
- AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId());
- alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl!=null?alarmLevelControl.getAlarmLevel():
+ AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId());
+ alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() :
"").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()));
});
return alarmRuleDevicePage;
}
+
+ @Override
+ public List listByCode(String devCode) {
+
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("DEVCODE", devCode);
+ queryWrapper.orderByDesc( "ALARM_THRESHOLD");
+ return this.list(queryWrapper);
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
index 4947e66..a7b5d5e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRuleServiceImpl.java
@@ -2,15 +2,19 @@
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.dao.AlarmRuleMapper;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDetail;
+import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
import com.casic.missiles.modular.alarm.service.IAlarmRuleDetailService;
+import com.casic.missiles.modular.alarm.service.IAlarmRuleDeviceService;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -28,7 +32,7 @@
@Service
public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService {
- private final IAlarmRuleDetailService iAlarmRuleDetailService;
+ private final IAlarmRuleDeviceService iAlarmRuleDeviceService;
@Transactional
@Override
@@ -66,4 +70,26 @@
// }
return true;
}
+
+
+ @Override
+ public List getByDevCode(String devCode) {
+ //toDo:缓存取
+ List alarmRuleResponseDTOS = new ArrayList<>();
+ List alarmRuleDeviceList = iAlarmRuleDeviceService.listByCode(devCode);
+ //若不存在单个设备规则,则按照产品统一获取报警规则
+ if (null == alarmRuleDeviceList || alarmRuleDeviceList.size() < 1) {
+ alarmRuleResponseDTOS = this.baseMapper.getRuleListByCode(devCode);
+ } else {
+ for (AlarmRuleDevice alarmRuleDevice : alarmRuleDeviceList) {
+ AlarmRuleResponseDTO alarmRuleResponseDTO = new AlarmRuleResponseDTO();
+ alarmRuleResponseDTO.setAlarmThreshold(alarmRuleDevice.getAlarmThreshold());
+ alarmRuleResponseDTO.setAlarmLevelId(alarmRuleDevice.getAlarmLevelId());
+ alarmRuleResponseDTO.setAlarmTypeId(alarmRuleDevice.getAlarmTypeId());
+ alarmRuleResponseDTO.setAlarmTypeName(alarmRuleDevice.getAlarmRule());
+ alarmRuleResponseDTOS.add(alarmRuleResponseDTO);
+ }
+ }
+ return alarmRuleResponseDTOS;
+ }
}
diff --git a/casic-data/pom.xml b/casic-data/pom.xml
index 8495936..4d001d0 100644
--- a/casic-data/pom.xml
+++ b/casic-data/pom.xml
@@ -59,6 +59,16 @@
junit
test
+
+ com.casic
+ casic-public
+ 2.0.0
+
+
+ com.casic
+ casic-alarm
+ 2.0.0
+
diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/BusWellMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/BusWellMapper.java
new file mode 100644
index 0000000..b36562c
--- /dev/null
+++ b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/BusWellMapper.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.modular.data.dao;
+
+import com.casic.missiles.modular.data.dto.BusWellDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ *
+ * 智能燃气监测终端上传数据表 Mapper 接口
+ *
+ *
+ * @author zt
+ * @since 2024-07-16
+ */
+@Mapper
+public interface BusWellMapper {
+
+ @Select("WITH device_temp as ( " +
+ "SELECT bl.LEDGER_ID,bl.TYPE from bus_device_ledger bl where bl.DEVICE_ID in ( " +
+ "SELECT bd.id FROM `bus_device` bd where bd.DEVCODE=${devCode} and bd.VALID>0) and bl.VALID=1)" +
+ "SELECT bv.tagNumber,bv.ledgerCode,bv.place from device_temp dt " +
+ "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE and bv.VALID=1")
+ List getListByDevCode(@Param("devCode") String devCode);
+
+}
diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/dto/BusWellDTO.java b/casic-data/src/main/java/com/casic/missiles/modular/data/dto/BusWellDTO.java
new file mode 100644
index 0000000..3efbbe2
--- /dev/null
+++ b/casic-data/src/main/java/com/casic/missiles/modular/data/dto/BusWellDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.data.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusWellDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
index d489708..f1de75e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.alarm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -15,4 +20,9 @@
@Mapper
public interface AlarmRuleMapper extends BaseMapper {
+ @Select(" select ar.ALARM_LEVEL_ID as alarmLevelId ,ar.PRODUCT_ID as productId ,ar.ALARM_THRESHOLD as alarmThreshold,ar.ALARM_TYPE_ID as alarmTypeId,ar.ALARM_NAME as alarmTypeName from alarm_rule ar where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " +
+ " where bd.DEVCODE= ${devCode} and bd.VALID=1 " +
+ ") and ar.ALARM_JUDGE_METHOD=1 order by ALARM_THRESHOLD desc")
+ List getRuleListByCode(@Param("devCode") String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
index 5d129d4..c8e7d0e 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRuleDeviceMapper.xml
@@ -21,15 +21,15 @@
SELECT
rd.*,
bt.TYPE_NAME AS devTypeName,
- lr.POSITION,
- lr.TAG_NUMBER as tagNumber
+ lr.place as POSITION,
+ lr.tagNumber
FROM
alarm_rule_device rd
LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE
LEFT JOIN base_device_type bt ON bd.DEVICE_TYPE = bt.ID
LEFT JOIN bus_device_ledger bl ON bd.ID = bl.DEVICE_ID
AND bl.VALID = 1
- LEFT JOIN bus_ledger lr ON lr.ID = bl.LEDGER_ID
+ LEFT JOIN bus_ledger_all_view lr ON lr.ID = bl.LEDGER_ID and lr.type =bl.type
AND bl.VALID = 1
AND lr.VALID =1
where 1=1
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
new file mode 100644
index 0000000..f7c97d1
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRuleResponseDTO.java
@@ -0,0 +1,29 @@
+package com.casic.missiles.modular.alarm.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class AlarmRuleResponseDTO implements Cloneable{
+
+ @ApiModelProperty("设备编号")
+ private String devCode;
+
+ @ApiModelProperty("报警类型id")
+ private Long alarmTypeId;
+
+ @ApiModelProperty("产品类型id")
+ private Long productId;
+
+ @ApiModelProperty("报警等级id")
+ private Long alarmLevelId;
+
+ @ApiModelProperty("报警值")
+ private String alarmThreshold;
+
+ @ApiModelProperty("报警类型名称")
+ private String alarmTypeName;
+
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
new file mode 100644
index 0000000..0e0cfbd
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/BusAlarmLedgerDTO.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.alarm.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+public class BusAlarmLedgerDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("位号,闸井/场站用")
+ private String tagNumber;
+
+ @ApiModelProperty("编号,闸井/场站用")
+ private String ledgerCode;
+
+ @ApiModelProperty("位置")
+ private String place;
+
+
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
index adf8970..a79fe75 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRecords.java
@@ -46,7 +46,7 @@
@ApiModelProperty("报警类型")
@TableField("ALARM_TYPE_ID")
- private String alarmTypeId;
+ private Long alarmTypeId;
@ApiModelProperty("报警内容")
@TableField("ALARM_CONTENT")
@@ -57,7 +57,7 @@
@ApiModelProperty("告警等级")
@TableField("ALARM_LEVEL")
- private Integer alarmLevel;
+ private Long alarmLevel;
@ApiModelProperty("报警时间")
@TableField("ALARM_TIME")
@@ -154,4 +154,25 @@
@TableField(exist = false)
private String alarmCategory;
+ public AlarmRecords() {
+ }
+
+ public AlarmRecords(String devcode, String ledgerCode,
+ String ledgerNumber, Long alarmTypeId,
+ String alarmContent, String alarmValue,
+ Long alarmLevel, Date alarmTime,
+ String alarmMsg, String position,
+ String exceptionType) {
+ this.devcode = devcode;
+ this.ledgerCode = ledgerCode;
+ this.ledgerNumber = ledgerNumber;
+ this.alarmTypeId = alarmTypeId;
+ this.alarmContent = alarmContent;
+ this.alarmValue = alarmValue;
+ this.alarmLevel = alarmLevel;
+ this.alarmTime = alarmTime;
+ this.alarmMsg = alarmMsg;
+ this.position = position;
+ this.exceptionType = exceptionType;
+ }
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
index dc054fa..adab538 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/AlarmRuleDevice.java
@@ -64,6 +64,11 @@
@TableField(exist = false)
private String position;
+
+ @ApiModelProperty("报警类型id")
+ @TableField("ALARM_TYPE_ID")
+ private Long alarmTypeId;
+
@ApiModelProperty("报警规则(列表展示用)")
@TableField(exist = false)
private String alarmRuleName;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
index dd3280e..e72da4c 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRecordsService.java
@@ -47,5 +47,12 @@
List allList(AlarmRecordDTO request, DataScope dataScope);
+ void cancelDeviceAlarm(String devCode);
+
+ void cancelDataAlarm(String devCode);
+
+ boolean isDataAlarmByCode(String devCode,Float alarmThreshold);
+
+ boolean saveAlarms(String devCode,String gas,String upTime, List busWellDTOList,AlarmRuleResponseDTO alarmRuleResponseDTO);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
index 8405969..4010f80 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleDeviceService.java
@@ -6,6 +6,8 @@
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import com.casic.missiles.modular.alarm.entity.AlarmRuleDevice;
+import java.util.List;
+
/**
*
* 报警规则(单个设备设置) 服务类
@@ -19,4 +21,6 @@
Page listPage(Page page, AlarmRuleDeviceDTO request);
+ List listByCode(String devCode);
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
index c15a4e3..d3b2d44 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmRuleService.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.alarm.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.modular.alarm.dto.AlarmRuleResponseDTO;
import com.casic.missiles.modular.alarm.entity.AlarmRule;
import java.util.List;
@@ -19,4 +20,6 @@
boolean batchDelete(List ids);
boolean edit(AlarmRule alarmRule);
+
+ List getByDevCode(String devCode);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
index 29ebc6f..1141659 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java
@@ -4,6 +4,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
@@ -25,10 +26,12 @@
import com.casic.missiles.modular.alarm.entity.SuspendLog;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.Dept;
+import com.casic.missiles.util.CommonUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -99,7 +102,7 @@
alarmRecords.setRealAlarmName(DictEnum.REAL_ALARM.equals(alarmRecords.getRealAlarm()) ? "否" : "是");
alarmRecords.setCancelDuration(TimeConverter(alarmRecords.getCancelDuration()));
alarmRecords.setDeptName(getDeptNamesByDeptId(alarmRecords.getDeptid()));
- alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory",alarmRecords.getAlarmCategory()));
+ alarmRecords.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", alarmRecords.getAlarmCategory()));
});
return alarmRecordsPage;
}
@@ -263,7 +266,7 @@
List deptIds = abstractDeptService.getParentListById(deptId);
deptIds.add(deptId);
QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.in("id",deptIds);
+ queryWrapper.in("id", deptIds);
List deptList = abstractDeptService.list(queryWrapper);
List nameList = deptList.stream().map(Dept::getFullName).collect(Collectors.toList());
return String.join("/", nameList);
@@ -283,16 +286,77 @@
@Override
public List allList(AlarmRecordDTO request, DataScope dataScope) {
- List