lg_backend/langguanApi/Controllers/LedgerController.cs

67 lines
2.0 KiB
C#

using langguanApi.Model;
using langguanApi.Model.Entity;
using langguanApi.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.IO;
namespace langguanApi.Controllers
{
/// <summary>
/// 台账相关接口
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class LedgerController : ControllerBase
{
private readonly LedgerService _ledgerService;
public LedgerController(LedgerService ledgerService)
{
_ledgerService = ledgerService;
}
/// <summary>
/// Get all ledgers
/// </summary>
/// <returns></returns>
[HttpGet("list")]
public async Task<IActionResult> list([FromQuery] reqpage input)
{
var result = await _ledgerService.GetPage(input);
return Ok(result);
}
/// <summary>
/// Add a new ledger
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("add")]
public async Task<IActionResult> add(AddLedgerDto input)
{
await _ledgerService.AddLedger(input);
return Ok(new ApiResult { code = 0 });
}
/// <summary>
/// 头部统计
/// </summary>
/// <returns></returns>
[HttpGet("HeaderCount")]
public async Task<IActionResult> HeaderCount()
{
var result = await _ledgerService.HeaderCount();
return Ok(new ApiResult { code = 0, data = result });
}
/// <summary>
/// Export all ledgers
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
[HttpGet("export")]
public async Task<IActionResult> Export(DateTime? start, DateTime? end)
{
var result = await _ledgerService.Export(start, end);
return File(result, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "台账.xlsx");
}
}
}