diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } 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 b5df9e6..0e1fd14 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 @@ -40,6 +40,8 @@ boolean suspend(SuspendDTO suspendDTO); + boolean removeAlarmsByIds(List alarmIds); + boolean remind(RemindDTO remindDTO); boolean handle(HandleDTO handleDTO); @@ -72,7 +74,7 @@ void updateCell(String devCode, String onLineStatus, String cell); - boolean isDataAlarmByCode(String devCode, Float alarmThreshold); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } 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 b5df9e6..0e1fd14 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 @@ -40,6 +40,8 @@ boolean suspend(SuspendDTO suspendDTO); + boolean removeAlarmsByIds(List alarmIds); + boolean remind(RemindDTO remindDTO); boolean handle(HandleDTO handleDTO); @@ -72,7 +74,7 @@ void updateCell(String devCode, String onLineStatus, String cell); - boolean isDataAlarmByCode(String devCode, Float alarmThreshold); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java index 953ae97..b72b8cc 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.entity.MessageLog; +import java.util.List; + /** *

* 消息通知管理 服务类 @@ -16,4 +18,6 @@ Page notePage(Page page ); + void removeByAlarmIds(List alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } 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 b5df9e6..0e1fd14 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 @@ -40,6 +40,8 @@ boolean suspend(SuspendDTO suspendDTO); + boolean removeAlarmsByIds(List alarmIds); + boolean remind(RemindDTO remindDTO); boolean handle(HandleDTO handleDTO); @@ -72,7 +74,7 @@ void updateCell(String devCode, String onLineStatus, String cell); - boolean isDataAlarmByCode(String devCode, Float alarmThreshold); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java index 953ae97..b72b8cc 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.entity.MessageLog; +import java.util.List; + /** *

* 消息通知管理 服务类 @@ -16,4 +18,6 @@ Page notePage(Page page ); + void removeByAlarmIds(List alarmIds); + } 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 71c6606..fb3f925 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 @@ -105,7 +105,7 @@ @Override public List batchExportDeviceAlarmList(AlarmRecordDTO request) { - List alarmResponseDTOList =this.baseMapper.batchExportDeviceAlarmList(request,getDeptIds(request.getDeptId())); + List alarmResponseDTOList = this.baseMapper.batchExportDeviceAlarmList(request, getDeptIds(request.getDeptId())); alarmResponseDTOList.forEach(dto -> { dto.setProcessStatus(ApprovalStatusEnum.getValue(dto.getProcessStatus())); }); @@ -289,6 +289,25 @@ @Transactional @Override + public boolean removeAlarmsByIds(List alarmIds) { + + String alarmIdsStr = alarmIds.stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + //删消息通知信息 + iMessageLogService.removeByAlarmIds(alarmIds); + //消除流程信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除提醒信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除挂起信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //删除报警记录 + return this.removeByIds(alarmIds); + } + + @Transactional + @Override public boolean remind(RemindDTO remindDTO) { //判断是否提醒 RemindLog remindLog = remindLogMapper.getRemindLogByAlarmId(remindDTO.getAlarmId()); @@ -414,7 +433,7 @@ alarmRecords.setProcessStatus(ApprovalStatusEnum.PROCESSED.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场处置完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场处置完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场处置完毕"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { @@ -423,7 +442,7 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场确认完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场确认完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场确认完毕"), alarmRecords.getLedgerNumber())); } @@ -540,11 +559,11 @@ * 根据设备编号查询是否有数据异常记录 * * @param devCode - * @param alarmThreshold + * @param alarmLevel * @return */ @Override - public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) { + public boolean isDataAlarmByCode(String devCode, Long alarmLevel, Float alarmValue) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); queryWrapper.eq("EXCEPTION_TYPE", "0"); @@ -552,9 +571,22 @@ List alarmRecordsList = this.list(queryWrapper); if (alarmRecordsList != null && alarmRecordsList.size() > 0) { for (AlarmRecords alarmRecords : alarmRecordsList) { - //toDo:若新来报警升级,则挂起状态的 改为 未读 + //若新来报警升级,则挂起状态的 改为未读 if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) { - + if ((!alarmLevel.equals(alarmRecords.getAlarmLevel())) && + alarmValue > Float.valueOf(alarmRecords.getAlarmValue()) && + ApprovalStatusEnum.SUSPEND.getCode().equals(alarmRecords.getProcessStatus())) { + alarmRecords.setProcessStatus(ApprovalStatusEnum.UNREAD.getCode()); + alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); + alarmRecords.setAlarmValue(alarmValue + ""); + alarmRecords.setAlarmLevel(alarmLevel); + this.baseMapper.updateById(alarmRecords); + approvalLogMapper.insert(new ApprovalLog(alarmRecords.getId(), "1", + "", + alarmRecords.getProcessStatus(), + null, + "报警升级")); + } } } return true; @@ -591,7 +623,7 @@ } } //保存消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), + iMessageLogService.save(new MessageLog(alarmId, DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), ObjectUtil.isNotEmpty(busWellDTOList) ? busWellDTOList.get(0).getTagNumber(). concat(busWellDTOList.get(0).getLedgerName()). concat(alarmRuleResponseDTO.getAlarmTypeName()). @@ -669,7 +701,7 @@ "", "8", null)); //添加消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_3, "报警解除", + iMessageLogService.save(new MessageLog(alarmRecordsList.get(0).getId(), DictEnum.MESSAGE_TYPE_3, "报警解除", alarmRecordsList.get(0).getLedgerNumber().concat(alarmRecordsList.get(0).getAlarmContent()). concat("报警解除"), alarmRecordsList.get(0).getLedgerNumber())); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } 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 b5df9e6..0e1fd14 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 @@ -40,6 +40,8 @@ boolean suspend(SuspendDTO suspendDTO); + boolean removeAlarmsByIds(List alarmIds); + boolean remind(RemindDTO remindDTO); boolean handle(HandleDTO handleDTO); @@ -72,7 +74,7 @@ void updateCell(String devCode, String onLineStatus, String cell); - boolean isDataAlarmByCode(String devCode, Float alarmThreshold); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java index 953ae97..b72b8cc 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.entity.MessageLog; +import java.util.List; + /** *

* 消息通知管理 服务类 @@ -16,4 +18,6 @@ Page notePage(Page page ); + void removeByAlarmIds(List alarmIds); + } 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 71c6606..fb3f925 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 @@ -105,7 +105,7 @@ @Override public List batchExportDeviceAlarmList(AlarmRecordDTO request) { - List alarmResponseDTOList =this.baseMapper.batchExportDeviceAlarmList(request,getDeptIds(request.getDeptId())); + List alarmResponseDTOList = this.baseMapper.batchExportDeviceAlarmList(request, getDeptIds(request.getDeptId())); alarmResponseDTOList.forEach(dto -> { dto.setProcessStatus(ApprovalStatusEnum.getValue(dto.getProcessStatus())); }); @@ -289,6 +289,25 @@ @Transactional @Override + public boolean removeAlarmsByIds(List alarmIds) { + + String alarmIdsStr = alarmIds.stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + //删消息通知信息 + iMessageLogService.removeByAlarmIds(alarmIds); + //消除流程信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除提醒信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除挂起信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //删除报警记录 + return this.removeByIds(alarmIds); + } + + @Transactional + @Override public boolean remind(RemindDTO remindDTO) { //判断是否提醒 RemindLog remindLog = remindLogMapper.getRemindLogByAlarmId(remindDTO.getAlarmId()); @@ -414,7 +433,7 @@ alarmRecords.setProcessStatus(ApprovalStatusEnum.PROCESSED.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场处置完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场处置完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场处置完毕"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { @@ -423,7 +442,7 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场确认完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场确认完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场确认完毕"), alarmRecords.getLedgerNumber())); } @@ -540,11 +559,11 @@ * 根据设备编号查询是否有数据异常记录 * * @param devCode - * @param alarmThreshold + * @param alarmLevel * @return */ @Override - public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) { + public boolean isDataAlarmByCode(String devCode, Long alarmLevel, Float alarmValue) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); queryWrapper.eq("EXCEPTION_TYPE", "0"); @@ -552,9 +571,22 @@ List alarmRecordsList = this.list(queryWrapper); if (alarmRecordsList != null && alarmRecordsList.size() > 0) { for (AlarmRecords alarmRecords : alarmRecordsList) { - //toDo:若新来报警升级,则挂起状态的 改为 未读 + //若新来报警升级,则挂起状态的 改为未读 if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) { - + if ((!alarmLevel.equals(alarmRecords.getAlarmLevel())) && + alarmValue > Float.valueOf(alarmRecords.getAlarmValue()) && + ApprovalStatusEnum.SUSPEND.getCode().equals(alarmRecords.getProcessStatus())) { + alarmRecords.setProcessStatus(ApprovalStatusEnum.UNREAD.getCode()); + alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); + alarmRecords.setAlarmValue(alarmValue + ""); + alarmRecords.setAlarmLevel(alarmLevel); + this.baseMapper.updateById(alarmRecords); + approvalLogMapper.insert(new ApprovalLog(alarmRecords.getId(), "1", + "", + alarmRecords.getProcessStatus(), + null, + "报警升级")); + } } } return true; @@ -591,7 +623,7 @@ } } //保存消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), + iMessageLogService.save(new MessageLog(alarmId, DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), ObjectUtil.isNotEmpty(busWellDTOList) ? busWellDTOList.get(0).getTagNumber(). concat(busWellDTOList.get(0).getLedgerName()). concat(alarmRuleResponseDTO.getAlarmTypeName()). @@ -669,7 +701,7 @@ "", "8", null)); //添加消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_3, "报警解除", + iMessageLogService.save(new MessageLog(alarmRecordsList.get(0).getId(), DictEnum.MESSAGE_TYPE_3, "报警解除", alarmRecordsList.get(0).getLedgerNumber().concat(alarmRecordsList.get(0).getAlarmContent()). concat("报警解除"), alarmRecordsList.get(0).getLedgerNumber())); } 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 8aa5eeb..f59542d 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 @@ -35,8 +35,8 @@ List alarmRuleDeviceList = alarmRuleDevicePage.getRecords(); alarmRuleDeviceList.forEach(alarmRuleDevice -> { AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId()); - alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : - "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold())); + alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmType().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : + "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()).concat("%LEL")); }); return alarmRuleDevicePage; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } 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 b5df9e6..0e1fd14 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 @@ -40,6 +40,8 @@ boolean suspend(SuspendDTO suspendDTO); + boolean removeAlarmsByIds(List alarmIds); + boolean remind(RemindDTO remindDTO); boolean handle(HandleDTO handleDTO); @@ -72,7 +74,7 @@ void updateCell(String devCode, String onLineStatus, String cell); - boolean isDataAlarmByCode(String devCode, Float alarmThreshold); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java index 953ae97..b72b8cc 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.entity.MessageLog; +import java.util.List; + /** *

* 消息通知管理 服务类 @@ -16,4 +18,6 @@ Page notePage(Page page ); + void removeByAlarmIds(List alarmIds); + } 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 71c6606..fb3f925 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 @@ -105,7 +105,7 @@ @Override public List batchExportDeviceAlarmList(AlarmRecordDTO request) { - List alarmResponseDTOList =this.baseMapper.batchExportDeviceAlarmList(request,getDeptIds(request.getDeptId())); + List alarmResponseDTOList = this.baseMapper.batchExportDeviceAlarmList(request, getDeptIds(request.getDeptId())); alarmResponseDTOList.forEach(dto -> { dto.setProcessStatus(ApprovalStatusEnum.getValue(dto.getProcessStatus())); }); @@ -289,6 +289,25 @@ @Transactional @Override + public boolean removeAlarmsByIds(List alarmIds) { + + String alarmIdsStr = alarmIds.stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + //删消息通知信息 + iMessageLogService.removeByAlarmIds(alarmIds); + //消除流程信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除提醒信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除挂起信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //删除报警记录 + return this.removeByIds(alarmIds); + } + + @Transactional + @Override public boolean remind(RemindDTO remindDTO) { //判断是否提醒 RemindLog remindLog = remindLogMapper.getRemindLogByAlarmId(remindDTO.getAlarmId()); @@ -414,7 +433,7 @@ alarmRecords.setProcessStatus(ApprovalStatusEnum.PROCESSED.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场处置完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场处置完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场处置完毕"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { @@ -423,7 +442,7 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场确认完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场确认完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场确认完毕"), alarmRecords.getLedgerNumber())); } @@ -540,11 +559,11 @@ * 根据设备编号查询是否有数据异常记录 * * @param devCode - * @param alarmThreshold + * @param alarmLevel * @return */ @Override - public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) { + public boolean isDataAlarmByCode(String devCode, Long alarmLevel, Float alarmValue) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); queryWrapper.eq("EXCEPTION_TYPE", "0"); @@ -552,9 +571,22 @@ List alarmRecordsList = this.list(queryWrapper); if (alarmRecordsList != null && alarmRecordsList.size() > 0) { for (AlarmRecords alarmRecords : alarmRecordsList) { - //toDo:若新来报警升级,则挂起状态的 改为 未读 + //若新来报警升级,则挂起状态的 改为未读 if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) { - + if ((!alarmLevel.equals(alarmRecords.getAlarmLevel())) && + alarmValue > Float.valueOf(alarmRecords.getAlarmValue()) && + ApprovalStatusEnum.SUSPEND.getCode().equals(alarmRecords.getProcessStatus())) { + alarmRecords.setProcessStatus(ApprovalStatusEnum.UNREAD.getCode()); + alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); + alarmRecords.setAlarmValue(alarmValue + ""); + alarmRecords.setAlarmLevel(alarmLevel); + this.baseMapper.updateById(alarmRecords); + approvalLogMapper.insert(new ApprovalLog(alarmRecords.getId(), "1", + "", + alarmRecords.getProcessStatus(), + null, + "报警升级")); + } } } return true; @@ -591,7 +623,7 @@ } } //保存消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), + iMessageLogService.save(new MessageLog(alarmId, DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), ObjectUtil.isNotEmpty(busWellDTOList) ? busWellDTOList.get(0).getTagNumber(). concat(busWellDTOList.get(0).getLedgerName()). concat(alarmRuleResponseDTO.getAlarmTypeName()). @@ -669,7 +701,7 @@ "", "8", null)); //添加消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_3, "报警解除", + iMessageLogService.save(new MessageLog(alarmRecordsList.get(0).getId(), DictEnum.MESSAGE_TYPE_3, "报警解除", alarmRecordsList.get(0).getLedgerNumber().concat(alarmRecordsList.get(0).getAlarmContent()). concat("报警解除"), alarmRecordsList.get(0).getLedgerNumber())); } 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 8aa5eeb..f59542d 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 @@ -35,8 +35,8 @@ List alarmRuleDeviceList = alarmRuleDevicePage.getRecords(); alarmRuleDeviceList.forEach(alarmRuleDevice -> { AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId()); - alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : - "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold())); + alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmType().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : + "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()).concat("%LEL")); }); return alarmRuleDevicePage; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java index bc1883d..8686f04 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.alarm.service.impl; import cn.hutool.core.convert.Convert; +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.core.application.context.AbstractPermissionContext; @@ -11,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; import java.util.stream.Collectors; /** @@ -42,4 +44,11 @@ } return deptIdStr; } + + @Override + public void removeByAlarmIds(List alarmIds) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("ALARM_ID",alarmIds); + this.remove(queryWrapper); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } 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 b5df9e6..0e1fd14 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 @@ -40,6 +40,8 @@ boolean suspend(SuspendDTO suspendDTO); + boolean removeAlarmsByIds(List alarmIds); + boolean remind(RemindDTO remindDTO); boolean handle(HandleDTO handleDTO); @@ -72,7 +74,7 @@ void updateCell(String devCode, String onLineStatus, String cell); - boolean isDataAlarmByCode(String devCode, Float alarmThreshold); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java index 953ae97..b72b8cc 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.entity.MessageLog; +import java.util.List; + /** *

* 消息通知管理 服务类 @@ -16,4 +18,6 @@ Page notePage(Page page ); + void removeByAlarmIds(List alarmIds); + } 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 71c6606..fb3f925 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 @@ -105,7 +105,7 @@ @Override public List batchExportDeviceAlarmList(AlarmRecordDTO request) { - List alarmResponseDTOList =this.baseMapper.batchExportDeviceAlarmList(request,getDeptIds(request.getDeptId())); + List alarmResponseDTOList = this.baseMapper.batchExportDeviceAlarmList(request, getDeptIds(request.getDeptId())); alarmResponseDTOList.forEach(dto -> { dto.setProcessStatus(ApprovalStatusEnum.getValue(dto.getProcessStatus())); }); @@ -289,6 +289,25 @@ @Transactional @Override + public boolean removeAlarmsByIds(List alarmIds) { + + String alarmIdsStr = alarmIds.stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + //删消息通知信息 + iMessageLogService.removeByAlarmIds(alarmIds); + //消除流程信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除提醒信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除挂起信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //删除报警记录 + return this.removeByIds(alarmIds); + } + + @Transactional + @Override public boolean remind(RemindDTO remindDTO) { //判断是否提醒 RemindLog remindLog = remindLogMapper.getRemindLogByAlarmId(remindDTO.getAlarmId()); @@ -414,7 +433,7 @@ alarmRecords.setProcessStatus(ApprovalStatusEnum.PROCESSED.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场处置完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场处置完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场处置完毕"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { @@ -423,7 +442,7 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场确认完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场确认完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场确认完毕"), alarmRecords.getLedgerNumber())); } @@ -540,11 +559,11 @@ * 根据设备编号查询是否有数据异常记录 * * @param devCode - * @param alarmThreshold + * @param alarmLevel * @return */ @Override - public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) { + public boolean isDataAlarmByCode(String devCode, Long alarmLevel, Float alarmValue) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); queryWrapper.eq("EXCEPTION_TYPE", "0"); @@ -552,9 +571,22 @@ List alarmRecordsList = this.list(queryWrapper); if (alarmRecordsList != null && alarmRecordsList.size() > 0) { for (AlarmRecords alarmRecords : alarmRecordsList) { - //toDo:若新来报警升级,则挂起状态的 改为 未读 + //若新来报警升级,则挂起状态的 改为未读 if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) { - + if ((!alarmLevel.equals(alarmRecords.getAlarmLevel())) && + alarmValue > Float.valueOf(alarmRecords.getAlarmValue()) && + ApprovalStatusEnum.SUSPEND.getCode().equals(alarmRecords.getProcessStatus())) { + alarmRecords.setProcessStatus(ApprovalStatusEnum.UNREAD.getCode()); + alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); + alarmRecords.setAlarmValue(alarmValue + ""); + alarmRecords.setAlarmLevel(alarmLevel); + this.baseMapper.updateById(alarmRecords); + approvalLogMapper.insert(new ApprovalLog(alarmRecords.getId(), "1", + "", + alarmRecords.getProcessStatus(), + null, + "报警升级")); + } } } return true; @@ -591,7 +623,7 @@ } } //保存消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), + iMessageLogService.save(new MessageLog(alarmId, DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), ObjectUtil.isNotEmpty(busWellDTOList) ? busWellDTOList.get(0).getTagNumber(). concat(busWellDTOList.get(0).getLedgerName()). concat(alarmRuleResponseDTO.getAlarmTypeName()). @@ -669,7 +701,7 @@ "", "8", null)); //添加消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_3, "报警解除", + iMessageLogService.save(new MessageLog(alarmRecordsList.get(0).getId(), DictEnum.MESSAGE_TYPE_3, "报警解除", alarmRecordsList.get(0).getLedgerNumber().concat(alarmRecordsList.get(0).getAlarmContent()). concat("报警解除"), alarmRecordsList.get(0).getLedgerNumber())); } 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 8aa5eeb..f59542d 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 @@ -35,8 +35,8 @@ List alarmRuleDeviceList = alarmRuleDevicePage.getRecords(); alarmRuleDeviceList.forEach(alarmRuleDevice -> { AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId()); - alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : - "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold())); + alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmType().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : + "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()).concat("%LEL")); }); return alarmRuleDevicePage; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java index bc1883d..8686f04 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.alarm.service.impl; import cn.hutool.core.convert.Convert; +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.core.application.context.AbstractPermissionContext; @@ -11,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; import java.util.stream.Collectors; /** @@ -42,4 +44,11 @@ } return deptIdStr; } + + @Override + public void removeByAlarmIds(List alarmIds) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("ALARM_ID",alarmIds); + this.remove(queryWrapper); + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index 6bb4b08..6bbad1c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -161,7 +161,7 @@ Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold()))) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(),Float.valueOf(gas))) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas, upTime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.Methane.getName()); } break; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } 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 b5df9e6..0e1fd14 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 @@ -40,6 +40,8 @@ boolean suspend(SuspendDTO suspendDTO); + boolean removeAlarmsByIds(List alarmIds); + boolean remind(RemindDTO remindDTO); boolean handle(HandleDTO handleDTO); @@ -72,7 +74,7 @@ void updateCell(String devCode, String onLineStatus, String cell); - boolean isDataAlarmByCode(String devCode, Float alarmThreshold); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java index 953ae97..b72b8cc 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.entity.MessageLog; +import java.util.List; + /** *

* 消息通知管理 服务类 @@ -16,4 +18,6 @@ Page notePage(Page page ); + void removeByAlarmIds(List alarmIds); + } 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 71c6606..fb3f925 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 @@ -105,7 +105,7 @@ @Override public List batchExportDeviceAlarmList(AlarmRecordDTO request) { - List alarmResponseDTOList =this.baseMapper.batchExportDeviceAlarmList(request,getDeptIds(request.getDeptId())); + List alarmResponseDTOList = this.baseMapper.batchExportDeviceAlarmList(request, getDeptIds(request.getDeptId())); alarmResponseDTOList.forEach(dto -> { dto.setProcessStatus(ApprovalStatusEnum.getValue(dto.getProcessStatus())); }); @@ -289,6 +289,25 @@ @Transactional @Override + public boolean removeAlarmsByIds(List alarmIds) { + + String alarmIdsStr = alarmIds.stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + //删消息通知信息 + iMessageLogService.removeByAlarmIds(alarmIds); + //消除流程信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除提醒信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除挂起信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //删除报警记录 + return this.removeByIds(alarmIds); + } + + @Transactional + @Override public boolean remind(RemindDTO remindDTO) { //判断是否提醒 RemindLog remindLog = remindLogMapper.getRemindLogByAlarmId(remindDTO.getAlarmId()); @@ -414,7 +433,7 @@ alarmRecords.setProcessStatus(ApprovalStatusEnum.PROCESSED.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场处置完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场处置完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场处置完毕"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { @@ -423,7 +442,7 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场确认完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场确认完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场确认完毕"), alarmRecords.getLedgerNumber())); } @@ -540,11 +559,11 @@ * 根据设备编号查询是否有数据异常记录 * * @param devCode - * @param alarmThreshold + * @param alarmLevel * @return */ @Override - public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) { + public boolean isDataAlarmByCode(String devCode, Long alarmLevel, Float alarmValue) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); queryWrapper.eq("EXCEPTION_TYPE", "0"); @@ -552,9 +571,22 @@ List alarmRecordsList = this.list(queryWrapper); if (alarmRecordsList != null && alarmRecordsList.size() > 0) { for (AlarmRecords alarmRecords : alarmRecordsList) { - //toDo:若新来报警升级,则挂起状态的 改为 未读 + //若新来报警升级,则挂起状态的 改为未读 if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) { - + if ((!alarmLevel.equals(alarmRecords.getAlarmLevel())) && + alarmValue > Float.valueOf(alarmRecords.getAlarmValue()) && + ApprovalStatusEnum.SUSPEND.getCode().equals(alarmRecords.getProcessStatus())) { + alarmRecords.setProcessStatus(ApprovalStatusEnum.UNREAD.getCode()); + alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); + alarmRecords.setAlarmValue(alarmValue + ""); + alarmRecords.setAlarmLevel(alarmLevel); + this.baseMapper.updateById(alarmRecords); + approvalLogMapper.insert(new ApprovalLog(alarmRecords.getId(), "1", + "", + alarmRecords.getProcessStatus(), + null, + "报警升级")); + } } } return true; @@ -591,7 +623,7 @@ } } //保存消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), + iMessageLogService.save(new MessageLog(alarmId, DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), ObjectUtil.isNotEmpty(busWellDTOList) ? busWellDTOList.get(0).getTagNumber(). concat(busWellDTOList.get(0).getLedgerName()). concat(alarmRuleResponseDTO.getAlarmTypeName()). @@ -669,7 +701,7 @@ "", "8", null)); //添加消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_3, "报警解除", + iMessageLogService.save(new MessageLog(alarmRecordsList.get(0).getId(), DictEnum.MESSAGE_TYPE_3, "报警解除", alarmRecordsList.get(0).getLedgerNumber().concat(alarmRecordsList.get(0).getAlarmContent()). concat("报警解除"), alarmRecordsList.get(0).getLedgerNumber())); } 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 8aa5eeb..f59542d 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 @@ -35,8 +35,8 @@ List alarmRuleDeviceList = alarmRuleDevicePage.getRecords(); alarmRuleDeviceList.forEach(alarmRuleDevice -> { AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId()); - alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : - "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold())); + alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmType().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : + "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()).concat("%LEL")); }); return alarmRuleDevicePage; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java index bc1883d..8686f04 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.alarm.service.impl; import cn.hutool.core.convert.Convert; +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.core.application.context.AbstractPermissionContext; @@ -11,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; import java.util.stream.Collectors; /** @@ -42,4 +44,11 @@ } return deptIdStr; } + + @Override + public void removeByAlarmIds(List alarmIds) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("ALARM_ID",alarmIds); + this.remove(queryWrapper); + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index 6bb4b08..6bbad1c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -161,7 +161,7 @@ Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold()))) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(),Float.valueOf(gas))) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas, upTime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.Methane.getName()); } break; diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 7f17171..bb05167 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -196,7 +196,7 @@ gas >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, gas)) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(),gas)) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas+"", uptime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.MonitorPipeOther.getName()); } break; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } 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 b5df9e6..0e1fd14 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 @@ -40,6 +40,8 @@ boolean suspend(SuspendDTO suspendDTO); + boolean removeAlarmsByIds(List alarmIds); + boolean remind(RemindDTO remindDTO); boolean handle(HandleDTO handleDTO); @@ -72,7 +74,7 @@ void updateCell(String devCode, String onLineStatus, String cell); - boolean isDataAlarmByCode(String devCode, Float alarmThreshold); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java index 953ae97..b72b8cc 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.entity.MessageLog; +import java.util.List; + /** *

* 消息通知管理 服务类 @@ -16,4 +18,6 @@ Page notePage(Page page ); + void removeByAlarmIds(List alarmIds); + } 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 71c6606..fb3f925 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 @@ -105,7 +105,7 @@ @Override public List batchExportDeviceAlarmList(AlarmRecordDTO request) { - List alarmResponseDTOList =this.baseMapper.batchExportDeviceAlarmList(request,getDeptIds(request.getDeptId())); + List alarmResponseDTOList = this.baseMapper.batchExportDeviceAlarmList(request, getDeptIds(request.getDeptId())); alarmResponseDTOList.forEach(dto -> { dto.setProcessStatus(ApprovalStatusEnum.getValue(dto.getProcessStatus())); }); @@ -289,6 +289,25 @@ @Transactional @Override + public boolean removeAlarmsByIds(List alarmIds) { + + String alarmIdsStr = alarmIds.stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + //删消息通知信息 + iMessageLogService.removeByAlarmIds(alarmIds); + //消除流程信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除提醒信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除挂起信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //删除报警记录 + return this.removeByIds(alarmIds); + } + + @Transactional + @Override public boolean remind(RemindDTO remindDTO) { //判断是否提醒 RemindLog remindLog = remindLogMapper.getRemindLogByAlarmId(remindDTO.getAlarmId()); @@ -414,7 +433,7 @@ alarmRecords.setProcessStatus(ApprovalStatusEnum.PROCESSED.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场处置完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场处置完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场处置完毕"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { @@ -423,7 +442,7 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场确认完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场确认完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场确认完毕"), alarmRecords.getLedgerNumber())); } @@ -540,11 +559,11 @@ * 根据设备编号查询是否有数据异常记录 * * @param devCode - * @param alarmThreshold + * @param alarmLevel * @return */ @Override - public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) { + public boolean isDataAlarmByCode(String devCode, Long alarmLevel, Float alarmValue) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); queryWrapper.eq("EXCEPTION_TYPE", "0"); @@ -552,9 +571,22 @@ List alarmRecordsList = this.list(queryWrapper); if (alarmRecordsList != null && alarmRecordsList.size() > 0) { for (AlarmRecords alarmRecords : alarmRecordsList) { - //toDo:若新来报警升级,则挂起状态的 改为 未读 + //若新来报警升级,则挂起状态的 改为未读 if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) { - + if ((!alarmLevel.equals(alarmRecords.getAlarmLevel())) && + alarmValue > Float.valueOf(alarmRecords.getAlarmValue()) && + ApprovalStatusEnum.SUSPEND.getCode().equals(alarmRecords.getProcessStatus())) { + alarmRecords.setProcessStatus(ApprovalStatusEnum.UNREAD.getCode()); + alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); + alarmRecords.setAlarmValue(alarmValue + ""); + alarmRecords.setAlarmLevel(alarmLevel); + this.baseMapper.updateById(alarmRecords); + approvalLogMapper.insert(new ApprovalLog(alarmRecords.getId(), "1", + "", + alarmRecords.getProcessStatus(), + null, + "报警升级")); + } } } return true; @@ -591,7 +623,7 @@ } } //保存消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), + iMessageLogService.save(new MessageLog(alarmId, DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), ObjectUtil.isNotEmpty(busWellDTOList) ? busWellDTOList.get(0).getTagNumber(). concat(busWellDTOList.get(0).getLedgerName()). concat(alarmRuleResponseDTO.getAlarmTypeName()). @@ -669,7 +701,7 @@ "", "8", null)); //添加消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_3, "报警解除", + iMessageLogService.save(new MessageLog(alarmRecordsList.get(0).getId(), DictEnum.MESSAGE_TYPE_3, "报警解除", alarmRecordsList.get(0).getLedgerNumber().concat(alarmRecordsList.get(0).getAlarmContent()). concat("报警解除"), alarmRecordsList.get(0).getLedgerNumber())); } 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 8aa5eeb..f59542d 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 @@ -35,8 +35,8 @@ List alarmRuleDeviceList = alarmRuleDevicePage.getRecords(); alarmRuleDeviceList.forEach(alarmRuleDevice -> { AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId()); - alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : - "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold())); + alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmType().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : + "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()).concat("%LEL")); }); return alarmRuleDevicePage; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java index bc1883d..8686f04 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.alarm.service.impl; import cn.hutool.core.convert.Convert; +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.core.application.context.AbstractPermissionContext; @@ -11,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; import java.util.stream.Collectors; /** @@ -42,4 +44,11 @@ } return deptIdStr; } + + @Override + public void removeByAlarmIds(List alarmIds) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("ALARM_ID",alarmIds); + this.remove(queryWrapper); + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index 6bb4b08..6bbad1c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -161,7 +161,7 @@ Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold()))) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(),Float.valueOf(gas))) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas, upTime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.Methane.getName()); } break; diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 7f17171..bb05167 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -196,7 +196,7 @@ gas >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, gas)) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(),gas)) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas+"", uptime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.MonitorPipeOther.getName()); } break; diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index ef653df..e6cf801 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -167,7 +167,7 @@ Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold()))) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas, upTime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.TubeOther.getName()); } break; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } 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 b5df9e6..0e1fd14 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 @@ -40,6 +40,8 @@ boolean suspend(SuspendDTO suspendDTO); + boolean removeAlarmsByIds(List alarmIds); + boolean remind(RemindDTO remindDTO); boolean handle(HandleDTO handleDTO); @@ -72,7 +74,7 @@ void updateCell(String devCode, String onLineStatus, String cell); - boolean isDataAlarmByCode(String devCode, Float alarmThreshold); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java index 953ae97..b72b8cc 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.entity.MessageLog; +import java.util.List; + /** *

* 消息通知管理 服务类 @@ -16,4 +18,6 @@ Page notePage(Page page ); + void removeByAlarmIds(List alarmIds); + } 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 71c6606..fb3f925 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 @@ -105,7 +105,7 @@ @Override public List batchExportDeviceAlarmList(AlarmRecordDTO request) { - List alarmResponseDTOList =this.baseMapper.batchExportDeviceAlarmList(request,getDeptIds(request.getDeptId())); + List alarmResponseDTOList = this.baseMapper.batchExportDeviceAlarmList(request, getDeptIds(request.getDeptId())); alarmResponseDTOList.forEach(dto -> { dto.setProcessStatus(ApprovalStatusEnum.getValue(dto.getProcessStatus())); }); @@ -289,6 +289,25 @@ @Transactional @Override + public boolean removeAlarmsByIds(List alarmIds) { + + String alarmIdsStr = alarmIds.stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + //删消息通知信息 + iMessageLogService.removeByAlarmIds(alarmIds); + //消除流程信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除提醒信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除挂起信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //删除报警记录 + return this.removeByIds(alarmIds); + } + + @Transactional + @Override public boolean remind(RemindDTO remindDTO) { //判断是否提醒 RemindLog remindLog = remindLogMapper.getRemindLogByAlarmId(remindDTO.getAlarmId()); @@ -414,7 +433,7 @@ alarmRecords.setProcessStatus(ApprovalStatusEnum.PROCESSED.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场处置完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场处置完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场处置完毕"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { @@ -423,7 +442,7 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场确认完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场确认完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场确认完毕"), alarmRecords.getLedgerNumber())); } @@ -540,11 +559,11 @@ * 根据设备编号查询是否有数据异常记录 * * @param devCode - * @param alarmThreshold + * @param alarmLevel * @return */ @Override - public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) { + public boolean isDataAlarmByCode(String devCode, Long alarmLevel, Float alarmValue) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); queryWrapper.eq("EXCEPTION_TYPE", "0"); @@ -552,9 +571,22 @@ List alarmRecordsList = this.list(queryWrapper); if (alarmRecordsList != null && alarmRecordsList.size() > 0) { for (AlarmRecords alarmRecords : alarmRecordsList) { - //toDo:若新来报警升级,则挂起状态的 改为 未读 + //若新来报警升级,则挂起状态的 改为未读 if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) { - + if ((!alarmLevel.equals(alarmRecords.getAlarmLevel())) && + alarmValue > Float.valueOf(alarmRecords.getAlarmValue()) && + ApprovalStatusEnum.SUSPEND.getCode().equals(alarmRecords.getProcessStatus())) { + alarmRecords.setProcessStatus(ApprovalStatusEnum.UNREAD.getCode()); + alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); + alarmRecords.setAlarmValue(alarmValue + ""); + alarmRecords.setAlarmLevel(alarmLevel); + this.baseMapper.updateById(alarmRecords); + approvalLogMapper.insert(new ApprovalLog(alarmRecords.getId(), "1", + "", + alarmRecords.getProcessStatus(), + null, + "报警升级")); + } } } return true; @@ -591,7 +623,7 @@ } } //保存消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), + iMessageLogService.save(new MessageLog(alarmId, DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), ObjectUtil.isNotEmpty(busWellDTOList) ? busWellDTOList.get(0).getTagNumber(). concat(busWellDTOList.get(0).getLedgerName()). concat(alarmRuleResponseDTO.getAlarmTypeName()). @@ -669,7 +701,7 @@ "", "8", null)); //添加消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_3, "报警解除", + iMessageLogService.save(new MessageLog(alarmRecordsList.get(0).getId(), DictEnum.MESSAGE_TYPE_3, "报警解除", alarmRecordsList.get(0).getLedgerNumber().concat(alarmRecordsList.get(0).getAlarmContent()). concat("报警解除"), alarmRecordsList.get(0).getLedgerNumber())); } 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 8aa5eeb..f59542d 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 @@ -35,8 +35,8 @@ List alarmRuleDeviceList = alarmRuleDevicePage.getRecords(); alarmRuleDeviceList.forEach(alarmRuleDevice -> { AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId()); - alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : - "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold())); + alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmType().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : + "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()).concat("%LEL")); }); return alarmRuleDevicePage; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java index bc1883d..8686f04 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.alarm.service.impl; import cn.hutool.core.convert.Convert; +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.core.application.context.AbstractPermissionContext; @@ -11,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; import java.util.stream.Collectors; /** @@ -42,4 +44,11 @@ } return deptIdStr; } + + @Override + public void removeByAlarmIds(List alarmIds) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("ALARM_ID",alarmIds); + this.remove(queryWrapper); + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index 6bb4b08..6bbad1c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -161,7 +161,7 @@ Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold()))) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(),Float.valueOf(gas))) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas, upTime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.Methane.getName()); } break; diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 7f17171..bb05167 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -196,7 +196,7 @@ gas >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, gas)) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(),gas)) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas+"", uptime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.MonitorPipeOther.getName()); } break; diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index ef653df..e6cf801 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -167,7 +167,7 @@ Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold()))) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas, upTime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.TubeOther.getName()); } break; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java index 18da3cd..02e2520 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -3,10 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.modular.device.dto.*; -import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; @@ -14,6 +15,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + /** *

* 产品管理 前端控制器 @@ -28,7 +32,7 @@ @RequestMapping("/device/statics") public class BusDeviceStaticsController extends ExportController { private final IBusDeviceStaticsService iBusDeviceStaticsService; - + private final IBaseExportService iBaseExportService; @ApiOperation("设备运行情况") @@ -50,7 +54,7 @@ @PostMapping("/offLine") @ResponseBody public ReturnDTO offLine() { - + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); } @@ -58,7 +62,7 @@ @PostMapping("/company") @ResponseBody public ReturnDTO company() { - + return ReturnUtil.success(iBusDeviceStaticsService.company()); } @@ -67,7 +71,18 @@ @ResponseBody public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO, page))); + } + + @ApiOperation("离线设备清单导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(OffLineRequestDTO request, HttpServletResponse response) { + try { + iBaseExportService.exportExcel(response, OffLineExportDTO.class, iBusDeviceStaticsService.batchExportOffLineList(request), ExportEnum.DEVICE_OFF_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } 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 b5df9e6..0e1fd14 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 @@ -40,6 +40,8 @@ boolean suspend(SuspendDTO suspendDTO); + boolean removeAlarmsByIds(List alarmIds); + boolean remind(RemindDTO remindDTO); boolean handle(HandleDTO handleDTO); @@ -72,7 +74,7 @@ void updateCell(String devCode, String onLineStatus, String cell); - boolean isDataAlarmByCode(String devCode, Float alarmThreshold); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java index 953ae97..b72b8cc 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.entity.MessageLog; +import java.util.List; + /** *

* 消息通知管理 服务类 @@ -16,4 +18,6 @@ Page notePage(Page page ); + void removeByAlarmIds(List alarmIds); + } 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 71c6606..fb3f925 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 @@ -105,7 +105,7 @@ @Override public List batchExportDeviceAlarmList(AlarmRecordDTO request) { - List alarmResponseDTOList =this.baseMapper.batchExportDeviceAlarmList(request,getDeptIds(request.getDeptId())); + List alarmResponseDTOList = this.baseMapper.batchExportDeviceAlarmList(request, getDeptIds(request.getDeptId())); alarmResponseDTOList.forEach(dto -> { dto.setProcessStatus(ApprovalStatusEnum.getValue(dto.getProcessStatus())); }); @@ -289,6 +289,25 @@ @Transactional @Override + public boolean removeAlarmsByIds(List alarmIds) { + + String alarmIdsStr = alarmIds.stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + //删消息通知信息 + iMessageLogService.removeByAlarmIds(alarmIds); + //消除流程信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除提醒信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除挂起信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //删除报警记录 + return this.removeByIds(alarmIds); + } + + @Transactional + @Override public boolean remind(RemindDTO remindDTO) { //判断是否提醒 RemindLog remindLog = remindLogMapper.getRemindLogByAlarmId(remindDTO.getAlarmId()); @@ -414,7 +433,7 @@ alarmRecords.setProcessStatus(ApprovalStatusEnum.PROCESSED.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场处置完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场处置完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场处置完毕"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { @@ -423,7 +442,7 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场确认完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场确认完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场确认完毕"), alarmRecords.getLedgerNumber())); } @@ -540,11 +559,11 @@ * 根据设备编号查询是否有数据异常记录 * * @param devCode - * @param alarmThreshold + * @param alarmLevel * @return */ @Override - public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) { + public boolean isDataAlarmByCode(String devCode, Long alarmLevel, Float alarmValue) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); queryWrapper.eq("EXCEPTION_TYPE", "0"); @@ -552,9 +571,22 @@ List alarmRecordsList = this.list(queryWrapper); if (alarmRecordsList != null && alarmRecordsList.size() > 0) { for (AlarmRecords alarmRecords : alarmRecordsList) { - //toDo:若新来报警升级,则挂起状态的 改为 未读 + //若新来报警升级,则挂起状态的 改为未读 if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) { - + if ((!alarmLevel.equals(alarmRecords.getAlarmLevel())) && + alarmValue > Float.valueOf(alarmRecords.getAlarmValue()) && + ApprovalStatusEnum.SUSPEND.getCode().equals(alarmRecords.getProcessStatus())) { + alarmRecords.setProcessStatus(ApprovalStatusEnum.UNREAD.getCode()); + alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); + alarmRecords.setAlarmValue(alarmValue + ""); + alarmRecords.setAlarmLevel(alarmLevel); + this.baseMapper.updateById(alarmRecords); + approvalLogMapper.insert(new ApprovalLog(alarmRecords.getId(), "1", + "", + alarmRecords.getProcessStatus(), + null, + "报警升级")); + } } } return true; @@ -591,7 +623,7 @@ } } //保存消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), + iMessageLogService.save(new MessageLog(alarmId, DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), ObjectUtil.isNotEmpty(busWellDTOList) ? busWellDTOList.get(0).getTagNumber(). concat(busWellDTOList.get(0).getLedgerName()). concat(alarmRuleResponseDTO.getAlarmTypeName()). @@ -669,7 +701,7 @@ "", "8", null)); //添加消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_3, "报警解除", + iMessageLogService.save(new MessageLog(alarmRecordsList.get(0).getId(), DictEnum.MESSAGE_TYPE_3, "报警解除", alarmRecordsList.get(0).getLedgerNumber().concat(alarmRecordsList.get(0).getAlarmContent()). concat("报警解除"), alarmRecordsList.get(0).getLedgerNumber())); } 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 8aa5eeb..f59542d 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 @@ -35,8 +35,8 @@ List alarmRuleDeviceList = alarmRuleDevicePage.getRecords(); alarmRuleDeviceList.forEach(alarmRuleDevice -> { AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId()); - alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : - "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold())); + alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmType().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : + "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()).concat("%LEL")); }); return alarmRuleDevicePage; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java index bc1883d..8686f04 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.alarm.service.impl; import cn.hutool.core.convert.Convert; +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.core.application.context.AbstractPermissionContext; @@ -11,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; import java.util.stream.Collectors; /** @@ -42,4 +44,11 @@ } return deptIdStr; } + + @Override + public void removeByAlarmIds(List alarmIds) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("ALARM_ID",alarmIds); + this.remove(queryWrapper); + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index 6bb4b08..6bbad1c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -161,7 +161,7 @@ Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold()))) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(),Float.valueOf(gas))) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas, upTime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.Methane.getName()); } break; diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 7f17171..bb05167 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -196,7 +196,7 @@ gas >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, gas)) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(),gas)) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas+"", uptime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.MonitorPipeOther.getName()); } break; diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index ef653df..e6cf801 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -167,7 +167,7 @@ Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold()))) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas, upTime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.TubeOther.getName()); } break; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java index 18da3cd..02e2520 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -3,10 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.modular.device.dto.*; -import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; @@ -14,6 +15,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + /** *

* 产品管理 前端控制器 @@ -28,7 +32,7 @@ @RequestMapping("/device/statics") public class BusDeviceStaticsController extends ExportController { private final IBusDeviceStaticsService iBusDeviceStaticsService; - + private final IBaseExportService iBaseExportService; @ApiOperation("设备运行情况") @@ -50,7 +54,7 @@ @PostMapping("/offLine") @ResponseBody public ReturnDTO offLine() { - + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); } @@ -58,7 +62,7 @@ @PostMapping("/company") @ResponseBody public ReturnDTO company() { - + return ReturnUtil.success(iBusDeviceStaticsService.company()); } @@ -67,7 +71,18 @@ @ResponseBody public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO, page))); + } + + @ApiOperation("离线设备清单导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(OffLineRequestDTO request, HttpServletResponse response) { + try { + iBaseExportService.exportExcel(response, OffLineExportDTO.class, iBusDeviceStaticsService.batchExportOffLineList(request), ExportEnum.DEVICE_OFF_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java index 18cf18a..5596e33 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -33,6 +33,10 @@ @Param("request") OffLineRequestDTO request, Page page); + List batchExportOffLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request); + + List dataReport(@Param("tables") List tables); @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index a939800..a8e6bb5 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -117,7 +117,7 @@ Assert.isFalse(Objects.isNull(idsDTO.getIds()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return ReturnUtil.success(iAlarmRecordsService.removeByIds(idsDTO.getIds())); + return ReturnUtil.success(iAlarmRecordsService.removeAlarmsByIds(idsDTO.getIds())); } @ApiOperation("挂起") diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index 800549c..7c4f4a3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.missiles.modular.alarm.entity.ApprovalLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -31,7 +32,8 @@ @Select("SELECT al.DESCN FROM `approval_log` al where al.ALARM_ID= #{alarmId} and al.FLOW_STATUS = #{processStatus} order by APPROVAL_TIME DESC LIMIT 1") String getMsg(@Param("alarmId") Long alarmId,@Param("processStatus") String processStatus); - + @Delete("delete from approval_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java index bd8cd46..ba85978 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/RemindLogMapper.java @@ -3,6 +3,7 @@ import com.casic.missiles.modular.alarm.dto.AppRequestDTO; import com.casic.missiles.modular.alarm.entity.RemindLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -40,4 +41,8 @@ " LIMIT 1") AppRequestDTO getAppRequestDTO(@Param("alarmId") Long alarmId); + + @Delete("delete from remind_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java index 6d98c9d..7496400 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/SuspendLogMapper.java @@ -2,7 +2,9 @@ import com.casic.missiles.modular.alarm.entity.SuspendLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -15,4 +17,7 @@ @Mapper public interface SuspendLogMapper extends BaseMapper { + @Delete("delete from suspend_log where ALARM_ID in (${alarmIds})") + void deleteByAlarmIds(@Param("alarmIds") String alarmIds); + } 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 c8e7d0e..a91ade8 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 @@ -22,9 +22,11 @@ rd.*, bt.TYPE_NAME AS devTypeName, lr.place as POSITION, - lr.tagNumber + lr.tagNumber, + ay.ALARM_TYPE FROM alarm_rule_device rd + LEFT JOIN alarm_type ay ON rd.ALARM_TYPE_ID=ay.ID 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 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 e577203..0225611 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 @@ -73,6 +73,10 @@ @TableField(exist = false) private String alarmRuleName; + @ApiModelProperty("报警类型名称") + @TableField(exist = false) + private String alarmType; + @ApiModelProperty("创建人") @TableField("CREATE_USER") private String createUser; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java index b4d00b1..080f71f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/entity/MessageLog.java @@ -53,6 +53,11 @@ @TableField("TAG_NUMBER") private String tagNumber; + @ApiModelProperty("报警id") + @TableField("ALARM_ID") + private Long alarmId; + + @ApiModelProperty("创建时间") @TableField("TS") @@ -61,11 +66,12 @@ public MessageLog() { } - public MessageLog(String messageType, String messageTypeDetail, String messageContent,String tagNumber) { + public MessageLog(Long alarmId,String messageType, String messageTypeDetail, String messageContent,String tagNumber) { this.messageType = messageType; this.messageTypeDetail = messageTypeDetail; this.messageContent = messageContent; this.tagNumber = tagNumber; + this.alarmId = alarmId; } } 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 b5df9e6..0e1fd14 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 @@ -40,6 +40,8 @@ boolean suspend(SuspendDTO suspendDTO); + boolean removeAlarmsByIds(List alarmIds); + boolean remind(RemindDTO remindDTO); boolean handle(HandleDTO handleDTO); @@ -72,7 +74,7 @@ void updateCell(String devCode, String onLineStatus, String cell); - boolean isDataAlarmByCode(String devCode, Float alarmThreshold); + boolean isDataAlarmByCode(String devCode, Long alarmLevel,Float alarmThreshold); boolean isDeviceAlarmByCode(String devCode, String alarmThreshold); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java index 953ae97..b72b8cc 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IMessageLogService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.modular.alarm.entity.MessageLog; +import java.util.List; + /** *

* 消息通知管理 服务类 @@ -16,4 +18,6 @@ Page notePage(Page page ); + void removeByAlarmIds(List alarmIds); + } 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 71c6606..fb3f925 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 @@ -105,7 +105,7 @@ @Override public List batchExportDeviceAlarmList(AlarmRecordDTO request) { - List alarmResponseDTOList =this.baseMapper.batchExportDeviceAlarmList(request,getDeptIds(request.getDeptId())); + List alarmResponseDTOList = this.baseMapper.batchExportDeviceAlarmList(request, getDeptIds(request.getDeptId())); alarmResponseDTOList.forEach(dto -> { dto.setProcessStatus(ApprovalStatusEnum.getValue(dto.getProcessStatus())); }); @@ -289,6 +289,25 @@ @Transactional @Override + public boolean removeAlarmsByIds(List alarmIds) { + + String alarmIdsStr = alarmIds.stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + //删消息通知信息 + iMessageLogService.removeByAlarmIds(alarmIds); + //消除流程信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除提醒信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //消除挂起信息 + approvalLogMapper.deleteByAlarmIds(alarmIdsStr); + //删除报警记录 + return this.removeByIds(alarmIds); + } + + @Transactional + @Override public boolean remind(RemindDTO remindDTO) { //判断是否提醒 RemindLog remindLog = remindLogMapper.getRemindLogByAlarmId(remindDTO.getAlarmId()); @@ -414,7 +433,7 @@ alarmRecords.setProcessStatus(ApprovalStatusEnum.PROCESSED.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场处置完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场处置完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场处置完毕"), alarmRecords.getLedgerNumber())); } else if (DictEnum.CONFIRM_TYPE.equals(msgType)) { @@ -423,7 +442,7 @@ ApprovalStatusEnum.UNPROCESS.getCode()); alarmRecords.setProcessTime(new Date()); this.baseMapper.updateById(alarmRecords); - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_2, "现场确认完毕", + iMessageLogService.save(new MessageLog(alarmRecords.getId(), DictEnum.MESSAGE_TYPE_2, "现场确认完毕", alarmRecords.getLedgerNumber().concat(alarmRecords.getAlarmContent()). concat("现场确认完毕"), alarmRecords.getLedgerNumber())); } @@ -540,11 +559,11 @@ * 根据设备编号查询是否有数据异常记录 * * @param devCode - * @param alarmThreshold + * @param alarmLevel * @return */ @Override - public boolean isDataAlarmByCode(String devCode, Float alarmThreshold) { + public boolean isDataAlarmByCode(String devCode, Long alarmLevel, Float alarmValue) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("DEVCODE", devCode); queryWrapper.eq("EXCEPTION_TYPE", "0"); @@ -552,9 +571,22 @@ List alarmRecordsList = this.list(queryWrapper); if (alarmRecordsList != null && alarmRecordsList.size() > 0) { for (AlarmRecords alarmRecords : alarmRecordsList) { - //toDo:若新来报警升级,则挂起状态的 改为 未读 + //若新来报警升级,则挂起状态的 改为未读 if (CommonUtil.isNumber(alarmRecords.getAlarmValue())) { - + if ((!alarmLevel.equals(alarmRecords.getAlarmLevel())) && + alarmValue > Float.valueOf(alarmRecords.getAlarmValue()) && + ApprovalStatusEnum.SUSPEND.getCode().equals(alarmRecords.getProcessStatus())) { + alarmRecords.setProcessStatus(ApprovalStatusEnum.UNREAD.getCode()); + alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); + alarmRecords.setAlarmValue(alarmValue + ""); + alarmRecords.setAlarmLevel(alarmLevel); + this.baseMapper.updateById(alarmRecords); + approvalLogMapper.insert(new ApprovalLog(alarmRecords.getId(), "1", + "", + alarmRecords.getProcessStatus(), + null, + "报警升级")); + } } } return true; @@ -591,7 +623,7 @@ } } //保存消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), + iMessageLogService.save(new MessageLog(alarmId, DictEnum.MESSAGE_TYPE_1, alarmRuleResponseDTO.getAlarmTypeName(), ObjectUtil.isNotEmpty(busWellDTOList) ? busWellDTOList.get(0).getTagNumber(). concat(busWellDTOList.get(0).getLedgerName()). concat(alarmRuleResponseDTO.getAlarmTypeName()). @@ -669,7 +701,7 @@ "", "8", null)); //添加消息通知 - iMessageLogService.save(new MessageLog(DictEnum.MESSAGE_TYPE_3, "报警解除", + iMessageLogService.save(new MessageLog(alarmRecordsList.get(0).getId(), DictEnum.MESSAGE_TYPE_3, "报警解除", alarmRecordsList.get(0).getLedgerNumber().concat(alarmRecordsList.get(0).getAlarmContent()). concat("报警解除"), alarmRecordsList.get(0).getLedgerNumber())); } 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 8aa5eeb..f59542d 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 @@ -35,8 +35,8 @@ List alarmRuleDeviceList = alarmRuleDevicePage.getRecords(); alarmRuleDeviceList.forEach(alarmRuleDevice -> { AlarmLevelControl alarmLevelControl = iAlarmLevelControlService.getById(alarmRuleDevice.getAlarmLevelId()); - alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmRule().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : - "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold())); + alarmRuleDevice.setAlarmRuleName(alarmRuleDevice.getAlarmType().concat("[").concat(alarmLevelControl != null ? alarmLevelControl.getAlarmLevel() : + "").concat("]:").concat(alarmRuleDevice.getAlarmThreshold()).concat("%LEL")); }); return alarmRuleDevicePage; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java index bc1883d..8686f04 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/MessageLogServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.alarm.service.impl; import cn.hutool.core.convert.Convert; +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.core.application.context.AbstractPermissionContext; @@ -11,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; import java.util.stream.Collectors; /** @@ -42,4 +44,11 @@ } return deptIdStr; } + + @Override + public void removeByAlarmIds(List alarmIds) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("ALARM_ID",alarmIds); + this.remove(queryWrapper); + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index 6bb4b08..6bbad1c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -161,7 +161,7 @@ Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold()))) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(),Float.valueOf(gas))) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas, upTime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.Methane.getName()); } break; diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java index 7f17171..bb05167 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataMonitorPipeOtherServiceImpl.java @@ -196,7 +196,7 @@ gas >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, gas)) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(),gas)) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas+"", uptime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.MonitorPipeOther.getName()); } break; diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java index ef653df..e6cf801 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataTubeOtherServiceImpl.java @@ -167,7 +167,7 @@ Float.valueOf(gas) >= Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold())) { //写入报警 //1、判断报警是否已存在 - if (!alarmRecordsService.isDataAlarmByCode(devCode, Float.valueOf(alarmRuleResponseDTO.getAlarmThreshold()))) { + if (!alarmRecordsService.isDataAlarmByCode(devCode, alarmRuleResponseDTO.getAlarmLevelId(), Float.valueOf(gas))) { alarmFlag = alarmRecordsService.saveAlarms(devCode, gas, upTime, busWellDTOList, alarmRuleResponseDTO, DeviceTypeEnum.TubeOther.getName()); } break; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java index 18da3cd..02e2520 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -3,10 +3,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.modular.device.dto.*; -import com.casic.missiles.modular.device.entity.BusDevice; import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; @@ -14,6 +15,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + /** *

* 产品管理 前端控制器 @@ -28,7 +32,7 @@ @RequestMapping("/device/statics") public class BusDeviceStaticsController extends ExportController { private final IBusDeviceStaticsService iBusDeviceStaticsService; - + private final IBaseExportService iBaseExportService; @ApiOperation("设备运行情况") @@ -50,7 +54,7 @@ @PostMapping("/offLine") @ResponseBody public ReturnDTO offLine() { - + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); } @@ -58,7 +62,7 @@ @PostMapping("/company") @ResponseBody public ReturnDTO company() { - + return ReturnUtil.success(iBusDeviceStaticsService.company()); } @@ -67,7 +71,18 @@ @ResponseBody public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO, page))); + } + + @ApiOperation("离线设备清单导出") + @RequestMapping(value = "/batchExport", method = RequestMethod.GET) + public void batchExport(OffLineRequestDTO request, HttpServletResponse response) { + try { + iBaseExportService.exportExcel(response, OffLineExportDTO.class, iBusDeviceStaticsService.batchExportOffLineList(request), ExportEnum.DEVICE_OFF_EXPORT.getSheetName()); + } catch (Exception e) { + e.printStackTrace(); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java index 18cf18a..5596e33 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -33,6 +33,10 @@ @Param("request") OffLineRequestDTO request, Page page); + List batchExportOffLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request); + + List dataReport(@Param("tables") List tables); @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml index 5531cf7..62cc565 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -181,6 +181,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +