Пример #1
0
        /// 获取热点路由数据
        /// <summary>
        /// 获取热点路由数据
        /// </summary>
        /// <param name="query"></param>
        /// <param name="pageindex"></param>
        /// <param name="pagesize"></param>
        /// <param name="total"></param>
        /// <param name="hzdt"></param>
        /// <returns></returns>
        public DataTable GetRoutepointData(QueryRoutepoint query, int pageindex, int pagesize, out int total, out DataTable hzdt)
        {
            string  hzsql = "";
            string  sql   = GetRoutepointSql(query, out hzsql);
            DataSet ds    = new DataSet();

            using (SqlConnection conn = new SqlConnection(CONNECTIONSTRINGS))
            {
                conn.Open();
                //设置周起始星期
                SqlHelper.ExecuteNonQuery(conn, CommandType.Text, "SET DATEFIRST 1");
                //查询详情
                SqlParameter[] parameters =
                {
                    new SqlParameter("@SQL",           SqlDbType.NVarChar, 4000),
                    new SqlParameter("@Order",         SqlDbType.NVarChar,  200),
                    new SqlParameter("@CurPage",       SqlDbType.Int,         4),
                    new SqlParameter("@PageRows",      SqlDbType.Int,         4),
                    new SqlParameter("@TotalRecorder", SqlDbType.Int, 4)
                };
                parameters[0].Value     = sql;
                parameters[1].Value     = "ordertime desc";
                parameters[2].Value     = pageindex;
                parameters[3].Value     = pagesize;
                parameters[4].Direction = ParameterDirection.Output;
                ds    = SqlHelper.ExecuteDataset(conn, CommandType.StoredProcedure, P_Page, parameters);
                total = (int)(parameters[4].Value);
                //汇总数据查询
                hzdt = SqlHelper.ExecuteDataset(conn, CommandType.Text, hzsql).Tables[0];
            }
            return(ds.Tables[0]);
        }
        /// 查询数据
        /// <summary>
        /// 查询数据
        /// </summary>
        private void BindData()
        {
            QueryRoutepoint query = new QueryRoutepoint();

            query.BusinessType = this.BusinessType;
            query.StartTime    = this.StartTime;
            query.EndTime      = this.EndTime;
            query.ShowTime     = this.ShowTime;
            DataTable hzdt = new DataTable();
            DataTable dt   = BLL.Routepoint.Instance.GetRoutepointData(query, BLL.PageCommon.Instance.PageIndex, PageSize, out RecordCount, out hzdt);

            if (dt != null)
            {
                repeaterList.DataSource = dt;
                repeaterList.DataBind();
            }
            if (hzdt != null && hzdt.Rows.Count > 0)
            {
                total_count.Text        = RecordCount.ToString();
                objecttype.Text         = "--";
                n_entered.Text          = CommonFunction.ObjectToInteger(hzdt.Rows[0]["n_entered"]).ToString();
                n_entered_out.Text      = CommonFunction.ObjectToInteger(hzdt.Rows[0]["n_entered_out"]).ToString();
                n_answered.Text         = CommonFunction.ObjectToInteger(hzdt.Rows[0]["n_answered"]).ToString();
                pc_n_answered.Text      = DecimalToStr(hzdt.Rows[0]["pc_n_answered"]) + "%";
                pc_n_distrib_in_tr.Text = DecimalToStr(hzdt.Rows[0]["pc_n_distrib_in_tr"]) + "%";
                av_t_answered.Text      = DecimalToStr(hzdt.Rows[0]["av_t_answered"]);
            }
            TotalCount.Value  = RecordCount.ToString();
            litPagerDown.Text = BLL.PageCommon.Instance.LinkStringByPost(BLL.Util.GetUrl(), GroupLength, RecordCount, PageSize, BLL.PageCommon.Instance.PageIndex, 1);
        }
