ningshuxia
2022-12-01 ad494f13d2ddf31f142cf7fb908b3a6e90395a1a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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;
 
        }
 
 
    }
}