Procházet zdrojové kódy

工单日周月报表

duhongyu %!s(int64=3) %!d(string=před) roky
rodič
revize
c326b2930d

+ 70 - 24
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/TelWOReportController.cs

@@ -22,7 +22,7 @@ namespace CallCenterApi.Interface.Controllers.report
22 22
         }
23 23
         private string[] getcols()
24 24
         {
25
-            String[] str = { "日期", "来电总量", "有效来电", "受理", "在线办结(直办)", "转办工单", "转办工单办结" };
25
+            String[] str = { "日期", "来电总量", "正常接听量", "语音留言量", "受理", "在线办结(直办)", "转办工单", "转办工单办结" };
26 26
             return str;
27 27
         }
28 28
 
@@ -82,7 +82,8 @@ namespace CallCenterApi.Interface.Controllers.report
82 82
             #region
83 83
             DataColumn dc1 = new DataColumn("日期", Type.GetType("System.String"));
84 84
             DataColumn dc2 = new DataColumn("来电总量", Type.GetType("System.String"));
85
-            DataColumn dc7 = new DataColumn("有效来电", Type.GetType("System.String"));
85
+            DataColumn dc7 = new DataColumn("正常接听量", Type.GetType("System.String"));
86
+            DataColumn dc8 = new DataColumn("语音留言量", Type.GetType("System.String"));
86 87
             DataColumn dc3 = new DataColumn("受理", Type.GetType("System.String"));
87 88
             DataColumn dc4 = new DataColumn("在线办结", Type.GetType("System.String"));
88 89
             DataColumn dc5 = new DataColumn("转派工单", Type.GetType("System.String"));
@@ -91,12 +92,13 @@ namespace CallCenterApi.Interface.Controllers.report
91 92
             dtNew.Columns.Add(dc1);
92 93
             dtNew.Columns.Add(dc2);
93 94
             dtNew.Columns.Add(dc7);
95
+            dtNew.Columns.Add(dc8);
94 96
             dtNew.Columns.Add(dc3);
95 97
             dtNew.Columns.Add(dc4);
96 98
             dtNew.Columns.Add(dc5);
97 99
             dtNew.Columns.Add(dc6);
98 100
             #endregion
99
-            string sql = "", sqlwo = "";
101
+            string sql = "", sqlwo = "", lysql = "";
100 102
             DateTime stime = DateTime.Now;
101 103
             DateTime endtime = DateTime.Now;
102 104
 
@@ -112,20 +114,29 @@ namespace CallCenterApi.Interface.Controllers.report
112 114
             {
113 115
                 sql += " and usercode='" + usercode.Trim() + "' ";
114 116
                 sqlwo += " and F_CreateUser'" + usercode.Trim() + "' ";
117
+
118
+                lysql += " and F_UserCode'" + usercode.Trim() + "' ";
115 119
             }
116 120
             sql += " and datediff(day,BeginTime,'" + stime.ToString("yyyy-MM-dd") + "')<=0 ";
117 121
             sql += " and datediff(day,BeginTime,'" + endtime.ToString("yyyy-MM-dd") + "')>=0 ";
118 122
             sqlwo += " and datediff(day,F_CreateTime,'" + stime.ToString("yyyy-MM-dd") + "')<=0 ";
119 123
             sqlwo += " and datediff(day,F_CreateTime,'" + endtime.ToString("yyyy-MM-dd") + "')>=0 ";
124
+
125
+            lysql += " and datediff(day,F_LeaveTime,'" + stime.ToString("yyyy-MM-dd") + "')<=0 ";
126
+            lysql += " and datediff(day,F_LeaveTime,'" + endtime.ToString("yyyy-MM-dd") + "')>=0 ";
127
+
120 128
             TimeSpan ts = endtime - stime;
121 129
             //DataTable dt = DbHelperSQL.Query("select * from v_call_wo where CallType=0 and CallState=1 "+ sql).Tables[0];
122 130
             DataTable dt = DbHelperSQL.Query("select * from T_Call_CallRecords where CallType=0 and UserCode is not null " + sql).Tables[0];
