using langguanApi.Extensions.AutoDI; using langguanApi.Model; using langguanApi.Model.Entity; using Npoi.Mapper; using System.Collections.Generic; using System.Linq.Expressions; namespace langguanApi.Service { [ServiceInjection(InjectionType.Transient)] public class DetectionService : BaseService { public DetectionService(IConfiguration config) : base(config, nameof(Detection)) { } /// /// //获取最新的数据 /// /// /// public async Task GetIndexData(int num = 50) { Expression> exp = filter => true; var result = (await GetListWithExp(exp)).OrderByDescending(s => s.CreateDateTime).Take(num).ToList(); return result; } /// /// 导出数据 /// /// public async Task Export(DateTime start, DateTime end) { Expression> exp = filter => filter.CreateDateTime >= start && filter.CreateDateTime <= end; var result = (await GetListWithExp(exp)).OrderBy(s => s.CreateDateTime).ToList(); var mapper = new Mapper(); mapper.Map("时间", s => s.CreateDateTime.ToString("yyyy-MM-dd HH:mm:ss")) .Map("工序", s => s.OrganizedName) .Map("设备名称", s => s.DeviceName) .Map("项目", s => s.keyword) .Map("检测值", s => s.deviceValue) .Format("yyyy-MM-dd HH:mm:ss", s => s.CreateDateTime); MemoryStream stream = new MemoryStream(); mapper.Save(stream, result.ToList(), sheetName: "sheet1", leaveOpen: true); return stream.ToArray(); } } }