| | |
| | | using IStation; |
| | | using IStation.ChEr.DAL; |
| | | using System; |
| | | using IStation.ChEr.Application; |
| | | using IStation.ChEr.Model; |
| | | |
| | | namespace IStation.Application |
| | | { |
| | |
| | | [ApiDescriptionSettings("Debug", Name = "Debug(调试)", Order = 9900)] |
| | | public class DebugController : IDynamicApiController |
| | | { |
| | | private IStation.ChEr.BLL.WaterPredictRecord bll = new IStation.ChEr.BLL.WaterPredictRecord(); |
| | | |
| | | /// <summary> |
| | | ///Debug log |
| | | /// </summary> |
| | | [Route("LogInfo")] |
| | | [HttpGet] |
| | | public string LogInfo( ) |
| | | public string LogInfo() |
| | | { |
| | | IStation.LogHelper.Info("info from debug api"); |
| | | /* List<WaterPredictRecord> waterPredictRecord = new List<WaterPredictRecord>(); |
| | | ConnectHelper connectHelper = new ConnectHelper(); |
| | | var list = ConnectHelper.ReadPumpAllDayAccOutWater(new DateTime(2023, 1, 1), new DateTime(2023, 11, 14)); |
| | | foreach (var item in list) |
| | | { |
| | | foreach (var item2 in item.pumpOutWater) |
| | | { |
| | | int dayHour = int.Parse(string.Format("{0:00}{1:00}{2:00}", item2.DateTime.Month, item2.DateTime.Day, item2.DateTime.Hour)); |
| | | |
| | | waterPredictRecord.Add(new WaterPredictRecord { DayHour = dayHour, RealValue = item2.Total }); |
| | | } |
| | | } |
| | | bll.Inserts(waterPredictRecord);*/ |
| | | List<SSAData> sSADatas = new List<SSAData>(); |
| | | /* var path = "C:\\Users\\ZKC\\Desktop\\工now.csv"; |
| | | int totalLines = File.ReadLines(path, Encoding.GetEncoding("gb2312")).Count();//总行数 |
| | | System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Open); |
| | | System.IO.StreamReader sr = new System.IO.StreamReader(fs, Encoding.GetEncoding("gb2312")); |
| | | string tempText; |
| | | // int line = 0; |
| | | double total = 0; |
| | | for (int i = 0; i < totalLines; i++) |
| | | { |
| | | tempText = sr.ReadLine(); |
| | | string[] arr = tempText.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); |
| | | if (Convert.ToDateTime(arr[0]).Minute == 0) |
| | | { |
| | | sSADatas.Add(new SSAData { DateTime = Convert.ToDateTime(arr[0]), Total = Convert.ToDouble(arr[1]) }); |
| | | } |
| | | } |
| | | var nee = new List<WaterPredictRecord>(); |
| | | double lastValue = 1; |
| | | foreach (var item in sSADatas) |
| | | { |
| | | if (item.DateTime.Minute == 0) |
| | | { |
| | | if (lastValue != 1) |
| | | { |
| | | int historyhour = int.Parse(string.Format("{0:00}{1:00}{2:00}", item.DateTime.Month, item.DateTime.Day, item.DateTime.Hour)); |
| | | nee.Add(new WaterPredictRecord() { DayHour = historyhour, RealTotalValue = item.Total, RealDifferenceValue = item.Total - lastValue }); |
| | | lastValue = item.Total; |
| | | } |
| | | else |
| | | { |
| | | int historyhour = int.Parse(string.Format("{0:00}{1:00}{2:00}", item.DateTime.Month, item.DateTime.Day, item.DateTime.Hour)); |
| | | nee.Add(new WaterPredictRecord() { DayHour = historyhour, RealTotalValue = item.Total, RealDifferenceValue = 0 }); |
| | | lastValue = item.Total; |
| | | } |
| | | } |
| | | } |
| | | bll.Inserts(nee);*/ |
| | | double lastValue = 1; |
| | | var historylist = new List<WaterPredictRecord>(); |
| | | var historydata = ConnectHelper.GetByPumpOneDayWaterData(DateTime.Today.AddDays(-15), DateTime.Today, "1h"); |
| | | foreach (var item in historydata) |
| | | { |
| | | if (lastValue != 1) |
| | | { |
| | | int historyhour = int.Parse(string.Format("{0:00}{1:00}{2:00}", item.DateTime.Month, item.DateTime.Day, item.DateTime.Hour)); |
| | | historylist.Add(new WaterPredictRecord() { DayHour = historyhour, RealTotalValue = item.Total, RealDifferenceValue = item.Total - lastValue }); |
| | | lastValue = item.Total; |
| | | } |
| | | else |
| | | { |
| | | int historyhour = int.Parse(string.Format("{0:00}{1:00}{2:00}", item.DateTime.Month, item.DateTime.Day, item.DateTime.Hour)); |
| | | historylist.Add(new WaterPredictRecord() { DayHour = historyhour, RealTotalValue = item.Total, RealDifferenceValue = 0 }); |
| | | lastValue = item.Total; |
| | | } |
| | | } |
| | | bll.Inserts(historylist); |
| | | // int a = 0; |
| | | /* for (DateTime i = DateTime.Today.AddDays(-12); i < DateTime.Today; i = i.AddDays(1)) |
| | | { |
| | | for (int k = 0; k < 24; k++) |
| | | { |
| | | var ssso = int.Parse(string.Format("{0:00}{1:00}{2:00}", i.Month, i.Day, k)); |
| | | alllist[a].DayHour = ssso; |
| | | a++; |
| | | } |
| | | } |
| | | bll.Updates(alllist);*/ |
| | | SSAData.insert2daysPredictData(); //插入两天预测数据 |
| | | var todayData = ConnectHelper.GetByPumpOneDayWaterData(DateTime.Today, DateTime.Today.AddDays(1), "1h").Where(x => x.DateTime.Hour <= DateTime.Now.Hour).ToList(); |
| | | var starthour = int.Parse(string.Format("{0:00}{1:00}{2:00}", DateTime.Now.Month, DateTime.Now.Day, 0)); |
| | | var endhour = int.Parse(string.Format("{0:00}{1:00}{2:00}", todayData.Last().DateTime.Month, todayData.Last().DateTime.Day, todayData.Last().DateTime.Hour)); |
| | | var alllist2 = bll.GetEnd2Days(300); |
| | | var currentdata = alllist2.Where(x => x.DayHour >= starthour && x.DayHour <= endhour).OrderBy(x => x.DayHour).ToList(); |
| | | //找出所有数据中和取实时数据匹配的数据并赋值 |
| | | for (int i = 0; i < currentdata.Count; i++) |
| | | { |
| | | currentdata[i].RealTotalValue = todayData[i].Total; |
| | | if (i >= 1) |
| | | { |
| | | currentdata[i].RealDifferenceValue = todayData[i].Total - todayData[i - 1].Total; |
| | | } |
| | | else |
| | | { |
| | | // currentdata[i].RealDifferenceValue = todayData[i].Total-bll.GetEnd2Days(24).Last().RealValue; |
| | | } |
| | | } |
| | | bll.UpdatesRealValue(currentdata); |
| | | return "ok"; |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | [Route("GetLastRecord3")] |
| | | [HttpGet] |
| | | public List<IStation.ChEr.Model.WaterPredict> GetLastRecord3() |
| | | public List<IStation.ChEr.Model.WaterPredictRecord> GetLastRecord3() |
| | | { |
| | | IStation.ChEr.BLL.WaterPredict bll = new ChEr.BLL.WaterPredict(); |
| | | IStation.ChEr.BLL.WaterPredictRecord bll = new ChEr.BLL.WaterPredictRecord(); |
| | | |
| | | return bll.GetLast(3); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 保存到数据库 |
| | | /// </summary> |
| | | [Route("SaveDB")] |
| | | [Route("InsertRecord")] |
| | | [HttpGet] |
| | | public string SaveDB() |
| | | public string InsertRecord() |
| | | { |
| | | //var db = new MainDbContext(); |
| | | //db.InitTables(); |
| | | //var bll = new IStation.BLL.PredictData(); |
| | | //bll.GetAll(); |
| | | return null; |
| | | IStation.ChEr.BLL.WaterPredictRecord bll = new ChEr.BLL.WaterPredictRecord(); |
| | | int dayHour = int.Parse(string.Format("{0:00}{1:00}{2:00}", DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour)); |
| | | bll.Insert(new ChEr.Model.WaterPredictRecord() { DayHour = dayHour, RealTotalValue = -1, LastPredictTime = DateTime.Now, PredictTime = DateTime.Now, LastPredictValue = 104, PredictValueList = "101,103,105,107" }); |
| | | return "ok"; |
| | | } |
| | | } |
| | | } |