Просмотр исходного кода

通话时长统计和通话记录数据不匹配

MicroWin10-1604\Administrator лет назад: 7
Родитель
Сommit
4a1c8f8a4b

+ 6 - 4
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/TalkTimeController.cs

@@ -293,12 +293,12 @@ namespace CallCenterApi.Interface.Controllers.report
293 293
 
294 294
             if (!string.IsNullOrEmpty(BeginTime))
295 295
             {
296
-                sql += " and BeginTime>='" + BeginTime + "'";
296
+                sql += " and BeginTime>='" + BeginTime + " 00:00:00'";
297 297
                 //sql += " and DATEDIFF(d,BeginTime,'" + BeginTime + "')<=0";
298 298
             }
299 299
             if (!string.IsNullOrEmpty(EndTime))
300 300
             {
301
-                sql += " and BeginTime<='" + EndTime + "'";
301
+                sql += " and BeginTime<='" + EndTime + " 23:59:59'";
302 302
                 //sql += " and DATEDIFF(d,BeginTime,'" + EndTime + "')>=0";
303 303
             }
304 304
             if (state.Trim() != "")
@@ -307,7 +307,9 @@ namespace CallCenterApi.Interface.Controllers.report
307 307
             }
308 308
 
309 309
             //DataTable dt = DbHelperSQL.Query("SELECT UserId,UserCode,UserName,COUNT(*) AS calloutCount FROM T_Call_CallRecords where 1=1 " + sql + "  GROUP BY UserId,UserCode,UserName").Tables[0];
310
-            var recordstr = " select users.F_UserId,users.F_UserCode,users.F_UserName,COUNT(*) AS calloutCount from T_Sys_UserAccount users left join T_Call_CallRecords records on users.F_UserCode = records.UserCode and 1=1 " + sql + " GROUP BY users.F_UserId,users.F_UserCode,users.F_UserName";
310
+            //var recordstr = " select users.F_UserId,users.F_UserCode,users.F_UserName,COUNT(*) AS calloutCount from T_Sys_UserAccount users right join T_Call_CallRecords records on users.F_UserCode = records.UserCode and 1=1 " + sql + " GROUP BY users.F_UserId,users.F_UserCode,users.F_UserName";
311
+            //20180509 通话时长统计不对  machenyang
312
+            var recordstr = " select records.UserCode,records.UserId,records.UserName,COUNT(*) from T_Call_CallRecords records where 1=1 " + sql + "  and UserCode is not null group by records.UserCode,records.UserId,records.UserName";
311 313
             DataTable dt = DbHelperSQL.Query(recordstr).Tables[0];
312 314
             Dictionary<string, int> myDictionary = new Dictionary<string, int>();
313 315
 
@@ -316,7 +318,7 @@ namespace CallCenterApi.Interface.Controllers.report
316 318
                 if (!myDictionary.ContainsKey(item.F_UserCode))
317 319
                     myDictionary.Add(item.F_UserCode, 0);
318 320
 
319
-                DataRow drUser = dt.AsEnumerable().FirstOrDefault(dr => dr.Field<string>("F_UserCode") == item.F_UserCode);
321
+                DataRow drUser = dt.AsEnumerable().FirstOrDefault(dr => dr.Field<string>("UserCode") == item.F_UserCode);
320 322
 
321 323
                 if (drUser != null)
322 324
                 {