123 131
             //DataTable dtwo = DbHelperSQL.Query("select * from T_Bus_WorkOrder where F_CallRecordId is not null and F_IsDelete=0 " + sqlwo).Tables[0];
124 132
             DataTable dtwo = DbHelperSQL.Query("select * from T_Bus_WorkOrder where F_InfoSource=1 and F_IsDelete=0 " + sqlwo).Tables[0];
125 133
 
134
+
135
+            DataTable dtly = DbHelperSQL.Query("select * from T_Call_LeaveRecord where 1=1 " + lysql).Tables[0];
136
+
126 137
             //日期 接听来电 受理(有效来电) 在线办结(直办) 转派工单 办结
127
-            int ldcount = 0, yxldcount = 0, slcount = 0, zbcount = 0, zpcount = 0, bjcount = 0;
128
-            int ldcountz = 0, yxldcountz = 0, slcountz = 0, zbcountz = 0, zpcountz = 0, bjcountz = 0;
138
+            int ldcount = 0, yxldcount = 0, slcount = 0, zbcount = 0, zpcount = 0, bjcount = 0, lycount = 0;
139
+            int ldcountz = 0, yxldcountz = 0, slcountz = 0, zbcountz = 0, zpcountz = 0, bjcountz = 0 ,lycountz=0;
129 140
 
130 141
             for (int i = 0; i <= ts.Days; i++)
131 142
             {
@@ -134,16 +145,21 @@ namespace CallCenterApi.Interface.Controllers.report
134 145
                 string key = stime.AddDays(i).ToString("yyyy-MM-dd");
135 146
                 string sqlw = " BeginTime>='" + stime.AddDays(i).ToString("yyyy-MM-dd") + " 00:00:01' and BeginTime<='" + stime.AddDays(i).ToString("yyyy-MM-dd") + " 23:59:59' ";
136 147
                 string sqlwo1 = " F_CreateTime>='" + stime.AddDays(i).ToString("yyyy-MM-dd") + " 00:00:01' and F_CreateTime<='" + stime.AddDays(i).ToString("yyyy-MM-dd") + " 23:59:59' ";
148
+                string sqlly = " F_LeaveTime>='" + stime.AddDays(i).ToString("yyyy-MM-dd") + " 00:00:01' and F_LeaveTime<='" + stime.AddDays(i).ToString("yyyy-MM-dd") + " 23:59:59' ";
149
+
150
+
151
+
137 152
                 ldcount = dt.Select(sqlw).Length;
138 153
                 yxldcount = dt.Select(sqlw + " and CallState=1 ").Length;
139 154
                 slcount = dtwo.Select(sqlwo1 + " ").Length;
140 155
                 zbcount = dtwo.Select(sqlwo1 + " and F_IsResult=1 ").Length;
141 156
                 zpcount = dtwo.Select(sqlwo1 + " and F_IsResult=0 ").Length;
142 157
                 bjcount = dtwo.Select(sqlwo1 + " and F_IsResult=0 and F_WorkState=9 ").Length;
143
-
158
+                lycount = dtly.Select(sqlly).Length;
144 159
                 drNew["日期"] = key;
145 160
                 drNew["来电总量"] = ldcount;
146
-                drNew["有效来电"] = yxldcount;
161
+                drNew["正常接听量"] = yxldcount;
162
+                drNew["语音留言量"] = lycount;
147 163
                 drNew["受理"] = slcount;
148 164
                 drNew["在线办结"] = zbcount;
149 165
                 drNew["转派工单"] = zpcount;
@@ -156,6 +172,7 @@ namespace CallCenterApi.Interface.Controllers.report
156 172
                 zbcountz += zbcount;
157 173
                 zpcountz += zpcount;
158 174
                 bjcountz += bjcount;
175
+                lycountz += lycount;
159 176
                 #endregion
160 177
             }
161 178
 
@@ -163,7 +180,8 @@ namespace CallCenterApi.Interface.Controllers.report
163 180
             DataRow drNewz = dtNew.NewRow();
164 181
             drNewz["日期"] = "总计";
165 182
             drNewz["来电总量"] = ldcountz;
