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