| | |
| | | using IStation.Application; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using System.Net.Sockets; |
| | | using Yw; |
| | | using static IStation.ChEr.Application.SSAData; |
| | | |
| | | namespace IStation.ChEr.WebApi |
| | | { |
| | |
| | | { |
| | | public static bool IsOpenState() |
| | | { |
| | | var result = ConnectHelper.GetByPumpOpenState(DateTime.Now, DateTime.Now.AddHours(-1)); |
| | | var result = ConnectHelper.GetByPumpOpenState(DateTime.Now, DateTime.Now.AddDays(1)); |
| | | foreach (var item in result) |
| | | { |
| | | if (item.Total != 0) |
| | | if (item.DateTime.Hour == DateTime.Now.Hour) |
| | | { |
| | | LogHelper.Info("弿ºæ¶é´ä¸ç´¯è®¡æµéä¸å¯¹åº"); |
| | | return true; |
| | | if (item.Total != 0) |
| | | { |
| | | LogHelper.Info("弿ºæ¶é´ä¸ç´¯è®¡æµéä¸å¯¹åº"); |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | public static double GetAccWater(List<RealScadaData> arrarlist, int code, out string error) |
| | | { |
| | | /* var json = File.ReadAllText("C:\\Users\\ZKC\\Desktop\\7-2.txt"); |
| | | var alllist2 = JsonHelper.Json2Object<List<double>>(json); |
| | | //var RealData = ConnectHelper.GetByPumpNowDayAndLastDayRealData(DateTime.Today, "120s"); |
| | | //var select = RealData[code].MonitorRecords; |
| | | //var timebucket = select.Where(x => x.Time.Hour <= dateTime.Hour && x.Time.Hour >= dateTime.Hour).ToList(); |
| | | */ |
| | | error = string.Empty; |
| | | var select = arrarlist[code].MonitorRecords; |
| | | var alllist = select.Select(x => x.Value).ToList(); |
| | | LogHelper.Info("æ°æ®ä¸ªæ°" + alllist.Count.ToString()); |
| | | var total = GetAccWater(alllist, out error); |
| | | return total; |
| | | } |
| | | |
| | | //è·åå°æ¶å
累计æµé |
| | | public static double GetAccWater(List<double?> realdata, out string error) |
| | | { |
| | | error = string.Empty; |
| | | if (realdata.Count < 28) |
| | | { |
| | | error = "å°æ¶å
æ°æ®ä¸è¶³28个ç¹"; |
| | | return 0; |
| | | } |
| | | if (realdata == null) |
| | | { |
| | | error = "å°æ¶å
æ°æ®ä¸ºç©º"; |
| | | return 0; |
| | | } |
| | | |
| | | var realdata2 = (from x in realdata where x >= 0 && x != null select x.Value).ToList(); |
| | | LogHelper.Info("ä¸å°æ¶å
æ°æ®" + JsonHelper.Object2Json(realdata2)); |
| | | return GetAccWater(realdata2, out error); |
| | | } |
| | | |
| | | public static double GetAccWater(List<double> realdata2, out string error) |
| | | { |
| | | error = string.Empty; |
| | | int lowtotalcount = 0; //æ»è®¡ä¸éæ¬¡æ° |
| | | var startValue = realdata2.FirstOrDefault(); |
| | | double total = 0; |
| | | for (int i = 1; i < realdata2.Count(); i++) |
| | | { |
| | | if (realdata2[i - 1] > realdata2[i]) |
| | | { |
| | | lowtotalcount++; |
| | | total = total + realdata2[i - 1] - startValue; |
| | | startValue = realdata2[i]; |
| | | } |
| | | if (i == realdata2.Count() - 1) |
| | | { |
| | | if (realdata2[i] > realdata2[i - 1]) |
| | | { |
| | | total = total + realdata2[i] - startValue; |
| | | } |
| | | } |
| | | } |
| | | if (lowtotalcount >= 3) |
| | | { |
| | | error = "å°æ¶å
è¿ç»æ¸
é¶æ¬¡æ°è¾å¤"; |
| | | } |
| | | return total; |
| | | |
| | | //double total = 0; |
| | | //int startindex = 0; //æ¯è¾çå¼å§ä¸æ |
| | | //int lowtotalcount = 0; //æ»è®¡ä¸éæ¬¡æ° |
| | | //for (int i = 0; i < realdata.Count - 1; i++) |
| | | //{ |
| | | // var current = realdata[i]; |
| | | // var next = realdata[i + 1]; |
| | | // if (!current.HasValue || !next.HasValue) |
| | | // { |
| | | // continue; |
| | | // } |
| | | |
| | | // // å¨è¿éè¿è¡æ¯è¾ |
| | | // if (next > current) |
| | | // { |
| | | // if (i == realdata.Count - 2) |
| | | // { |
| | | // total += (double)(next - realdata[startindex].Value); |
| | | // } |
| | | // continue; |
| | | // } |
| | | // else |
| | | // { |
| | | // total += (double)(current.Value - realdata[startindex].Value); |
| | | // startindex = i + 1; |
| | | // lowtotalcount++; |
| | | // } |
| | | //} |
| | | } |
| | | } |
| | | } |