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
{
///
/// 统计分析
///
[Route("api/[controller]/[action]")]
[ApiController]
public class DataAnalysisController : ControllerBase
{
readonly DataAnalysisApp _app;
public DataAnalysisController(DataAnalysisApp app)
{
_app = app;
}
///
/// 小组或人员统计
///
/// 2-小组,1-人员
/// 1-本月,2-本周,3-本日
///
[HttpGet]
public async Task>> GetGroupOrUserTaskAndTuBan(int type, int dateType)
{
Response> response = new Response>();
try
{
return await _app.GetGroupOrUserTaskAndTuBan(type, dateType);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 根据时间统计小组和个人任务及图斑
///
///
///
///
[HttpGet]
public async Task>> GetGroupOrUserTaskAndTuBanByTime(DateTime beginTime, DateTime endTime)
{
Response> response = new Response>();
try
{
return await _app.GetGroupOrUserTaskAndTuBanByTime(beginTime, endTime);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 解译分析数据交付与费用记账表
///
///
///
///
[HttpGet]
public async Task> GetAiShpDataExpenseAccountingTable(DateTime beginTime, DateTime endTime)
{
Response response = new Response();
try
{
return await _app.GetAiShpDataExpenseAccountingTable(beginTime, endTime);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
///
/// 导出解译分析数据交付与费用记账表
///
///
///
///
[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);
}
}
}