예제 #1
0
        /// <summary>
        /// 查询周平均值
        /// </summary>
        /// <param name="jc_Hourrequest"></param>
        /// <returns></returns>
        public BasicResponse <Jc_HourInfo> GetWeekAverageValueByPointId(Jc_HourGetRequest jc_Hourrequest)
        {
            Jc_HourInfo hourInfo        = new Jc_HourInfo();
            var         jc_Hourresponse = new BasicResponse <Jc_HourInfo>();

            try
            {
                //查询周平均数据.
                DataTable dataTable = _Repository.QueryTable("dataAnalysis_WeekAverageValue", jc_Hourrequest.PointId);
                jc_Hourresponse.Code = 100;
                if (dataTable != null && dataTable.Rows.Count > 0)
                {
                    hourInfo.CountDataValue = dataTable.Rows[0][0].ToString();
                }
                else
                {
                    hourInfo.CountDataValue = "0";
                }
            }
            catch (Exception ex)
            {
                jc_Hourresponse.Code    = 1;
                jc_Hourresponse.Message = ex.Message;
            }

            jc_Hourresponse.Data = hourInfo;
            return(jc_Hourresponse);
        }
예제 #2
0
        /// <summary>
        /// 查询月平均值
        /// </summary>
        /// <param name="jc_Hourrequest"></param>
        /// <returns>CountDataValue</returns>
        public BasicResponse <Jc_HourInfo> GetMonthAverageValueByPointId(Jc_HourGetRequest jc_Hourrequest)
        {
            Jc_HourInfo listResult      = new Jc_HourInfo();
            var         jc_Hourresponse = new BasicResponse <Jc_HourInfo>();

            try
            {
                DataTable dataTable = _Repository.QueryTable("global_FactorCalculateService_MonthAverageValue", jc_Hourrequest.PointId);
                jc_Hourresponse.Code = 100;
                if (dataTable != null && dataTable.Rows.Count > 0)
                {
                    listResult.CountDataValue = dataTable.Rows[0][0].ToString();
                }
                else
                {
                    listResult.CountDataValue = "0";
                }
            }
            catch (Exception ex)
            {
                jc_Hourresponse.Code    = 1;
                jc_Hourresponse.Message = ex.Message;
            }

            jc_Hourresponse.Data = listResult;
            return(jc_Hourresponse);
        }
        /// <summary>
        /// 计算单个测点的分析基础值
        /// </summary>
        /// <param name="pointid"></param>
        /// <returns></returns>
        private Jc_HourInfo GetHourInfoByPointID(string pointid)
        {
            Jc_HourInfo hourInfo = null;

            try
            {
                IJc_HourService   jc_HourService    = ServiceFactory.Create <IJc_HourService>();
                Jc_HourGetRequest jc_HourGetRequest = new Jc_HourGetRequest();
                jc_HourGetRequest.PointId = pointid;
                var result = jc_HourService.GetWeekAverageValueByPointId(jc_HourGetRequest);
                if (result.Data != null && result.IsSuccess)
                {
                    hourInfo = result.Data;
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("RatioAlarmProcHandle GetBasicValues Error" + ex.Message);
            }
            return(hourInfo);
        }
예제 #4
0
        /// <summary>
        /// 查询日最大值
        /// </summary>
        /// <param name="jc_Hourrequest"></param>
        /// <returns>CountDataValue</returns>
        public BasicResponse <Jc_HourInfo> GetDayMaxValueByPointId(Jc_HourGetRequest jc_Hourrequest)
        {
            Jc_HourInfo listResult      = new Jc_HourInfo();
            var         jc_Hourresponse = new BasicResponse <Jc_HourInfo>();

            try
            {
                string parm0 = string.Format("select PointID, zdz, pjz, Timer from KJ_Hour{0}", DateTime.Now.ToString("yyyyMM"));
                if (DateTime.Now.AddDays(-1).ToString("yyyyMM") != DateTime.Now.ToString("yyyyMM"))
                {
                    //过去一天存在跨月的情况
                    string    beforeYearMonth = DateTime.Now.AddDays(-1).ToString("yyyyMM");
                    DataTable dtExists        = _Repository.QueryTable("dataAnalysis_QueryTableExists", _Repository.DatebaseName, string.Format("JC_HOUR{0}", beforeYearMonth));
                    if (dtExists != null && dtExists.Rows.Count > 0)
                    {
                        //上月的表也存在,需要联合表查询.
                        parm0 = string.Concat(parm0, string.Format(" union all select PointID, zdz, pjz, Timer from JC_HOUR{0}", beforeYearMonth));
                    }
                }
                DataTable dataTable = _Repository.QueryTable("global_FactorCalculateService_DayMaxValue", parm0, jc_Hourrequest.PointId);
                jc_Hourresponse.Code = 100;
                if (dataTable != null && dataTable.Rows.Count > 0)
                {
                    listResult.CountDataValue = dataTable.Rows[0][0].ToString();
                }
                else
                {
                    listResult.CountDataValue = "0";
                }
            }
            catch (Exception ex)
            {
                jc_Hourresponse.Code    = 1;
                jc_Hourresponse.Message = ex.Message;
            }

            jc_Hourresponse.Data = listResult;
            return(jc_Hourresponse);
        }
        /// <summary>
        /// 从内存中获取当前测点的分析基数(周平均值)
        /// </summary>
        /// <param name="def"></param>
        /// <returns></returns>
        private double GetBasicValueByDef(Jc_DefInfo def)
        {
            double basicValue = 0;

            if (BasisValueItems.ContainsKey(def.Point))
            {
                basicValue = BasisValueItems[def.Point];
            }
            else
            {
                Jc_HourInfo hourInfo = GetHourInfoByPointID(def.PointID);
                if (hourInfo == null)
                {
                    basicValue = 0;
                }
                else
                {
                    basicValue = hourInfo.Pjz;
                }
                BasisValueItems.Add(def.Point, basicValue);
            }
            return(basicValue);
        }