Пример #3
0
        private void ExportData()
        {
            QueryRoutepoint query = new QueryRoutepoint();

            query.BusinessType = this.BusinessType;
            query.StartTime    = this.StartTime;
            query.EndTime      = this.EndTime;
            query.ShowTime     = this.ShowTime;
            DataTable hzdt = new DataTable();
            DataTable dt   = BLL.Routepoint.Instance.GetRoutepointData(query, 1, -1, out RecordCount, out hzdt);

            if (dt != null)
            {
                if (hzdt != null && hzdt.Rows.Count > 0)
                {
                    DataRow dr = dt.NewRow();
                    dr["begintime"]          = "合计(共" + RecordCount + "项)";
                    dr["objecttype"]         = "--";
                    dr["n_entered"]          = CommonFunction.ObjectToInteger(hzdt.Rows[0]["n_entered"]).ToString();
                    dr["n_entered_out"]      = CommonFunction.ObjectToInteger(hzdt.Rows[0]["n_entered_out"]).ToString();//修改转人工量指标 2015-3-4 强斐
                    dr["n_answered"]         = CommonFunction.ObjectToInteger(hzdt.Rows[0]["n_answered"]).ToString();
                    dr["pc_n_answered"]      = DecimalToStr(hzdt.Rows[0]["pc_n_answered"]) + "%";
                    dr["pc_n_distrib_in_tr"] = DecimalToStr(hzdt.Rows[0]["pc_n_distrib_in_tr"]) + "%";
                    dr["av_t_answered"]      = DecimalToStr(hzdt.Rows[0]["av_t_answered"]);//队列平均排队时长 qiangfei 2015-3-5

                    dt.Rows.Add(dr);
                }
                dt.Columns.Remove("RowNumber");

                dt.Columns["begintime"].ColumnName          = "日期";
                dt.Columns["objecttype"].ColumnName         = "业务类型";
                dt.Columns["n_entered"].ColumnName          = "呼入量";
                dt.Columns["n_entered_out"].ColumnName      = "转人工量";//修改转人工量指标 2015-3-4 强斐
                dt.Columns["n_answered"].ColumnName         = "电话总接通量";
                dt.Columns["pc_n_answered"].ColumnName      = "接通率";
                dt.Columns["pc_n_distrib_in_tr"].ColumnName = "30秒内服务水平";
                dt.Columns["av_t_answered"].ColumnName      = "平均等待时长(秒)";//队列平均排队时长 qiangfei 2015-3-5

                BLL.Util.ExportToCSV("热线数据报表" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss"), dt);
            }
        }
Пример #4
0
        /// 组装各个统计方法的查询语句
        /// <summary>
        /// 组装各个统计方法的查询语句
        /// </summary>
        /// <param name="query"></param>
        /// <param name="hzsql"></param>
        /// <returns></returns>
        private string GetRoutepointSql(QueryRoutepoint query, out string hzsql)
        {
            string hourwhere = FromAndWhere(query.StartTime, query.EndTime, query.BusinessType);

            hzsql = "select " + SumFieldSql() + hourwhere;
            string sql = "";

            switch (query.ShowTime.ToLower())
            {
            case "hour":
                sql = "select " + ShowHourTime() + EnumSql() + DetailFieldSql() + hourwhere;
                break;

            case "day":
                sql = "select " + DaySelect() + " * " + hourwhere;
                sql = "select " + ShowDayTime() + EnumSql() + SumFieldSql() + " from (" + sql + ") tmp group by " + GroupByDay() + "objecttype";
                break;

            case "week":
                sql = "select " + WeekSelect() + " * " + hourwhere;
                sql = "select " + ShowWeekTime(query.StartTime, query.EndTime) + EnumSql() + SumFieldSql() + " from (" + sql + ") tmp group by " + GroupByWeek() + "objecttype";
                break;

            case "month":
                sql = "select " + MonthSelect() + " * " + hourwhere;
                sql = "select " + ShowMonthTime(query.StartTime, query.EndTime) + EnumSql() + SumFieldSql() + " from (" + sql + ") tmp group by " + GroupByMonth() + "objecttype";
                break;
            }
            //修改转人工量指标 2015-3-4 强斐
            return(@"select begintime,objecttype,n_entered,n_entered_out,n_answered," +
                   "rtrim(convert(decimal(18,2), pc_n_answered))+'%' as pc_n_answered," +
                   "rtrim(convert(decimal(18,2), pc_n_distrib_in_tr))+'%' as pc_n_distrib_in_tr," +
                   //"rtrim(convert(decimal(18,2), av_t_distributed)) as av_t_distributed, " +
                   "rtrim(convert(decimal(18,2), av_t_answered)) as av_t_answered " +
                   "YanFaFROM (" + sql + ") t");
        }
Пример #5
0
 /// 获取热点路由数据
 /// <summary>
 /// 获取热点路由数据
 /// </summary>
 /// <param name="query">查询条件</param>
 /// <param name="pageindex"></param>
 /// <param name="pagesize"></param>
 /// <param name="total"></param>
 /// <param name="hzdt">汇总数据</param>
 /// <returns></returns>
 public DataTable GetRoutepointData(QueryRoutepoint query, int pageindex, int pagesize, out int total, out DataTable hzdt)
 {
     return(Dal.Routepoint.Instance.GetRoutepointData(query, pageindex, pagesize, out total, out hzdt));
 }