zhengbingbing %!s(int64=7) %!d(string=hace) años
padre
commit
f05298c652

+ 47 - 13
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/CallByMonthController.cs

@@ -42,15 +42,27 @@ namespace CallCenterApi.Interface.Controllers.report
42 42
             #endregion
43 43
             DataTable dtNew = new DataTable();
44 44
             #region 创建新表表头
45
+            //DataColumn dc1 = new DataColumn("呼叫方式", Type.GetType("System.String"));
46
+            //DataColumn dc2 = new DataColumn("总呼叫数量", Type.GetType("System.String"));
47
+            //DataColumn dc3 = new DataColumn("接通数量", Type.GetType("System.String"));
48
+            //DataColumn dc4 = new DataColumn("未接数量", Type.GetType("System.String"));
49
+            //DataColumn dc5 = new DataColumn("客户主动放弃呼叫数量", Type.GetType("System.String"));
50
+            //DataColumn dc6 = new DataColumn("接通率", Type.GetType("System.String"));
51
+            //DataColumn dc7 = new DataColumn("总通话时长", Type.GetType("System.String"));
52
+            //DataColumn dc8 = new DataColumn("平均通话时长", Type.GetType("System.String"));
53
+
45 54
             DataColumn dc1 = new DataColumn("呼叫方式", Type.GetType("System.String"));
46 55
             DataColumn dc2 = new DataColumn("总呼叫数量", Type.GetType("System.String"));
47 56
             DataColumn dc3 = new DataColumn("接通数量", Type.GetType("System.String"));
48 57
             DataColumn dc4 = new DataColumn("未接数量", Type.GetType("System.String"));
49
-            DataColumn dc5 = new DataColumn("客户主动放弃呼叫数量", Type.GetType("System.String"));
50
-            DataColumn dc6 = new DataColumn("接通率", Type.GetType("System.String"));
51
-            DataColumn dc7 = new DataColumn("总通话时长", Type.GetType("System.String"));
52
-            DataColumn dc8 = new DataColumn("平均通话时长", Type.GetType("System.String"));
53
-
58
+            DataColumn dc5 = new DataColumn("主动挂断数量", Type.GetType("System.String"));
59
+            DataColumn dc6 = new DataColumn("特殊挂断数量", Type.GetType("System.String"));
60
+            DataColumn dc7 = new DataColumn("自助服务数量", Type.GetType("System.String"));
61
+            DataColumn dc8 = new DataColumn("排队等待数量", Type.GetType("System.String"));
62
+            DataColumn dc9 = new DataColumn("接通率", Type.GetType("System.String"));
63
+            DataColumn dc10 = new DataColumn("总通话时长", Type.GetType("System.String"));
64
+            DataColumn dc11 = new DataColumn("平均通话时长", Type.GetType("System.String"));
65
+            
54 66
             dtNew.Columns.Add(dc1);
55 67
             dtNew.Columns.Add(dc2);
56 68
             dtNew.Columns.Add(dc3);
@@ -59,10 +71,13 @@ namespace CallCenterApi.Interface.Controllers.report
59 71
             dtNew.Columns.Add(dc6);
60 72
             dtNew.Columns.Add(dc7);
61 73
             dtNew.Columns.Add(dc8);
74
+            dtNew.Columns.Add(dc9);
75
+            dtNew.Columns.Add(dc10);
76
+            dtNew.Columns.Add(dc11);
62 77
             #endregion
63 78
             try
