|
@@ -3,7 +3,10 @@ package com.huaxu.controller;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.huaxu.common.EasyExcelUtil;
|
|
|
import com.huaxu.dto.AlarmDetailsDto;
|
|
|
+import com.huaxu.dto.AlarmDetailsHistoryDto;
|
|
|
+import com.huaxu.dto.AlarmDetailsRealTimeDto;
|
|
|
import com.huaxu.entity.AlarmDetailsEntity;
|
|
|
import com.huaxu.model.AjaxMessage;
|
|
|
import com.huaxu.model.Pagination;
|
|
@@ -15,6 +18,7 @@ import io.swagger.annotations.ApiParam;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.text.ParseException;
|
|
@@ -35,6 +39,9 @@ public class AlarmDetailsController {
|
|
|
@Autowired
|
|
|
private AlarmDetailsService alarmDetailsService;
|
|
|
|
|
|
+ @Value("${SMS.sys_excel_path}")
|
|
|
+ private String baseDir;
|
|
|
+
|
|
|
@RequestMapping(value="get" , method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "查询单个报警详情信息")
|
|
|
public AjaxMessage<AlarmDetailsEntity> get( @ApiParam(value = "报警详情信息id") @RequestParam Integer id){
|
|
@@ -45,10 +52,11 @@ public class AlarmDetailsController {
|
|
|
@ApiOperation(value = "分页查询报警详情信息")
|
|
|
public AjaxMessage<Pagination<AlarmDetailsDto>> selectPage(
|
|
|
@ApiParam(value = "查询:场景名称/设备名称") @RequestParam(required = false) String condition,
|
|
|
- @ApiParam(value = "报警类型") @RequestParam(required = false) Integer alarmType,
|
|
|
+ @ApiParam(value = "报警类型") @RequestParam(required = false) String alarmType,
|
|
|
@ApiParam(value = "处理状态") @RequestParam(required = false) Integer opState,
|
|
|
@ApiParam(value = "查询:开始时间") @RequestParam(required = false) String startTime,
|
|
|
@ApiParam(value = "查询:结束时间") @RequestParam(required = false) String endTime,
|
|
|
+ @ApiParam(value = "数据类型:1 实时报警 0 历史报警" ,required = false) @RequestParam(required = false) Integer state,
|
|
|
@ApiParam(value = "页数,非必传,默认第一页", defaultValue = "1") @RequestParam(required = false, defaultValue = "1") Integer pageNum,
|
|
|
@ApiParam(value = "条数,非必传,默认10条", defaultValue = "10") @RequestParam(required = false, defaultValue = "10") Integer pageSize
|
|
|
){
|
|
@@ -56,6 +64,7 @@ public class AlarmDetailsController {
|
|
|
alarmDetailsDto.setCondition(condition);
|
|
|
alarmDetailsDto.setAlarmType(alarmType);
|
|
|
alarmDetailsDto.setOpState(opState);
|
|
|
+ alarmDetailsDto.setState(state);
|
|
|
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
|
try {
|
|
@@ -112,4 +121,158 @@ public class AlarmDetailsController {
|
|
|
public AjaxMessage<Integer> renewById( @ApiParam(value = "报警详情信息id") @RequestParam Integer id){
|
|
|
return new AjaxMessage<>(ResultStatus.OK, alarmDetailsService.suspendedById(id,1));
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @RequestMapping(value="selectHistoryPage" , method = RequestMethod.GET)
|
|
|
+ @ApiOperation(value = "分页查询报历史警详情信息")
|
|
|
+ public AjaxMessage<Pagination<AlarmDetailsHistoryDto>> selectHistoryPage(
|
|
|
+ @ApiParam(value = "查询:场景名称/设备名称") @RequestParam(required = false) String condition,
|
|
|
+ @ApiParam(value = "报警类型") @RequestParam(required = false) String alarmType,
|
|
|
+ @ApiParam(value = "处理状态") @RequestParam(required = false) Integer opState,
|
|
|
+ @ApiParam(value = "查询:开始时间yyyy-MM-dd") @RequestParam(required = false) String startTime,
|
|
|
+ @ApiParam(value = "查询:结束时间yyyy-MM-dd") @RequestParam(required = false) String endTime,
|
|
|
+ @ApiParam(value = "页数,非必传,默认第一页", defaultValue = "1") @RequestParam(required = false, defaultValue = "1") Integer pageNum,
|
|
|
+ @ApiParam(value = "条数,非必传,默认10条", defaultValue = "10") @RequestParam(required = false, defaultValue = "10") Integer pageSize
|
|
|
+ ){
|
|
|
+ AlarmDetailsDto alarmDetailsDto = new AlarmDetailsDto();
|
|
|
+ alarmDetailsDto.setCondition(condition);
|
|
|
+ alarmDetailsDto.setAlarmType(alarmType);
|
|
|
+ alarmDetailsDto.setOpState(opState);
|
|
|
+ SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ try {
|
|
|
+ if(StringUtils.isNotBlank(startTime)){
|
|
|
+ alarmDetailsDto.setStartTime(f.parse(startTime));
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(endTime)){
|
|
|
+ alarmDetailsDto.setEndTime(f.parse(endTime));
|
|
|
+ }
|
|
|
+ }catch (ParseException e){
|
|
|
+ log.error("报警信息查询时间转换错误,原数据:beginTime:{},endTime:{},异常信息:{}",startTime,endTime,e.getMessage());
|
|
|
+ alarmDetailsDto.setStartTime(new Date());
|
|
|
+ alarmDetailsDto.setEndTime(new Date());
|
|
|
+ }
|
|
|
+
|
|
|
+ IPage<AlarmDetailsHistoryDto> iPage = new Page<>(pageNum, pageSize);
|
|
|
+ if(iPage.orders().size() == 0){
|
|
|
+ OrderItem orderItem =new OrderItem();
|
|
|
+ orderItem.setAsc(false);
|
|
|
+ orderItem.setColumn("t.date_create");
|
|
|
+ iPage.orders().add(orderItem);
|
|
|
+ }
|
|
|
+ iPage = alarmDetailsService.selectHistoryPage(iPage,alarmDetailsDto);
|
|
|
+ Pagination<AlarmDetailsHistoryDto> pages = new Pagination<>(iPage);
|
|
|
+ return new AjaxMessage<>(ResultStatus.OK, pages);
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping(value="exportHistory" , method = RequestMethod.GET)
|
|
|
+ @ApiOperation(value = "导出历史报警信息")
|
|
|
+ public AjaxMessage<String> exportHistory(
|
|
|
+ @ApiParam(value = "查询:场景名称/设备名称") @RequestParam(required = false) String condition,
|
|
|
+ @ApiParam(value = "报警类型") @RequestParam(required = false) String alarmType,
|
|
|
+ @ApiParam(value = "处理状态") @RequestParam(required = false) Integer opState,
|
|
|
+ @ApiParam(value = "查询:开始时间yyyy-MM-dd") @RequestParam(required = false) String startTime,
|
|
|
+ @ApiParam(value = "查询:结束时间yyyy-MM-dd") @RequestParam(required = false) String endTime
|
|
|
+
|
|
|
+ ){
|
|
|
+ AlarmDetailsDto alarmDetailsDto = new AlarmDetailsDto();
|
|
|
+ alarmDetailsDto.setCondition(condition);
|
|
|
+ alarmDetailsDto.setAlarmType(alarmType);
|
|
|
+ alarmDetailsDto.setOpState(opState);
|
|
|
+ SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ try {
|
|
|
+ if(StringUtils.isNotBlank(startTime)){
|
|
|
+ alarmDetailsDto.setStartTime(f.parse(startTime));
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(endTime)){
|
|
|
+ alarmDetailsDto.setEndTime(f.parse(endTime));
|
|
|
+ }
|
|
|
+ }catch (ParseException e){
|
|
|
+ log.error("报警信息查询时间转换错误,原数据:beginTime:{},endTime:{},异常信息:{}",startTime,endTime,e.getMessage());
|
|
|
+ alarmDetailsDto.setStartTime(new Date());
|
|
|
+ alarmDetailsDto.setEndTime(new Date());
|
|
|
+ }
|
|
|
+
|
|
|
+ String filePath = EasyExcelUtil.excelWrite(baseDir, AlarmDetailsHistoryDto.class, "历史报警",alarmDetailsService.selectHistoryList(alarmDetailsDto) );
|
|
|
+ return new AjaxMessage<>(ResultStatus.OK, filePath);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @RequestMapping(value="selectRealTimePage" , method = RequestMethod.GET)
|
|
|
+ @ApiOperation(value = "分页查询实时报警详情信息")
|
|
|
+ public AjaxMessage<Pagination<AlarmDetailsRealTimeDto>> selectRealTimePage(
|
|
|
+ @ApiParam(value = "查询:场景名称/设备名称") @RequestParam(required = false) String condition,
|
|
|
+ @ApiParam(value = "报警类型") @RequestParam(required = false) String alarmType,
|
|
|
+ @ApiParam(value = "处理状态") @RequestParam(required = false) Integer opState,
|
|
|
+ @ApiParam(value = "查询:开始时间yyyy-MM-dd") @RequestParam(required = false) String startTime,
|
|
|
+ @ApiParam(value = "查询:结束时间yyyy-MM-dd") @RequestParam(required = false) String endTime,
|
|
|
+ @ApiParam(value = "页数,非必传,默认第一页", defaultValue = "1") @RequestParam(required = false, defaultValue = "1") Integer pageNum,
|
|
|
+ @ApiParam(value = "条数,非必传,默认10条", defaultValue = "10") @RequestParam(required = false, defaultValue = "10") Integer pageSize
|
|
|
+ ){
|
|
|
+ AlarmDetailsDto alarmDetailsDto = new AlarmDetailsDto();
|
|
|
+ alarmDetailsDto.setCondition(condition);
|
|
|
+ alarmDetailsDto.setAlarmType(alarmType);
|
|
|
+ alarmDetailsDto.setOpState(opState);
|
|
|
+ SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+
|
|
|
+ try {
|
|
|
+ if(StringUtils.isNotBlank(startTime)){
|
|
|
+ alarmDetailsDto.setStartTime(f.parse(startTime));
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(endTime)){
|
|
|
+ alarmDetailsDto.setEndTime(f.parse(endTime));
|
|
|
+ }
|
|
|
+ }catch (ParseException e){
|
|
|
+ log.error("报警信息查询时间转换错误,原数据:beginTime:{},endTime:{},异常信息:{}",startTime,endTime,e.getMessage());
|
|
|
+ alarmDetailsDto.setStartTime(new Date());
|
|
|
+ alarmDetailsDto.setEndTime(new Date());
|
|
|
+ }
|
|
|
+
|
|
|
+ IPage<AlarmDetailsRealTimeDto> iPage = new Page<>(pageNum, pageSize);
|
|
|
+ if(iPage.orders().size() == 0){
|
|
|
+ OrderItem orderItem =new OrderItem();
|
|
|
+ orderItem.setAsc(false);
|
|
|
+ orderItem.setColumn("t.date_create");
|
|
|
+ iPage.orders().add(orderItem);
|
|
|
+ }
|
|
|
+ iPage = alarmDetailsService.selectRealTimePage(iPage,alarmDetailsDto);
|
|
|
+ Pagination<AlarmDetailsRealTimeDto> pages = new Pagination<>(iPage);
|
|
|
+ return new AjaxMessage<>(ResultStatus.OK, pages);
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping(value="exportRealTime" , method = RequestMethod.GET)
|
|
|
+ @ApiOperation(value = "导出实时报警信息")
|
|
|
+ public AjaxMessage<String> exportRealTime(
|
|
|
+ @ApiParam(value = "查询:场景名称/设备名称") @RequestParam(required = false) String condition,
|
|
|
+ @ApiParam(value = "报警类型") @RequestParam(required = false) String alarmType,
|
|
|
+ @ApiParam(value = "处理状态") @RequestParam(required = false) Integer opState,
|
|
|
+ @ApiParam(value = "查询:开始时间yyyy-MM-dd") @RequestParam(required = false) String startTime,
|
|
|
+ @ApiParam(value = "查询:结束时间yyyy-MM-dd") @RequestParam(required = false) String endTime
|
|
|
+ ){
|
|
|
+ AlarmDetailsDto alarmDetailsDto = new AlarmDetailsDto();
|
|
|
+ alarmDetailsDto.setCondition(condition);
|
|
|
+ alarmDetailsDto.setAlarmType(alarmType);
|
|
|
+ alarmDetailsDto.setOpState(opState);
|
|
|
+ SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ try {
|
|
|
+ if(StringUtils.isNotBlank(startTime)){
|
|
|
+ alarmDetailsDto.setStartTime(f.parse(startTime));
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(endTime)){
|
|
|
+ alarmDetailsDto.setEndTime(f.parse(endTime));
|
|
|
+ }
|
|
|
+ }catch (ParseException e){
|
|
|
+ log.error("报警信息查询时间转换错误,原数据:beginTime:{},endTime:{},异常信息:{}",startTime,endTime,e.getMessage());
|
|
|
+ alarmDetailsDto.setStartTime(new Date());
|
|
|
+ alarmDetailsDto.setEndTime(new Date());
|
|
|
+ }
|
|
|
+
|
|
|
+ String filePath = EasyExcelUtil.excelWrite(baseDir, AlarmDetailsRealTimeDto.class, "实时报警",alarmDetailsService.selectRealTimeList(alarmDetailsDto) );
|
|
|
+ return new AjaxMessage<>(ResultStatus.OK, filePath);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|