duheng
2024-05-22 f0aaa59c3bb1ef75affcacadbcc8fae21149f52c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
using IStation;
using IStation.ChEr.Application;
using IStation.ChEr.DAL;
using IStation.ChEr.Model;
using IStation.Service;
using System;
using Yw;
using static IStation.Service.SSAPredictHelper;
 
namespace IStation.Application
{
    /// <summary>
    /// Debug
    /// </summary>
    [Route("Debug")]
    [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()
        {
            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);*/
            //var alllist = bll.GetEnd2Days(300);
            var historylist = new List<WaterPredictRecord>();
            var historydata = ConnectHelper.GetByPumpOneDayWaterData(DateTime.Today.AddDays(-15), DateTime.Today);
            foreach (var item in historydata)
            {
                if (item.DateTime.Minute == 0)
                {
                    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, RealValue = 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)).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].RealValue = todayData[i].Total;
            }
            bll.UpdatesRealValue(currentdata);
            return "ok";
        }
 
        /// <summary>
        ///  最近3条记录
        /// </summary>
        [Route("GetLastRecord3")]
        [HttpGet]
        public List<IStation.ChEr.Model.WaterPredictRecord> GetLastRecord3()
        {
            IStation.ChEr.BLL.WaterPredictRecord bll = new ChEr.BLL.WaterPredictRecord();
 
            return bll.GetLast(3);
        }
 
        /// <summary>
        /// 保存到数据库
        /// </summary>
        [Route("InsertRecord")]
        [HttpGet]
        public string InsertRecord()
        {
            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, RealValue = -1, LastPredictTime = DateTime.Now, PredictTime = DateTime.Now, LastPredictValue = 104, PredictValueList = "101,103,105,107" });
            return "ok";
        }
    }
}