namespace IStation.Application
{
///
/// 运行分析
///
[AllowAnonymous]
[Route("Web/RunHeat")]
[ApiDescriptionSettings("Web", Name = "运行分析", Order = 1)]
public class RunHeat_Controller : IDynamicApiController, ITransient
{
///
/// 通过日期区间获取热力区间列表
///
[Route("GetRectListOfDayRange@V1.0")]
[HttpGet]
public List GetRectListOfDayRange([FromQuery][Required] QueryEtaAnalyRunHeatRectInput input)
{
var list = new IStation.Service.EtaMultiRealRecord().GetRunQHETRectByObjectOfDayRange
(input.Station, input.Qspace, input.Hspace, input.StartDay, input.EndDay);
var vm_list = list?.Select(x => new EtaAnalyRunHeatRectItemDto()
{
Qmax = x.Qmax,
Qmin = x.Qmin,
Hmax = x.Hmax,
Hmin = x.Hmin,
Eavg = x.Eavg,
Tsum = x.Tsum
}).ToList();
return vm_list;
}
///
/// 通过日期区间获取热力区间列表(包含坐标信息)
///
[Route("GetRectListExOfDayRange@V1.0")]
[HttpGet]
public EtaAnalyRunHeatRectListDto GetRectListExOfDayRange([FromQuery][Required] QueryEtaAnalyRunHeatRectInput input)
{
var list = new IStation.Service.EtaMultiRealRecord().GetRunQHETRectListByObjectOfDayRange
(input.Station, input.Qspace, input.Hspace, input.StartDay, input.EndDay);
var vm = new EtaAnalyRunHeatRectListDto();
vm.Qmax = list.Qmax;
vm.Qmin = list.Qmin;
vm.Qspace = list.Qspace;
vm.Hmax = list.Hmax;
vm.Hmin = list.Hmin;
vm.Hspace = list.Hspace;
vm.Items = list.RectList?.Select(x => new EtaAnalyRunHeatRectItemDto()
{
Qmax = x.Qmax,
Qmin = x.Qmin,
Hmax = x.Hmax,
Hmin = x.Hmin,
Eavg = x.Eavg,
Tsum = x.Tsum
}).ToList();
return vm;
}
///
/// 通过日期区间获取热力区间详细列表
///
[Route("GetRectDetailListOfDayRange@V1.0")]
[HttpGet]
public List GetRectDetailListOfDayRange([FromQuery][Required] QueryEtaAnalyRunHeatRectDetailInput input)
{
var list = new IStation.Service.EtaMultiRealRecord().GetRunSummaryContentByStationOfQHDayRange
(input.Station, 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 EtaAnalyRunHeatRectDetailItemDto();
vm.Qavg = Math.Round(item.Qavg, 1);
vm.Havg = Math.Round(item.Havg, 2);
vm.Pavg = Math.Round(item.Pavg, 1);
vm.Eavg = Math.Round(item.Eavg, 1);
vm.Tsum = item.Tsum;
vm.Count = item.RunningCount;
var nameList = new List();
for (int i = 0; i < item.RunningFlag.Count; i++)
{
nameList.Add(item.RunningFlag[i] + "#");
}
vm.Name = string.Join(",", nameList);
vm_list.Add(vm);
}
return vm_list;
}
}
}