Infrastructure/OpenAuth.WebApi/Controllers/ServiceControllers/DataAnalysisController.cs

90 lines
3.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.ServiceApp;
using OpenAuth.App.ServiceApp.Response;
using OpenAuth.WebApi.Model.CustomAttribute;
namespace OpenAuth.WebApi.Controllers.ServiceControllers
{
/// <summary>
/// 统计分析
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class DataAnalysisController : ControllerBase
{
readonly DataAnalysisApp _app;
public DataAnalysisController(DataAnalysisApp app)
{
_app = app;
}
/// <summary>
/// 小组或人员统计
/// </summary>
/// <param name="type">2-小组1-人员</param>
/// <param name="dateType">1-本月2-本周3-本日</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<UserOrGroupTaskResp>>> GetGroupOrUserTaskAndTuBan(int type, int dateType)
{
Response<List<UserOrGroupTaskResp>> response = new Response<List<UserOrGroupTaskResp>>();
try
{
return await _app.GetGroupOrUserTaskAndTuBan(type, dateType);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 解译分析数据交付与费用记账表
/// </summary>
/// <param name="beginTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<AiShpDataExpenseAccountingTableResp>> GetAiShpDataExpenseAccountingTable(DateTime beginTime, DateTime endTime)
{
Response<AiShpDataExpenseAccountingTableResp> response = new Response<AiShpDataExpenseAccountingTableResp>();
try
{
return await _app.GetAiShpDataExpenseAccountingTable(beginTime, endTime);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 导出解译分析数据交付与费用记账表
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
[HttpPost]
public IActionResult AiShpDataExpenseAccountingTableToExcel(DateTime startTime, DateTime endTime)
{
var res = new Response();
var excelRes = _app.AiShpDataExpenseAccountingTableToExcel(startTime, endTime);
if (excelRes.Code == 200)
{
return File(excelRes.Result.ToArray(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"解译分析数据交付与费用记账表.xls");
}
else
{
res.Code = excelRes.Code;
res.Message = excelRes.Message;
}
return Ok(res);
}
}
}