166
-            drNewz["有效来电"] = yxldcountz;
183
+            drNewz["正常接听量"] = yxldcountz;
184
+            drNewz["语音留言量"] = lycountz;
167 185
             drNewz["受理"] = slcountz;
168 186
             drNewz["在线办结"] = zbcountz;
169 187
             drNewz["转派工单"] = zpcountz;
@@ -182,7 +200,8 @@ namespace CallCenterApi.Interface.Controllers.report
182 200
             #region
183 201
             DataColumn dc1 = new DataColumn("日期", Type.GetType("System.String"));
184 202
             DataColumn dc2 = new DataColumn("来电总量", Type.GetType("System.String"));
185
-            DataColumn dc7 = new DataColumn("有效来电", Type.GetType("System.String"));
203
+            DataColumn dc7 = new DataColumn("正常接听量", Type.GetType("System.String"));
204
+            DataColumn dc8 = new DataColumn("语音留言量", Type.GetType("System.String"));
186 205
             DataColumn dc3 = new DataColumn("受理", Type.GetType("System.String"));
187 206
             DataColumn dc4 = new DataColumn("在线办结", Type.GetType("System.String"));
188 207
             DataColumn dc5 = new DataColumn("转派工单", Type.GetType("System.String"));
@@ -191,12 +210,13 @@ namespace CallCenterApi.Interface.Controllers.report
191 210
             dtNew.Columns.Add(dc1);
192 211
             dtNew.Columns.Add(dc2);
193 212
             dtNew.Columns.Add(dc7);
213
+            dtNew.Columns.Add(dc8);
194 214
             dtNew.Columns.Add(dc3);
195 215
             dtNew.Columns.Add(dc4);
196 216
             dtNew.Columns.Add(dc5);
197 217
             dtNew.Columns.Add(dc6);
198 218
             #endregion
199
-            string sql = "", sqlwo = "";
219
+            string sql = "", sqlwo = "" ,lysql = "";
200 220
             DateTime stime = DateTime.Now;
201 221
             DateTime endtime = DateTime.Now;
202 222
 
@@ -212,20 +232,24 @@ namespace CallCenterApi.Interface.Controllers.report
212 232
             {
213 233
                 sql += " and usercode='" + usercode.Trim() + "' ";
214 234
                 sqlwo += " and F_CreateUser'" + usercode.Trim() + "' ";
235
+                lysql += " and F_UserCode'" + usercode.Trim() + "' ";
215 236
             }
216 237
             sql += " and datediff(day,BeginTime,'" + stime.ToString("yyyy-MM-dd") + "')<=0 ";
217 238
             sql += " and datediff(day,BeginTime,'" + endtime.ToString("yyyy-MM-dd") + "')>=0 ";
218 239
             sqlwo += " and datediff(day,F_CreateTime,'" + stime.ToString("yyyy-MM-dd") + "')<=0 ";
219 240
             sqlwo += " and datediff(day,F_CreateTime,'" + endtime.ToString("yyyy-MM-dd") + "')>=0 ";
241
+
242
+            lysql += " and datediff(day,F_LeaveTime,'" + stime.ToString("yyyy-MM-dd") + "')<=0 ";
243
+            lysql += " and datediff(day,F_LeaveTime,'" + endtime.ToString("yyyy-MM-dd") + "')>=0 ";
220 244
             TimeSpan ts = endtime - stime;
221 245
             //DataTable dt = DbHelperSQL.Query("select * from v_call_wo where CallType=0 and CallState=1 "+ sql).Tables[0];
222 246
             DataTable dt = DbHelperSQL.Query("select * from T_Call_CallRecords where CallType=0 and UserCode is not null " + sql).Tables[0];
223 247
             //DataTable dtwo = DbHelperSQL.Query("select * from T_Bus_WorkOrder where F_CallRecordId is not null " + sqlwo).Tables[0];
224 248
             DataTable dtwo = DbHelperSQL.Query("select * from T_Bus_WorkOrder where F_InfoSource=1 and F_IsDelete=0 " + sqlwo).Tables[0];
225
-
249
+            DataTable dtly = DbHelperSQL.Query("select * from T_Call_LeaveRecord where 1=1 " + lysql).Tables[0];
226 250
             //日期 接听来电 受理(有效来电) 在线办结(直办) 转派工单 办结
