using langguanApi.Extensions.AutoDI; using langguanApi.Model; using langguanApi.Model.Dto; using langguanApi.Model.Entity; using Npoi.Mapper; using System.Linq.Expressions; namespace langguanApi.Service { [ServiceInjection(InjectionType.Transient)] public class AlertService : BaseService { public AlertService(IConfiguration config) : base(config, nameof(Alert)) { } /// /// 新加 /// /// /// public async Task Add(Alert input) { if (input != null) { await base.CreateAsync(input); return new ApiResult { code = 0, msg = "" }; } return new ApiResult { code = -1, msg = "" }; ; } /// /// 首页数据,最近7天的 /// /// public async Task IndexData() { Expression> exp = filter => filter.CreateDateTime >= DateTime.Now.AddDays(-7) && filter.IsDelete == false; return (await base.GetListWithExp(exp)).OrderByDescending(s => s.CreateDateTime); } public async Task ExportData(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.CreateDateTime.ToString("yyyy-MM-dd HH:mm:ss")) .Map("设备名称", s => s.deviceName) // .Map("工序", s => s.) .Map("新能源", s => s.NewCar ? "是" : "否") .Map("燃油车", s => s.Emissions) .Map("出厂日间 ", s => s.OutTime) .Format("yyyy-MM-dd HH:mm:ss", s => s.CreateDateTime); 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); } } }