| | |
| | | using IStation.ZyModel; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Security.Policy; |
| | | using System.Threading.Tasks; |
| | |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 格式不正确" }; |
| | | } |
| | | var TotalWater = await ZyConnectHelper.GetTotalWaterByDayTimeRange_In(Start, d, "3600"); //取水量 |
| | | // ReadPumpAllDayOutAccWater |
| | | // var TotalWater = PumpRunParasHelper.ReadPumpAllDayOutAccWater(d, d.AddDays(1)); |
| | | var TotalWater = await ZyConnectHelper.GetTotalWaterByTimeRange_Out(Start, d, "1h"); //取水量 |
| | | /* var one = TotalWater |
| | | .SelectMany(otdl => otdl.MonitorRecords); |
| | | var two = one.GroupBy(totalDay => totalDay.Time); |
| | | var three = two.Select(group => |
| | | { |
| | | var time = group.First().Time; // 从组中获取时间 |
| | | var totalSumForTimePoint = group.Sum(totalDay => totalDay.Value); // 在时间点分组中计算总和 |
| | | return new { Time = time, Total = totalSumForTimePoint }; |
| | | });*/ |
| | | var totalSumByTimePoint = TotalWater |
| | | .SelectMany(otdl => otdl.MonitorRecords) |
| | | .GroupBy(totalDay => totalDay.Time.TimeOfDay) // 按照小时和分钟进行分组 |
| | | .GroupBy(totalDay => totalDay.Time) // 按照小时和分钟进行分组 |
| | | .Select(group => |
| | | { |
| | | var time = group.First().Time.TimeOfDay; // 从组中获取时间 |
| | | var time = group.First().Time; // 从组中获取时间 |
| | | var totalSumForTimePoint = group.Sum(totalDay => totalDay.Value); // 在时间点分组中计算总和 |
| | | return new { Time = time, Total = totalSumForTimePoint }; |
| | | }); |
| | |
| | | List<SSAData> totalOneDays = new List<SSAData>(); |
| | | foreach (var item in totalSumByTimePoint) |
| | | { |
| | | totalOneDays.Add(new SSAData() { DateTime = d + item.Time, Total = (double)item.Total }); |
| | | totalOneDays.Add(new SSAData() { DateTime = item.Time, Total = (double)item.Total }); |
| | | } |
| | | return new IStation.Dto.ApiResult<List<SSAData>>(totalOneDays) { Code = ApiResultCode.Success, Message = "Success" }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取供水开机状态 |
| | | /// </summary> |
| | | /// <param name="startday"></param> 开始日期 |
| | | /// <param name="endday"></param> 结束日期 |
| | | /// <returns></returns> |
| | | [Route("GetPumpOpenState")] |
| | | [HttpGet] |
| | | public async Task<IStation.Dto.ApiResult> GetPumpOpenState(string startday, string endday) |
| | | { |
| | | if (startday == null || endday == null) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day null" }; |
| | | } |
| | | DateTime Start; |
| | | if (!DateTime.TryParse(startday, out Start)) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 格式不正确" }; |
| | | } |
| | | DateTime d; |
| | | if (!DateTime.TryParse(endday, out d)) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 格式不正确" }; |
| | | } |
| | | var result = await ZyConnectHelper.GetPumpOpenStatusDay(Start, d, "1h"); |
| | | var totalSumByTimePoint = result |
| | | .SelectMany(otdl => otdl.MonitorRecords) |
| | | .GroupBy(totalDay => totalDay.Time) // 按照小时和分钟进行分组 |
| | | .Select(group => |
| | | { |
| | | var time = group.First().Time; // 从组中获取时间 |
| | | var totalSumForTimePoint = group.Sum(totalDay => totalDay.Value); // 在时间点分组中计算总和 |
| | | return new { Time = time, Total = totalSumForTimePoint }; |
| | | }); |
| | | List<SSAData> totalOneDays = new List<SSAData>(); |
| | | foreach (var item in totalSumByTimePoint) |
| | | { |
| | | totalOneDays.Add(new SSAData() { DateTime = item.Time, Total = (double)item.Total }); |
| | | } |
| | | return new IStation.Dto.ApiResult<List<SSAData>>(totalOneDays) { Code = ApiResultCode.Success, Message = "Success" }; |
| | | } |