using Entity.Ammeter; using Entity.Dto.Req; using HybirdFrameworkCore.Autofac.Attribute; using HybirdFrameworkCore.Entity; using Repository.Ammeter; using SqlSugar; namespace Service.Ammeter { /// /// /// [Scope("SingleInstance")] public class EmeterDayEnergyService : BaseServices { public EmeterDayEnergyService(EmeterDayEnergyRepository service) { this.BaseDal = service; } public async Task> Page(PageAmmeterReq queryPageModel) { QueryPageModel queryPageModel1 = new QueryPageModel { PageNum = queryPageModel.PageNum, PageSize = queryPageModel.PageSize, }; if (!string.IsNullOrEmpty(queryPageModel.Code)) return PageResult.ConvertPage(this.BaseDal.QueryIPageByCause(queryPageModel1, u => u.Code == queryPageModel.Code)); else return PageResult.ConvertPage(this.BaseDal.QueryIPageByCause(queryPageModel1, null)); } /// /// 七天电能统计 /// /// public async Task> SevenDaysElectricalEnergy() { DateTime sevenDaysAgo = DateTime.Today.AddDays(-7); List result = this.BaseDal.Queryable() .Where(e => e.St >= sevenDaysAgo) .GroupBy(e => e.Code) .Select(e => new EmeterDayEnergy { Code = e.Code, Value = SqlFunc.AggregateSum(e.Value) }).ToList(); return result; } } }