增加告警统计接口

This commit is contained in:
15683799673
2025-09-05 18:02:04 +08:00
parent 7cef50cc19
commit 391bf01ce7
6 changed files with 100 additions and 1 deletions

View File

@@ -19,6 +19,7 @@ import org.dromara.common.web.core.BaseController;
import org.dromara.sis.domain.bo.SisAlarmEventsBo; import org.dromara.sis.domain.bo.SisAlarmEventsBo;
import org.dromara.sis.domain.bo.alarm.AlarmAssignmentBo; import org.dromara.sis.domain.bo.alarm.AlarmAssignmentBo;
import org.dromara.sis.domain.bo.alarm.AlarmCompleteBo; import org.dromara.sis.domain.bo.alarm.AlarmCompleteBo;
import org.dromara.sis.domain.vo.QueryStatisticsAlarmVo;
import org.dromara.sis.domain.vo.SisAlarmEventsVo; import org.dromara.sis.domain.vo.SisAlarmEventsVo;
import org.dromara.sis.service.ISisAlarmEventsService; import org.dromara.sis.service.ISisAlarmEventsService;
import org.dromara.system.api.model.LoginUser; import org.dromara.system.api.model.LoginUser;
@@ -161,5 +162,25 @@ public class SisAlarmEventsController extends BaseController {
return sisAlarmEventsService.queryCurrAssignment(bo, pageQuery); return sisAlarmEventsService.queryCurrAssignment(bo, pageQuery);
} }
/**
* 分类查询当日预警数据
*
* @return 返回预警统计数据
*/
@GetMapping("/query/statistics/currDay")
public R<List<QueryStatisticsAlarmVo>> queryStatisticsCurrDay() {
List<QueryStatisticsAlarmVo> vo = sisAlarmEventsService.queryStatisticsCurrDay();
return R.ok(vo);
}
/**
* 分类查询所有的预警信息
*
* @return 返回预警统计数据
*/
@GetMapping("/query/statistics")
public R<List<QueryStatisticsAlarmVo>> queryStatistics() {
List<QueryStatisticsAlarmVo> vo = sisAlarmEventsService.queryStatistics();
return R.ok(vo);
}
} }

View File

@@ -0,0 +1,25 @@
package org.dromara.sis.domain.vo;
import lombok.Data;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
@Data
public class QueryStatisticsAlarmVo {
/**
* 预警类型
*/
private Integer typeCode;
/**
* 预警类型名称
*/
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "typeCode", other = "event_small_type")
private String typeName;
/**
* 预警总数
*/
private Integer total;
}

View File

@@ -1,9 +1,14 @@
package org.dromara.sis.mapper; package org.dromara.sis.mapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.sis.domain.SisAlarmEvents; import org.dromara.sis.domain.SisAlarmEvents;
import org.dromara.sis.domain.vo.QueryStatisticsAlarmVo;
import org.dromara.sis.domain.vo.SisAlarmEventsVo; import org.dromara.sis.domain.vo.SisAlarmEventsVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import java.util.Date;
import java.util.List;
/** /**
* 告警Mapper接口 * 告警Mapper接口
* *
@@ -12,4 +17,9 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
*/ */
public interface SisAlarmEventsMapper extends BaseMapperPlus<SisAlarmEvents, SisAlarmEventsVo> { public interface SisAlarmEventsMapper extends BaseMapperPlus<SisAlarmEvents, SisAlarmEventsVo> {
List<QueryStatisticsAlarmVo> queryStatisticsCurrDay(@Param("now") Date now);
List<QueryStatisticsAlarmVo> queryStatistics();
} }

View File

