//绑定数据 public void BindData() { Stopwatch sw = new Stopwatch(); sw.Start(); Entities.QueryCallRecord_ORIG query = new Entities.QueryCallRecord_ORIG(); string errMsg = string.Empty; BLL.ConverToEntitie <Entities.QueryCallRecord_ORIG> conver = new BLL.ConverToEntitie <Entities.QueryCallRecord_ORIG>(query); errMsg = conver.Conver(JsonStr); if (errMsg != "") { return; } int RecordCount = 0; int _loginID = -2; string _ownGroup = string.Empty; string _oneSelf = string.Empty; _loginID = userID; query.LoginID = _loginID; query.BeginTime = Request["tfBeginTime"]; query.EndTime = Request["tfEndTime"]; string tableEndName = BLL.Util.CalcTableNameByMonth(3, CommonFunction.ObjectToDateTime(query.BeginTime)); DataTable dt = BLL.CallRecord_ORIG.Instance.GetCallRecord_ORIGByList(query, " c.CreateTime desc ", BLL.PageCommon.Instance.PageIndex, PageSize, tableEndName, out RecordCount); string a = sw.Elapsed.ToString(); repeaterTableList.DataSource = dt; repeaterTableList.DataBind(); sw.Stop(); string b = sw.Elapsed.ToString(); AjaxPager.PageSize = 20; AjaxPager.InitPager(RecordCount); }
//绑定数据 public void BindData() { DateTime b = System.DateTime.Now; DateTime e = System.DateTime.Now; int _DateType = 1; int.TryParse(DateType, out _DateType); if (!int.TryParse(RequestPageSize, out PageSize)) { PageSize = 20; } Entities.QueryCallRecord_ORIG query = new Entities.QueryCallRecord_ORIG(); if (!string.IsNullOrEmpty(RequestAgentID)) { int _createuserid = 0; if (int.TryParse(RequestAgentID, out _createuserid)) { query.CreateUserID = _createuserid; } } if (!string.IsNullOrEmpty(RequestAgentNum)) { query.AgentNum = RequestAgentNum; } if (!string.IsNullOrEmpty(RequestBeginTime) && !string.IsNullOrEmpty(RequestEndTime)) { DateTime.TryParse(RequestBeginTime, out b); DateTime.TryParse(RequestEndTime, out e); query.BeginTime = RequestBeginTime; query.EndTime = RequestEndTime; } if (!string.IsNullOrEmpty(RequestSkillGroup) && RequestSkillGroup != "-1") { query.SkillGroup = RequestSkillGroup; } if (!string.IsNullOrEmpty(RequestBusinessType)) { query.SwitchINNum = RequestBusinessType; } query.LoginID = userID; int RecordCount = 0; //placeID=1是西安,DateType=1是按日汇总 string tableEndName = BLL.Util.CalcTableNameByMonth(3, CommonFunction.ObjectToDateTime(query.BeginTime)); DataTable dt = BLL.CallRecord_ORIG.Instance.GetSatisfactionList(query, "", BLL.PageCommon.Instance.PageIndex, PageSize, out RecordCount, 1, b, e, _DateType, tableEndName); //取汇总行 //if (dt != null && dt.Rows.Count > 0) //{ int RecordCountSum = 0; DataTable dth = BLL.CallRecord_ORIG.Instance.GetSatisfactionList(query, "", 1, 1, out RecordCountSum, 1, b, e, tableEndName); if (dth != null && dth.Rows.Count > 0) { DataColumn colum = new DataColumn("HuiZong", typeof(string)); dt.Columns.Add(colum); DataRow r = dt.NewRow(); r["HuiZong"] = "合 计(共" + RecordCount + "项)"; //总接通量,sum(y.jjcpN) as 问题解决参评总数,case when sum(case when y.CalliD is null then 1 else 0 end)>0 then sum(y.jjcpN)/sum(case when y.CalliD is null then 1 else 0 end) else 0 end as 参评率,sum(y.jjN) as 解决总数 ,case when sum(y.jjcpN)>0 then sum(y.jjN)/sum(y.jjcpN) else 0 end as 解决率,sum(y.WjjN) as 未解决总数,sum(y.MydcpN) as 满意度参评总数,case when sum(case when y.CalliD is null then 1 else 0 end)>0 then sum(y.MydcpN)/sum(case when y.CalliD is null then 1 else 0 end) else 0 end as 满意度参评率,sum(MyN) as 满意个数,case when sum(y.MydcpN)>0 then sum(y.MyN)/sum(y.MydcpN) else 0 end as 满意度, sum(y.BmyN) as 不满意个数,sum(y.CljgbmY) as 对处理结果不满意个数,sum(FwbmY) as 对服务不满意个数 r["TrueName"] = "--"; r["总接通量"] = dth.Rows[0]["总接通量"] == DBNull.Value ? 0 : dth.Rows[0]["总接通量"]; r["问题解决参评总数"] = dth.Rows[0]["问题解决参评总数"] == DBNull.Value ? 0 : dth.Rows[0]["问题解决参评总数"]; r["参评率"] = dth.Rows[0]["参评率"]; r["解决总数"] = dth.Rows[0]["解决总数"] == DBNull.Value ? 0 : dth.Rows[0]["解决总数"]; r["解决率"] = dth.Rows[0]["解决率"]; r["未解决总数"] = dth.Rows[0]["未解决总数"] == DBNull.Value ? 0 : dth.Rows[0]["未解决总数"]; r["满意度参评总数"] = dth.Rows[0]["满意度参评总数"] == DBNull.Value ? 0 : dth.Rows[0]["满意度参评总数"]; r["满意度参评率"] = dth.Rows[0]["满意度参评率"]; r["满意个数"] = dth.Rows[0]["满意个数"] == DBNull.Value ? 0 : dth.Rows[0]["满意个数"]; r["满意度"] = dth.Rows[0]["满意度"]; r["不满意个数"] = dth.Rows[0]["不满意个数"] == DBNull.Value ? 0 : dth.Rows[0]["不满意个数"]; r["对处理结果不满意个数"] = dth.Rows[0]["对处理结果不满意个数"] == DBNull.Value ? 0 : dth.Rows[0]["对处理结果不满意个数"]; r["对服务不满意个数"] = dth.Rows[0]["对服务不满意个数"] == DBNull.Value ? 0 : dth.Rows[0]["对服务不满意个数"]; dt.Rows.Add(r); } repeaterTableList.DataSource = dt; repeaterTableList.DataBind(); litPagerDown.Text = BLL.PageCommon.Instance.LinkStringByPost(BLL.Util.GetUrl(), GroupLength, RecordCount, PageSize, BLL.PageCommon.Instance.PageIndex, 1); }
/// <summary> /// 取导出的数据 /// </summary> /// <returns></returns> private DataTable GetDataTable() { #region 组织条件 DateTime b = System.DateTime.Now; DateTime e = System.DateTime.Now; int _DateType = 1; int.TryParse(DateType, out _DateType); Entities.QueryCallRecord_ORIG query = new Entities.QueryCallRecord_ORIG(); if (!string.IsNullOrEmpty(RequestAgentID)) { int _createuserid = 0; if (int.TryParse(RequestAgentID, out _createuserid)) { query.CreateUserID = _createuserid; } } if (!string.IsNullOrEmpty(RequestAgentNum)) { query.AgentNum = RequestAgentNum; } if (!string.IsNullOrEmpty(RequestBeginTime) && !string.IsNullOrEmpty(RequestEndTime)) { DateTime.TryParse(RequestBeginTime, out b); DateTime.TryParse(RequestEndTime, out e); query.BeginTime = RequestBeginTime; query.EndTime = RequestEndTime; } if (!string.IsNullOrEmpty(RequestSkillGroup) && RequestSkillGroup != "-1") { query.SkillGroup = RequestSkillGroup; } if (!string.IsNullOrEmpty(RequestBusinessType)) { query.SwitchINNum = RequestBusinessType; } query.LoginID = userID; int RecordCount = 0; //placeN=1是西安,DateType=1是按日汇总 int placeN = 1; if (PlaceID == "1") { placeN = 2; } #endregion #region 查询统计,以及汇总 string tableEndName = BLL.Util.CalcTableNameByMonth(3, CommonFunction.ObjectToDateTime(query.BeginTime)); DataTable dt = BLL.CallRecord_ORIG.Instance.GetSatisfactionList(query, "", 1, -1, out RecordCount, placeN, b, e, _DateType, tableEndName); //组织导出的数据 if (dt != null) { DataColumn colum = new DataColumn("HuiZong", typeof(string)); dt.Columns.Add(colum); //西安 if (placeN == 1) { //参评率 DataColumn canpinglv = new DataColumn("canpinglv", typeof(string)); dt.Columns.Add(canpinglv); //解决率 DataColumn jiejuelv = new DataColumn("jiejuelv", typeof(string)); dt.Columns.Add(jiejuelv); } else { //转接率 DataColumn zIVRlv = new DataColumn("zIVRlv", typeof(string)); dt.Columns.Add(zIVRlv); } //满意度参评率 DataColumn manyidcplv = new DataColumn("manyidcplv", typeof(string)); dt.Columns.Add(manyidcplv); //满意度 DataColumn manyilv = new DataColumn("manyilv", typeof(string)); dt.Columns.Add(manyilv); for (int i = 0; i < dt.Rows.Count; i++) { dt.Rows[i]["HuiZong"] = DateType == "1" ? dt.Rows[i]["mind"].ToString().Split(' ')[0] : dt.Rows[i]["mind"].ToString().Split(' ')[0] + "至" + dt.Rows[i]["maxd"].ToString().Split(' ')[0]; if (placeN == 1) { //参评率 dt.Rows[i]["canpinglv"] = GetRound(dt.Rows[i]["参评率"].ToString()); //解决率 dt.Rows[i]["jiejuelv"] = GetRound(dt.Rows[i]["解决率"].ToString()); } else { dt.Rows[i]["zIVRlv"] = GetRound(dt.Rows[i]["转接比率"].ToString()); } //满意度参评率 dt.Rows[i]["manyidcplv"] = GetRound(dt.Rows[i]["满意度参评率"].ToString()); //满意度 dt.Rows[i]["manyilv"] = GetRound(dt.Rows[i]["满意度"].ToString()); } //if (dt.Rows.Count > 0) //{ //取汇总行 int RecordCountSum = 0; DataTable dth = BLL.CallRecord_ORIG.Instance.GetSatisfactionList(query, "", 1, 1, out RecordCountSum, placeN, b, e, tableEndName); if (dth != null && dth.Rows.Count > 0) { DataRow r = dt.NewRow(); r["HuiZong"] = "合 计(共" + RecordCount + "项)"; r["TrueName"] = "--"; r["总接通量"] = dth.Rows[0]["总接通量"] == DBNull.Value ? 0 : dth.Rows[0]["总接通量"]; if (placeN == 1) { r["问题解决参评总数"] = dth.Rows[0]["问题解决参评总数"] == DBNull.Value ? 0 : dth.Rows[0]["问题解决参评总数"]; //参评率 r["canpinglv"] = GetRound(dth.Rows[0]["参评率"].ToString()); r["解决总数"] = dth.Rows[0]["解决总数"] == DBNull.Value ? 0 : dth.Rows[0]["解决总数"]; //解决率 r["jiejuelv"] = GetRound(dth.Rows[0]["解决率"].ToString()); r["未解决总数"] = dth.Rows[0]["未解决总数"] == DBNull.Value ? 0 : dth.Rows[0]["未解决总数"]; } else { r["转IVR数"] = dth.Rows[0]["转IVR数"] == DBNull.Value ? 0 : dth.Rows[0]["转IVR数"]; r["zIVRlv"] = GetRound(dth.Rows[0]["转接比率"].ToString()); } r["满意度参评总数"] = dth.Rows[0]["满意度参评总数"] == DBNull.Value ? 0 : dth.Rows[0]["满意度参评总数"]; //满意度参评率 r["manyidcplv"] = GetRound(dth.Rows[0]["满意度参评率"].ToString()); r["满意个数"] = dth.Rows[0]["满意个数"] == DBNull.Value ? 0 : dth.Rows[0]["满意个数"]; //满意度 r["manyilv"] = GetRound(dth.Rows[0]["满意度"].ToString()); r["不满意个数"] = dth.Rows[0]["不满意个数"] == DBNull.Value ? 0 : dth.Rows[0]["不满意个数"]; r["对处理结果不满意个数"] = dth.Rows[0]["对处理结果不满意个数"] == DBNull.Value ? 0 : dth.Rows[0]["对处理结果不满意个数"]; r["对服务不满意个数"] = dth.Rows[0]["对服务不满意个数"] == DBNull.Value ? 0 : dth.Rows[0]["对服务不满意个数"]; dt.Rows.Add(r); } //} if (placeN == 1) { dt.Columns.Remove("参评率"); dt.Columns.Remove("解决率"); } else { dt.Columns.Remove("转接比率"); } dt.Columns.Remove("满意度参评率"); dt.Columns.Remove("满意度"); } return(dt); #endregion }
//绑定数据 public void BindData() { Entities.QueryCallRecord_ORIG query = new Entities.QueryCallRecord_ORIG(); string errMsg = string.Empty; BLL.ConverToEntitie <Entities.QueryCallRecord_ORIG> conver = new BLL.ConverToEntitie <Entities.QueryCallRecord_ORIG>(query); errMsg = conver.Conver(JsonStr); if (errMsg != "") { return; } int RecordCount = 0; int _loginID = -2; string _ownGroup = string.Empty; string _oneSelf = string.Empty; query.BeginTime = Request["tfBeginTime"]; query.EndTime = Request["tfEndTime"]; _loginID = userID; query.LoginID = _loginID; string tableEndName = BLL.Util.CalcTableNameByMonth(3, CommonFunction.ObjectToDateTime(query.BeginTime)); DataTable dt = BLL.CallRecord_ORIG.Instance.GetCallRecord_ORIGByList(query, " c.CreateTime desc ", 1, -1, tableEndName, out RecordCount); #region 导出 dt.Columns.Add("OutBoundTypeName"); dt.Columns.Add("CallStatusName"); dt.Columns.Add("CallTimeLong", typeof(int)); dt.Columns.Add("CallTimeTitleLong", typeof(int)); dt.Columns.Add("CallIDStr"); foreach (DataRow dr in dt.Rows) { dr["CallStatusName"] = GetCallStatus(dr["CallStatus"].ToString()); dr["OutBoundTypeName"] = GetOutBoundType(dr["CallStatus"].ToString(), dr["OutBoundType"].ToString()); dr["CallTimeLong"] = dr["TallTime"];//修改通话时长导出 dr["CallTimeTitleLong"] = GetTotalTime(CommonFunction.ObjectToInteger(dr["TallTime"]), CommonFunction.ObjectToInteger(dr["AfterWorkTime"])); dr["CallIDStr"] = dr["CallID"].ToString(); } //要导出的字段 Dictionary <string, string> ExportColums = new Dictionary <string, string>(); ExportColums.Add("callidstr", "话务ID"); ExportColums.Add("taskid", "任务ID"); ExportColums.Add("agentnum", "工号"); ExportColums.Add("phonenum", "主叫"); ExportColums.Add("ani", "被叫"); ExportColums.Add("callstatusname", "话务类型"); ExportColums.Add("outboundtypename", "呼叫类型"); ExportColums.Add("establishedtime", "接通时间"); ExportColums.Add("releasetime", "挂断时间"); ExportColums.Add("ringingspantime", "振铃时长"); ExportColums.Add("calltimelong", "通话时长"); ExportColums.Add("afterworktime", "话后时长"); ExportColums.Add("calltimetitlelong", "话务总时长"); dt.Columns["CallIDStr"].SetOrdinal(0); dt.Columns["TaskID"].SetOrdinal(1); dt.Columns["AgentNum"].SetOrdinal(2); dt.Columns["PhoneNum"].SetOrdinal(3); dt.Columns["ANI"].SetOrdinal(4); dt.Columns["CallStatusName"].SetOrdinal(5); dt.Columns["SwitchINNum"].SetOrdinal(6); dt.Columns["OutBoundTypeName"].SetOrdinal(7); dt.Columns["RingingTime"].SetOrdinal(8); dt.Columns["EstablishedTime"].SetOrdinal(9); dt.Columns["ReleaseTime"].SetOrdinal(10); dt.Columns["RingingSpanTime"].SetOrdinal(11); dt.Columns["CallTimeLong"].SetOrdinal(12); dt.Columns["AfterWorkTime"].SetOrdinal(13); dt.Columns["CallTimeTitleLong"].SetOrdinal(14); dt.Columns["ConsultTime"].SetOrdinal(15); dt.Columns["ReleaseType"].SetOrdinal(16); for (int i = dt.Columns.Count - 1; i >= 0; i--) { if (ExportColums.ContainsKey(dt.Columns[i].ColumnName.ToLower())) { //字段时要导出的字段,改名 dt.Columns[i].ColumnName = ExportColums[dt.Columns[i].ColumnName.ToLower()]; } else { //不是要导出的字段,删除 dt.Columns.RemoveAt(i); } } BLL.Util.ExportToCSV("话务总表", dt); #endregion }