ReportController.java 3.44 KB
package com.ruoyi.controller;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.global.Result;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.pojo.request.ReportViewRequestVo;
import com.ruoyi.pojo.request.ReportErrorRequestVo;
import com.ruoyi.pojo.response.ExportReportViewResponseVo;
import com.ruoyi.pojo.response.ReportErrorResponseVo;
import com.ruoyi.service.ReportService;
import com.ruoyi.system.domain.SysNotice;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author 20412
 */
@RestController
@RequestMapping("/report")
@Api(tags = "报表管理")
public class ReportController {

    @Resource
    private ReportService reportService;

    @ApiOperation("签到报表集合查询")
    @GetMapping("/list")
    public AjaxResult getList(HttpServletResponse response, @ApiParam @ModelAttribute ReportViewRequestVo requestVo) {
        return AjaxResult.success(reportService.getReportScrollViewTable(requestVo, response));
    }

    @ApiOperation("签到报表集合查询")
    @GetMapping("/bigView")
    public AjaxResult getBigView(HttpServletResponse response, @ApiParam @ModelAttribute ReportViewRequestVo requestVo) {
        return AjaxResult.success(reportService.getBigView(requestVo, response));
    }

    @ApiOperation("获取详情")
    @GetMapping("/detail")
    public AjaxResult getDetail(HttpServletResponse response, @ApiParam @ModelAttribute @Validated ReportViewRequestVo requestVo) {
        return AjaxResult.success(reportService.getReportDetail(requestVo, response));
    }

    @ApiOperation("异常报表集合查询")
    @GetMapping("/error/list")
    public AjaxResult getErrorList(@ApiParam @ModelAttribute ReportErrorRequestVo request) {
        return AjaxResult.success(reportService.getErrorReportList(request));
    }

    @ApiOperation("签到报表导出")
    @PostMapping("/export")
    public void exportReport(@ApiParam ReportViewRequestVo requestVo, HttpServletResponse response) {
        List<ExportReportViewResponseVo> list = reportService.exportReportList(requestVo, response);
        // 不导出图片清空路径信息
        ExcelUtil<ExportReportViewResponseVo> util = new ExcelUtil<ExportReportViewResponseVo>(ExportReportViewResponseVo.class);
        util.exportEasyExcel(response, list, "签到报表");
    }

    @ApiOperation("告警通知")
    @GetMapping("/alarm/notice")
    public Result<?> getAlarmNotice(@RequestParam(value = "type",required = false) Integer type){
        return Result.OK(reportService.getAlarmNoticeByType(type));
    }


    @ApiOperation("确认通知")
    @PostMapping("/sureNotice")
    public Result<?> sureNotice(@Validated @RequestBody SysNotice notice){
        return Result.OK(reportService.sureNotice(notice));
    }

    @ApiOperation("异常报表导出")
    @PostMapping("/error/export")
    public void exportErrorReport(@ApiParam ReportErrorRequestVo requestVo, HttpServletResponse response) {
        List<ReportErrorResponseVo> list = reportService.getErrorReportList(requestVo);
        ExcelUtil<ReportErrorResponseVo> util = new ExcelUtil<ReportErrorResponseVo>(ReportErrorResponseVo.class);
        util.exportEasyExcel(response, list, "异常报表");
    }
}