using langguanApi.Extensions.AutoDI;
using langguanApi.Model;
using langguanApi.Model.Entity;
using Mapster;
using MathNet.Numerics.Distributions;
using Npoi.Mapper;
using Org.BouncyCastle.Asn1.IsisMtt.X509;
using System.Linq.Expressions;
namespace langguanApi.Service
{
[ServiceInjection(InjectionType.Transient)]
///
/// Ledger service
///
public class LedgerService : BaseService
{
public LedgerService(IConfiguration config) : base(config, nameof(Ledger))
{
}
///
/// 新增数据
///
///
///
public async Task AddLedger(LedgerDTO input)
{
var enity = input.Adapt();
await base.CreateAsync(enity);
}
///
/// 导出数据
///
///
///
///
public async Task Export(DateTime start, DateTime end)
{
Expression> exp = filter =>
filter.CreateDateTime >= start && filter.CreateDateTime <= end && filter.IsDelete == false;
var list = await base.GetListWithExp(exp);
var mapper = new Mapper();
mapper.Map("进场时间", s => s.InTime)
.Map("车牌号", s => s.CarNum)
.Map("车型", s => s.CarModel)
.Map("新能源", s => s.NewCar ? "是" : "否")
.Map("燃油车", s => s.Emissions)
.Map("出厂日间 ", s => s.OutTime)
.Format("yyyy-MM-dd HH:mm:ss", s => s.InTime)
.Format("yyyy-MM-dd HH:mm:ss", s => s.OutTime);
MemoryStream stream = new MemoryStream();
mapper.Save(stream, list.ToList(), sheetName: "sheet1", leaveOpen: true);
return stream.ToArray();
}
///
/// 分页取数据
///
///
///
public async Task