jy-plc/Controllers/DataController.cs

89 lines
2.9 KiB
C#

using LangGuan.Command.Model;
using LangGuan.Command.Model.RequestModel;
using LangGuan.Services;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
namespace LangGuan.Controllers
{
/// <summary>
///
/// </summary>
[ApiVersion("1.0")]
[Route("api/[controller]/v{version:apiVersion}")]
[ApiController]
public class DataController : ControllerBase
{
private Hj212Service _hj212Service;
/// <summary>
///
/// </summary>
/// <param name="hj212Service"></param>
public DataController(Hj212Service hj212Service)
{
_hj212Service = hj212Service;
}
/// <summary>
/// 导出
/// </summary>
/// <returns></returns>
[HttpGet("export")]
public async Task<IActionResult> export(DateTime start, DateTime end)
{
start = start > DateTime.Now ? DateTime.Now.AddDays(-1) : start;
end = end > DateTime.Now ? DateTime.Now : end;
var resutl = await _hj212Service.Export(start, end);
return File(resutl, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "环保数据.xlsx");
}
/// <summary>
/// 列表数据
/// </summary>
/// <returns></returns>
[HttpGet("list")]
public async Task<IActionResult> list(DateTime start, DateTime end, [FromQuery] RqeustPaging request)
{
var result = await _hj212Service.GetPageData(start, end, request);
return Ok(result);
}
/// <summary>
///实时监测
/// </summary>
/// <returns></returns>
[HttpGet("realtime")]
public async Task<IActionResult> realtime()
{
var result = await _hj212Service.Realtime();
return Ok(result);
}
/// <summary>
///自动报表导出
/// </summary>
/// <returns></returns>
[HttpGet("autoreport")]
public async Task<IActionResult> autoreport([FromQuery] AutoReport request)
{
var result = await _hj212Service.autoReport(request);
string fileName = $"{request.begin.Value.ToString("yyyy-MM-dd")}-{request.end.Value.ToString("yyyy-MM-dd")}污染数据.xlsx";
return File(result, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName);
}
/// <summary>
///自动报表结果
/// </summary>
/// <returns></returns>
[HttpGet("autoReportResult")]
public async Task<IActionResult> autoReportResult([FromQuery] AutoReport request)
{
var result = await _hj212Service.autoReportResult(request);
return Ok(result);
}
}
}