/// <summary> /// /// </summary> /// <param name="tags"></param> /// <param name="starttime"></param> /// <param name="endtime"></param> /// <returns></returns> public Dictionary <string, StatisticsValueCollection> ReadStatisticsValue(List <string> tags, DateTime starttime, DateTime endtime) { if (mHisDataClient != null && !string.IsNullOrEmpty(mLoginId)) { Dictionary <string, StatisticsValueCollection> re = new Dictionary <string, StatisticsValueCollection>(); var req = new NumberValueStatisticsDataRequest() { StartTime = starttime.ToBinary(), EndTime = endtime.ToBinary(), Token = mLoginId }; req.Tags.AddRange(tags); var res = mHisDataClient.GetNumberValueStatisticsData(req); if (res.Result) { foreach (var vv in res.Values) { StatisticsValueCollection hvd = new StatisticsValueCollection(); foreach (var vvv in vv.Values) { hvd.Add(new StatisticsValue() { Time = DateTime.FromBinary(vvv.Time), AvgValue = vvv.AvgValue, MaxValue = vvv.MaxValue, MaxValueTime = DateTime.FromBinary(vvv.MaxTime), MinValue = vvv.MinValue, MinValueTime = DateTime.FromBinary(vvv.MinTime) }); } re.Add(vv.Tag, hvd); } } return(re); } return(null); }
/// <summary> /// /// </summary> /// <param name="request"></param> /// <param name="context"></param> /// <returns></returns> public override Task <StatisticsDataCollectionReplay> GetNumberValueStatisticsData(NumberValueStatisticsDataRequest request, ServerCallContext context) { if (SecurityManager.Manager.IsLogin(request.Token)) { StatisticsDataCollectionReplay re = new StatisticsDataCollectionReplay() { Result = true }; foreach (var vv in request.Tags) { string sname = GetGroupName(vv); if (SecurityManager.Manager.CheckReaderPermission(request.Token, sname)) { ReadTagStatisticsValue(vv, DateTime.FromBinary(request.StartTime), DateTime.FromBinary(request.EndTime), re); } } return(Task.FromResult(re)); } else { return(Task.FromResult(new StatisticsDataCollectionReplay() { Result = false })); } }