227
-            int ldcount = 0, yxldcount = 0, slcount = 0, zbcount = 0, zpcount = 0, bjcount = 0;
228
-            int ldcountz = 0, yxldcountz = 0, slcountz = 0, zbcountz = 0, zpcountz = 0, bjcountz = 0;
251
+            int ldcount = 0, yxldcount = 0, slcount = 0, zbcount = 0, zpcount = 0, bjcount = 0, lycount = 0;
252
+            int ldcountz = 0, yxldcountz = 0, slcountz = 0, zbcountz = 0, zpcountz = 0, bjcountz = 0, lycountz = 0;
229 253
             int weeks = ts.Days / 7;
230 254
             if (ts.Days % 7 > 0)
231 255
                 weeks = ts.Days / 7 + 1;
@@ -261,6 +285,11 @@ namespace CallCenterApi.Interface.Controllers.report
261 285
                 #endregion
262 286
                 string sqlw = " BeginTime>='" + st.ToString("yyyy-MM-dd") + " 00:00:01' and  BeginTime<='" + et.ToString("yyyy-MM-dd") + " 23:59:59'";
263 287
                 string sqlwo1 = " F_CreateTime>='" + st.ToString("yyyy-MM-dd") + " 00:00:01' and F_CreateTime<='" + et.ToString("yyyy-MM-dd") + " 23:59:59' ";
288
+
289
+                string sqlly = " F_LeaveTime>='" + st.ToString("yyyy-MM-dd") +
290
+   " 00:00:01' and F_LeaveTime<='" + et.AddDays(i).ToString("yyyy-MM-dd") + " 23:59:59' ";
291
+
292
+
264 293
                 ldcount = dt.Select(sqlw).Length;
265 294
                 yxldcount = dt.Select(sqlw + " and CallState=1 ").Length;
266 295
                 slcount = dtwo.Select(sqlwo1 + " ").Length;
@@ -268,11 +297,12 @@ namespace CallCenterApi.Interface.Controllers.report
268 297
                 zpcount = dtwo.Select(sqlwo1 + " and F_IsResult=0 ").Length;
269 298
                 //bjcount = dtwo.Select(sqlwo1 + " and F_WorkState=9 ").Length;
270 299
                 bjcount = dtwo.Select(sqlwo1 + " and F_IsResult=0 and F_WorkState=9 ").Length;
271
-
300
+                lycount = dtly.Select(sqlly).Length;
272 301
                 DataRow drNew = dtNew.NewRow();
273 302
                 drNew["日期"] = key;
274 303
                 drNew["来电总量"] = ldcount;
275
-                drNew["有效来电"] = yxldcount;
304
+                drNew["正常接听量"] = yxldcount;
305
+                drNew["语音留言量"] = lycount;
276 306
                 drNew["受理"] = slcount;
277 307
                 drNew["在线办结"] = zbcount;
278 308
                 drNew["转派工单"] = zpcount;
@@ -285,6 +315,7 @@ namespace CallCenterApi.Interface.Controllers.report
285 315
                 zbcountz += zbcount;
286 316
                 zpcountz += zpcount;
287 317
                 bjcountz += bjcount;
318
+                lycountz += lycount;
288 319
                 #endregion
289 320
             }
290 321
 
@@ -292,7 +323,8 @@ namespace CallCenterApi.Interface.Controllers.report
292 323
             DataRow drNewz = dtNew.NewRow();
293 324
             drNewz["日期"] = "总计";
294 325
             drNewz["来电总量"] = ldcountz;
295
-            drNewz["有效来电"] = yxldcountz;
326
+            drNewz["正常接听量"] = yxldcountz;
327
+            drNewz["语音留言量"] = lycountz;
296 328
             drNewz["受理"] = slcountz;
297 329
             drNewz["在线办结"] = zbcountz;
298 330
             drNewz["转派工单"] = zpcountz;
@@ -311,7 +343,8 @@ namespace CallCenterApi.Interface.Controllers.report
311 343
             #region
312 344
             DataColumn dc1 = new DataColumn("日期", Type.GetType("System.String"));