@@ -7,6 +7,7 @@ import org.dromara.sis.domain.bo.SisAlarmEventsBo;
import org.dromara.sis.domain.bo.alarm.AlarmAssignmentBo; import org.dromara.sis.domain.bo.alarm.AlarmAssignmentBo;
import org.dromara.sis.domain.bo.alarm.AlarmCompleteBo; import org.dromara.sis.domain.bo.alarm.AlarmCompleteBo;
import org.dromara.sis.domain.enums.EventSmallTypeEnum; import org.dromara.sis.domain.enums.EventSmallTypeEnum;
import org.dromara.sis.domain.vo.QueryStatisticsAlarmVo;
import org.dromara.sis.domain.vo.SisAlarmEventsVo; import org.dromara.sis.domain.vo.SisAlarmEventsVo;
import java.util.Collection; import java.util.Collection;
@@ -84,6 +85,7 @@ public interface ISisAlarmEventsService {
/** /**
* 任务分配操作 * 任务分配操作
*
* @param bo 分配参数 * @param bo 分配参数
* @return 返回是否分配成功 * @return 返回是否分配成功
*/ */
@@ -91,7 +93,8 @@ public interface ISisAlarmEventsService {
/** /**
* 查询当前用户的告警处理任务 * 查询当前用户的告警处理任务
* @param bo 查询参数 *
* @param bo 查询参数
* @param pageQuery 分页参数 * @param pageQuery 分页参数
* @return 返回任务列表 * @return 返回任务列表
*/ */
@@ -99,10 +102,24 @@ public interface ISisAlarmEventsService {
/** /**
* 任务完成 * 任务完成
*
* @param bo 任务完成参数 * @param bo 任务完成参数
* @return 返回是否成功 * @return 返回是否成功
*/ */
Boolean complete(AlarmCompleteBo bo); Boolean complete(AlarmCompleteBo bo);
/**
* 分类统计进入预警数量
*
* @return 返回预警统计信息
*/
List<QueryStatisticsAlarmVo> queryStatisticsCurrDay();
/**
* 分类查询总的预警数量
* @return 返回预警信息
*/
List<QueryStatisticsAlarmVo> queryStatistics();
} }

View File

@@ -30,6 +30,7 @@ import org.dromara.sis.domain.bo.alarm.AlarmCompleteBo;
import org.dromara.sis.domain.enums.AlarmStatus; import org.dromara.sis.domain.enums.AlarmStatus;
import org.dromara.sis.domain.enums.EventBigTypeEnum; import org.dromara.sis.domain.enums.EventBigTypeEnum;
import org.dromara.sis.domain.enums.EventSmallTypeEnum; import org.dromara.sis.domain.enums.EventSmallTypeEnum;
import org.dromara.sis.domain.vo.QueryStatisticsAlarmVo;
import org.dromara.sis.domain.vo.SisAlarmEventsVo; import org.dromara.sis.domain.vo.SisAlarmEventsVo;
import org.dromara.sis.mapper.SisAlarmEventsMapper; import org.dromara.sis.mapper.SisAlarmEventsMapper;
import org.dromara.sis.service.ISisAlarmEventAttachmentsService; import org.dromara.sis.service.ISisAlarmEventAttachmentsService;
@@ -349,4 +350,15 @@ public class SisAlarmEventsServiceImpl implements ISisAlarmEventsService {
return true; return true;
} }
@Override
public List<QueryStatisticsAlarmVo> queryStatisticsCurrDay() {
Date now = new Date();
return this.baseMapper.queryStatisticsCurrDay(now);
}
@Override
public List<QueryStatisticsAlarmVo> queryStatistics() {
return this.baseMapper.queryStatistics();
}
} }

View File

@@ -4,4 +4,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.sis.mapper.SisAlarmEventsMapper"> <mapper namespace="org.dromara.sis.mapper.SisAlarmEventsMapper">
<select id="queryStatisticsCurrDay" resultType="org.dromara.sis.domain.vo.QueryStatisticsAlarmVo">
SELECT small_type typeCode,
sum(1) total
FROM `sis_alarm_events`
WHERE report_time BETWEEN #{now}
AND #{now}
GROUP BY small_type
</select>
<select id="queryStatistics" resultType="org.dromara.sis.domain.vo.QueryStatisticsAlarmVo">
SELECT small_type typeCode,
sum(1) total
FROM `sis_alarm_events`
GROUP BY small_type
</select>
</mapper> </mapper>