|
|
@@ -499,30 +499,30 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
499
|
499
|
{
|
|
500
|
500
|
days = int.Parse(dayss.Trim());
|
|
501
|
501
|
}
|
|
502
|
|
- #region
|
|
503
|
|
- int ijtcs = 0;//接听通话次数
|
|
504
|
|
- int ithms = 0;//通话秒数
|
|
505
|
|
- int izlms = 0;//振铃秒数
|
|
506
|
|
- int ipjjtms = 0;//平均接听秒数
|
|
507
|
|
- int ipjzlms = 0;//平均振铃秒数
|
|
508
|
|
- double ihrzyl = 0.00;//呼入占有率
|
|
509
|
|
- int izxdlcs = 0;//坐席登录次数
|
|
510
|
|
- int idlsc = 0;//登录时长
|
|
511
|
|
- int iWorktime = 0;//工作时长
|
|
512
|
|
- int izmcs = 0;//置忙次数
|
|
513
|
|
- int ixxsc = 0;//休息时长
|
|
514
|
|
- int ipjczsc = 0;//平均操作时长
|
|
515
|
|
- int ipjzmxxsc = 0;//平均置忙休息时长
|
|
516
|
|
-
|
|
517
|
|
-
|
|
518
|
|
- int itrunkct = 0;//总数
|
|
519
|
|
- int itrunkjj = 0;//总接听
|
|
520
|
|
- int itrunkhs = 0;//呼损量
|
|
521
|
|
- int itrunkpjsc = 0;//平均排队时间
|
|
522
|
|
- double itrunkjtl = 0.00;//接通率
|
|
523
|
|
- double itrunkhsl = 0.00;//互损率
|
|
524
|
|
- double itrunkpjpd = 0.00;//平均排队
|
|
525
|
|
- #endregion
|
|
|
502
|
+ //#region
|
|
|
503
|
+ //int ijtcs = 0;//接听通话次数
|
|
|
504
|
+ //int ithms = 0;//通话秒数
|
|
|
505
|
+ //int izlms = 0;//振铃秒数
|
|
|
506
|
+ //int ipjjtms = 0;//平均接听秒数
|
|
|
507
|
+ //int ipjzlms = 0;//平均振铃秒数
|
|
|
508
|
+ //double ihrzyl = 0.00;//呼入占有率
|
|
|
509
|
+ //int izxdlcs = 0;//坐席登录次数
|
|
|
510
|
+ //int idlsc = 0;//登录时长
|
|
|
511
|
+ //int iWorktime = 0;//工作时长
|
|
|
512
|
+ //int izmcs = 0;//置忙次数
|
|
|
513
|
+ //int ixxsc = 0;//休息时长
|
|
|
514
|
+ //int ipjczsc = 0;//平均操作时长
|
|
|
515
|
+ //int ipjzmxxsc = 0;//平均置忙休息时长
|
|
|
516
|
+
|
|
|
517
|
+
|
|
|
518
|
+ //int itrunkct = 0;//总数
|
|
|
519
|
+ //int itrunkjj = 0;//总接听
|
|
|
520
|
+ //int itrunkhs = 0;//呼损量
|
|
|
521
|
+ //int itrunkpjsc = 0;//平均排队时间
|
|
|
522
|
+ //double itrunkjtl = 0.00;//接通率
|
|
|
523
|
+ //double itrunkhsl = 0.00;//互损率
|
|
|
524
|
+ //double itrunkpjpd = 0.00;//平均排队
|
|
|
525
|
+ //#endregion
|
|
526
|
526
|
|
|
527
|
527
|
|
|
528
|
528
|
DataTable dtdpt = DbHelperSQL.Query("select F_DeptId,F_DeptName,F_Remark from T_Sys_Department WITH(NOLOCK) ").Tables[0];
|
|
|
@@ -539,6 +539,32 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
539
|
539
|
{
|
|
540
|
540
|
for (int i = 0; i < dtUser.Rows.Count; i++)
|
|
541
|
541
|
{
|
|
|
542
|
+ #region
|
|
|
543
|
+ int ijtcs = 0;//接听通话次数
|
|
|
544
|
+ int ithms = 0;//通话秒数
|
|
|
545
|
+ int izlms = 0;//振铃秒数
|
|
|
546
|
+ int ipjjtms = 0;//平均接听秒数
|
|
|
547
|
+ int ipjzlms = 0;//平均振铃秒数
|
|
|
548
|
+ double ihrzyl = 0.00;//呼入占有率
|
|
|
549
|
+ int izxdlcs = 0;//坐席登录次数
|
|
|
550
|
+ int idlsc = 0;//登录时长
|
|
|
551
|
+ int iWorktime = 0;//工作时长
|
|
|
552
|
+ int izmcs = 0;//置忙次数
|
|
|
553
|
+ int ixxsc = 0;//休息时长
|
|
|
554
|
+ int ipjczsc = 0;//平均操作时长
|
|
|
555
|
+ int ipjzmxxsc = 0;//平均置忙休息时长
|
|
|
556
|
+
|
|
|
557
|
+
|
|
|
558
|
+ int itrunkct = 0;//总数
|
|
|
559
|
+ int itrunkjj = 0;//总接听
|
|
|
560
|
+ int itrunkhs = 0;//呼损量
|
|
|
561
|
+ int itrunkpjsc = 0;//平均排队时间
|
|
|
562
|
+ double itrunkjtl = 0.00;//接通率
|
|
|
563
|
+ double itrunkhsl = 0.00;//互损率
|
|
|
564
|
+ double itrunkpjpd = 0.00;//平均排队
|
|
|
565
|
+ #endregion
|
|
|
566
|
+
|
|
|
567
|
+
|
|
542
|
568
|
if (!string.IsNullOrEmpty(dtUser.Rows[i]["F_WorkNumber"].ToString()))
|
|
543
|
569
|
{
|
|
544
|
570
|
DataRow drNew = dtNew.NewRow();
|
|
|
@@ -551,33 +577,23 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
551
|
577
|
#endregion
|
|
552
|
578
|
|
|
553
|
579
|
#region 呼入数据
|
|
554
|
|
- //DataRow[] drTrunk = dtTrunk.Select(" AgentID='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
|
580
|
+ DataRow[] drTrunk = dtTrunk.Select(" AgentID='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
555
|
581
|
//DataRow[] drCallIn = dtcall.Select(" CallType=0 and UserCode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
556
|
582
|
//DataRow[] drCallInJT = dtcall.Select(" CallType=0 and CallState=1 and UserCode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
557
|
|
-
|
|
558
|
|
-
|
|
559
|
|
- DataRow[] drTrunk;
|
|
560
|
|
-
|
|
561
|
|
- try {
|
|
562
|
|
- drTrunk= dtTrunk.Select(" AgentID='" + int.Parse( dtUser.Rows[i]["F_UserCode"].ToString()) + "'");
|
|
563
|
|
- }
|
|
564
|
|
- catch {
|
|
565
|
|
- drTrunk = dtTrunk.Select(" AgentID='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
566
|
|
- }
|
|
567
|
583
|
DataRow[] drCallIn;
|
|
568
|
584
|
try
|
|
569
|
585
|
{
|
|
570
|
|
- drCallIn = dtcall.Select(" CallType=0 and UserCode='" + int.Parse( dtUser.Rows[i]["F_UserCode"].ToString() )+ "'");
|
|
|
586
|
+ drCallIn = dtcall.Select(" CallType=0 and UserCode='" +int.Parse( dtUser.Rows[i]["F_UserCode"].ToString()) + "'");
|
|
571
|
587
|
}
|
|
572
|
|
- catch
|
|
|
588
|
+ catch
|
|
573
|
589
|
{
|
|
574
|
|
- drCallIn = dtcall.Select(" CallType=0 and UserCode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
575
|
|
- }
|
|
|
590
|
+ drCallIn = dtcall.Select(" CallType=0 and UserCode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
576
|
591
|
|
|
|
592
|
+ }
|
|
577
|
593
|
DataRow[] drCallInJT;
|
|
578
|
594
|
try
|
|
579
|
595
|
{
|
|
580
|
|
- drCallInJT = dtcall.Select(" CallType=0 and CallState=1 and UserCode='" + int.Parse( dtUser.Rows[i]["F_UserCode"].ToString()) + "'");
|
|
|
596
|
+ drCallInJT = dtcall.Select(" CallType=0 and CallState=1 and UserCode='" + int.Parse( dtUser.Rows[i]["F_UserCode"].ToString() )+ "'");
|
|
581
|
597
|
}
|
|
582
|
598
|
catch
|
|
583
|
599
|
{
|
|
|
@@ -585,10 +601,6 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
585
|
601
|
drCallInJT = dtcall.Select(" CallType=0 and CallState=1 and UserCode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
586
|
602
|
}
|
|
587
|
603
|
|
|
588
|
|
-
|
|
589
|
|
-
|
|
590
|
|
-
|
|
591
|
|
-
|
|
592
|
604
|
if (drCallIn != null && drCallIn.Count() > 0)
|
|
593
|
605
|
itrunkct = drCallIn.Count();
|
|
594
|
606
|
if (drCallInJT != null && drCallInJT.Count() > 0)
|
|
|
@@ -609,30 +621,20 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
609
|
621
|
itrunkhsl = 0.00;
|
|
610
|
622
|
itrunkpjpd = 0.00;
|
|
611
|
623
|
}
|
|
612
|
|
- drNew["呼入电话数"] = itrunkct;
|
|
|
624
|
+ drNew["呼入电话数"] = itrunkct;
|
|
613
|
625
|
drNew["坐席接通量"] = itrunkjj;
|
|
614
|
|
- drNew["呼损量"] = itrunkhs;
|
|
|
626
|
+ drNew["呼损量"] = itrunkhs;
|
|
615
|
627
|
drNew["接通率"] = (itrunkjtl * 100).ToString("0.00") + "%";
|
|
616
|
628
|
drNew["呼损率"] = (itrunkhsl * 100).ToString("0.00") + "%";
|
|
617
|
629
|
drNew["平均排队时间"] = itrunkpjpd.ToString("0.00");
|
|
618
|
630
|
#endregion
|
|
619
|
631
|
#region 坐席接听数据
|
|
620
|
|
- //DataRow[] drExt = dtext.Select(" CalleeAgentID='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
621
|
|
- DataRow[] drExt;
|
|
622
|
|
- try
|
|
623
|
|
- {
|
|
624
|
|
- drExt = dtext.Select(" CalleeAgentID='" + int.Parse( dtUser.Rows[i]["F_UserCode"].ToString() )+ "'");
|
|
625
|
|
- }
|
|
626
|
|
- catch
|
|
627
|
|
- {
|
|
628
|
|
-
|
|
629
|
|
- drExt = dtext.Select(" CalleeAgentID='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
630
|
|
- }
|
|
631
|
|
- // DataRow[] drCallEvey = dtCallEvey.Select(" usercode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
|
632
|
+ DataRow[] drExt = dtext.Select(" CalleeAgentID='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
|
633
|
+ // DataRow[] drCallEvey = dtCallEvey.Select(" usercode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "'");
|
|
632
|
634
|
DataRow[] drCallEvey;
|
|
633
|
635
|
try
|
|
634
|
636
|
{
|
|
635
|
|
- drCallEvey = dtCallEvey.Select(" usercode='" + int.Parse( dtUser.Rows[i]["F_UserCode"].ToString() )+ "'");
|
|
|
637
|
+ drCallEvey = dtCallEvey.Select(" usercode='" + int.Parse( dtUser.Rows[i]["F_UserCode"].ToString()) + "'");
|
|
636
|
638
|
}
|
|
637
|
639
|
catch
|
|
638
|
640
|
{
|
|
|
@@ -671,7 +673,7 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
671
|
673
|
}
|
|
672
|
674
|
}
|
|
673
|
675
|
//drNew["接听通话次数"] = ijtcs.ToString();
|
|
674
|
|
- drNew["通话分钟数"] = (ithms / 60).ToString();
|
|
|
676
|
+ drNew["通话分钟数"] = (ithms / 60).ToString();
|
|
675
|
677
|
drNew["通话秒数"] = ithms.ToString();
|
|
676
|
678
|
|
|
677
|
679
|
if (ijtcs != 0)
|
|
|
@@ -684,8 +686,8 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
684
|
686
|
ipjjtms = 0;//平均接通秒数
|
|
685
|
687
|
ipjzlms = 0;//平均振铃秒数
|
|
686
|
688
|
}
|
|
687
|
|
- drNew["平均接听通话秒数"] = ipjjtms.ToString();
|
|
688
|
|
- drNew["平均振铃秒数"] = ipjzlms.ToString();
|
|
|
689
|
+ drNew["平均接听通话秒数"] = ipjjtms.ToString();
|
|
|
690
|
+ drNew["平均振铃秒数"] = ipjzlms.ToString();
|
|
689
|
691
|
#endregion
|
|
690
|
692
|
|
|
691
|
693
|
#region 坐席登录次数
|
|
|
@@ -753,7 +755,7 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
753
|
755
|
{
|
|
754
|
756
|
ihrzyl = 0.00;
|
|
755
|
757
|
}
|
|
756
|
|
- drNew["呼入占有率"] = (ihrzyl * 100).ToString("0.00") + "%";
|
|
|
758
|
+ drNew["呼入占有率"] = (ihrzyl * 100).ToString("0.00") + "%";
|
|
757
|
759
|
drNew["坐席登录次数"] = izxdlcs.ToString();
|
|
758
|
760
|
drNew["登录时长分钟数"] = (idlsc / 60).ToString();
|
|
759
|
761
|
drNew["工作时长分钟数"] = (iWorktime / 60).ToString();
|
|
|
@@ -774,11 +776,12 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
774
|
776
|
}
|
|
775
|
777
|
catch
|
|
776
|
778
|
{
|
|
777
|
|
-
|
|
778
|
779
|
drmyd = dtcall.Select(" MYD is not null and CallState=1 and usercode='" + dtUser.Rows[i]["F_UserCode"].ToString() + "' ");
|
|
|
780
|
+
|
|
779
|
781
|
}
|
|
|
782
|
+
|
|
780
|
783
|
int myd = drmyd != null ? drmyd.Count() : 0;
|
|
781
|
|
- drNew["用户评价"] = myd.ToString();
|
|
|
784
|
+ drNew["用户评价"] = myd.ToString();
|
|
782
|
785
|
#endregion
|
|
783
|
786
|
|
|
784
|
787
|
#region 质检部分
|