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 GetPage(reqpage input) { Expression> exp = filter => filter.IsDelete == false; return await base.GetPager(new ReqPaing() { pageSize = input.pageSize, current = input.current }, exp); } } }