67 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			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");
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |