using Microsoft.AspNetCore.Mvc;
|
using System.Net;
|
using System.Net.Http.Headers;
|
using Microsoft.Extensions.Hosting.Internal;
|
using Microsoft.AspNetCore.Http.Extensions;
|
using IStation.Untity;
|
using Furion.DynamicApiController;
|
using System.ComponentModel.DataAnnotations;
|
using Mapster;
|
|
|
|
namespace IStation.Application
|
{
|
/// <summary>
|
/// EtaAnalyHeat
|
/// </summary>
|
[Route("Eta/Analy/Heat")]
|
[ApiDescriptionSettings("Eta", Name = "能效热力分析", Order = 890)]
|
public class EtaAnalyHeat_Controller : IDynamicApiController
|
{
|
|
/// <summary>
|
/// 通过日期区间获取热力区间列表
|
/// </summary>
|
[Route("GetRectListOfDayRange@V1.0")]
|
[HttpGet]
|
public List<EtaHeatRectItem> GetRectListOfDayRange([FromQuery][Required] QueryEtaHeatRectInput input)
|
{
|
var list = new Service.EtaMultiRealRecord().GetRunQHETRectByObjectOfDayRange
|
(input.CorpID, input.ObjectType, input.ObjectID, input.Qspace, input.Hspace, input.StartDay, input.EndDay);
|
var vm_list = list?.Select(x => new EtaHeatRectItem(x)).ToList();
|
return vm_list;
|
}
|
|
|
/// <summary>
|
/// 通过日期区间获取热力区间列表(包含坐标信息)
|
/// </summary>
|
[Route("GetRectListExOfDayRange@V1.0")]
|
[HttpGet]
|
public EtaHeatRectList GetRectListExOfDayRange([FromQuery][Required] QueryEtaHeatRectInput input)
|
{
|
var list = new Service.EtaMultiRealRecord().GetRunQHETRectListByObjectOfDayRange
|
(input.CorpID, input.ObjectType, input.ObjectID, input.Qspace, input.Hspace, input.StartDay, input.EndDay);
|
var vm = new EtaHeatRectList(list);
|
return vm;
|
}
|
|
/// <summary>
|
/// 通过日期区间获取热力区间详细列表
|
/// </summary>
|
[Route("GetRectDetailListOfDayRange@V1.0")]
|
[HttpGet]
|
public List<EtaHeatRectDetailItem> GetRectDetailListOfDayRange([FromQuery][Required] QueryEtaHeatRectDetailInput input)
|
{
|
var pipeLineList = new Service.PipeLine().GetByBelongTypeAndBelongID(input.CorpID, input.ObjectType, input.ObjectID);
|
if (pipeLineList == null || pipeLineList.Count < 1)
|
{
|
throw new Exception("未检索到管路信息");
|
}
|
pipeLineList = pipeLineList.Where(x => x.Catalog == IStation.PipeLine.EnginePump && x.SerialNO != null).OrderBy(x => x.SerialNO).ToList();
|
if (pipeLineList == null)
|
{
|
throw new Exception("未检索到机泵管路信息");
|
}
|
|
var list = new Service.EtaMultiRealRecord().GetRunSummaryContentByObjectOfQHDayRange
|
(input.CorpID, input.ObjectType, input.ObjectID, input.Qmin, input.Qmax, input.Hmin, input.Hmax, input.StartDay, input.EndDay);
|
if (list == null || list.Count < 1)
|
{
|
return default;
|
}
|
var vm_list = new List<EtaHeatRectDetailItem>();
|
foreach (var item in list)
|
{
|
var vm = new EtaHeatRectDetailItem();
|
vm.Qavg = item.Qavg;
|
vm.Havg = item.Havg;
|
vm.Pavg = item.Pavg;
|
vm.Eavg = item.Eavg;
|
vm.Tsum = item.Tsum;
|
vm.Count = item.RunningCount;
|
var nameList = new List<string>();
|
for (int i = 0; i < item.RunningFlag.Count; i++)
|
{
|
if (item.RunningFlag[i] == RunStatus.Run)
|
{
|
nameList.Add(pipeLineList[i].Name);
|
}
|
}
|
vm.Name = string.Join(",", nameList);
|
vm_list.Add(vm);
|
}
|
return vm_list;
|
|
}
|
|
|
}
|
}
|