zhengbingbing vor 7 Jahren
Ursprung
Commit
f05298c652

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

42
             #endregion
42
             #endregion
43
             DataTable dtNew = new DataTable();
43
             DataTable dtNew = new DataTable();
44
             #region 创建新表表头
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
             DataColumn dc1 = new DataColumn("呼叫方式", Type.GetType("System.String"));
54
             DataColumn dc1 = new DataColumn("呼叫方式", Type.GetType("System.String"));
46
             DataColumn dc2 = new DataColumn("总呼叫数量", Type.GetType("System.String"));
55
             DataColumn dc2 = new DataColumn("总呼叫数量", Type.GetType("System.String"));
47
             DataColumn dc3 = new DataColumn("接通数量", Type.GetType("System.String"));
56
             DataColumn dc3 = new DataColumn("接通数量", Type.GetType("System.String"));
48
             DataColumn dc4 = new DataColumn("未接数量", Type.GetType("System.String"));
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
             dtNew.Columns.Add(dc1);
66
             dtNew.Columns.Add(dc1);
55
             dtNew.Columns.Add(dc2);
67
             dtNew.Columns.Add(dc2);
56
             dtNew.Columns.Add(dc3);
68
             dtNew.Columns.Add(dc3);
59
             dtNew.Columns.Add(dc6);
71
             dtNew.Columns.Add(dc6);
60
             dtNew.Columns.Add(dc7);
72
             dtNew.Columns.Add(dc7);
61
             dtNew.Columns.Add(dc8);
73
             dtNew.Columns.Add(dc8);
74
+            dtNew.Columns.Add(dc9);
75
+            dtNew.Columns.Add(dc10);
76
+            dtNew.Columns.Add(dc11);
62
             #endregion
77
             #endregion
63
             try
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
                 DataTable table = DbHelperSQL.Query(sql).Tables[0];
81
                 DataTable table = DbHelperSQL.Query(sql).Tables[0];
67
                 
82
                 
68
                 if (table.Rows.Count > 0)
83
                 if (table.Rows.Count > 0)
77
                         talcount = rowstotal.Length;
92
                         talcount = rowstotal.Length;
78
                         //接通量
93
                         //接通量
79
                         jtcount = table.Select("CallType=0 and CallState=1").Length;
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
                         drNew["呼叫方式"] = "呼入";
110
                         drNew["呼叫方式"] = "呼入";
86
                         drNew["总呼叫数量"] = talcount;
111
                         drNew["总呼叫数量"] = talcount;
87
                         drNew["接通数量"] = jtcount;
112
                         drNew["接通数量"] = jtcount;
88
                         drNew["未接数量"] = hsqcount;
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
                         if (rows.Length > 0)
123
                         if (rows.Length > 0)
94
                         {
124
                         {
95
                             TimeSpan dta = new TimeSpan();
125
                             TimeSpan dta = new TimeSpan();
132
                             drNew["总呼叫数量"] = rowstotal.Length;
162
                             drNew["总呼叫数量"] = rowstotal.Length;
133
                             drNew["接通数量"] = table.Select("CallType=1 and CallState=1").Length;
163
                             drNew["接通数量"] = table.Select("CallType=1 and CallState=1").Length;
134
                             drNew["未接数量"] = table.Select("CallType=1 and CallState=0").Length;
164
                             drNew["未接数量"] = table.Select("CallType=1 and CallState=0").Length;
135
-                            drNew["客户主动放弃呼叫数量"] = "/";
165
+                            drNew["主动挂断数量"] = "/";
166
+                            drNew["特殊挂断数量"] = "/";
167
+                            drNew["自助服务数量"] = "/";
168
+                            drNew["排队等待数量"] = "/";
169
+                            //drNew["客户主动放弃呼叫数量"] = "/";
136
                             drNew["接通率"] = ((jtcount) / decimal.Parse(talcount.ToString()) * 100).ToString("f") + "%";
170
                             drNew["接通率"] = ((jtcount) / decimal.Parse(talcount.ToString()) * 100).ToString("f") + "%";
137
 
171
 
138
                             rows = table.Select("CallType=1 and CallState=1 and TalkStartTime is not null and TalkEndTime is not null and  TalkStartTime<TalkEndTime");
172
                             rows = table.Select("CallType=1 and CallState=1 and TalkStartTime is not null and TalkEndTime is not null and  TalkStartTime<TalkEndTime");