64 79
             {
65
-                string sql = "SELECT CallState,BusinessType,TalkStartTime,TalkEndTime,CallType,WaitLongTime FROM  T_Call_CallRecords where BeginTime>='" + begintime + "'and BeginTime<='" + endtime + "'";
80
+                string sql = "SELECT CallState,BusinessType,TalkStartTime,TalkEndTime,CallType,WaitLongTime,dealtype FROM  T_Call_CallRecords where BeginTime>='" + begintime + "'and BeginTime<='" + endtime + "'";
66 81
                 DataTable table = DbHelperSQL.Query(sql).Tables[0];
67 82
                 
68 83
                 if (table.Rows.Count > 0)
@@ -77,19 +92,34 @@ namespace CallCenterApi.Interface.Controllers.report
77 92
                         talcount = rowstotal.Length;
78 93
                         //接通量
79 94
                         jtcount = table.Select("CallType=0 and CallState=1").Length;
80
-                        //主动放弃呼叫
81
-                        zdfqcount = table.Select("CallType=0 and CallState=0 and BusinessType is null").Length;
95
+                        ////主动放弃呼叫
96
+                        //zdfqcount = table.Select("CallType=0 and CallState=0 and BusinessType is null").Length;
97
+                        //主动挂断次数
98
+                        int srgdcount = table.Select(" calltype=0 and callstate=0 and dealtype=0 ").Count();
99
+                        //特殊挂断次数
100
+                        int blackcount = table.Select(" calltype=0 and callstate=0 and dealtype=1 ").Count();
101
+                        //自助服务次数
102
+                        int zjfwcount = table.Select(" calltype=0 and callstate=0 and dealtype=2 ").Count();
103
+                        //排队等待数量
104
+                        int waitcount = table.Select(" calltype=0 and callstate=0 and dealtype=3 ").Count();
105
+
82 106
                         //呼损数量
83
-                        hsqcount = talcount - jtcount - zdfqcount;
107
+                        hsqcount = table.Select(" calltype=0 and callstate=0 and dealtype=5 ").Count();
108
+                        //hsqcount = talcount - jtcount - zdfqcount;
84 109
 
85 110
                         drNew["呼叫方式"] = "呼入";
86 111
                         drNew["总呼叫数量"] = talcount;
87 112
                         drNew["接通数量"] = jtcount;
88 113
                         drNew["未接数量"] = hsqcount;
89
-                        drNew["客户主动放弃呼叫数量"] = zdfqcount;
90
-                        drNew["接通率"] = ((jtcount + zdfqcount) / decimal.Parse(talcount.ToString()) * 100).ToString("f") + "%";
114
+                        drNew["主动挂断数量"] = srgdcount;
115
+                        drNew["特殊挂断数量"] = blackcount;
116
+                        drNew["自助服务数量"] = zjfwcount;
117
+                        drNew["排队等待数量"] = waitcount;
118
+                        //drNew["客户主动放弃呼叫数量"] = zdfqcount;
119
+                        drNew["接通率"] = (jtcount / decimal.Parse((jtcount+ hsqcount).ToString()) * 100).ToString("f") + "%";
120
+                        //drNew["接通率"] = ((jtcount + zdfqcount) / decimal.Parse(talcount.ToString()) * 100).ToString("f") + "%";
121
+
91 122
 
92
-                        
93 123
                         if (rows.Length > 0)
94 124
                         {
95 125
                             TimeSpan dta = new TimeSpan();
@@ -132,7 +162,11 @@ namespace CallCenterApi.Interface.Controllers.report
132 162
                             drNew["总呼叫数量"] = rowstotal.Length;
133 163
                             drNew["接通数量"] = table.Select("CallType=1 and CallState=1").Length;
134 164
                             drNew["未接数量"] = table.Select("CallType=1 and CallState=0").Length;
135
-                            drNew["客户主动放弃呼叫数量"] = "/";
165
+                            drNew["主动挂断数量"] = "/";
166
+                            drNew["特殊挂断数量"] = "/";
167
+                            drNew["自助服务数量"] = "/";
168
+                            drNew["排队等待数量"] = "/";
169
+                            //drNew["客户主动放弃呼叫数量"] = "/";
136 170
                             drNew["接通率"] = ((jtcount) / decimal.Parse(talcount.ToString()) * 100).ToString("f") + "%";
137 171
 
138 172
                             rows = table.Select("CallType=1 and CallState=1 and TalkStartTime is not null and TalkEndTime is not null and  TalkStartTime<TalkEndTime");