Ver Código Fonte

计算呼入呼出总时长时,sql对userid,usercode,username 进行分组,但因 usercode 字段在 “呼入” 写入数据时为null,导致这里分组的结果是两条记录,最终导致查询出的总时长数据错误。
更改:
1.去掉sql中对 usercode 的分组
2.获取数据时所用索引由4改为3

yuqian 9 anos atrás
pai
commit
daf05259b9
1 arquivos alterados com 3 adições e 3 exclusões
  1. 3 3
      2、项目软件/Web/Report/THSC_Report.aspx.cs

+ 3 - 3
2、项目软件/Web/Report/THSC_Report.aspx.cs

130
             sql += " and DATEDIFF(d,BeginTime,'" + EndTime + "')>=0";
130
             sql += " and DATEDIFF(d,BeginTime,'" + EndTime + "')>=0";
131
         }
131
         }
132
         var userAccountList = new XYFDRQ.BLL.T_Sys_UserAccount().GetModelList("F_StateFlag=1 and F_SeatFlag=1");
132
         var userAccountList = new XYFDRQ.BLL.T_Sys_UserAccount().GetModelList("F_StateFlag=1 and F_SeatFlag=1");
133
-        DataTable dt = XYFDRQ.DBUtility.DbHelperSQL.Query("SELECT UserId,UserCode,UserName,COUNT(*) AS calloutCount,SUM(TalkLongTime) AS TalkSummaryTime FROM vw_callRecords where 1=1 " + sql + "  GROUP BY UserId,UserCode,UserName").Tables[0];
133
+        DataTable dt = XYFDRQ.DBUtility.DbHelperSQL.Query("SELECT UserId,UserName,COUNT(*) AS calloutCount,SUM(TalkLongTime) AS TalkSummaryTime FROM vw_callRecords where 1=1 " + sql + "  GROUP BY UserId,UserName").Tables[0];
134
 
134
 
135
         foreach (XYFDRQ.Model.T_Sys_UserAccount item in userAccountList)
135
         foreach (XYFDRQ.Model.T_Sys_UserAccount item in userAccountList)
136
         {
136
         {
137
             DataRow drUser = dt.AsEnumerable().FirstOrDefault(dr => dr.Field<string>("UserName") == item.F_UserName);
137
             DataRow drUser = dt.AsEnumerable().FirstOrDefault(dr => dr.Field<string>("UserName") == item.F_UserName);
138
 
138
 
139
-            if (drUser != null && drUser[4].ToString()!="")
140
-                result += drUser[4].ToString() + ",";
139
+            if (drUser != null && drUser[3].ToString()!="")
140
+                result += drUser[3].ToString() + ",";
141
             else
141
             else
142
                 result += "0,";
142
                 result += "0,";
143
         }
143
         }