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
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;
        }
 
 
 
    }
}