313 345
             DataColumn dc2 = new DataColumn("来电总量", Type.GetType("System.String"));
314
-            DataColumn dc7 = new DataColumn("有效来电", Type.GetType("System.String"));
346
+            DataColumn dc7 = new DataColumn("正常接听量", Type.GetType("System.String"));
347
+            DataColumn dc8 = new DataColumn("语音留言量", Type.GetType("System.String"));
315 348
             DataColumn dc3 = new DataColumn("受理", Type.GetType("System.String"));
316 349
             DataColumn dc4 = new DataColumn("在线办结", Type.GetType("System.String"));
317 350
             DataColumn dc5 = new DataColumn("转派工单", Type.GetType("System.String"));
@@ -320,12 +353,13 @@ namespace CallCenterApi.Interface.Controllers.report
320 353
             dtNew.Columns.Add(dc1);
321 354
             dtNew.Columns.Add(dc2);
322 355
             dtNew.Columns.Add(dc7);
356
+            dtNew.Columns.Add(dc8);
323 357
             dtNew.Columns.Add(dc3);
324 358
             dtNew.Columns.Add(dc4);
325 359
             dtNew.Columns.Add(dc5);
326 360
             dtNew.Columns.Add(dc6);
327 361
             #endregion
328
-            string sql = "", sqlwo = "";
362
+            string sql = "", sqlwo = "",lysql = "";
329 363
             DateTime stime = DateTime.Now;
330 364
             DateTime endtime = DateTime.Now;
331 365
 
@@ -341,22 +375,27 @@ namespace CallCenterApi.Interface.Controllers.report
341 375
             {
342 376
                 sql += " and usercode='" + usercode.Trim() + "' ";
343 377
                 sqlwo += " and F_CreateUser'" + usercode.Trim() + "' ";
378
+                lysql += " and F_UserCode'" + usercode.Trim() + "' ";
344 379
             }
345 380
             sql += " and datediff(day,BeginTime,'" + stime.ToString("yyyy-MM-dd") + "')<=0 ";
346 381
             sql += " and datediff(day,BeginTime,'" + endtime.ToString("yyyy-MM-dd") + "')>=0 ";
347 382
             sqlwo += " and datediff(day,F_CreateTime,'" + stime.ToString("yyyy-MM-dd") + "')<=0 ";
348 383
             sqlwo += " and datediff(day,F_CreateTime,'" + endtime.ToString("yyyy-MM-dd") + "')>=0 ";
384
+
385
+
386
+            lysql += " and datediff(day,F_LeaveTime,'" + stime.ToString("yyyy-MM-dd") + "')<=0 ";
387
+            lysql += " and datediff(day,F_LeaveTime,'" + endtime.ToString("yyyy-MM-dd") + "')>=0 ";
349 388
             TimeSpan ts = endtime - stime;
350 389
             //DataTable dt = DbHelperSQL.Query("select * from v_call_wo where CallType=0 and CallState=1 "+ sql).Tables[0];
351 390
             DataTable dt = DbHelperSQL.Query("select * from T_Call_CallRecords where CallType=0 and UserCode is not null  " + sql).Tables[0];
352 391
             //DataTable dtwo = DbHelperSQL.Query("select * from T_Bus_WorkOrder where F_CallRecordId is not null " + sqlwo).Tables[0];
353 392
             DataTable dtwo = DbHelperSQL.Query("select * from T_Bus_WorkOrder where F_InfoSource=1 and F_IsDelete=0 " + sqlwo).Tables[0];
354
-
393
+            DataTable dtly = DbHelperSQL.Query("select * from T_Call_LeaveRecord where 1=1 " + lysql).Tables[0];
355 394
             int month = (endtime.Year - stime.Year) * 12 + (endtime.Month - stime.Month);
356 395
 
357 396
             //日期 接听来电 受理(有效来电) 在线办结(直办) 转派工单 办结
