コード例 #1
0
ファイル: GetHDTest.cs プロジェクト: Mx1014/EMS
        public void GetHistoryParamValueTest()
        {
            DateTime today = DateTime.Now;

            string circuitIDs = "000001G0010001";

            string[] ids = circuitIDs.Split(',');

            string circuitPrame = "31000000000711,31000000000700,31000000000701,31000000000702";

            string[] prame = circuitPrame.Split(',');

            DateTime startTime = DateTime.Now;
            int      step      = 65;

            List <HistoryBinarys> historyBinarys = GetHistoryString(ids, prame, today);

            //int day = 0;
            //int hour = 0;
            //int minute = 0;
            //Console.WriteLine(UtilTest.GetJson(historyBinarys));

            List <HistoryParameterValue> historyValueList = new List <HistoryParameterValue>();

            foreach (var item in historyBinarys)
            {
                for (int hour = 0; hour < 24; hour++)
                {
                    for (int minute = 0; minute < 56; minute = minute + step)
                    {
                        HistoryParameterValue historyValue = new HistoryParameterValue();
                        historyValue.ID        = item.CircuitID;
                        historyValue.Name      = item.CircuitName;
                        historyValue.ParamName = item.ParamName;

                        //historyValue.Time = new DateTime(startTime.Year, startTime.Month, startTime.Day, hour, minute, 0);
                        //double value = GetHistoryValue(item.Value, startTime.Day, hour, minute);
                        //if (-9999 != value)
                        //{
                        //    historyValue.Value = value;
                        //    historyValueList.Add(historyValue);
                        //}
                    }
                }
            }
            Console.WriteLine(UtilTest.GetJson(historyValueList));
        }
コード例 #2
0
ファイル: HistoryParamDbContext.cs プロジェクト: Mx1014/EMS
        /// <summary>
        /// 根据仪表ID,获取仪表所有的参数的值
        /// </summary>
        /// <param name="meterID"></param>
        /// <param name="dateTime"></param>
        /// <param name="step"></param>
        /// <returns></returns>
        public List <HistoryParameterValue> GetParamByMeterIDValue(string meterID, string dateTime, int step)
        {
            Acrel.HisDB.GetData          getData          = new Acrel.HisDB.GetData();
            List <HistoryParameterValue> historyValueList = new List <HistoryParameterValue>();
            DateTime nowTime = DateTime.Now;
            DateTime endTime;

            DateTime startTime = Util.ConvertString2DateTime(dateTime, "yyyy-MM-dd");

            //如果查询是的时间是今天,则结束时间为小于当前时间的为5的倍数的时间
            if (nowTime.Day == startTime.Day && nowTime.Month == startTime.Month && nowTime.Year == startTime.Year)
            {
                endTime = startTime.AddHours(nowTime.Hour).AddMinutes(nowTime.Minute - nowTime.Minute % 5 - 5);
            }
            else
            {
                //获取某天的23:55:00
                endTime = startTime.AddDays(1).AddMinutes(-5);
            }

            List <HistoryBinarys> historyBinarys = GetHistoryBinaryStringByMeterID(meterID, startTime);

            foreach (HistoryBinarys item in historyBinarys)
            {
                HistoryParameterValue historyValue = new HistoryParameterValue();
                historyValue.ID        = item.CircuitID;
                historyValue.Name      = item.CircuitName;
                historyValue.ParamCode = item.ParamCode;
                historyValue.ParamName = item.ParamName;
                historyValue.Values    = ConvertDicToList(getData.GetContinueBytesOfFive(item.Value, startTime, endTime, step));

                historyValueList.Add(historyValue);
            }

            return(historyValueList);
        }