|
|
@@ -20,7 +20,7 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
20
|
20
|
|
|
21
|
21
|
String[] str = { "部门", "坐席", "坐席工号", "呼入电话数", "坐席接通量", "呼损量"
|
|
22
|
22
|
,"接通率","呼损率","平均排队时间","接听通话次数","通话分钟数","通话秒数"
|
|
23
|
|
- ,"平均接听通话秒数","平均振铃秒数","呼入占有率","用户评价","坐席登录次数","异常掉线次数"
|
|
|
23
|
+ ,"平均接听通话秒数","平均振铃秒数","呼入占有率","用户评价","坐席登录次数","异常掉线次数","坐席签出次数"
|
|
24
|
24
|
,"登录时长分钟数","工作时长分钟数","平均每天工作时长(小时)","平均操作分钟数"
|
|
25
|
25
|
,"置忙次数","休息时长分钟数","平均每天休息时长(小时)"
|
|
26
|
26
|
,"置忙平均休息分钟数","质检平均成绩"
|
|
|
@@ -429,15 +429,16 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
429
|
429
|
DataColumn dc16 = new DataColumn("用户评价");
|
|
430
|
430
|
DataColumn dc17 = new DataColumn("坐席登录次数");
|
|
431
|
431
|
DataColumn dc18 = new DataColumn("异常掉线次数");
|
|
432
|
|
- DataColumn dc19 = new DataColumn("登录时长分钟数");
|
|
433
|
|
- DataColumn dc20 = new DataColumn("工作时长分钟数");
|
|
434
|
|
- DataColumn dc21 = new DataColumn("平均每天工作时长");
|
|
435
|
|
- DataColumn dc22 = new DataColumn("平均操作分钟数");
|
|
436
|
|
- DataColumn dc23 = new DataColumn("置忙次数");
|
|
437
|
|
- DataColumn dc24 = new DataColumn("休息时长分钟数");
|
|
438
|
|
- DataColumn dc25 = new DataColumn("平均每天休息时长");
|
|
439
|
|
- DataColumn dc26 = new DataColumn("置忙平均休息分钟数");
|
|
440
|
|
- DataColumn dc27 = new DataColumn("质检平均成绩");
|
|
|
432
|
+ DataColumn dc19 = new DataColumn("坐席签出次数");
|
|
|
433
|
+ DataColumn dc20 = new DataColumn("登录时长分钟数");
|
|
|
434
|
+ DataColumn dc21 = new DataColumn("工作时长分钟数");
|
|
|
435
|
+ DataColumn dc22 = new DataColumn("平均每天工作时长");
|
|
|
436
|
+ DataColumn dc23 = new DataColumn("平均操作分钟数");
|
|
|
437
|
+ DataColumn dc24 = new DataColumn("置忙次数");
|
|
|
438
|
+ DataColumn dc25 = new DataColumn("休息时长分钟数");
|
|
|
439
|
+ DataColumn dc26 = new DataColumn("平均每天休息时长");
|
|
|
440
|
+ DataColumn dc27 = new DataColumn("置忙平均休息分钟数");
|
|
|
441
|
+ DataColumn dc28 = new DataColumn("质检平均成绩");
|
|
441
|
442
|
|
|
442
|
443
|
dtNew.Columns.Add(dc1);
|
|
443
|
444
|
dtNew.Columns.Add(dc2);
|
|
|
@@ -466,6 +467,7 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
466
|
467
|
dtNew.Columns.Add(dc25);
|
|
467
|
468
|
dtNew.Columns.Add(dc26);
|
|
468
|
469
|
dtNew.Columns.Add(dc27);
|
|
|
470
|
+ dtNew.Columns.Add(dc28);
|
|
469
|
471
|
#endregion
|
|
470
|
472
|
int days = 30;
|
|
471
|
473
|
string sqltimeCallRecords = "";
|
|
|
@@ -509,7 +511,7 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
509
|
511
|
//呼出
|
|
510
|
512
|
//登陆信息
|
|
511
|
513
|
DataTable dtAgent = DbHelperSQL.Query("select AgentID,COUNT(*) as dl,SUM(LoginTimes) as dlsc,SUM(reposenum) as zm,SUM(ReposeTimes) as xx from rep_agent_detail where 1=1 " + strsqlagent + " group by AgentID").Tables[0];
|
|
512
|
|
- DataTable dtAgentdx = DbHelperSQL.Query("select AgentID,COUNT(*) as dl from rep_agent_detail where 1=1 and LogoutType=3 " + strsqlagent + " group by AgentID").Tables[0];
|
|
|
514
|
+ DataTable dtAgentdx = DbHelperSQL.Query("select AgentID,LogoutType,COUNT(*) as dl from rep_agent_detail where 1=1 " + strsqlagent + " group by AgentID,LogoutType").Tables[0];
|
|
513
|
515
|
//评价
|
|
514
|
516
|
DataTable dtcallpj = DbHelperSQL.Query("select UserCode,count(*) from T_Call_CallRecords WITH(NOLOCK) where MYD is not null and myd<>0 and CallState=1 and isnull(UserCode,'')<>'' " + strsqlcall + " group by UserCode ").Tables[0];
|
|
515
|
517
|
//质检
|
|
|
@@ -527,7 +529,8 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
527
|
529
|
int ipjzlms = 0;//平均振铃秒数
|
|
528
|
530
|
double ihrzyl = 0.00;//呼入占有率
|
|
529
|
531
|
int izxdlcs = 0;//坐席登录次数
|
|
530
|
|
- int izxdxcs = 0;//坐席掉线次数
|
|
|
532
|
+ int izxdxcs = 0;//异常掉线次数
|
|
|
533
|
+ int izxqccs = 0;//坐席签出次数
|
|
531
|
534
|
int idlsc = 0;//登录时长
|
|
532
|
535
|
int iWorktime = 0;//工作时长
|
|
533
|
536
|
int izmcs = 0;//置忙次数
|
|
|
@@ -618,7 +621,8 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
618
|
621
|
#endregion
|
|
619
|
622
|
#region 坐席登录次数
|
|
620
|
623
|
DataRow[] drAgent = dtAgent.Select(" AgentId='" + item.F_UserCode + "'");
|
|
621
|
|
- DataRow[] drAgentdx = dtAgentdx.Select(" AgentId='" + item.F_UserCode + "'");
|
|
|
624
|
+ DataRow[] drAgentdx = dtAgentdx.Select(" AgentId='" + item.F_UserCode + "' and LogoutType=3");
|
|
|
625
|
+ DataRow[] drAgentqc = dtAgentdx.Select(" AgentId='" + item.F_UserCode + "' and LogoutType=0");
|
|
622
|
626
|
if (drAgent != null && drAgent.Count() > 0)
|
|
623
|
627
|
{
|
|
624
|
628
|
if (drAgent[0]["dl"] != null && drAgent[0]["dl"].ToString() != "")
|
|
|
@@ -642,7 +646,14 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
642
|
646
|
{
|
|
643
|
647
|
if (drAgentdx[0]["dl"] != null && drAgentdx[0]["dl"].ToString() != "")
|
|
644
|
648
|
{
|
|
645
|
|
- izxdxcs = int.Parse(drAgentdx[0]["dl"].ToString());//掉线次数
|
|
|
649
|
+ izxdxcs = int.Parse(drAgentdx[0]["dl"].ToString());//异常掉线次数
|
|
|
650
|
+ }
|
|
|
651
|
+ }
|
|
|
652
|
+ if (drAgentqc != null && drAgentqc.Count() > 0)
|
|
|
653
|
+ {
|
|
|
654
|
+ if (drAgentqc[0]["dl"] != null && drAgentqc[0]["dl"].ToString() != "")
|
|
|
655
|
+ {
|
|
|
656
|
+ izxqccs = int.Parse(drAgentqc[0]["dl"].ToString());//坐席签出次数
|
|
646
|
657
|
}
|
|
647
|
658
|
}
|
|
648
|
659
|
iWorktime = idlsc - ixxsc;//工作时长
|
|
|
@@ -662,7 +673,8 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
662
|
673
|
}
|
|
663
|
674
|
drNew["呼入占有率"] = (ihrzyl * 100).ToString("0.00") + "%";
|
|
664
|
675
|
drNew["坐席登录次数"] = izxdlcs.ToString();
|
|
665
|
|
- drNew["异常掉线次数"] = izxdxcs.ToString();
|
|
|
676
|
+ drNew["异常掉线次数"] = izxdxcs.ToString();
|
|
|
677
|
+ drNew["坐席签出次数"] = izxqccs.ToString();
|
|
666
|
678
|
drNew["登录时长分钟数"] = (idlsc / 60).ToString();
|
|
667
|
679
|
drNew["工作时长分钟数"] = (iWorktime / 60).ToString();
|
|
668
|
680
|
drNew["平均每天工作时长"] = Math.Round((double.Parse(iWorktime.ToString()) / 60 / 60 / days), 2).ToString();
|