Example #1
0
        public float 统计(M频率统计条件 __条件)
        {
            var __返回值 = _IT客户端.执行方法(_对象名称, "统计频率", new Dictionary <string, string> {
                { "条件", HJSON.序列化(__条件) }
            }, 30000);

            return(float.Parse(__返回值));
        }
Example #2
0
        public float 统计频率(M频率统计条件 __条件)
        {
            var __号码列表 = __条件.号码列表;
            var __总数   = 0;
            var __号码总数 = 0;

            using (var __连接 = new SqlConnection(_连接字符串))
            {
                if (!存在表(__连接, __条件.开始时间.Date))
                {
                    return(0);
                }
                var __表名 = _表前缀 + __条件.开始时间.Date.ToString("yyyyMMdd");
                if (__条件.号码列表 == null || __号码列表.Count == 0)
                {
                    var __sql  = string.Format("SELECT COUNT([号码]) FROM {0} WHERE 时间 >= @开始时间 AND 时间 <= @结束时间", __表名);
                    var __参数列表 = new DbParameter[2] {
                        new SqlParameter("开始时间", __条件.开始时间), new SqlParameter("结束时间", __条件.结束时间)
                    };
                    __总数 = (int)SQLHelper.ExecuteScalar(__连接, __sql, __参数列表);

                    __sql  = string.Format("SELECT COUNT(DISTINCT [号码]) FROM {0} WHERE 时间 >= @开始时间 AND 时间 <= @结束时间", __表名);
                    __参数列表 = new DbParameter[2] {
                        new SqlParameter("开始时间", __条件.开始时间), new SqlParameter("结束时间", __条件.结束时间)
                    };
                    __号码总数 = (int)SQLHelper.ExecuteScalar(__连接, __sql, __参数列表);
                }
                else
                {
                    __号码总数 = __号码列表.Count;
                    var __sql  = string.Format("SELECT [号码] FROM {0} WHERE 时间 >= @开始时间 AND 时间 <= @结束时间", __表名);
                    var __参数列表 = new DbParameter[2] {
                        new SqlParameter("开始时间", __条件.开始时间), new SqlParameter("结束时间", __条件.结束时间)
                    };
                    using (var __访问器 = SQLHelper.ExecuteReader(__连接, __sql, __参数列表))
                    {
                        while (__访问器.Read())
                        {
                            var __号码 = __访问器.GetString(0);
                            if (__号码列表.Contains(__号码))
                            {
                                __总数++;
                            }
                        }
                    }
                }
            }
            if (__总数 == 0)
            {
                return(0);
            }
            return((float)(__条件.结束时间.Subtract(__条件.开始时间).TotalSeconds / (__总数 * 1.0f / __号码总数)));
        }
Example #3
0
        private void Do统计频率_Click(object sender, EventArgs e)
        {
            var __时间 = 获取时间();
            var __条件 = new M频率统计条件
            {
                开始时间 = __时间.Item1,
                结束时间 = __时间.Item2,
                号码列表 = this.in号码列表.Text.Split(new char[] { ',', ',' }, StringSplitOptions.RemoveEmptyEntries).ToList()
            };
            float __结果 = 0;

            HUI线程.异步执行(this, () =>
            {
                __结果 = GPS.B入口.数据.统计(__条件);
            }, () =>
            {
                new F对话框_确定(string.Format("频率: {0} 秒/次", __结果)).ShowDialog();
            }, ex =>
            {
                new F对话框_确定(string.Format("执行失败\r\n{0}", ex.Message)).ShowDialog();
            });
        }
Example #4
0
 public float 统计频率(M频率统计条件 __条件)
 {
     return(_IDGPS数据.统计频率(__条件));
 }
Example #5
0
 public float 统计(M频率统计条件 __条件)
 {
     return(0);
 }
Example #6
0
 public float 统计频率(M频率统计条件 __条件)
 {
     throw new NotImplementedException();
 }