using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IStation.Model.Monitor { /// /// 枚举累积计算公式参数 /// public class EnumAccumulateCalculationFormulaParas : JsonModel { /// /// 累积类型 /// public enum eAccumulateType { /// /// 秒 /// Second = 0, /// /// 分 /// Minute = 1, /// /// 时 /// Hour = 2, /// /// 日 /// Day = 3 } /// /// 测点标识 /// public long ObjectID { get; set; } /// /// 枚举值列表 /// public List EnumValues { get; set; } /// /// 累积类型 /// public eAccumulateType AccumulateType { get; set; } /// /// 计算 /// public double Calculate(double instantValue, double second) { if (this.EnumValues == null || this.EnumValues.Count < 1) return default; if (!this.EnumValues.Contains(instantValue)) return default; double result = second; switch (this.AccumulateType) { case eAccumulateType.Second: result = second; break; case eAccumulateType.Minute: result = second / 60; break; case eAccumulateType.Hour: result = second / 3600; break; case eAccumulateType.Day: result = second / 3600 / 24; break; default: break; } return result; } } }