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.
215 lines
8.2 KiB
215 lines
8.2 KiB
using Autofac;
|
|
using Entity.Ammeter;
|
|
using Entity.DbModel;
|
|
using HybirdFrameworkCore.Autofac;
|
|
using HybirdFrameworkCore.Entity;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Repository.Station;
|
|
using Service.Ammeter;
|
|
using Service.Station;
|
|
using Service.System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace WebStarter.Controllers.Ammeter
|
|
{
|
|
/// <summary>
|
|
/// 查询电表信息
|
|
/// </summary>
|
|
[ApiController]
|
|
[Route("api/[controller]")]
|
|
public class AmmeterController : ControllerBase
|
|
{
|
|
private EmeterDayEnergyService _emeterDayEnergyService;
|
|
private EmeterHourEnergyService _emeterHourEnergyService;
|
|
private EmeterMinutesEnergyService _emeterMinutesEnergyService;
|
|
private EmeterMinutesEnergyChangeService _emeterMinutesEnergyChangeService;
|
|
private EquipInfoService _equipInfoService;
|
|
/// <summary>
|
|
/// 查询电表信息
|
|
/// </summary>
|
|
/// <param name="emeterDayEnergyService"></param>
|
|
/// <param name="emeterHourEnergyService"></param>
|
|
/// <param name="emeterMinutesEnergyService"></param>
|
|
/// <param name="emeterMinutesEnergyChangeService"></param>
|
|
/// <param name="equipInfoService"></param>
|
|
public AmmeterController(EmeterDayEnergyService emeterDayEnergyService, EmeterHourEnergyService emeterHourEnergyService,
|
|
EmeterMinutesEnergyService emeterMinutesEnergyService, EmeterMinutesEnergyChangeService emeterMinutesEnergyChangeService,
|
|
EquipInfoService equipInfoService)
|
|
{
|
|
_emeterDayEnergyService = emeterDayEnergyService;
|
|
_emeterHourEnergyService = emeterHourEnergyService;
|
|
_emeterMinutesEnergyService = emeterMinutesEnergyService;
|
|
_emeterMinutesEnergyChangeService = emeterMinutesEnergyChangeService;
|
|
_equipInfoService = equipInfoService;
|
|
}
|
|
|
|
|
|
#region 统计分析/电能表累计值信息
|
|
|
|
/// <summary>
|
|
/// 统计分析/电能表累计值信息
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterTotalEnergyValue")]
|
|
public async Task<Result<List<EmeterMinutesEnergy>>> GetNewEmeterMinutesEnergy()
|
|
{
|
|
return Result<List<EmeterMinutesEnergy>>.Success(await _emeterMinutesEnergyService.SqlQueryable("SELECT t1.* \r\nFROM ( \r\n SELECT code, MAX(time) AS latest_time \r\n FROM emeter_minutes_energy \r\n GROUP BY code \r\n) AS latest_records \r\nJOIN emeter_minutes_energy t1 ON latest_records.code = t1.code AND latest_records.latest_time = t1.time;"));
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除电能表累计值信息
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterTotalEnergyValue{id}")]
|
|
public Result<bool> DeleteOneEmeterMinutesEnergy(long id)
|
|
{
|
|
return Result<bool>.Success(_emeterMinutesEnergyService.DeleteById(id));
|
|
}
|
|
/// <summary>
|
|
/// 删除电能表累计值信息
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterTotalEnergyValue/BatchDelete")]
|
|
public Result<bool> DeleteMoreEmeterMinutesEnergy(int[] ids)
|
|
{
|
|
return Result<bool>.Success(_emeterMinutesEnergyService.DeleteByIds(ids));
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 统计分析/电能表变化值信息
|
|
|
|
/// <summary>
|
|
/// 统计分析/电能表变化值信息
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterRealEnergyValue")]
|
|
public Result<List<EmeterMinutesEnergyChange>> GetEmeterMinutesEnergyChange()
|
|
{
|
|
return Result<List<EmeterMinutesEnergyChange>>.Success(_emeterMinutesEnergyChangeService.Query());
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除电能表变化值信息
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterRealEnergyValue{id}")]
|
|
public Result<bool> DeleteEmeterMinutesEnergyChange(long id)
|
|
{
|
|
return Result<bool>.Success(_emeterMinutesEnergyChangeService.DeleteById(id));
|
|
}
|
|
/// <summary>
|
|
/// 批量删除电能表变化值信息
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterRealEnergyValue/BatchDelete")]
|
|
public Result<bool> DeleteEmeterMinutesEnergyChange(int[] ids)
|
|
{
|
|
return Result<bool>.Success(_emeterMinutesEnergyChangeService.DeleteByIds(ids));
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 统计分析/电能表小时能耗值
|
|
/// <summary>
|
|
/// 统计分析/电能表小时能耗值
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterHourEnergyValue")]
|
|
public Result<List<EmeterHourEnergy>> GetEmeterHourEnergy()
|
|
{
|
|
return Result<List<EmeterHourEnergy>>.Success(_emeterHourEnergyService.Query());
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除电能表小时能耗值
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterHourEnergyValue{id}")]
|
|
public Result<bool> DeleteEmeterHourEnergy(long id)
|
|
{
|
|
return Result<bool>.Success(_emeterHourEnergyService.DeleteById(id));
|
|
}
|
|
/// <summary>
|
|
/// 批量删除电能表小时能耗值
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterHourEnergyValue/BatchDelete")]
|
|
public Result<bool> DeleteListEmeterHourEnergy(int[] ids)
|
|
{
|
|
return Result<bool>.Success(_emeterHourEnergyService.DeleteByIds(ids));
|
|
}
|
|
#endregion
|
|
|
|
#region 统计分析/电能表每天能耗值
|
|
/// <summary>
|
|
/// 统计分析/电能表每天能耗值
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterDayEnergyValue")]
|
|
public Result<List<EmeterDayEnergy>> GetEmeterDayEnergy()
|
|
{
|
|
return Result<List<EmeterDayEnergy>>.Success(_emeterDayEnergyService.Query());
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除电能表每天能耗值
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterDayEnergyValue{id}")]
|
|
public Result<bool> DeleteEmeterDayEnergy(long id)
|
|
{
|
|
return Result<bool>.Success(_emeterDayEnergyService.DeleteById(id));
|
|
}
|
|
/// <summary>
|
|
/// 批量删除电能表每天能耗值
|
|
/// </summary>
|
|
[HttpGet("TEgEmeterDayEnergyValue/BatchDelete")]
|
|
public Result<bool> DeleteListEmeterDayEnergy(int[] ids)
|
|
{
|
|
return Result<bool>.Success(_emeterDayEnergyService.DeleteByIds(ids));
|
|
}
|
|
#endregion
|
|
|
|
#region 统计分析/换电站分时用电统计信息
|
|
//TODO::
|
|
//小时计算总能耗值,小时计算充电能耗值,小时计算换电能耗值,小时计算其他能耗值,开始时间,结束时间
|
|
|
|
#endregion
|
|
|
|
#region 统计分析/换电站每天用电统计信息
|
|
//TODO::
|
|
//每天计算总能耗值,每天计算充电能耗值,每天计算换电能耗值,每天计算其他能耗值,开始时间,结束时间
|
|
|
|
#endregion
|
|
|
|
#region 电能监控/交流电能监控
|
|
|
|
/// <summary>
|
|
/// 电能监控/交流电能监控
|
|
/// </summary>
|
|
[HttpGet("ElecMeterParam/GetElecMeterParamValue")]
|
|
public Result<List<EmeterMinutesEnergy>> GetElecMeterParamValue()
|
|
{
|
|
var EquipInfo = _equipInfoService.QueryListByClause(i => i.TypeCode == 0);
|
|
List<string> strings = new List<string>();
|
|
foreach (var kvp in EquipInfo)
|
|
{
|
|
strings.Add(kvp.Code);
|
|
}
|
|
//TODO::过滤,确保编码相同只出现一次
|
|
return Result<List<EmeterMinutesEnergy>>.Success(_emeterMinutesEnergyService.QueryListByClause(i => strings.Contains(i.Code)).ToList());
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 电能监控/直流电能监控
|
|
/// <summary>
|
|
/// 电能监控/直流电能监控
|
|
/// </summary>
|
|
[HttpGet("ManualSwap/GetDcCurrentInfo")]
|
|
public Result<List<EmeterMinutesEnergy>> GetDcCurrentInfo()
|
|
{
|
|
var EquipInfo = _equipInfoService.QueryListByClause(i => i.TypeCode == 1);
|
|
List<string> strings = new List<string>();
|
|
foreach (var kvp in EquipInfo)
|
|
{
|
|
strings.Add(kvp.Code);
|
|
}
|
|
//TODO::过滤,确保编码相同只出现一次
|
|
return Result<List<EmeterMinutesEnergy>>.Success(_emeterMinutesEnergyService.QueryListByClause(i => strings.Contains(i.Code)).ToList());
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
}
|