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

111 lines
4.0 KiB
C#
Raw Normal View History

using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.ServiceApp;
using OpenAuth.App.ServiceApp.Response;
using OpenAuth.WebApi.Model.CustomAttribute;
2024-11-14 15:01:46 +08:00
namespace OpenAuth.WebApi.Controllers.ServiceControllers
{
/// <summary>
/// 统计分析
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class DataAnalysisController : ControllerBase
{
readonly DataAnalysisApp _app;
public DataAnalysisController(DataAnalysisApp app)
2024-11-14 15:01:46 +08:00
{
_app = app;
}
/// <summary>
/// 小组或人员统计
/// </summary>
2024-11-19 10:20:10 +08:00
/// <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<List<UserOrGroupTaskResp>>> GetGroupOrUserTaskAndTuBanByTime(DateTime beginTime, DateTime endTime)
{
Response<List<UserOrGroupTaskResp>> response = new Response<List<UserOrGroupTaskResp>>();
try
{
return await _app.GetGroupOrUserTaskAndTuBanByTime(beginTime, endTime);
}
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;
2024-11-14 15:01:46 +08:00
}
2024-11-22 11:19:09 +08:00
/// <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);
}
2024-11-14 15:01:46 +08:00
}
}