瀏覽代碼

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

MicroWin10-1604\Administrator 7 年之前
父節點
當前提交
4a1c8f8a4b

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

293
 
293
 
294
             if (!string.IsNullOrEmpty(BeginTime))
294
             if (!string.IsNullOrEmpty(BeginTime))
295
             {
295
             {
296
-                sql += " and BeginTime>='" + BeginTime + "'";
296
+                sql += " and BeginTime>='" + BeginTime + " 00:00:00'";
297
                 //sql += " and DATEDIFF(d,BeginTime,'" + BeginTime + "')<=0";
297
                 //sql += " and DATEDIFF(d,BeginTime,'" + BeginTime + "')<=0";
298
             }
298
             }
299
             if (!string.IsNullOrEmpty(EndTime))
299
             if (!string.IsNullOrEmpty(EndTime))
300
             {
300
             {
301
-                sql += " and BeginTime<='" + EndTime + "'";
301
+                sql += " and BeginTime<='" + EndTime + " 23:59:59'";
302
                 //sql += " and DATEDIFF(d,BeginTime,'" + EndTime + "')>=0";
302
                 //sql += " and DATEDIFF(d,BeginTime,'" + EndTime + "')>=0";
303
             }
303
             }
304
             if (state.Trim() != "")
304
             if (state.Trim() != "")
307
             }
307
             }
308
 
308
 
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];
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
             DataTable dt = DbHelperSQL.Query(recordstr).Tables[0];
313
             DataTable dt = DbHelperSQL.Query(recordstr).Tables[0];
312
             Dictionary<string, int> myDictionary = new Dictionary<string, int>();
314
             Dictionary<string, int> myDictionary = new Dictionary<string, int>();
313
 
315
 
316
                 if (!myDictionary.ContainsKey(item.F_UserCode))
318
                 if (!myDictionary.ContainsKey(item.F_UserCode))
317
                     myDictionary.Add(item.F_UserCode, 0);
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
                 if (drUser != null)
323
                 if (drUser != null)
322
                 {
324
                 {