358
-            int ldcount = 0, yxldcount = 0, slcount = 0, zbcount = 0, zpcount = 0, bjcount = 0;
359
-            int ldcountz = 0, yxldcountz = 0, slcountz = 0, zbcountz = 0, zpcountz = 0, bjcountz = 0;
397
+            int ldcount = 0, yxldcount = 0, slcount = 0, zbcount = 0, zpcount = 0, bjcount = 0, lycount = 0;
398
+            int ldcountz = 0, yxldcountz = 0, slcountz = 0, zbcountz = 0, zpcountz = 0, bjcountz = 0, lycountz = 0;
360 399
 
361 400
             for (int i = 0; i <= month; i++)
362 401
             {
@@ -371,6 +410,10 @@ namespace CallCenterApi.Interface.Controllers.report
371 410
 
372 411
                 string sqlw = " BeginTime>='" + st.ToString("yyyy-MM-dd") + " 00:00:01' and BeginTime<='" + et.ToString("yyyy-MM-dd") + " 23:59:59' ";
373 412
                 string sqlwo1 = " F_CreateTime>='" + st.ToString("yyyy-MM-dd") + " 00:00:01' and F_CreateTime<='" + et.ToString("yyyy-MM-dd") + " 23:59:59' ";
413
+
414
+                string sqlly = " F_LeaveTime>='" + st.AddDays(i).ToString("yyyy-MM-dd") +
415
+ " 00:00:01' and F_LeaveTime<='" + et.AddDays(i).ToString("yyyy-MM-dd") + " 23:59:59' ";
416
+
374 417
                 ldcount = dt.Select(sqlw).Length;
375 418
                 yxldcount = dt.Select(sqlw + " and CallState=1 ").Length;
376 419
                 slcount = dtwo.Select(sqlwo1 + " ").Length;
@@ -378,10 +421,11 @@ namespace CallCenterApi.Interface.Controllers.report
378 421
                 zpcount = dtwo.Select(sqlwo1 + " and F_IsResult=0 ").Length;
379 422
                 //bjcount = dtwo.Select(sqlwo1 + " and F_WorkState=9 ").Length;
380 423
                 bjcount = dtwo.Select(sqlwo1 + " and F_IsResult=0 and F_WorkState=9 ").Length;
381
-
424
+                lycount = dtly.Select(sqlly).Length;
382 425
                 drNew["日期"] = key;
383 426
                 drNew["来电总量"] = ldcount;
384
-                drNew["有效来电"] = yxldcount;
427
+                drNew["正常接听量"] = yxldcount;
428
+                drNew["语音留言量"] = lycount;
385 429
                 drNew["受理"] = slcount;
386 430
                 drNew["在线办结"] = zbcount;
387 431
                 drNew["转派工单"] = zpcount;
@@ -394,6 +438,7 @@ namespace CallCenterApi.Interface.Controllers.report
394 438
                 zbcountz += zbcount;
395 439
                 zpcountz += zpcount;
396 440
                 bjcountz += bjcount;
441
+                lycountz += lycount;
397 442
                 #endregion
398 443
             }
399 444
 
@@ -401,7 +446,8 @@ namespace CallCenterApi.Interface.Controllers.report
401 446
             DataRow drNewz = dtNew.NewRow();
402 447
             drNewz["日期"] = "总计";
403 448
             drNewz["来电总量"] = ldcountz;
404
-            drNewz["有效来电"] = yxldcountz;
449
+            drNewz["正常接听量"] = yxldcountz;
450
+            drNewz["语音留言量"] = lycountz;
405 451
             drNewz["受理"] = slcountz;
406 452
             drNewz["在线办结"] = zbcountz;
407 453
             drNewz["转派工单"] = zpcountz;

+ 2 - 2
CallCenterApi/CallCenterApi.Model/T_Bus_DelayTime.cs

@@ -77,7 +77,7 @@ namespace CallCenterApi.Model
77 77
             get { return _f_reason; }
78 78
         }
79 79
         /// <summary>
80
-        /// 0:草稿  1:正式 
80
+        /// 工单状态
81 81
         /// </summary>
82 82
         public int? F_State
83 83
         {
@@ -149,7 +149,7 @@ namespace CallCenterApi.Model
149 149
             get { return _f_deletetime; }
150 150
         }
151 151
         /// <summary>
152
-        /// 
152
+        /// 承办单位
153 153
         /// </summary>
154 154
         public string F_CreateUser
155 155
         {