123
tangxu
2024-08-02 97270e48e35dbce006263f6dc5fa6b6d8f81d0f5
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
102
103
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace IStation.Dto
{
    public class ZyPrjAnaSetting
    {
        /// <summary>
        /// 最少开泵时间(分钟)
        /// </summary>
        public int MinOpenTimeMinute { get; set; } = 30;
        /// <summary>
        /// 最少切泵时间(分钟)
        /// </summary>
        public int MinSwitchTimeMinute { get; set; } = 30;
        /// <summary>
        /// 最大切泵次数 
        /// </summary>
        public int MaxPumpSwitchCount  { get; set; } = 3;
        /// <summary>
        /// 优化方案: 0 用电量最少  1 电费最少
        /// </summary>
        public int OptSortType { get; set; } = 0;
 
        /// <summary>
        /// 开泵顺序(新)
        /// </summary>
        public string  OpenPumpIndexSequence { get; set; } = null;
 
        /// <summary>
        /// 关泵顺序(新)
        /// </summary>
        public string ClosePumpIndexSequence { get; set; } = null;
 
        /// <summary>
        /// 调度泵优先度 , 由OpenPumpIndexs改成OptimalPumpIndexSequence
        /// </summary>
        public string OptimalPumpIndexSequence { get; set; } = null;// new int[] { 1, 4, 2, 0, 3 };
 
        /// <summary>
        /// 
        /// </summary>
        public string UnablePumpIndexArray { get; set; } = null;
 
        /// <summary>
        /// 切换泵时间间隔(分钟)(新)
        /// </summary>
        public int SwitchPumpMinuteSpace { get; set; } = 5;
 
        /// <summary>
        /// 不许切泵时间
        /// </summary>
        public List<TimeRangeZy> SwitchPumpIgnoreTimes { get; set; }
 
        /// <summary>
        /// 开泵时间
        /// </summary>
        public List<TimeRangeZy> OpenPumpTimes { get; set; }
 
        /// <summary>
        /// 
        /// </summary>
        public class TimeRangeZy
        {
            public bool IsUse { get; set; }
            public int StartHour { get; set; }
            public int StartMinute { get; set; }
            public int EndHour { get; set; }
            public int EndMinute { get; set; }
        }
 
        public static  List<int> StringToList(string StartOpenPumpIndexArray)
        {
            if (string.IsNullOrEmpty(StartOpenPumpIndexArray))
                return null;
            List<int> list = new List<int>();
            if (!string.IsNullOrEmpty(StartOpenPumpIndexArray))
            {
                var sss = StartOpenPumpIndexArray.Split(',');
                foreach (var item in sss)
                {
                    if (int.TryParse(item, out int index))
                    {
                        list.Add(index);
                    }
                }
            }
            return list;
        }
 
        public static string  ListToString(int[] list)
        {
            if (list == null || list.Length == 0)
                return "";
            else 
                return string.Join(",", list);  
        }
 
 
       
    }
}