package com.ruoyi.alarm.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.alarm.service.IAlarmAnalysisService;
|
import com.ruoyi.alarm.vo.*;
|
import com.ruoyi.framework.aspectj.lang.annotation.Log;
|
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
|
import com.ruoyi.framework.web.controller.BaseController;
|
import com.ruoyi.framework.web.domain.AjaxResult;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.AllArgsConstructor;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
import java.util.Map;
|
|
@Api(tags = "报警分析评估模块")
|
@RestController
|
@AllArgsConstructor
|
@RequestMapping("/alarm/analysis")
|
public class AlarmAnalysisController extends BaseController {
|
|
private IAlarmAnalysisService alarmAnalysisService;
|
|
@ApiOperation("实时报警统计")
|
@GetMapping("/realtime/stats")
|
public AjaxResult getRealtimeStats() {
|
Map<String, Object> data = alarmAnalysisService.getRealtimeStats();
|
return AjaxResult.success(data);
|
}
|
|
@ApiOperation("实时报警列表")
|
@GetMapping("/realtime/list")
|
public AjaxResult getRealtimeList(Page page) {
|
IPage<AlarmRealtimeVo> result = alarmAnalysisService.getRealtimeList(page);
|
return AjaxResult.success(result);
|
}
|
|
@ApiOperation("确认报警")
|
@Log(title = "报警确认", businessType = BusinessType.UPDATE)
|
@PostMapping("/confirm/{alarmId}")
|
public AjaxResult confirmAlarm(@PathVariable Long alarmId) {
|
return toAjax(alarmAnalysisService.confirmAlarm(alarmId));
|
}
|
|
@ApiOperation("分析报警")
|
@GetMapping("/analyze/{alarmId}")
|
public AjaxResult analyzeAlarm(@PathVariable Long alarmId) {
|
AlarmAnalysisVo data = alarmAnalysisService.analyzeAlarm(alarmId);
|
return AjaxResult.success(data);
|
}
|
|
@ApiOperation("报警趋势数据")
|
@GetMapping("/trend")
|
public AjaxResult getTrendData(@RequestParam(required = false) String startDate,
|
@RequestParam(required = false) String endDate) {
|
AlarmTrendVo data = alarmAnalysisService.getTrendData(startDate, endDate);
|
return AjaxResult.success(data);
|
}
|
|
@ApiOperation("报警类型分布")
|
@GetMapping("/type/distribution")
|
public AjaxResult getTypeDistribution() {
|
List<AlarmTypeDistributionVo> data = alarmAnalysisService.getTypeDistribution();
|
return AjaxResult.success(data);
|
}
|
|
@ApiOperation("故障诊断列表")
|
@GetMapping("/fault/list")
|
public AjaxResult getFaultList() {
|
List<AlarmFaultDiagnosisVo> data = alarmAnalysisService.getFaultList();
|
return AjaxResult.success(data);
|
}
|
}
|