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>
|
/// EtaAnalyParallel
|
/// </summary>
|
[Route("Eta/Analy/Parallel")]
|
[ApiDescriptionSettings("Eta", Name = "能效并行分析", Order = 880)]
|
public class EtaAnalyParallel_Controller : IDynamicApiController
|
{
|
|
/// <summary>
|
/// 获取运行点列表
|
/// </summary>
|
[Route("GetRunPointList@V1.0")]
|
[HttpPost]
|
public List<EtaParallelQHP> GetRunPointList([Required] EtaParallelHZLimitersInput 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.Count < 1)
|
{
|
throw new Exception("未检索到机泵管路信息");
|
}
|
|
var limiters = new List<Model.EtaHZIndexLimiter>();
|
var runningFlag = pipeLineList.Select(x => RunStatus.Shut).ToList();
|
foreach (var item in input.Items)
|
{
|
var limiter = new Model.EtaHZIndexLimiter();
|
limiter.Index = item.Index;
|
limiter.HZmin = item.HZmin;
|
limiter.HZmax = item.HZmax;
|
limiters.Add(limiter);
|
runningFlag[item.Index - 1] = RunStatus.Run;
|
}
|
|
var list = new Service.EtaMultiRealRecord().GetRunQHPByRunningFlagAndHZOfDayRange
|
(input.CorpID, input.ObjectType, input.ObjectID, runningFlag, limiters, input.StartDay, input.EndDay);
|
var vm_list = list?.Select(x => new EtaParallelQHP(x)).ToList();
|
return vm_list;
|
}
|
|
|
|
}
|
}
|