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 { /// /// EtaAnalyHeat /// [Route("Eta/Analy/Heat")] [ApiDescriptionSettings("Eta", Name = "能效热力分析", Order = 890)] public class EtaAnalyHeat_Controller : IDynamicApiController { /// /// 通过日期区间获取热力区间列表 /// [Route("GetRectListOfDayRange@V1.0")] [HttpGet] public List 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; } /// /// 通过日期区间获取热力区间列表(包含坐标信息) /// [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; } /// /// 通过日期区间获取热力区间详细列表 /// [Route("GetRectDetailListOfDayRange@V1.0")] [HttpGet] public List 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(); 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(); 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; } } }