You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.1 KiB

using Entity.Ammeter;
using Entity.Api.Resp;
using HybirdFrameworkCore.Autofac.Attribute;
6 months ago
using Microsoft.Data.SqlClient;
using Repository.Ammeter;
using SqlSugar;
namespace Service.Ammeter;
[Scope("SingleInstance")]
public class EmeterEnergyService : BaseServices<EmeterEnergy>
{
public EmeterEnergyService(EmeterEnergyRepository service)
{
this.BaseDal = service;
}
6 months ago
/// <summary>
/// 获取直流电表实时数据
/// </summary>
/// <returns></returns>
6 months ago
public async Task<List<EmeterEnergy>> GetEnergyMeterRealTime(string endTime)
{
6 months ago
// 将传入的时间参数转换为DateTime类型
DateTime endDateTime = DateTime.Parse(endTime);
6 months ago
// 根据传入的时间参数计算1分钟的时间
6 months ago
DateTime startDateTime = endDateTime.AddMinutes(-1);
6 months ago
6 months ago
List<EmeterEnergy> list = await this.BaseDal.QueryListByClauseAsync(i => i.UploadTime>=startDateTime);
return list
.GroupBy(e => e.Code)
.Select(g => g.OrderByDescending(e => e.UploadTime).First())
.ToList();
}
}